MaxPlus Python - 3Ds Max - Добавить модификатор мирового пространства

Я пытаюсь изучить MaxPlus/Python в 3Ds Max, и я застрял в создании модификатора мирового пространства. (модификатор Path Deform Binding WSM)

mod = MaxPlus.Factory.CreateWorldSpaceModifier(MaxPlus.ClassIds.PathDeformSpaceWarp)
MaxPlus.ModifierPanel.AddToSelection(mod)

Вышеприведенный код дает следующую ошибку:

File "C:\Program Files\Autodesk\3ds Max 2017\MaxPlus.py", line 30534, in CreateWorldSpaceModifier return _MaxPlus.Factory_CreateWorldSpaceModifier(*args) RuntimeError: creation failure

Не уверен, почему это происходит, может быть, идентификатор класса неверен? Добавление модификаторов пространства объекта работает как шарм.

Мой текущий обходной путь использует новые pymxs:

# pymxs part
rt.execute("meshObj=$")
rt.modpanel.addmodtoselection(rt.SpacePathDeform())
rt.meshObj.modifiers[0].path = rt.s

Но это кажется действительно хакерским. Любые идеи?


person Community    schedule 11.08.2016    source источник


Ответы (1)


Достаточно близко, вот:

mod = MaxPlus.Factory.CreateWorldSpaceModifier(MaxPlus.Class_ID(0x000110b4, 0x00007f9e))
MaxPlus.ModifierPanel.AddToSelection(mod)

Помимо поиска #define в SDK, вы можете получить идентификаторы классов, получив свойство classID существующего объекта, например $.modifiers[1].classID.

person Swordslayer    schedule 12.08.2016
comment
Спасибо за вашу помощь и объяснение! - person ; 12.08.2016