RevitLookup. Исследуем базу данных Revit
В статьях я часто упоминаю о довольно полезной утилите – RevitLookup.
Данная утилита позволяет нам взглянуть на внутреннюю базу данных Revit прямо из пользовательского интерфейса без необходимости писать тестовые надстройки, в которых будем проверять значение каких-либо свойств элемента.
С помощью утилиты мы можем просмотреть:
- Абсолютно все элементы, которые существуют в базе данных текущего проекта, включая те, которые пользователь никогда не увидит.
- Значения всех свойств класса элемента.
- Свойства приложения и открытых документов
- Распечатать свойства элемента на принтере
Установка
Утилита поставляется вместе с Revit SDK в виде исходников (находится в папке RevitLookup). Необходимо предварительно ее скомпилировать. Утилита представляет собой обычную надстройку Revit и установка не отличается от установки любых других надстроек: нужно скопировать файлы RevitLookup.addin и RevitLookup.dll в папку C:\Users\<Ваше имя пользователя>\AppData\Roaming\Autodesk\Revit\Addins\<Версия Revit>
Если вы все сделали правильно, то во вкладке Надстройки у вас должна появиться новая панель Revit Lookup
Использование
Snoop DB… С помощью этой команды можно просмотреть все элементы текущего проекта.
В левой части окна перечислены все классы, базовым классом которых является класс Element. Раскрыв конкретный класс, мы видим список всех элементов класса, предоставленных в проекте и их Id.
Выделив элемент, в правой части окна мы видим список свойств элемента.
Разберем подробнее окно свойств на примере элемента Текстовая метка.
Класс TextNote являются дочерним класса TextElement. Класс TextElement в свою очередь является дочерним класса Element. В окне свойств сверху вниз представлены свойства и их значения конкретного класса. Наименование класса при этом выделено голубоватым фоном. Такая группировка в ряде случаев оказывается очень полезной, например, при поиске свойства в файле справки по Revit API. Выделив в окне свойств имя класса, откроется окно со свойством типа этого класса.
Жирным выделены свойства, значения которых также являются объектами Revit. В поле Значение таких свойств, указан тип объекта. Выбрав такое свойство, мы «проваливаемся» в окно свойств этого объекта.
Например, свойство Similar Object Types имеет тип ElementSet . ElementSetэто Revit’овский объект и представляет собой коллекцию элементов. Выбрав его, мы увидим значение свойства в виде списка похожих элементов. Выбрав один из элементов мы также увидим его свойства:
В этом окне мы также можем «проалиться» в свойство уже этого объекта и так далее.
Отдельно стоит рассмотреть параметры элемента. Выбрав свойство Parameters мы попадем в окно просмотра параметров.
Здесь нам доступны еще две кнопки: Built-in Enums Snoop и Built-in Enums Map.
Выбрав первую кнопку мы можем увидеть дополнительные параметры объекта, которые не видны пользователю. Значение этих дополнительных параметров можно получить путем перебора всех существующих встроенных параметров.
По команде Built-in Enums Map открывается окно с наименованием встроенных параметров:
Другая команда, которая доступна в меню Revit Lookup – Snoop Current Selection… Назначение команды аналогично команде Snoop Db…, за исключением того, что в этом случае отображаются не все элементы текущего проекта, а только выделенные. Функциональность же аналогична.
Команда Shoop Application позволяет нам просмотреть аналогичным образом свойства объекта класса Application. Там же мы можем просмотреть и свойства класса Document.
Утилита безусловна будет полезна каждому разработчику под Revit.
Скачать уже готовые откомпилированные надстройки можно по следующим ссылкам:
- Revit Lookup for Revit 2012
- Revit Lookup for Revit 2013
- Revit Lookup for Revit 2014
- Revit Lookup for Revit 2015
Автор перевода: Виктор Чекалин
Обсуждение: http://adn-cis.org/forum/index.php?topic=597
Опубликовано 09.03.2014Отредактировано 26.04.2014 в 10:04:02