вторник, 20 октября 2009 г.
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 в проекте то в получите елементы всех ЗАГРУЖЕНЫХ типов, а не только типов, размещенных в проекте!
На этом думаю пока хватит.
воскресенье, 18 октября 2009 г.
iray - возможное будущее для Revit на основе GPU.


Общие семейства
"А вынести в спецификацию все вложенные семейства как-то реально? Хотя бы только имена"
Тема интересная и я решил записать видео по общим семействам
Вот оно
воскресенье, 27 сентября 2009 г.
Дополнения для Ревит
Прежде всего как их установить при помощи менеджера дополнений смотрите в этом видео
И по порядку
первое - Антиотзеркаливание
Второе - Суперфильтр
Третье - довести
Четвертое - Переименовка
Файлы дополнения и менеджера дополнений можно найти на сайте АУГИ
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/
понедельник, 15 июня 2009 г.
Секретные материалы или простое любопытство
Всё началось с обыкновенного прошаривания стандартной библиотеки с целью найти что-то новенькое для себя. Нашел :)! Этим объектом оказался по началу ничем не привлекательный стул офисный.

Естественно принадлежность его к RPC заставила меня поковыряться в самом семействе.
Настройки самого семейства немного удивили: для выбора были предложены те же самые библиотеки RPC где красовались и объемные модели. Зная что изображения деревьев и людей берутся из файлов, я естественно решил найти и файлы объемных моделей. Сразу скажу что я ничего не нашел связанного с этим стулом и могу предположить что такое чудо удастся спородировать методами VSTA программирования или другими приложениями, ну или, в худшем случае, никак.
После безрезультатных поисков моё уже подувядшее любопытство остановилось на знакомых и созвучных с ранее известными названиями папок, по которым, естественно, надо было пробежаться. Их там было предостаточно, но остановлюсь я на одной. Имя ей «Environments». Там среди всех папок, по адресу «C:\Program Files\Autodesk Revit Architecture 2010\Data\Rendering\assetlibrary_base.fbm\Environments\SunAndSky\Presets» были уже знакомые и отчасти даже полюбившиеся расширения файлов *.PNG и *.EXR. Как многие уже наверное догадались это изображения, и более того панорамные изображения неба. Не долго думая я их сразу же приписал к фоновым изображениям. Но где их выбирать, да и никогда не доводилось наблюдать эти картинки в меню выбора. Требовался сравнительный анализ. И вот он к чему привел.
Исходный файл
Рендер того же участка
Сходство почти стопроцентное! Но требовалась проверка на так сказать гибкость этих картинок. Я решил одну из них изменить и вот к чему это привело.Исходный файл
Рендер того же участка
Вот изменения посущественней
Результат
Для сравнения стандартный вариант (Обратите внимание что в обоих случаях в настройках Стиль фона одинаковый)
Изменения тут же сказываются на финальном изображении рендера!!! Я думаю вы понимаете к чему я клоню…. Появился шанс менять фоновое изображение неба(!), но к сожалению только локально на одном компьютере, не связано с файлом и нитак явно выражено как хотелось бы. Вообще как уже и говорилось неоднократно возможности рендера Revit искусственно ограничены. Но выход всегда есть.
Думаю если еще поковыряться можно многое отыскать ;)
воскресенье, 7 июня 2009 г.
Showcase и Revit возможно подружить !?
Собственно задумался я о расширении своих познаний в продукции компании Автодеск и наткнулся на давольно интересное приложение под названием Showcase 2010.
Что оно собой представляет:
1. Прежде всего это программа предназначена для презентации в реальном времени вашего 3D материала в весьма неплохом качестве.
2. Относительно несложная в использовании.
3. Знает достаточно форматов чтобы загнать любую модель сделаную в приложениях Автодеск и не только.
4. Имеет движок трассировки лучей в "реальном времени" по настройккам похожий на Ментал рей.
5. Требователен к железу, как к видеокарте (при использовании аппаратного ускорения) так и к процессорам (при использовании Трассировки лучей). В связи с этим практически не применим для архитектуры в большенстве случаев, но имеет огромный патенциал.
На малых обьемах вполне можно использовать для подбора материала и предоставления вариантов решения так сказать "на лету". Средний современный компьютер вполне потянет модель до 100 тыс. полигонов с приемлемой скоростью но опять же заметил что чем больше обьектов в сцене тем медленней он работает. Вывод - обьеденять в один обьект все обьекты с одним материалом, что означает использование 3ds Max в качестве промежуточного звена.
Но судите сами. Вот пример использования программы с Ревитовской моделью.
Опыта пока мало в настройках. Так что особо не пинайте пример