Max Script # <Deleted scene node>

Автор
Сообщение
На сайте c 07.04.2010
Сообщений: 37
Москва

Вопрос знающим

a = selection as array  -- создаю массив #a из выделенного

#($Sphere:Sphere006 @ [27.403845,-17.911957,0.000000], $Sphere:Sphere007 @ [42.584419,-17.911957,0.000000], $Sphere:Sphere008 @ [57.764992,-17.911957,0.000000], $Sphere:Sphere005 @ [12.223272,-17.911957,0.000000])

delete selection -- удаляю выделение

a -- смотрим что в массиве

#(<Deleted scene node>, <Deleted scene node>, <Deleted scene node>, <Deleted scene node>)  -- здесь все логично

Внимание Вопрос: как сделать тест массиву на итемсы с удаленными объектами? Undefine - не канает.

Items undefine - false (<Deleted scene node>)

На сайте c 15.04.2013
Сообщений: 85
IsValidNode - В цикле для каждого элемента в массиве.
На сайте c 07.04.2010
Сообщений: 37
Москва

Цитата TheNMax:
IsValidNode - В цикле для каждого элемента в массиве.

С одной  стороны он дает false, c другой он дает его всегда. И с геометрий в итемсах и с числами в итемсах массива. smiley-sad.gif

Цитата Evilis:

(

    local a = selection as array

    if a.count != 0 do delete a
)

У меня не стоит задача удалить не пустой массив. Задача выяснить: в массиве записанная геометрия удалена или нет.

На сайте c 15.04.2013
Сообщений: 85

Цитата KxD:

У меня не стоит задача удалить не пустой массив. Задача выяснить: в массиве записанная геометрия удалена или нет.

эта функция как раз это и делает.

Официальная документация maxscript

IsValidNode <var> --  Returns true if <var> is a node value, and the node has not been deleted. Otherwise, it returns false .

b = box()

isValidNode b -- true

delete b

isValidNode b -- false

На сайте c 07.04.2010
Сообщений: 37
Москва
Цитата TheNMax:

Цитата KxD:

У меня не стоит задача удалить не пустой массив. Задача выяснить: в массиве записанная геометрия удалена или нет.

эта функция как раз это и делает.

Официальная документация maxscript

IsValidNode <var> --  Returns true if <var> is a node value, and the node has not been deleted. Otherwise, it returns false .

b = box()

isValidNode b -- true

delete b

isValidNode b -- false

Круть! Заработало! Не сразу разобрался. СПАСИБО!

Читают эту тему: