Maya Script mel whatIs
melには「whatIs」というコマンドがあります。
コマンドがどういったものであるのか、実行したmelの関数がどこにあるのか、ということが調べたい時に使います。
スクリプトエディタを起動しながら、GUIでコマンドを実行し、表示されるコマンドを確認します。
そのコマンドをコピーしておき、スクリプトエディタに、
whatIs("performPolyMergeUV")
と、melタブで入力すると、
// 結果: Script found in: C:/Program Files/Autodesk/Maya2013/scripts/others/performPolyMergeUV.mel //
といった感じに実行した関数が記述されているファイルを特定することができます。
因みに上記の物は、UVエディタにある、「選択したエッジまたはUVの縫合」です。
で、それをPythonの方からできないものか、と検索してみると、次のような記述を見つけました。
import pymel.tools.mel2py as mel2py mel2py.melInfo('attributeExists')
戻り値を見ると、意図しているものとはちょっと違うように思いますが、とにかく実行してみました。
エラーが帰ってきます。
英語が不慣れなため、詳細はわかりませんが、どうやら同じようなことが海外でもチラホラと話題になっているようでした。
マニュアルを見ると、mel2pyのモジュールについて、他にも書かれていたので、見てみました。
import pymel.tools.mel2py as mel2py mel2py.fileOnMelPath("performPolyMergeUV")
このようにすると、melでwhatIsを実行した時と同じ表示がなされます。
しかしやはりモジュールの読み込みでワーニングが出ます。
だったら、
import pymel.core as pm pm.mel.whatIs("performPolyMergeUV")
これで良いじゃないか。
pymelをインポートすると、maya.melをインポートしなくても上記のやり方でmaya.melを使うことができます。
色々調べた挙句に結局それかよ。と自分で突っ込みたくなる出来事でした。
コメントする
トラックバックする
トラックバック用URL: