Взаимодействие Rhinoceros и Revit®. Элементы и экземпляры


17 ноября 2021


Ссылки на элементы

В Revit есть более сложные способы выборки различных элементов.
В этом разделе показано, как вы можете вручную указать конкретный элемент и добавить его в определение Grasshopper.
В следующих разделах обсуждаются общие способы выборки элементов различных типов.

Выбор по выделению

Используйте контекстное меню параметра «Графический элемент», чтобы ссылаться на геометрические элементы Revit в своем определении:

Выбор по идентификатору элемента

Вы можете использовать параметр Element и добавить идентификаторы элементов в Manage Revit Element Collection в контекстном меню компонента:

Экземпляры

Экземпляры — это отдельные графические / геометрические элементы, помещенные в модель Revit, например отдельная стена, или отдельная дверь, или любой другой отдельный элемент. Как подмножество элементов Revit, экземпляры наследуют ряд параметров из своей категории и типа, а также могут иметь параметры экземпляра, которые принадлежат только этому единственному экземпляру.

Фильтры запросов

Компоненты фильтра позволят Grasshopper выбирать определенные элементы Revit через множество различных свойств. Эти фильтры также можно комбинировать вместе, чтобы делать сложные выборки.

Обычно фильтры создаются и отправляются в один из многих компонентов запроса в Grasshopper.

По категориям

Отфильтруйте все объекты в выбранной категории.

По типу

Используйте комбинацию встроенного компонента категорий, подключенного к средству выбора типа элемента, фильтру типа и элементам запроса, чтобы запросить все экземпляры определенного типа. В приведенном ниже примере собираются все экземпляры определенного типа окна:

По значению параметра

Вы можете использовать компонент фильтра параметров в сочетании с правилом фильтрации (например, правилом большего или равного или правилом равных) для фильтрации элементов по значениям их параметров.

Фильтр параметров используется для фильтрации значений определенного параметра в элементах. Правила фильтрации определяют тип сравнения, которое должно выполняться для значений параметров. Список имен и типов встроенных параметров в Revit довольно длинный. Использование встроенных параметров — отличный способ выбрать нужный параметр с дополнительными перечисленными деталями в селекторе.

Правила фильтрации

Правила фильтрации можно использовать с фильтром параметров для сравнения значений. В этом примере показано использование значения одного элемента для поиска всех других элементов в модели с одинаковым значением параметра:

По Уровню

Фильтр уровня позволяет фильтровать элементы проекта по уровню.

Фильтр элементов только на определенном уровне. Этот компонент лучше всего использовать с инструментом выбора уровней.

По классу API

Используйте имена классов API Revit для выбора элементов в проекте. Входными данными может быть селектор классов элементов или строка имени класса.

Дополнительные фильтры запросов

Элемент фильтра

Этот компонент принимает предыдущий выбор элементов Revit и возвращает список «Истина / Ложь» с указанием того, соответствует ли каждый элемент фильтру или нет. Например, набор предварительно выбранных элементов Revit в графическом элементе можно отфильтровать, используя входные данные «Встроенные категории» для элемента фильтра для создания фильтра. Компонент Filter Element вернет список True / False, который можно использовать для фильтрации исходного списка элементов с помощью компонента Cull Pattern:

Фильтр исключения

Фильтр исключения используется для исключения определенного набора элементов из результатов запроса. В приведенном ниже примере две выбранные вручную стены исключаются из результатов общего запроса стен, который обычно возвращает все стены в модели:

Фильтр Исключить типы

Версию 1.0 данного фильтра можно использовать для фильтрации типов из списка. Этот компонент реализует метод API WhereElementIsNotElementType.

Фильтр ограничивающей рамки

Фильтр ограничивающей рамки используется для сопоставления элементов Revit по их геометрической ограничивающей рамке. Исходный геометрический объект может быть либо из Rhino, либо из Revit.

    Входные параметры:

  • Bounding Box (Geometry) — Выровненный по миру ограничивающий прямоугольник для запроса;
  • Union (Boolean) — Целевое объединение ограничивающих прямоугольников;
  • Strict (Boolean) — True означает, что элемент должен строго содержаться;
  • Допуск (число) — Допуск, используемый для запроса;
  • Инвертированный (логический) — Истина, если результаты фильтра должны быть инвертированы.

Фильтр представления пересечения граней

Данный фильтр используется для сопоставления элементов Revit, которые геометрически пересекают Brep NURBS.

Элемент пересечения

Фильтр элементов пересечения используется для сопоставления элементов Revit, которые геометрически пересекают другой элемент Revit.

Фильтр сетки пересечений

Фильтр сетки пересечений используется для сопоставления элементов Revit, геометрически пересекающих сетку Rhino.

Фильтр вариантов конструкции

Фильтр вариантов конструкции используется для сопоставления элементов Revit, относящихся к определенному варианту конструкции.

Фильтр просмотра владельца

Фильтр представления владельца используется для фильтрации элементов, принадлежащих определенному представлению. Этот компонент лучше всего использовать с селектором, который возвращает представление из модели.

Фильтр состояния фазы

Фильтр состояния фазы версии 1.2 используется для сопоставления элементов, связанных с данным состоянием фазы. Фазу и статус можно найти, щелкнув правой кнопкой мыши по входам.

Выбираемый фильтр просмотра

Выбираемый фильтр в представлении используется для сопоставления выбираемых элементов с заданным представлением.

Объединение фильтров запроса

Логика и фильтр

Объедините несколько фильтров вместе. Либо все элементы должны проходить все фильтры, либо они проходят через любой из входных фильтров.

Сохранение фильтров или выборок

Добавить фильтр параметров

Данный компонент создает фильтр на основе параметров в модели Revit. Это также будет использоваться как фильтр параметров в Grasshopper.

Добавить фильтр выбора

Данный компонент создает фильтр выбора в Revit, а затем использует этот фильтр в определении Grasshopper.

Извлечение экземпляра геометрии

Элемент Geometry используется для извлечения геометрии экземпляра. В приведенном ниже примере была извлечена полная геометрия экземпляра Stacked Wall. Средство выбора уровня детализации можно использовать для выбора уровня детализации для извлечения геометрии:

Базовая кривая экземпляра

Для элементов, которые построены на базовой кривой (например, основные стены), вы можете использовать кривую элемента, чтобы получить и установить базовую кривую.

Ограничивающая рамка экземпляра

Вы можете передать экземпляр в компонент Grasshopper Box, чтобы очень легко извлечь ограничивающую рамку геометрии:

Изменение типа экземпляра

Используйте компонент «Тип элемента» как для запроса типа экземпляра, так и для изменения его на другой тип.


Размещение экземпляров типов

Используйте компонент «Добавить компонент (расположение)», чтобы поместить экземпляр типа в пространство модели Revit.

Для типов, которым требуется хост, вы также можете передать элемент хоста в компонент «Добавить компонент (расположение)».

Компонент помещает данный тип в ближайшее место вдоль основного элемента. На изображении ниже фактическое местоположение показано зеленой сферой, оно передается компоненту.