RevitLookup. Исследуем базу данных Revit

Автор Тема: RevitLookup. Исследуем базу данных Revit  (Прочитано 3977 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Александр РивилисАвтор темы

  • Administrator
  • *****
  • Сообщений: 10026
  • Карма: 1281
  • Рыцарь ObjectARX
  • Skype: rivilis
« Последнее редактирование: 10-03-2014, 01:47:30 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Сергей Одегов

  • ADN OPEN
  • Сообщений: 48
  • Карма: 0
  • Skype: sergey_mmt
Re: RevitLookup. Исследуем базу данных Revit
« Ответ #1 : 10-03-2015, 22:04:02 »
Здравствуйте. Вопрос Виктору.
В Вашей статье про Lookup есть такая фраза: "Такая группировка в ряде случаев оказывается очень полезной, например, при поиске свойства в файле справки по Revit API."
Будьте добры, не могли бы Вы показать на каком либо простом примере, скажем на стене или воздуховоде, каким образом осуществляется поиск свойств в файле справки Revit API исходя из выбранного при помощи Lookup. Т.е. как, скажем, захватить ширину выбранной стены и помножить на площадь ее боковой поверхности. Интересует в частности как безошибочно определять те или иные свойства и как ими пользоваться исходя из связи Lookup to Revit API Help and to Visual Studio 2013.

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 692
  • Карма: 106
  • Skype: chekalin-v
Re: RevitLookup. Исследуем базу данных Revit
« Ответ #2 : 12-03-2015, 11:12:15 »
multys, касаемо фразы
Цитировать
Такая группировка в ряде случаев оказывается очень полезной, например, при поиске свойства в файле справки по Revit API.
имелось ввиду, что посмотрев на окно RevitLookup видно, какой метод принадлежит тому или иному классу. Например, исходя из того, что есть в статье.

Мы видим, что класс TextElement имеет свойства: Symbol и Text. И их описание можно легко найти в файле справки.

А так как большинство классов, наследуется от базового класса Element, то в файле справке не всегда удобно смотреть список свойств дочернего класса. например, если мы откроем свойства того же класса  TextElement, то увидимо вот что:
, а именно что почти все свойства - это свойства класса Element и найти свойство конкретно класса TextElement может быть проблематичным.

Я не говорю, что это единственный способ, но тем не менне, упор делался на то, что RevitLookup в этом плане так же окажется полезным.

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 692
  • Карма: 106
  • Skype: chekalin-v
Re: RevitLookup. Исследуем базу данных Revit
« Ответ #3 : 12-03-2015, 11:26:02 »
Что касается второй части вопроса.

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

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

Параметр Ширина - Width. Значение хранится в футах.

 
Площадь хранится в параметрах. Заходите в параметры, ищете параметр Площадь. Заходите в 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;
« Последнее редактирование: 13-03-2015, 09:58:42 от Виктор Чекалин »

Оффлайн Сергей Одегов

  • ADN OPEN
  • Сообщений: 48
  • Карма: 0
  • Skype: sergey_mmt
Re: RevitLookup. Исследуем базу данных Revit
« Ответ #4 : 13-03-2015, 09:03:04 »
Виктор спасибо, буду пробовать.

Оффлайн Максим Маркевич

  • ADN Club
  • ****
  • Сообщений: 254
  • Карма: 28
  • Skype: evthisrel
Re: RevitLookup. Исследуем базу данных Revit
« Ответ #5 : 31-01-2017, 12:37:38 »
В статье есть фраза "Утилита поставляется вместе с Revit SDK в виде исходников (находится в папке RevitLookup)." и я искал Lookup именно в REVIT_2017_SDK_(Update_June_23__2016). Но его там нет. Потом наткнулся на примечание:

Это, конечно, мелочь, но можно отметить в статье, если посчитаете нужным. Спасибо.

Оффлайн denver-22

  • ADN OPEN
  • Сообщений: 1
  • Карма: 0
Re: RevitLookup. Исследуем базу данных Revit
« Ответ #6 : 05-07-2017, 17:56:19 »
Подскажите как можно в RevitLookup посмотреть свойства общего параметра, который удален из проекта (его GUID сохраняется)? GUID этого  параметра мне известен. Нужно узнать код для "Выбрать по коду".

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 692
  • Карма: 106
  • Skype: chekalin-v
Re: RevitLookup. Исследуем базу данных Revit
« Ответ #7 : 06-07-2017, 11:58:04 »
denver-22, в RevitLookup нет функции поиска. Только просмотр.
Но все же его можно найти, если в RevitLookup выбрать LookupDB и найти объекты типа SharedParameterElement