Взаимодействие Rhinoceros и Revit®. Grasshopper
Компоненты Grasshopper с поддержкой Revit®
Иконки компонентов с поддержкой Revit® помогают определить действие, выполняемое компонентом. Как показано ниже, базовый цвет показывает тип действия (Запрос, Анализ, Изменение, Создание). К иконкам также применяется ряд значков, которые показывают тип, идентичность или другие аспекты данных, для работы с которыми предназначен компонент:
Например, вот как отображаются компоненты Запрос, Анализ, Изменение и Создание для Стены:
Сквозные компоненты
В некоторых случаях используется специальный тип сквозного компонента, который объединяет действия Анализ, Изменение, Создание в один компонент. Это помогает уменьшить количество компонентов и избежать загромождения интерфейса. Эти компоненты имеют разделенный фон, например Разворот элемента или Определение материала:
В качестве примера рассмотрим группу Определение материала. Эти компоненты принимают две группы входных данных. Первым входным параметром является элемент Revit, с которым работает этот компонент, в данном случае Материал. Ниже этого входного параметра приведен ряд входных данных, которые можно изменить в этом элементе Revit:
Другая сторона компонента, как обычно, показывает выходные параметры. Обратите внимание, что список входных и выходных параметров не всегда одинаков. Обычно для создания элемента требуется другой набор свойств, а также некоторые выходные свойства вычисляются на основе вычисляемого элемента (например, стены не принимают объем в качестве входных данных, но могут иметь его в качестве выходных данных). Более того, не все свойства элемента можно изменить с помощью Revit API:
У сквозных компонентов также есть необязательный выходной параметр для типа элемента Revit, с которым они имеют дело, в данном случае Материал:
Теперь становится понятнее, почему эти компоненты называются сквозными. В элемент, поступающий на вход, вносятся изменения, проводится его анализ и затем этот элемент передается на выход компонента. Для данных компонентов лучше объединять операции последовательно, а не параллельно. Это играет большую роль для обеспечения порядка операций, поскольку все целевые элементы фактически принадлежат Revit, и Grasshopper не может полностью определить результаты этих операций:
Транзакционные компоненты
Некоторым компонентам, поддерживающим Revit, необходимо запускать транзакции в активном документе, чтобы создавать новые элементы или вносить изменения. При каждом выполнении определения Grasshopper важно знать, какие компоненты внесли вклад в изменения документа. Это помогает лучше понимать и управлять транзакциями и их последствиями (например, разработчик может изменить логику графа, чтобы объединить многие транзакционные компоненты и повысить производительность).
Эти компоненты окрашиваются в темный цвет при выполнении транзакции:
Обратите внимание, что если входные параметры и целевой элемент не изменяются, компонент не будет вносить никаких изменений при следующем выполнении определения Grasshopper, а фон компонента изменится на серый по умолчанию.
Вы также можете использовать компонент Grasshopper Trigger, чтобы контролировать выполнение этих компонентов:
Предварительный просмотр геометрии
Вы можете использовать переключатель предварительного просмотра в компонентах Grasshopper, чтобы включить или отключить предварительный просмотр Revit. Вы также можете переключить предварительный просмотр глобально на вкладке Rhinoceros в Revit:
Переключение решателя
Решатель Grasshopper также можно переключить на вкладке Rhinoceros в Revit. Это особенно полезно для сокращения времени ожидания на больших моделях Revit:
Отслеживание элементов
Отслеживание позволяет Grasshopper заменять ранее созданные элементы Revit даже между сохранениями. Выходные данные каждого компонента запоминают, какие элементы Revit были добавлены, и избегают дублирования. Только добавление компонентов в Grasshopper использует отслеживание. Grasshopper запомнит эти элементы после закрытия файла и его повторного открытия в будущем.
Режимом отслеживания можно управлять, щелкнув правой кнопкой мыши в центре компонента.
Доступно 3 режима:
- Отключить – отключает отслеживание созданных элементов Revit. Это может привести к созданию повторяющихся элементов в Revit;
- Включить: Замена – при каждом запуске Grasshopper будут создаваться новые элементы в Revit, заменяющие ранее созданный элемент;
- Включить: Обновление – настройка по умолчанию. Grasshopper попытается изменить существующие элементы в Revit, если это возможно (если Revit API допускает тип модификации). В противном случае будут созданы новые объекты, и компонент будет вести себя как Включено: Заменить.
Каждый выход на Добавление компонента имеет дополнительные элементы управления, помогающие управлять отслеживанием:
- Выделить – выберите и выделите элементы Revit, созданные с помощью этого вывода;
- Открепить – удалите булавку из любого элемента Revit, созданного с помощью этого вывода. Также для этого можно использовать компонент Unpin;
- Удалить – удалить любые элементы, отслеживаемые этим выходом;
- Освободить – при выводе объекты будут забыты и не будут отслеживаться. Имейте в виду, что это может создать повторяющиеся объекты, если определение Grasshopper будет запущено снова.
Системы единиц
В Revit при выборе системы единиц меняются только номера интерфейсов, Revit всегда работает в футах по умолчанию. Если системы единиц измерения Rhino и Revit не совпадают, Rhino предложит изменить единицы измерения, чтобы они соответствовали единицам отображения Revit.
Независимо от выбора в этом диалоговом окне, геометрия будет преобразована в правильный размер в обоих продуктах.
Имейте в виду, что масштабирование модели в Rhino также повлияет на допуски, указанные ниже. Модель, которую необходимо значительно увеличить, например с миллиметров до метров, может отрицательно повлиять на допуск.
Допуски
Revit может обрабатывать кривые, BREP (NURBS) и геометрию сетки из Rhino. Важным аспектом геометрии является геометрический допуск, с которым была построена любая форма. При преобразовании геометрии проблемы с допусками могут повлиять на Revit по-разному.
- В идеале Rhino Breps можно напрямую преобразовать в Revit, но если допуски неверны, Revit может отклонить геометрию.
Геометрия, которую невозможно преобразовать в Revit напрямую, будет направлена на вторичный метод передачи с использованием файлов SAT. Передача SAT происходит намного медленнее. Предупреждение появится на компонентах, которым необходимо использовать метод SAT; - Элементы Directshape, которые не проходят ни нормальную передачу, ни передачу SAT, могут быть импортированы как модели сетки с плотными черными краями.
Типы семейств могут принимать только геометрию NURBS, поэтому необходимо решить проблемы с допусками. Сообщение об ошибке отобразится, если некоторая геометрия не преобразована в тип семейства;
- Модели, находящиеся на большом расстоянии от исходной точки, могут не выдерживать жестких допусков и поэтому могут быть отклонены Revit.
В идеале модель Rhino и модель Revit можно моделировать с одинаковым допуском.
Для кривых Revit не принимает сегменты кривых длиной менее 1 мм. Сюда входят кромки обрезки поверхности.
- 1/256 (0,0039) фута
- 3/64 (0,047) дюйма
- Около 1 мм
Для допусков NURBS Rhino должен быть установлен на встроенный допуск Revit. Чтобы установить допуск, перейдите в раскрывающееся меню Инструменты> Параметры> Единицы. Затем установите для него допуск Revit в зависимости от типа блока:
- 0,1 мм
- 0,0001 метра
- 0,006 дюйма
- 0,0005 фута
На практике не всегда возможно получить модели Rhino с таким же допуском, как хотелось бы Revit. Хорошим примером являются модели, созданные в другом программном обеспечении или импортированные. Общий процесс фиксации проблемных моделей выглядит следующим образом:
Необходимо обнаружить и исправить поврежденные объекты в Rhino, используя процесс ремонта Selbadobject.
Затем установить допуск в файле и сбросить допуск для объектов, как показано выше.
Существующие модели, у которых есть проблема с допуском, можно сбросить на новый допуск. Этот процесс может усложниться. Чтобы сбросить допуск и обновить всю информацию о соединениях в модели:
- Разнесите многослойные поверхности на поверхности;
- Выберите все поверхности и запустите команду RebuildEdges. Используйте настройки по умолчанию;
- Выберите поверхности и нажмите команду “Соединить”;
- Запустите команду «Показать край», чтобы проверить наличие оголенных краев. Это края, выходящие за пределы допуска.
Производительность Grasshopper
Как упоминалось в разделах выше, пристальное внимание нижеследующим элементам поможет повысить производительность определения Grasshopper:
- Grasshopper работает поверх Revit. Поэтому, при увеличении (большие модели, слишком много открытых видов и т. д.), Grasshopper может не получить время, необходимое для обновления ресурсов и предварительных просмотров;
- Grasshopper, предыдущий в Revit, требует преобразования геометрии. Слишком большое количество предварительных просмотров также замедляет просмотр Revit. При необходимости сохраните предварительный просмотр компонентов Grasshopper. Вы также можете переключить предварительный просмотр глобально на вкладке Rhinoceros в Revit;
- Выполнение множества транзакций для отдельных элементов происходит медленнее, чем выполнение одной транзакции для нескольких элементов одновременно. Постарайтесь спроектировать логику графа таким образом, чтобы один компонент транзакции мог работать с любым количеством элементов, которые вам нужно изменить одновременно;
- Переключение решателя Grasshopper может помочь сократить время ожидания на больших моделях Revit;
- Геометрия низкого качества или модели за пределами допуска могут замедлить процесс переноса. См. pаздел “Допуски” выше.