Долгое время я не пополнял информацией свой блог. И на это есть несколько причин. Одна из них это перевод и расширение своих дополнений.
Одно из новых дополнений позволит наконец то получать автоматически ГОСТовские таблицы. не очень хочется выкладывать сырой материал. Думаю что многих обрадует информация что проблема почти решена. Осталось немного......
вторник, 15 июня 2010 г.
суббота, 22 мая 2010 г.
Марки в аксонометрии
вторник, 20 октября 2009 г.
Revit API. Работа с элементами. Вступление.
В данной короткой статье хотелось бы рассказать об элементах (семействах, типах и их вхождениях) и как они представлены в Revit API.
Всё с чем мы оперируем в API представлено через класс Element. Именно из таких элементов можно получить набор после применения фильтров:
List<element> CatElem = new List<element>();
CategoryFilter catFilt = vnCommandData.Application.Create.Filter.NewCategoryFilter(cat);
Filter OkCatFilt = vnCommandData.Application.Create.Filter.NewLogicAndFilter(catFilt, filt);
vnCommandData.Application.ActiveDocument.get_Elements(OkCatFilt, CatElem);
(прим.1)
или после получения выбранных элементов:
List<element> el = new List<element>();
el = vnCommandData.Application.ActiveDocument.Selection.Elements;.
(прим.2)
Уже из этого набора можно получить некоторые параметры. Но в данном случае каждый из этих элементов может относиться к разным классам. Например FamilyInstance (вхождение СЕМЕЙСТВА), Wall (вхождение СТЕНЫ), FamilySymbol (Тип СЕМЕЙСТВА) и т.д.). Поэтому если набор так сказать разношерстный (пример 1 это будут элементы категории как вхождения, так и типов загруженных в проект. Пример 2 это фактически все варианты вождений, стены, марки, текст, пол и т.д.), нужно изначально отсеивать их по классам:
if (El.GetType() ==typeof( Autodesk.Revit.Elements.Wall))
//Если стена
{
Autodesk.Revit.Elements.Wall StenaInst = El as Autodesk.Revit.Elements.Wall;
// Далее работаем как с классом Wall
{
Это делается для того что у каждого класса есть свои особые параметры и получив их в виде Element в большенстве случаев до них не добраться.
Почти у каждого класса вхождения есть доступ к его типу и семейству (в случае если это семейство). Например
FamilyInstance Inst = El as FamilyInstance;
Family Fam=Inst.Symbol.Family;
FamilySymbol Tip = Inst.Symbol;
Далее из класса Symbol можно выцепить параметры типа (Tip.Parameters). Учтите что если получать через фильтры типы Symbol в проекте то в получите елементы всех ЗАГРУЖЕНЫХ типов, а не только типов, размещенных в проекте!
На этом думаю пока хватит.
Всё с чем мы оперируем в API представлено через класс Element. Именно из таких элементов можно получить набор после применения фильтров:
List<element> CatElem = new List<element>();
CategoryFilter catFilt = vnCommandData.Application.Create.Filter.NewCategoryFilter(cat);
Filter OkCatFilt = vnCommandData.Application.Create.Filter.NewLogicAndFilter(catFilt, filt);
vnCommandData.Application.ActiveDocument.get_Elements(OkCatFilt, CatElem);
(прим.1)
или после получения выбранных элементов:
List<element> el = new List<element>();
el = vnCommandData.Application.ActiveDocument.Selection.Elements;.
(прим.2)
Уже из этого набора можно получить некоторые параметры. Но в данном случае каждый из этих элементов может относиться к разным классам. Например FamilyInstance (вхождение СЕМЕЙСТВА), Wall (вхождение СТЕНЫ), FamilySymbol (Тип СЕМЕЙСТВА) и т.д.). Поэтому если набор так сказать разношерстный (пример 1 это будут элементы категории как вхождения, так и типов загруженных в проект. Пример 2 это фактически все варианты вождений, стены, марки, текст, пол и т.д.), нужно изначально отсеивать их по классам:
if (El.GetType() ==typeof( Autodesk.Revit.Elements.Wall))
//Если стена
{
Autodesk.Revit.Elements.Wall StenaInst = El as Autodesk.Revit.Elements.Wall;
// Далее работаем как с классом Wall
{
Это делается для того что у каждого класса есть свои особые параметры и получив их в виде Element в большенстве случаев до них не добраться.
Почти у каждого класса вхождения есть доступ к его типу и семейству (в случае если это семейство). Например
FamilyInstance Inst = El as FamilyInstance;
Family Fam=Inst.Symbol.Family;
FamilySymbol Tip = Inst.Symbol;
Далее из класса Symbol можно выцепить параметры типа (Tip.Parameters). Учтите что если получать через фильтры типы Symbol в проекте то в получите елементы всех ЗАГРУЖЕНЫХ типов, а не только типов, размещенных в проекте!
На этом думаю пока хватит.
воскресенье, 18 октября 2009 г.
iray - возможное будущее для Revit на основе GPU.
Иногда в сети попадаются очень интересные и многообещающие вещи. В этот раз этим оказалась интересная разработка mental images( так сказать создателей mental ray) iray. Это новый движек сделаный, как я понял, наподобии mental ray, но помимо всего этого он использует для расчетов GPU (видеокарту). Для таких целей GPU более производителен чем CPU (центральный процессор) изза очень удобной разпаралелизации процесса расчета. Операясь на ЭТОТ документ можно сделать вывод что рано или поздно он доберется и до Revit и 3ds Max что очень приятно! Но я могу и ошибаться. Дело за Autodesk.


Общие семейства
Попался мне на форуме AUGI вопрос на тему вложеных семейств:
"А вынести в спецификацию все вложенные семейства как-то реально? Хотя бы только имена"
Тема интересная и я решил записать видео по общим семействам
Вот оно
"А вынести в спецификацию все вложенные семейства как-то реально? Хотя бы только имена"
Тема интересная и я решил записать видео по общим семействам
Вот оно
воскресенье, 27 сентября 2009 г.
Дополнения для Ревит
Обноввление моих дополнений
Прежде всего как их установить при помощи менеджера дополнений смотрите в этом видео
И по порядку
первое - Антиотзеркаливание
Второе - Суперфильтр
Третье - довести
Четвертое - Переименовка
Файлы дополнения и менеджера дополнений можно найти на сайте АУГИ
http://forums.augi.com/showthread.php?p=1011947#post1011947
или на сайте комьюнити в группе "Revit - Программирование"
http://communities.autodesk.com/?nd=home__8
Регистрируйтесь, пользуйтесь!
Прежде всего как их установить при помощи менеджера дополнений смотрите в этом видео
И по порядку
первое - Антиотзеркаливание
Второе - Суперфильтр
Третье - довести
Четвертое - Переименовка
Файлы дополнения и менеджера дополнений можно найти на сайте АУГИ
http://forums.augi.com/showthread.php?p=1011947#post1011947
или на сайте комьюнити в группе "Revit - Программирование"
http://communities.autodesk.com/?nd=home__8
Регистрируйтесь, пользуйтесь!
четверг, 20 августа 2009 г.
Дополнения для Ревит
Занялся я созданием дополнений для Ревит. Появилось много идей. На данный момент работаю над созданием сводной спецификации, модифицированной версии мультидоводки, Передачи в параметр обьекта значения в зависимости от расстояния до другого обьекта, генератор произвольных значений параметров.
Из гатовых так сказать "Антиотзеркаливание".Проверяет двери на отзеркаливание и возврощает исходную ориентацию. Связано его создание с тем, что когда отзеркаливаешь планировки, то графически дверь меняется с правой, например, на левую, а семейство всё тоже и получается нестыковки в ведомостях. Можно выбрать на какой тип и семейство заменить отраженную дверь.
Для этого нужно два раза щелкнуть на нухную строку в таблице и выбрать семейство и тип замены.Нажать кнопку заменить.
Если остается пустая строка то дверь не изменяется а только зеркалится.
Версия программы 1.2.0.1
http://communities.autodesk.com/?nd=m_gs_group_adhoc_v2&account_id=56&sku=130&group_id=88#
Также существует файл на комьюнити в разделе ресурсов. Заходите - регистрируйтесь.
http://communities.autodesk.com/
Из гатовых так сказать "Антиотзеркаливание".Проверяет двери на отзеркаливание и возврощает исходную ориентацию. Связано его создание с тем, что когда отзеркаливаешь планировки, то графически дверь меняется с правой, например, на левую, а семейство всё тоже и получается нестыковки в ведомостях. Можно выбрать на какой тип и семейство заменить отраженную дверь.
Для этого нужно два раза щелкнуть на нухную строку в таблице и выбрать семейство и тип замены.Нажать кнопку заменить.
Если остается пустая строка то дверь не изменяется а только зеркалится.
Версия программы 1.2.0.1
http://communities.autodesk.com/?nd=m_gs_group_adhoc_v2&account_id=56&sku=130&group_id=88#
Также существует файл на комьюнити в разделе ресурсов. Заходите - регистрируйтесь.
http://communities.autodesk.com/
Подписаться на:
Сообщения (Atom)
