Из официальной справки MaxScript:
<bitArray>GetSelection <enum>meshSelLevel node:<node>
meshSelLevel enums: {#Object|#Vertex|#Edge|#Face|#CurrentLevel} -- параметры, один из которых нужно передавать функции GetSelection.
node default value: undefined -- значение ноды по умолчанию
Returns the specified selection as bitArray value.
Возвращает битовый массив выделенных объектов (подобъектов)
If node: is supplied, returns the selection from
the modifier instance assigned to the specified node.
Если нода (объект): передана, возвращает выделение из подчинённого
модификатора, относящимися к указанным нодам.
Пример кода:
CurO = modPanel.getCurrentObject() -- в переменную помещаем объект панели модификаторов
CurO.getSelection #Edge -- получим массив выделенных рёбер
Как видим, предложенная в справке конструкция
<bitArray>GetSelection <enum>meshSelLevel node:<node> не может служить как маска для подстановки переменных. Но глядя на пример правильного применения, можно разобраться, как всё же нужно это использовать.
Как то так
Таким же образом можно разбираться и с другими аналогами в хэлпе MaxScript
_______________________________________________________________
|
|
Организуем структуру
struct Menu -- в которой перечисляем параметры ЧЕРЕЗ ЗАПЯТУЮ
(
fName = "defscene", -- имя файла
fExt = ".txt", -- расширение файла
savePath = "d:\\", -- путь
fn GetFullPath = savePath + fName + fExt -- функция, формирования пути
)
-- Используем созданную структуру
global ExporterMenu = Menu() -- присваиваем структуру глобальной переменной
s = ExporterMenu.GetFullPath() -- формирование пути, присвоение его переменной
file_var = createFile s -- создание файла
_______________________________________________________________
Организуем элемент интерфейса.
Выпадающий свиток dropDownList
(
dropDownList ddl1 "" pos:[63,80] width:115 height:21 -- элемент интерфейса dropDownList
button btnAdd "Add" pos:[18,79] width:42 heigh:23 -- элемент интерфейса кнопочка "Add"
on btnAdd pressed do (-- если нажата кнопка btnAdd - делать:
arr = () -- объявляем переменную arr с пустым массивом
if selection.count>0 then arr = for i in selection collect i -- если количество выделенных объектов > 0 тогда каждый объект i из выделенных объектов собрать в массив
ddl1.items = for i in arr collect i.name -- имена в спеске dropDownList = для каждого элемента i собрать в массив имена элементов i.name
)
on ddl1 selected arg do select arr[arg] -- если в dropDownList-листе ddl1 выбрать аргумент arg, то делать: выделить из массива с именами arr, элемент массива arg, который есть имя выбираемого объекта и был занесён в список как ddl1.items в предыдущей строке кода
_______________________________________________________________