2017年7月21日金曜日

MELの保存先を調べる

.melファイルが保存されているパスを調べたい場合には、whatIs コマンドを使うと良いようです。
humanIk関係のスクリプトなんかで whatIs を使いアイコンの保存されているフォルダを探していたりしています。

{
    string $whatIs=`whatIs "MEL command"`;
    string $path=`substitute "Mel procedure found in: " $whatIs ""`;
    $path=dirname( $path );
}

こんな感じ。

whatIs コマンドの注意点としては、maya起動後に1度も実行していないMELコマンドの場合、戻り値の"Mel procedure found in: " 部分が変化するので要注意。
1度も実行していない場合、"Script found in: " となります。

この辺を踏まえてスクリプトにすると、
{
    string $script="hogehoge";/* 調べたいコマンドへ変更 */
    
    string $whatIs=`whatIs $script`;
    // 不明の場合停止
    if("Unknown"==$whatIs) error -n "Unknown";
    
    // 不要部分の削除
    string $path;
    $path=`substitute "Script found in: " $whatIs ""`;
    $path=`substitute "Mel procedure found in: " $path ""`;
    
    $path=dirname($path);
    print $path;
    
}
こんな感じになるでしょうかね。

----------
最新記事の方が楽かも知れません。

0 件のコメント:

コメントを投稿