Панели команд
Команды Max
Копирование массивов
Массивы являются весьма эффективным и полезным средством MAXScript. Они могут содержать практически все, что поддается записи. Например, можно организовать массив чисел, строк, функций, структур, свитков и даже находящихся на сцене объектов.
Время от времени массивы приходится копировать. В таком случае целесообразно, казалось бы, воспользоваться следующим методом:
h = #(1,2,3)
m = copy h
Однако он непригоден. Ведь значение переменной m является не массивом, а просто постоянным значением "ОК". Это совершенно не то, что ожидалось получить. Для получения более предсказуемых результатов копирования массива необходимо ввести в вызов функции дополнительный аргумент #noMap:
m = copy h #noMap
В ответ на введенную выше строку кода в приемнике команд будет выдан следующий результат: #(1,2,3)
Благодаря дополнительному аргументу #noMap результаты копирования массива оказываются вполне предсказуемыми.
На прилагаемом к данной книге CD-ROM находится файл сценария \chapter3\copy_instance_reference.ms с примером, иллюстрирующим материал этого раздела.
В MAXScript имеется ряд самых общих команд управления крупными частями пользовательского интерфейса. Многие из них формируются автоматически в верхней части окна приемника команд (называемого подокном макрорегистрации) в ответ на разные события, происходящие на сцене. В частности, имеется команда сохранения файла сцены "maxfilesave", команда фиксации выделенного "maxfreezeselection" и команда развертывания видового окна на весь экран "maxtoolmaximize".
Более подробно с этими командами можно ознакомиться в следующем разделе справочного руководства по MAXScript: MAXScript Tools and Interaction with 3dsMax ⇨ lnteracting with the 3dsMax User Interface ⇨ 3dsMax Commands (Инструменты MAXScript и взаимодействие с 3dsMax ⇨ Взаимодействие с пользовательским интерфейсом 3dsMax ⇨ Команды 3dsMax).
Интерфейс 3dsMax
Панели команд являются наиболее важной частью интерфейса 3dsMax. Переходя от одной панели к другой, пользователь получает доступ к разным командам. Например, команды правки каркаса доступны только на панели Modify. Переходить от одной панели команд к другой можно и средствами MAXScript, используя следующий синтаксис:
SetCommandPanelTaskMode [mode:] <имя панели>
Для доступа к панели команд имеется также соответствующая функция: GetCommandPanelTaskMode()
Эта функция возвращает следующие имена панелей.
• #create
• #modify
• #hierarchy
• #motion
• ttdisplay
• #utility
Для того чтобы выбрать конкретную панель команд и задать режим ее работы, выполните следующее упражнение.
1. Установите 3dsMax в исходное состояние. Сцена открывается с выбранной панелью Create. Для перехода к панели команд Modify введите одну из следующих строк кода.
SetCommandPanelTaskMode #modify
SetCommandPanelTaskMode mode:#modify
После ввода любой из приведенных выше строк кода отображается панель Modify.
Еще один способ перехода от одной панели команд к другой состоит в применении команд Max, упоминавшихся в предыдущем разделе. Эти команды следующие.
• max create mode
• max modify mode
• max hierarchy mode
• max motion mode
• max display mode
• max utility mode
Дополнительные сведения по данному вопросу приведены в следующем разделе справочного руководства по MAXScript: MAXScript Tools and Interaction with
Глава 3
3dsMax ⇨ lnteracting with the 3dsMaxUser Interface ⇨ Command Panels (Инструменты MAXScript и взаимодействие с 3dsMax ⇨ Взаимодействие с пользовательским интерфейсом 3dsMax оПанели команд).