вторник, 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 в проекте то в получите елементы всех ЗАГРУЖЕНЫХ типов, а не только типов, размещенных в проекте!

На этом думаю пока хватит.

воскресенье, 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
Регистрируйтесь, пользуйтесь!

четверг, 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 в качестве промежуточного звена.

Но судите сами. Вот пример использования программы с Ревитовской моделью.

Опыта пока мало в настройках. Так что особо не пинайте пример

понедельник, 18 мая 2009 г.

Приветствие

Создаю данный блог, в котором буду делиться информацией по решениям Autodesk направленых в сторону архитектора и дизайнера. Восновном это будет касаться 3ds max и Revit.