Коротко
- Открыть встроенный редактор скриптов Python в Rhino можно командой ScriptEditor.
- При создании скрипта можно выбрать Python 3 и запустить код через Run > Run.
- В Rhino доступны две отдельные среды: Python 3 на базе CPython и Python 2 на базе IronPython.
- Пакеты PyPI можно устанавливать через ScriptEditor и указывать в скрипте как зависимости.
Чему вы научитесь в этом руководстве?
В руководстве мы подготовим небольшой скрипт на Python, который работает внутри Rhino. Сначала создадим новый файл в ScriptEditor и напишем пример, который позволяет выбрать две точки и провести между ними линию. Затем рассмотрим запуск скрипта, отладку, выбор среды Python и управление зависимостями.
В примере используются функции rhinoscriptsyntax для Rhino. Цель — не разработать полноценный инструмент, а разобраться в базовом сценарии скрипта: он получает данные от пользователя и создаёт геометрию в Rhino. Это может стать отправной точкой для автоматизации повторяющихся операций моделирования.
Требования и выбор версии
Для работы понадобятся Rhino и встроенный ScriptEditor. Чтобы открыть редактор, введите ScriptEditor в командной строке. При создании скрипта выберите Python 3 через меню File > New. В источниках не указаны дополнительные требования к учётной записи, оплате или специальному оборудованию.
В Rhino доступны не разные версии одного движка Python, а отдельные реализации. В руководстве Python 3 описан как CPython, а Python 2 — как IronPython. Python 3 поддерживает пакеты PyPI. Python 2 можно рассмотреть для некоторых скриптов, активно использующих вызовы RhinoCommon или многопоточность .NET. Документация разработчика рекомендует начинать с Python 3 для большинства новых скриптов.
При изучении номеров версий учитывайте дату публикации источников. Общее руководство Rhino.Python, обновлённое в 2025 году, указывает Python 3.9.11 для Rhino 8 и IronPython 2.7.12 для Rhino 7. В документе ScriptEditor, обновлённом в 2026 году, описаны среды выполнения, но эти номера не приводятся. Поэтому лучше всего начать с проверки доступных вариантов в редакторе установленной версии Rhino.
Создаём первый скрипт
Выполните команду
ScriptEditorв командной строке Rhino. Когда редактор откроется, выберите File > New, а затем Python 3. ScriptEditor показывает, какой язык и среда выполнения используются в редактируемом файле.Добавьте в новый скрипт следующий код:
import rhinoscriptsyntax as rs
first_point = rs.GetPoint("Çizginin başlangıç noktası")
if first_point:
second_point = rs.GetPoint("Çizginin bitiş noktası")
if second_point:
rs.AddLine(first_point, second_point)Скрипт предлагает выбрать в Rhino сначала начальную, а затем конечную точку. После выбора обеих точек он проводит между ними линию. Если одна из точек не выбрана, до создания линии дело не дойдёт. В примере используются функции интерфейса Rhino rhinoscriptsyntax.
Запустите скрипт через Run > Run и выберите нужные точки в видовом окне Rhino. Файл можно сохранить с расширением
.py. Ещё один способ создать новый файл — выбрать в редакторе File > New From Template.Следите за результатом каждого шага, пока работаете с небольшим примером. Позже этот подход можно адаптировать для повторяющихся операций выбора и создания геометрии. Rhino.Python поддерживает интерактивные скрипты, пользовательские команды и создание геометрии с помощью алгоритмов. Приведённый здесь пример показывает только выбор точек и построение линии.
Запуск, отладка и движок Python
Запускать скрипт каждый раз из редактора необязательно. Согласно руководству разработчика Rhino, сохранённые файлы ScriptEditor можно запускать из командной строки Rhino, макроса, кнопки панели инструментов или псевдонима. Таким образом, скрипт можно привязать к разным способам запуска в Rhino. Если код напрямую добавлен в макрос, не забудьте указать язык, чтобы Rhino выбрал нужный движок.
Среда Python, в которой откроется файл, связана с его расширением и указателем в самом скрипте. Запись #! python 3 или #! python 2 указывает соответствующий движок; расширения .py3 и .py2 также обозначают конкретную среду. Для файлов .py учитывается среда, которую запрашивает скрипт. Проверьте это, если файл запускается неожиданным образом.
Чтобы скрипт остановился на определённой строке и позволил проверить переменные, щёлкните в поле рядом с ней в редакторе и добавьте точку останова. Затем запустите отладку через Run > Debug. Когда выполнение приостановится, можно пошагово выполнять код и проверять переменные в соответствующих панелях. Если точка останова не добавлена, пункт Debug будет недоступен.
Пакеты и возможные проблемы
Чтобы добавить пакеты PyPI в скрипты Python 3, воспользуйтесь пунктом Install Package на панели ScriptEditor. Пакет можно найти через поиск или указать его имя и версию. Если информацию о пакете нужно хранить в скрипте, проверьте, включён ли пункт Add Package Reference to Script. В руководстве разработчика сказано, что эта настройка позволяет указывать необходимые пакеты в тексте скрипта.
Зависимости можно перечислить через запятую. Например, следующая строка указывает пакеты numpy и requests:
#requirements: numpy, requestsПосле установки пакета или изменения импортируемых модулей может понадобиться перезагрузить соответствующий движок Python. Для этого используйте пункты Tools > Reload Python 3 (CPython) Engine или Tools > Reload Python 2 (IronPython) Engine в ScriptEditor. Согласно руководству, перезапускать Rhino не требуется.
Если скрипт не работает, сначала проверьте, совместим ли файл с выбранным движком Python и что указано в его расширении или языковом маркере. Если используются пакеты, убедитесь, что информация о зависимостях добавлена в скрипт. Источники не называют эти ситуации особенно частыми, но их можно проверить при поиске причины ошибки. Для отладки сначала добавьте точку останова, а затем выберите Debug.
Что изучать дальше
Код, который используется в нескольких скриптах, можно вынести в отдельный модуль и импортировать из других файлов. Чтобы Rhino мог найти модуль, его папка должна быть добавлена в пути поиска. Эти папки перечислены в разделе Module Search Paths в Options. В руководстве разработчика также упоминается возможность добавить путь с помощью файла .pth.
Для более сложных задач скрипты могут обращаться к RhinoCommon. В Python 3 такой доступ обеспечивается через Python.NET, а Python 2 работает на платформе .NET. Python можно использовать и в Grasshopper, однако для компонентов и редактора предусмотрено отдельное руководство Grasshopper Python. Поэтому при выборе следующего шага определитесь, что вам нужно: автономный скрипт внутри Rhino или пользовательский компонент, работающий в определении Grasshopper.
Источники и лицензия
Материал подготовлен в оригинальном изложении на турецком языке на основе руководств разработчика McNeel «Scripting: Python» (K1) и «What is Rhino.Python?» (K2). В записях источников указана классификация лицензии «свободная»; на страницах присутствуют уведомление об авторских правах и пометка «All Rights Reserved», но конкретное название открытой лицензии не приводится.
Источники
Источников: 2Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Для архитектурных бюро и студентов, которые снова и снова выполняют в Rhino одинаковые операции выбора и создания геометрии, Python — удобный способ начать экспериментировать с небольшой автоматизацией. Пример с выбором точек и построением линии ограничен по охвату, но наглядно показывает, как скрипт взаимодействует с Rhino и как его отлаживать.
Командам в Турции важно проверить среду Python в установленной версии Rhino и используемые пакеты, прежде чем расширять задачу. Источники не указывают цены, требования к оборудованию или стоимость лицензии, поэтому не следует делать предположений по этим вопросам. Также стоит учитывать, что работа с RhinoCommon и Grasshopper предполагает разные сценарии.
Частые вопросы
Как запустить скрипт Python в Rhino?
Введите команду ScriptEditor в командной строке, создайте новый скрипт и выберите Run > Run. Файлы скриптов также можно запускать из командной строки, макроса, панели инструментов или псевдонима.
В Rhino используется Python 3 или Python 2?
В руководствах разработчика описаны две среды выполнения Rhino: Python 3 на базе CPython и Python 2 на базе IronPython. Python 3 поддерживает пакеты PyPI; выбор движка зависит от требований скрипта.
Как добавить пакет PyPI в скрипт Python для Rhino?
Найдите пакет или укажите его имя и версию через пункт Install Package на панели ScriptEditor. Пункт Add Package Reference to Script помогает указать зависимости в самом скрипте.



