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

Статьи => Опубликованные статьи => Тема начата: Александр Ривилис от 09-03-2014, 23:30:04

Название: RevitLookup. Исследуем базу данных Revit
Отправлено: Александр Ривилис от 09-03-2014, 23:30:04
RevitLookup. Исследуем базу данных Revit (http://adn-cis.org/revitlookup-issleduem-bazu-dannyix-revit.html)
Название: Re: RevitLookup. Исследуем базу данных Revit
Отправлено: Сергей Одегов от 10-03-2015, 22:04:02
Здравствуйте. Вопрос Виктору.
В Вашей статье про Lookup есть такая фраза: "Такая группировка в ряде случаев оказывается очень полезной, например, при поиске свойства в файле справки по Revit API."
Будьте добры, не могли бы Вы показать на каком либо простом примере, скажем на стене или воздуховоде, каким образом осуществляется поиск свойств в файле справки Revit API исходя из выбранного при помощи Lookup. Т.е. как, скажем, захватить ширину выбранной стены и помножить на площадь ее боковой поверхности. Интересует в частности как безошибочно определять те или иные свойства и как ими пользоваться исходя из связи Lookup to Revit API Help and to Visual Studio 2013.
Название: Re: RevitLookup. Исследуем базу данных Revit
Отправлено: Виктор Чекалин от 12-03-2015, 11:12:15
multys, касаемо фразы
Цитировать
Такая группировка в ряде случаев оказывается очень полезной, например, при поиске свойства в файле справки по Revit API.
имелось ввиду, что посмотрев на окно RevitLookup видно, какой метод принадлежит тому или иному классу. Например, исходя из того, что есть в статье.
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fadn-cis.org%2Fassets%2Fgallery%2FRevit%2F65%2Fimage3.png&hash=042d3b75b7163b7fc82d9ee9452e859d)
Мы видим, что класс TextElement имеет свойства: Symbol и Text. И их описание можно легко найти в файле справки.

А так как большинство классов, наследуется от базового класса Element, то в файле справке не всегда удобно смотреть список свойств дочернего класса. например, если мы откроем свойства того же класса  TextElement, то увидимо вот что:
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fcontent.screencast.com%2Fusers%2FVictorChekalin%2Ffolders%2FJing%2Fmedia%2F138361ff-d5e2-402f-ab85-3dce7dd6aaa2%2F2015-03-12_1310.png&hash=76106ce0c90e4ce9c6500b9b9fc4b8dc), а именно что почти все свойства - это свойства класса Element и найти свойство конкретно класса TextElement может быть проблематичным.

Я не говорю, что это единственный способ, но тем не менне, упор делался на то, что RevitLookup в этом плане так же окажется полезным.
Название: Re: RevitLookup. Исследуем базу данных Revit
Отправлено: Виктор Чекалин от 12-03-2015, 11:26:02
Что касается второй части вопроса.

Часть данных можно получить с помощью методов класса, часть данных - с помощью свойств. Иногда бывает использование обоих способов.

Создадим стену, выделим ее, выберем RevitLookup -> Snoop Current Selection...

Параметр Ширина - Width. Значение хранится в футах.
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fcontent.screencast.com%2Fusers%2FVictorChekalin%2Ffolders%2FJing%2Fmedia%2Fc0021a54-d415-4915-886b-c340e988e16f%2F2015-03-12_1320.png&hash=7fe26c989669e4269feb10c1e442a432)
 
Площадь хранится в параметрах. Заходите в параметры, ищете параметр Площадь. Заходите в InternalDefinition (определение параметра) и видите, что это внутренний параметр BuiltInParameter.HOST_AREA_COMPUTED
Т.е. в коде вам нужно написать примерно следующее.
Код - C# [Выбрать]
  1. var wall = ... ; // получили стену
  2. var areaParameter = wall.get_Parameter(BuiltInParameter.HOST_AREA_COMPUTED);
  3. var area = areaParameter.AsDouble();
  4. var result = wall.Width*area;
Название: Re: RevitLookup. Исследуем базу данных Revit
Отправлено: Сергей Одегов от 13-03-2015, 09:03:04
Виктор спасибо, буду пробовать.
Название: Re: RevitLookup. Исследуем базу данных Revit
Отправлено: Максим Маркевич от 31-01-2017, 12:37:38
В статье есть фраза "Утилита поставляется вместе с Revit SDK в виде исходников (находится в папке RevitLookup)." и я искал Lookup именно в REVIT_2017_SDK_(Update_June_23__2016). Но его там нет. Потом наткнулся на примечание:
(https://s24.postimg.org/uq8gpqu69/Screen_Shot.png) (https://postimg.org/image/uq8gpqu69/)
Это, конечно, мелочь, но можно отметить в статье, если посчитаете нужным. Спасибо.
Название: Re: RevitLookup. Исследуем базу данных Revit
Отправлено: denver-22 от 05-07-2017, 17:56:19
Подскажите как можно в RevitLookup посмотреть свойства общего параметра, который удален из проекта (его GUID сохраняется)? GUID этого  параметра мне известен. Нужно узнать код для "Выбрать по коду".
Название: Re: RevitLookup. Исследуем базу данных Revit
Отправлено: Виктор Чекалин от 06-07-2017, 11:58:04
denver-22, в RevitLookup нет функции поиска. Только просмотр.
Но все же его можно найти, если в RevitLookup выбрать LookupDB и найти объекты типа SharedParameterElement

(https://s21.postimg.org/3yj0iq67n/2017-07-06_1357.png) (https://postimg.org/image/3yj0iq67n/)
Название: Re: RevitLookup. Исследуем базу данных Revit
Отправлено: Ese от 26-10-2019, 16:10:26
Для тех кто ищет утилиту для Revit 2018,2019,2020:
Ссылка со сайта autodesk:
https://www.autodesk.com/developer-network/platform-technologies/revit
Репозитарий где лежит установщик:
https://github.com/jeremytammik/RevitLookup