MaxPlus Python - 3Ds Max - Добавить модификатор Worldspace

Я пытаюсь выучить MaxPlus/Python в 3Ds Max, и я застрял в создании модификатора мирового пространства. (Модификатор привязки пути деформации 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

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

1 ответ

Решение

Достаточно близко, здесь вы идете:

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

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

Другие вопросы по тегам