自分で作った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 件のコメント:
コメントを投稿