ADN Open CIS
Сообщество программистов Autodesk в СНГ

09/03/2014

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.

Скачать уже готовые откомпилированные надстройки можно по следующим ссылкам:

Автор: Виктор Чекалин
Автор перевода: Виктор Чекалин

Обсуждение: http://adn-cis.org/forum/index.php?topic=597

Опубликовано 09.03.2014
Отредактировано 26.04.2014 в 10:04:02