Последние новости
Unreal Engine Path Tracer: интерьерный рендер за 5 шаговРедактирование архитектурных масс и мешей в Unreal Engine Modeling ModeРуководство по Grasshopper Python 3: доступ к данным, типы и выходыКак создавать сцены SketchUp и экспортировать анимациюРазвёртка UV в Unreal Engine UV Editor: пошаговое руководствоКак использовать Gemini API с OpenAI-совместимым клиентом: руководство по Python и JavaScriptRhino 8: как найти и исправить проблемную геометрию — практическое руководствоНастройка Unreal Engine Pixel Streaming: передача проекта в браузерРазмещение повторяющихся архитектурных элементов в Blender Geometry NodesРуководство по редактированию архитектурной модели в Rhino 8: выбор, History и блоки
СоветыRhinoGrasshopper

Руководство по Grasshopper Python 3: доступ к данным, типы и выходы

Документация для разработчиков Rhino описывает основные шаги работы с компонентом Python 3 или IronPython 2 Script в Grasshopper. В руководстве на практике рассматриваются параметры, доступ к данным, подсказки типов и настройки выходов.

Рабочее пространство для проектирования с макетом параметрического павильонаИИ-изображение
Иллюстрация создана с помощью ИИ.Изображение: 3dsınıfı / FCA AI

Коротко

  1. Компонент Python 3 Script можно добавить через панель `Script` на вкладке `Maths` в Grasshopper.
  2. Для входных параметров доступны варианты доступа Item, List и Tree.
  3. Type Hint может преобразовать входные данные в выбранный тип до запуска скрипта.
  4. Отключение неиспользуемого стандартного выходного параметра может сократить ненужную обработку, особенно в определениях с большим количеством компонентов.

Руководство основано на описании написания Python-скриптов для Grasshopper в документации для разработчиков Rhino, обновлённой 29 сентября 2026 года. В Grasshopper можно добавить компонент Python 3 или IronPython 2 Script; в общем компоненте Script также можно выбрать Python 3 в меню языков. Ниже приведены шаги, которые помогут правильно настроить входы, доступ к данным и выходы компонента до создания геометрии. В документации отдельно отмечено, что некоторые параметры зависят от версии Rhino: например, возможность сделать входной параметр обязательным доступна начиная с Rhino 8.14.

1. Добавьте компонент Script и задайте ему имя

Добавьте компонент Python 3 Script на холст Grasshopper через панель Script на вкладке Maths. В качестве альтернативы можно разместить общий компонент Script и выбрать Python 3 в меню языков. Двойной щелчок по компоненту открывает редактор скриптов; версия используемого языка Python отображается в строке состояния редактора.

Скрипты обычно встроены в компонент и не сохраняются как отдельные файлы. Если в определении несколько скриптов, переименуйте компонент так, чтобы его название отражало назначение. Это имя будет отображаться на вкладке Script и в панели точек останова. Также задайте входным и выходным параметрам понятные имена: так другим пользователям будет проще понять, какие данные требуются и что создаёт компонент.

2. Настройте первый скрипт с входами и выходами

По умолчанию компонент Script содержит входы x и y, а также выходы out и a. Ненужные параметры можно удалить. Элементы управления для добавления и удаления входов и выходов становятся видны, если достаточно приблизить компонент. Также можно удалить все параметры с одной стороны — компонент отобразит этот край иначе.

Для простого примера сложите два числа и передайте результат на выход a:

python
a = x + y

В Script-Mode компонент определяет входные переменные до запуска скрипта; значения, присвоенные выходным переменным, передаются на выходы компонента. В этом примере к входам x и y нужно подключить совместимые значения. Если входы пусты, их значениями могут быть None, и сложение этих двух значений вызовет ошибку во время выполнения. Поскольку Python не является языком со строгой типизацией, несовместимые операции могут приводить к ошибкам при запуске скрипта.

3. Выберите тип входа и способ доступа к данным

Если задать Type Hint, щёлкнув правой кнопкой мыши по входному параметру, данные, поступающие в компонент, будут преобразованы до запуска скрипта. В приведённом в документации примере два значения Line преобразуются в числовые значения с помощью подсказки типа float, после чего скрипт складывает их. Параметр Type Hint доступен и для входных, и для выходных параметров. Проверьте подключённые данные, чтобы убедиться, что преобразование даёт ожидаемый результат.

Параметр Parameter Access в меню параметра определяет, в каком объёме скрипт будет обрабатывать данные:

ДоступСтруктура данных, передаваемая скриптуКогда использовать?
ItemКаждый элемент данных обрабатывается отдельноДля обработки элементов по одному
ListЭлементы одной ветви обрабатываются вместеДля совместной обработки списка из одной ветви
TreeВся структура данных обрабатывается целикомДля работы со всеми ветвями и элементами одновременно

При доступе Item число представлено на стороне Python одним значением, а при доступе List значения одной ветви представлены списком. При доступе Tree скрипт получает доступ к дереву данных Grasshopper. Подсказка типа также может помочь определить тип элементов в общей структуре DataTree. Прежде чем выбирать способ доступа, определите, будет ли скрипт обрабатывать один элемент, список или всё дерево.

4. Настройте выходы и обязательные входы

Параметр out перехватывает текст, который скрипт выводит с помощью вызовов print(). По умолчанию каждая строка становится отдельным элементом выхода. Если включить параметр Avoid Grafting Output Lines, напечатанные строки будут передаваться одним элементом. Если скрипт ничего не выводит в консоль, параметр out можно отключить с помощью пункта Standard Output/Error Parameter в контекстном меню компонента.

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

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

Применение в рабочих процессах архитектуры и визуализации

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

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

Частые ошибки

  • Не учитывать пустые входы и выполнять операции над значениями None: проверяйте, подключены ли входы и соответствуют ли данные ожидаемому типу.

  • Не выбирать способ доступа к параметру с учётом потребностей скрипта: Item, List и Tree обеспечивают работу с разными структурами данных.

  • Оставлять включённым неиспользуемый параметр out: если вывод print() не нужен, параметр можно отключить.

  • Давать параметрам неинформативные имена: особенно в общих определениях это затрудняет понимание назначения входов и выходов.

Источники

Источников: 1
D
developer.rhino3d.comdeveloper.rhino3d.com/guides/scripting/scripting-gh-python
Пересказ

Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.

Мнение 3dsınıfı
3dОценка редактора

Главная ценность рекомендаций из этой документации для архитектурных бюро и студий визуализации в Турции — не в модернизации оборудования, а в том, что определения Grasshopper становятся надёжнее и удобнее для передачи коллегам. Понятные имена параметров, корректный доступ к данным и указание обязательных входов могут сэкономить время, особенно когда одним определением пользуются разные члены команды.

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

Частые вопросы

Как добавить компонент Python 3 Script в Grasshopper?

Компонент Python 3 Script можно добавить через панель `Script` на вкладке `Maths` в Grasshopper. Если используется общий компонент Script, выберите Python 3 в меню языков.

Что означают варианты доступа Item, List и Tree в Grasshopper Python?

Item обрабатывает элементы по одному, List — вместе элементы одной ветви, а Tree — всю структуру данных. Выбор зависит от того, как скрипт должен работать с данными.

Для чего нужен параметр out в компоненте Grasshopper Python?

`out` перехватывает текст, выводимый в скрипте с помощью `print()`. Если вывод в консоль не нужен, параметр можно отключить в контекстном меню компонента.

Комментарии и форум — на турецком языке.Присоединиться к обсуждению
+

Похожие новости