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 Чтобы удостовериться в работоспособности скрипта по всему миру, напишите иго на английском языке и поместите _ перед всеми названиями команд и опциями. |
- |
Подавляет диалоговое окно. Так все команды способны работать в режиме скрипта, через командную строку (даже команды, у которых есть диалоговые окна по умолчанию). Чтобы подавить диалоговое окно и использовать опции командной строки, ставьте префикс перед названием команды с дефисом (-). |
' |
Следующая команда - гнездовая команда. Вид и манипуляции конструкционной плоскостью и объектовыми привязками - гнездовые. Команды создания геометрии - негнездовые. 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
Выделите кривую,а затем выполните этот скрипт. Все опции будут установлены скриптом.
Попробовать эти скрипты:
Выделите скрипт справа из раздела Справки.
Нажмите Ctrl + C для копирования в буфер обмена.
Щелкните в командной строке Rhino, и нажмите Ctrl + V для вставки скрипта.
Специальные скриптовые команды
Pause |
Останавливает выполнение скрипта для ввода данных пользователем. Пример: ! _Circle _Pause 50 Этот скрипт запрашивает точку, а затем чертит окружность с радиусом 50 единиц с центром в этой точке. |
Enter |
Симулирует нажатый Enter в скрипте. Эта командане не повторяет предыдущую команду, которая будто тоже делает нажатие Enter . |
SetRedrawOff |
Предотвращает перерисовку экрана, конструкционной плоскости или изменения камеры во время скриптов. |
SetRedrawOn |
Включает перерисовку назад после SetRedrawOff (Отключить Перерисовку) |
NoEcho |
Выключает отображение на экране команд скрипта в окне хронологии команд. |
Echo |
Включает отображение на экране команд скрипта в окне хронологии команд. |
Примечание
Если Вы не знаете, как напечатать скрипт, выполните написанную через дефис версию команды. Выделите и скопируйте последовательность команды и вставьте ее в Ваш текст скрипта как отправную точку.
MacroEditor (Редактор Макрокоманд)
Открывает окно редактирования для создания и тестирования скрипта.
Шаги:
Введите команды в окне MacroEditor (Редактор Макрокоманд).
Для тестирования щелкните Run (Выполнить).
Для удаления макрокоманды щелкните Delete (Удалить).
Примечания
При выделении некоторого текста и щелчке на Run (Выполнить) выполнится только та часть выделенного, которая содержит макрокоманду.
Можно пользоваться контекстным меню щелчка правой кнопки мыши для выделения всего, копирования, вставки, удаления, выполнения и т.д.
Панель Инструментов Utilities (Утилиты) > Open macro editor (Открыть редактор макрокоманд) Меню Tools (Инструменты) > Commands (Команды) > Macro Editor (Редактор Макрокоманд) |
ReadCommandFile (Читать Командный Файл)
Читает и выполняют скрипт команды из текстового файла.
Шаги:
В диалоговом окне Open Text File (Открыть Текстовой Файл) выберите файл для чтения.
Содержимое файла будет скопировано в командную строку и строки командного файла будут интерпретированы, как будто бы они были введены с клавиатуры в командную строку.
Примечания
Создавая командные файлы, используйте Enter , который эквивалентен нажатому Enter для выполнения команды.
Если Вы часто читаете в специфическом файле, назначаете ReadCommandFile (Читать Командный Файл) на кнопку панели наряду с именем файла. Например:
-readcommandfile myfile.txt
Если в имени файла есть пробелы, включите текст в кавычки. Например:
-readcommandfile "my file.txt"
Сделайте текстовый файл по примеру следующего, у которого есть команды для того, чтобы создать все Ваши кривые в этом случае, и затем создать кривые все вместе с 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 (Читать Командный Файл) |
Останавливает выполнение скрипта для ввода данных пользователем.
Пример:
Этот скрипт запрашивает точку, а затем чертит окружность с радиусом 50 единиц с центром в этой точке.
! _Circle _Pause 50
В Панелях Инструментов отсутствует В Меню отсутствует |
Действует как нажатие клавиши Enter для использования в скриптах или программировании кнопки панели инструментов.
Пример
Этот скрипт устанавливает конструкционную плоскость по трем указанным точкам:
'_CPlane _3Point
_Pause _Pause _Pause _Enter
Примечание
Команда Enter не не повторяет предыдущую команду, которая будто тоже делает нажатие Enter .
В Панелях Инструментов отсутствует В Меню отсутствует |
Включает отображение на экране команд скрипта в окне хронологии команд
.
В Панелях Инструментов отсутствует В Меню отсутствует |
В Панелях Инструментов отсутствует В Меню отсутствует |
SetRedrawOn (Включить Перересовку)
Включает перерисовку экрана, конструкционной плоскости во время выполнения скриптов.
Примечание
Включает перерисовку назад после SetRedrawOff (Отключить Перерисовку)
Панель Инструментов View (Вид) > Set Redraw On (Включить Перерисовку) (Щелчок правой кнопкой мыши) В Меню отсутствует |
SetRedrawOff (Выключить Перерисовку)
Выключает перерисовку экрана, конструкционной плоскости во время выполнения скриптов.
Примечание
Выключает перерисовку экрана, конструкционной плоскости во время выполнения скриптов SetRedrawOn (Включить Перерисовку)
Панель Инструментов View (Вид) > Set Redraw Off (Отключить Перерисовку) В Меню отсутствует |
Отменяет текущую команду и удаляет объекты.
Панель Инструментов Main1 (Основная 1) > Cancel (Отменить) В Меню отсутствует Клавиатурное сокращение: Esc |
Закрывает текущую сессию Rhino.
В Панелях Инструментов отсутствует В Меню отсутствует |
Выполняет другие приложения изнутри Rhino.
Шаги:
Введите имя и путь к файлу, который хотите запустить.
В Панелях Инструментов отсутствует В Меню отсутствует |
SetUserText (Установить Пользовательский Текст)
Прикрепляет информационный текст к объекту.
Эта информация хранится в ключ/значение и как способ использует реестр Windows.
Получить информацию можно с помощью команды GetUserText (Получить Пользовательский Текст) . Эта информация упрощает доступ . NET плагинов и скриптов VisualBasic.
Эта информация легко доступна в формате. NET и Visual Basic скриптах.
Пример
Text key = Weight (Text key (Ключ текста) = Weight (Вес))
Text = Kilograms (Text (Текст) = Kilograms (Килограммы))
Шаги:
Выделите объекты.
Введите текст клавиши.
Введите текст.
Опции
AttachTo (Прикрепить К)
Object (Объекту)
Прикрепляет информационный текст к объекту геометрии.
Если информация, тесно связанна с геометрией, приложите ее к геометрии. Например, радиус окружности может быть прикреплен к геометрии, потому что информация будет недопустимой, если окружность будет редактирована в контрольных точках и изменится в NURBS кривую.
Attributes (Свойства)
Прикрепляет текстовую информацию к свойствам объекта.
Если информация более высокого уровня свойств, таких как цвет, то такую информацию лучше прикреплять к свойствам объекта. Информация свойств сохранится даже, если объект будет редактирован в контрольных точках и изменится, обрежется, скопируется и т.д.
В Панелях Инструментов отсутствует В Меню отсутствует |
GetUserText (Получить Текст Пользователя)
Восстанавливает информационный текст, прикрепленный, используя команду SetUserText (Установить Пользовательский Текст) . Эта информация может быть также восстановлена плагинами .NET и Visual Basic скриптами.
Шаги:
В Панелях Инструментов отсутствует В Меню отсутствует |