2015年11月20日金曜日

MaxPlus

3dsMaxに最近ついたPythonAPI。


本体はここにあります
"C:\Program Files\Autodesk\3ds Max 2015\MaxPlus.py"

実は同じ並びに
"C:\Program Files\Autodesk\3ds Max 2015\_MaxPlus.pyd"
っていうのもあって、こちらのほうがファイルサイズで言うと10倍近く重い。


python.execute "import _MaxPlus"
#success

python.execute "print dir(_MaxPlus)"
['AColorList_Append', 'AColorList_Delete', 'AColorList_GetCount', 'AColorList_GetItem', (中略)'new_ScaleValue', 'new_SetXFormPacket', 'new_SplineKnot', 'new_SplinePoint', 'new_StrList', 'new_TVFace', 'new_TexmapList', 'new_WStr']
#success


python.execute "import MaxPlus"
#success

python.execute "print dir(MaxPlus)"
['AColor', 'AColorList', 'AColorList_swigregister', 'AColor_AComp', 'AColor_CompositeOver', (中略)'kUseFileUnits', 'mtlDlgMode_Advanced', 'mtlDlgMode_Basic', 'v', 'weakref', 'weakref_proxy']
#success

MaxPlus.pyを開いてみると
「SWIGによって自動的に出力された。改変するときは要注意」
みたいなことが書いてある

36527行あって(※Max2015時点)、
その中に「_MaxPlus」は12540回登場。


中身の量が全然違います

python.execute "print len(dir(_MaxPlus))"
9158
#success

python.execute "print len(dir(MaxPlus))"
1630
#success

前者がナマな中身で、後者がそれを実用的に整理したもの、くらいの感じで。

前者で「AAA_BBB」ってなっているのが、後者ではクラスとして整理されています

python.execute "print _MaxPlus.PathManager_GetScriptsDir()"
C:\Program Files\Autodesk\3ds Max 2015\scripts
#success

python.execute "print MaxPlus.PathManager.GetScriptsDir()"
C:\Program Files\Autodesk\3ds Max 2015\scripts
#success



関数名も最初の一字が大文字になってるのがなんとも…。なんとも…!!!
これクラスなの?関数なの?定数扱いなの?っていうのが名前だけではつかめません。


0 件のコメント:

コメントを投稿