Параметр Surface (Поверхность)
Способен хранить в себе данные о поверхностях. Может содержать сведения как о ссылочных поверхностях из Rhino, так и о поверхностях, генерируемых Grasshopper'ом.
Параметр Surface понимает данные об обрезке поверхностей (Trim). Если Вам нужна необрезанный вариант поверхности, то придётся предварительно провести ей в Rhino операцию Untrim (Восстановить Обрезанное (Отменить Обрезку)) или воспользоваться Компонентом Grasshopper'a Untrim (Восстановить Обрезанное) из Палитры Surface на вкладке Util (Утилиты).
Параметр Surface может содержать несоставные поверхности любой степени (degree) и формы, в том числе, сферы, конусы, цилиндры, торы. Но не может содержать данные о составных поверхностях (polysurface). Для составных поверхностей есть Параметр Grasshopper'a Brep (Бреп) или Geometry (Геометрия), либо можно перед подключением полиповерхности к Параметру Surface воспользоваться Компонентом Deconstruct Brep (Разобрать Бреп) с Палитры Surface.
Задать поверхность
Чтобы вручную задать поверхность, кликните по центральной части нода Surface и в выпавшем контекстном меню выберите Set one Surface (Задать одну Поверхность) или Set Multiple Surface (Задать Множество Поверхностей) по потребности.
Окно Grasshopper'a свернётся, чтобы предоставить полный доступ к окну Rhino, пока Вы указваете нужные поверхности во вьюпортах Rhino.
При указании поверхностей доступны два режима:
- Reference (Ссылочный). Помещает в параметр Surface данные в виде ссылки на поверхность Rhino. При редактировании данных Rhino'вских поверхностей будут пересчитываться и последующие за ссылающимися на них ноды Grasshopper'a.
- Copy (Копия). Сразу помещает все данные о указанных при выборе поверхностей в нод Surface в виде копии объектов в текущем их состоянии. Редактирование исходных поверхностей не повлечёт изменений в ноде Surface.
Если Вы поместили информацию о поверхностей в нод Surface в виде ссылочных объектов, то при повторном открытии дефинишина потребуется и файл Rhino с объектами, на которые ссылается информация в ноде Surface. Потеря данных Rhino'вских объектов повлечёт за собой неработоспособность последующих за этим нодом Surface компонентов. Чтобы предотвратить такую ситуацию, либо открывайте совместно два файла: файл Rhino со ссылочными объектами и файл Grasshopper'a с алгоритмом, ссылающимся на данные объекты, либо внедрите информацию об объектах "внутрь" нода Surface. Внедрить можно либо непосредственно при первоначальном выборе в режиме Copy, либо в любой момент до закрытия файлов через пункт Internalise data контекстного меню нода Surface.
Подхватывать автоматически поверхности из среды Rhino
Grasshopper имеет специальный Параметр, позволяющий все поверхности, создаваемые в среде Rhino помещать в качестве ссылочных объектов в среду Grasshopper'a.
Называется этот Параметр Geometry Pipeline (Конвейер Геометрии).
Параметр Geometry Pipeline можно взять на той же вкладке Geometry Палитры Params, где находится и наш рассматриваемый Параметр Surface.
Для того, чтобы Geometry Pipeline подавал все создаваемые в среде Rhino поверхности в среду Grasshopper'a нужно дважды кликнуть по иконке Brep (1).
Чтобы ограничить поток подаваемых поверхностей лишь объектами с определённого Слоя Rhino, нужно создать Слой (Layer) с таким именем в Rhino, поместить на него нужные поверхности, и вписать такое же название Слоя в поле Layer на Geometry Pipeline (2).
Чтобы ограничить поток подаваемых в Grasshopper поверхностей из Rhino лишь поверхностями с определённым именем, нужно задать этим поверхностям в Rhino такое же имя в поле Name на вкладке Properties, как и поле Name (3) в Geometry Pipeline. Не бойтесь давать совпадающие имена, для Rhino все объекты имеют уникальные имена типа ID: 3485656f-72dc-4692-b4d2-9488e0f66415.
Можно использовать разные сочетания настроек Geometry Pipeline. Не обязательно задавать Слой или Имя.
Пункты контекстного меню
- Поле Name (Имя). Позволяет ввести произвольное название для данного нода.
- Переключатель типа отображения нода. Клик по нему перебирает следующие варианты:
-
Always draw icon (Всегда отображать иконку).
Always draw name (Всегда отображать имя).
Use application setting (Использовать настройки приложения).
- Переключатель Preview (Предпросмотр). Переключает состояние: будут ли отображаться поверхности, содержащиеся в этом ноде Grasshopper'a в окне Rhino или нет.
- Переключатель Enabled (Включен). Переключает, будет ли данный нод участвовать в расчёте результата обработки дефинишина или нет. Если нод находится в состоянии Disabled (Выключен), то и компоненты, связанные с его выходом нормально работать не смогут.
- Команда Bake (Запечь) позволяет передать поверхности, содержащиеся в ноде Surface в среду Rhino. После передачи в Rhino связь с этими новыми Rhino'вскими поверхностями будет утрачена.
- Переключатель Wire Display (Отображение Связи). Позволяет переключить, каким именно образом будет отображаться входящая в нод линия связи:
- Default (По умолчанию). Связь будет отображаться соответственно настройкам приложения в Меню Dysplay (Отображение).
- Faint (Тусклый). Провод связи будет отображаться еле видимым.
- Hidden (Скрытый). Провод связи отображаться будет лишь при выделении одного нодов, между которыми установлен данный провод связи.
- Переключатель Revers (Обратный). Переворачивает список поверхностей. Поверхности будут выдаваться в обратном порядке.
- Переключатель Flatten (Обрубить Дерево Данных). Если список поверхностей представлен в виде дерева данных (списка, включающего в себя другие списки), то этот переключатель заставит нод выдавать список простым порядком (все элементы списка подряд, без подразбиения на ветви).
- Переключатель Graft (Привить Дерево Данных). Делает каждый элемент списка отдельной ветвью дерева данных.
- Переключатель Simplify (Упростить Дерево Данных). Упрощает дерево данных, обрубая общие ветви, оставляя лишь ветви, несущие, непосредственно, данные. "Дерево" данных превращается в "куст" без общего ствола.
- Reparametrize (Репараметризировать). Принудительно пересчитать значение доменов всех поверхностей на выходе в диапазон значений от 0.0 до 1.0
- Команда Set one Surface (Задать одну Поверхность). Сворачивает окно Grasshopper, чтобы предоставить полный доступ к окну Rhino для того, чтобы задать поверхность, которая будет помещена в нод Surface.
- Команда Set Multiple Surfaces (Задать Множество Поверхностей). Позволяет поместить в нод Surface набор поверхностей из окна Rhino.
- Команда Manage Surface collection (Управление коллекцией поверхностей). Открывает диалоговое окно Surface persistent data (Постоянные данные поверхностей), в котором можно отредактировать список поверхностей, содержащиеся в коллекции нода Surface, а также увидеть подробные сведения об отдельных поверхностях.
Менеджер коллекции состоит из нескольких разделов:
- Список объектов коллекции.
- Детальная информация о выделенном объекте.
- Элементы управления Списком.
- Пояснения по элементам детальной информации.
Add Path (Добавить Путь). Позволяет добавить ещё одну "ветку" к дереву данных.
Add Item (Добавить Элемент). Позволяет добавить ещё один элемент к дереву данных.
Delete Selection (Удалить Выделенные). Позволяет удалить выделенные элементы из коллекции.
- Команда Clear Values (Очистить значения). Позволяет очистить нод Surface от всего содержимого.
- Команда Internalise data (Внедрить данные). Превращает данные, поступающие через вход нода во внутренние данные нода Surface, отключая при этом все внешние связи за ненадобностью.
- Команда Extract parameter (Извлечь параметр). Извлекает содержащиеся внутри нода Surface поверхности в виде нового нода Surface, присоединённого к входу исходного нода Surface. При этом список поверхностей внутри исходного нода не теряется, а лишь игнорируется, пока подключен внешний входящий нод.
- Команда Help (Справка). Формирует окно со справочной информацией, относящейся к ноду Surface.
Перевод официального раздела Справки
Surface parameter (Параметр Surface (Поверхность))
Представляет набор геометрии Surface (Поверхность). Геометрия Surface (Поверхность) – общий знаменатель всех типов поверхностей в Grasshopper.
Замечания
- Данные Surface (Поверностей) могут быть унаследованы от других компонентов внутри Grasshopper Network, или могут быть ссылочными объектами в модели Rhino. Если Вы ссылаетесь на существующие кривую или край объекта, то эта Grasshopper Network (Сеть Грассхоппера) становится зависимой от вашей текущей модели Rhino.
- Геометрия Surface (Поверхность) в Grasshopper поддерживает обрезающие кривые, которые дифференцируют её от поверхностей OpenNurbs. Компоненты, работающие с поверхностями, часто достаточно умны, чтобы также принимать во внимание обрезку. Если Вы хотите оперировать лежащей в основе базовой поверхностью, Вы должны сначала восстановить обрезанное, используя Untrim Component (Компонент Восстановить Обрезанное (Отменить Обрезку)).
- Геометрия Surface (Поверхность) может иметь любую внутреннюю область определения параметра (intrinsic parameter domain), в зависимости от того, какой подтип поверхности представлен и используемого метода создания. Однако, включив опцию 'Reparameterize' (Повторно параметризовать) в меню Parameter (Параметр), все локальные поверхности будут принудительно преобразованы в единицы измерения области определения (домена (0.0 ~ 1.0)) в обоих u (горизонтальном) и v (вертикальном) направлениях.
- Геометрия Surface (Поверхность) может получать экземпляры себя из других типов поверхностей, таких как Spheres (Сферы), Cylinders Single-Face Breps (Цилиндрические Одно-Гранные Brep (объекты, представленные в виде внешних поверхностей)) и Cones (Конусы) (список неполон).
- Сталкиваясь с некорректными данными, параметр будет показывать сообщение об ошибке для каждого неудавшегося преобразования.