progressStart "Main process" -- Название процесса
counter = 0 -- счётчик (пока равный нулю)
for i=1 to Array.count do -- для каждого i с первого до числа, равного длине массива делать
(
counter += 1 -- счётчик увеличивается на 1
m = ((counter as float)/(Array.count as float))*100 /*рассчитывается цена деления шкалы для обновления полосы прогресса*/
-- Код нашего скрипта для i-того элемента
progressUpdate m -- полоса прогресса обновляется
)
progressEnd() -- завершение работы функции полосы прогресса
После испытаний - замечено, что снижается быстродействие скрипта, поэтому для десятков тысяч элементов этот прогрессбар не годится. Можно его установить например если обрабатывается примерно до тысячи объектов!
_______________________________________________________________
Устанавливаем позицию вершины под модификатором Edit_Poly
В официальной справке MaxScript есть метод получения позиции вершины объекта под Edit_Poly, но вот нет, точнее не написан, не описан метод назначения позиции вершин (если он всё же есть в справке, то если кто знает - выложите здесь ссылку). Эмпирическим путём этот метод найден
gco = modPanel.getCurrentObject() -- объект под модификатором
gco.SetVert <bitArray> <Point3>
где - bitArray (битовый массив) вершин, например #{2}
Point3 - вектор позиции, куда будет движение [10,0,5]
_______________________________________________________________
Доступ к объектам и подобъектам под модификатором Edit_Poly