Rhino Scripting (Разработка Сценариев Rhino)

Все команды Rhino могут использоваться в командах скриптов. Команды скриптов (сценариев) могут быть запущены, с помощью ввода в командной строке, кнопкой на панели инструментов, клавиатурным сокращением, псевдонимом команды, из команды ReadCommandFile (Читать Командный Файл), или используя команду Paste (Вставить)  в потоке команд Rhino.

Запись Скриптов Команд

Записывайте скрипты команд также, как бы Вы вводили последовательность команд в командной строке. Пробел между символами или новой строкой действует как нажатие Enter  в командной строке.

Специальные символы

Символ

Значение в скрипте

!
(восклицательный знак)

Отменяет предыдущую команду.

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

_
(символ подчеркивания)

Выполняет команду как английское название команды.

Rhino может быть локализован на многие языки. У неанглийских версий будут команды, подсказки, опции команды, диалоговые окна, меню, и т.д., переведенные на их соответствующие языки. Английские команды не будут работать в этих версиях.

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

Например: В английской версии Rhino, работает следующий скрипт:

Circle 3Point 0,0,0 1,1,0 0,3,0 (Окружность по 3 Точкам)

Но во французской версии Rhino, это не будет работать. Вместо этого Вы нуждаетесь в одном из этих скриптов:

Cercle 3Point 0,0,0 1,1,0 0,3,0
_Circle _3Point 0,0,0 1,1,0 0,3,0

Чтобы удостовериться в работоспособности скрипта по всему миру, напишите иго на английском языке и поместите _ перед всеми названиями команд и опциями.

-
(дефис)

Подавляет диалоговое окно.

Так все команды способны работать в режиме скрипта, через командную строку (даже команды, у которых есть диалоговые окна по умолчанию). Чтобы подавить диалоговое окно и использовать опции командной строки, ставьте префикс перед названием команды с дефисом (-).

'
(апостроф)

Следующая команда - гнездовая команда.

Вид и манипуляции конструкционной плоскостью и объектовыми привязками - гнездовые. Команды создания геометрии - негнездовые.

One-shot object snaps (Однократные объектовые привязки) - и подчиненные объекты, указывающие фильтры автоматически гнездовые и не требуют апострофа.

\
(наклонная черта влево)

Если первый символ в скрипте инструментальной панели не "!" и последний символ "\", скрипт выполняется в командной строке без Enter, таким образом может быть добавлена подробная информация.  

Эта особенность полезна для создания командной строки из таких частей, как цифры, десятичные точки, углы (такой как "<45"), которые находятся на кнопках, делая "цифровую клавиатуру" на экране.

;

(точка с запятой)

Комментарий.

Строки, начинающиеся с точки с запятой ;) (не часть скрипта, но позволяет Вам, документировать скрипт или пробовать альтернативный ввод.

Например:

; This is a test macro (Это - испытательная макрокоманда)

_Circle 0,0,0 15 (Окружность)

_Line 0,0,0 pause ;15,0,0 (Линия, пауза)

; Line 0,0,0 0,15,0 (Линия)

_Line 0,0,0 -15,0,0 (Линия)

Примеры

Начертить окружность

Этот скрипт создает окружность с центром в 5,5 и радиусом 10:

! _-Circle 5,5 10

Пробелы между элементами - те же места, где бы Вы нажали Enter, вводя команду вручную.

Снять выделение с объектов и запустить команду Move (Переместить)

Этот скрипт запускает команду Move (Переместить), но не гарантирует, что объекты не будут выделенными до запроса: "Просим вас выбрать объекты для перемещения:"

! _SelNone _Move

Создать кривую через точки

Этот скрипт создает ряд точек, выбирает их всех, и подгоняет ломаную линию через эти точки:

! _SelAll _Points _Pause _Pause _Pause _Enter _Invert _CurveThroughPt _Enter

Как этот скрипт работает:

! _SelAll

Отменяет все предыдущие команды и выделяет все объекты в текущей модели.

_Points

Выполняет команду Points (Точки).

_Pause x 3

Позволяет указать три местоположения точек.

_Enter

Симулирует нажатие Enter, которое останавливает создание точечных объектов.

_Invert

Инвертирует выделение. Все видимые объекты в сцене, были выделены в начале скрипта, а после инвертирования, будут выделены только недавно созданные точечные объекты.

_CurveThroughPt

Создает ломаную линию через точечные объекты.

 _Enter

Завершает команду.

Обход диалогового окна

! -_Rebuild _Pause _Points=10 _Degree=3 _Enter

Выделите кривую,а затем выполните этот скрипт. Все опции будут установлены скриптом.

Попробовать эти скрипты:

  1. Выделите скрипт справа из раздела Справки.

  2. Нажмите Ctrl + C для копирования в буфер обмена.

  3. Щелкните в командной строке Rhino, и нажмите Ctrl + V для вставки скрипта.

Специальные скриптовые команды

Pause

Останавливает выполнение скрипта для ввода данных пользователем.

Пример:

! _Circle _Pause 50

Этот скрипт запрашивает точку, а затем чертит окружность с радиусом 50 единиц с центром в этой точке.

Enter

Симулирует нажатый Enter в скрипте.

Эта командане не повторяет предыдущую команду, которая будто тоже делает нажатие Enter .

SetRedrawOff

Предотвращает перерисовку экрана, конструкционной плоскости или изменения камеры во время скриптов.

SetRedrawOn

Включает перерисовку назад после SetRedrawOff (Отключить Перерисовку)

NoEcho

Выключает отображение на экране команд скрипта в окне хронологии команд.

Echo

Включает отображение на экране команд скрипта в окне хронологии команд.

Примечание

MacroEditor (Редактор Макрокоманд)

Открывает окно редактирования для создания и тестирования скрипта.

Шаги:

Примечания

Панель Инструментов Utilities (Утилиты) > Open macro editor (Открыть редактор макрокоманд)

Меню Tools (Инструменты) > Commands (Команды) > Macro Editor (Редактор Макрокоманд)

 Связанные разделы…

ReadCommandFile (Читать Командный Файл)

Читает и выполняют скрипт команды из текстового файла.

Шаги:

Примечания

Пример

Сделайте текстовый файл по примеру следующего, у которого есть команды для того, чтобы создать все Ваши кривые в этом случае, и затем создать кривые все вместе с ReadCommandFile (Читать Командный Файл).

! _interpcrv
23,5,0
23.2,5,0
23.7,5.2,1
_enter
_interpcrv
26.1,4.9,1.1
26.8,4.9,1.0
27.1,4.8,0.9
_enter

etc&.

Панель Инструментов Tools (Инструменты) > Read Command File (Читать Командный Файл)

Меню Tools (Инструменты) > Commands > Read from File (Читать Командный Файл)

 Связанные разделы…

Pause (Пауза)

Останавливает выполнение скрипта для ввода данных пользователем.

Пример:

Этот скрипт запрашивает точку, а затем чертит окружность с радиусом 50 единиц с центром в этой точке.

! _Circle _Pause 50

В Панелях Инструментов отсутствует

В Меню отсутствует

 Связанные разделы…

Enter

Действует как нажатие клавиши Enter для использования в скриптах или программировании кнопки панели инструментов.

Пример

Этот скрипт устанавливает конструкционную плоскость по трем указанным точкам:

'_CPlane _3Point

 _Pause _Pause _Pause _Enter

Примечание

В Панелях Инструментов отсутствует

В Меню отсутствует

 Связанные разделы…

Echo (Эхо)

Включает отображение на экране команд скрипта в окне хронологии команд.

В Панелях Инструментов отсутствует

В Меню отсутствует

 Связанные разделы…

NoEcho (Без Эхо)

Выключает отображение на экране команд скрипта в окне хронологии команд.

В Панелях Инструментов отсутствует

В Меню отсутствует

 Связанные разделы…

SetRedrawOn (Включить Перересовку)

Включает перерисовку экрана, конструкционной плоскости во время выполнения скриптов.

Примечание

Панель Инструментов View (Вид) > Set Redraw On (Включить Перерисовку) (Щелчок правой кнопкой мыши)

В Меню отсутствует

 Связанные разделы…

SetRedrawOff (Выключить Перерисовку)

Выключает перерисовку экрана, конструкционной плоскости во время выполнения скриптов.

Примечание

Панель Инструментов View (Вид) > Set Redraw Off (Отключить Перерисовку)

В Меню отсутствует

 Связанные разделы…

Cancel (Отменить)

Отменяет текущую команду и удаляет объекты.

Панель Инструментов Main1 (Основная 1) > Cancel (Отменить)

В Меню отсутствует

Клавиатурное сокращение: Esc

 Связанные разделы…

Exit (Выход)

Закрывает текущую сессию Rhino.

В Панелях Инструментов отсутствует

В Меню отсутствует

 Связанные разделы…

Run (Выполнить)

Выполняет другие приложения изнутри Rhino.

Шаги:

В Панелях Инструментов отсутствует

В Меню отсутствует

 Связанные разделы…

SetUserText (Установить Пользовательский Текст)

Прикрепляет информационный текст к объекту.

Эта информация хранится в ключ/значение и как способ использует реестр Windows.

Получить информацию можно с помощью команды GetUserText (Получить Пользовательский Текст) . Эта информация упрощает доступ . NET плагинов и скриптов VisualBasic.

Эта информация легко доступна в формате. NET и Visual Basic скриптах.

Пример

Text key = Weight (Text key (Ключ текста) = Weight (Вес))

Text = Kilograms (Text (Текст) = Kilograms (Килограммы))

Шаги:

  1. Выделите объекты.

  2. Введите текст клавиши.

  3. Введите текст.

Опции

AttachTo (Прикрепить К)

Object (Объекту)

Прикрепляет информационный текст к объекту геометрии.

Если информация, тесно связанна с геометрией, приложите ее к геометрии. Например, радиус окружности может быть прикреплен к геометрии, потому что информация будет недопустимой, если окружность будет редактирована в контрольных точках и изменится в NURBS кривую.

Attributes (Свойства)

Прикрепляет текстовую информацию к свойствам объекта.

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

В Панелях Инструментов отсутствует

В Меню отсутствует

 Связанные разделы…

GetUserText (Получить Текст Пользователя)

Восстанавливает информационный текст, прикрепленный, используя команду SetUserText (Установить Пользовательский Текст) . Эта информация может быть также восстановлена плагинами .NET и Visual Basic скриптами.

Шаги:

  1. Выделите объекты.

  2. Введите ключ текста или нажмите Enter  для всех ключей.

В Панелях Инструментов отсутствует

В Меню отсутствует

 Связанные разделы…