自分で作ったMELでシェルフが増えていくなーと思ったので消したかった。
でも直接パスを取得する方法が見つからない。
簡単に探せる方法があれば教えて欲しい。
カレントシェルフタブから指定するラベルを探して
レイアウトのパスを返すプロシージャを作ってみた。
他のMELからyjp_getshelfを実行してdeleteUIするとMayaが強制終了する。
なぜだろう。
global proc string yjp_getshelf(string $labeltxt)
{
global string $gShelfTopLevel;
string $shelfpath ="";
string $path ;
string $ctab = `shelfTabLayout -q -st $gShelfTopLevel`;
string $shelves[] = `layout -q -ca ($gShelfTopLevel + "|" + $ctab)`;
string $shelf;
for($shelf in $shelves)
{
$path = $gShelfTopLevel + "|" + $ctab + "|" + $shelf;
string $la = `shelfButton -q -l $path`;
if ($la == $labeltxt)
{
$shelfpath = $path;
return $shelfpath;
}
}
return $shelfpath;
}
0 件のコメント:
コメントを投稿