2005年06月25日

BoneRenamer

一括してボーンをリネームするスクリプト

 

/**************************************

ボーンをリネームする
プレフィックス、サフィックスの追加
特定の文字列の削除ができる

***************************************/

@script generic
@name BoneRenamer
@version 2.3

generic
{
 obj = Mesh(0);
 if( nil == obj ){
  error("Select MeshObject.");
  return;
 }
 bon = obj.bone();
 if( nil == bon ){
  error("The Object has no Bone.");
  return;
 }
 
 reqbegin("BoneRenamer");
 choices = @"+Prefix", "+Suffix", "-String"@;
 c1 = ctlpopup("Type", 1, choices);
 c2 = ctlstring("Name", obj.name);
 c3 = ctlcheckbox("Add colon(:)", true);
 return if !reqpost();
 Type = getvalue(c1);
 Name = getvalue(c2);
 Colon = getvalue(c3);
 reqend();
 
 if( 1 == Type ){
  if( Colon ) Name = Name + ":";
  addPrefix(bon, Name);
 }else if( 2 == Type ){
  if( Colon ) Name = ":" + Name;
  addSuffix(bon, Name);
 }else if( 3 == Type ){
  removeStr(bon, Name);
 }
}


addPrefix: bon, name
{
 while( nil != bon )
 {
  newName = name + bon.name;
  SelectItem(bon.id);
  Rename(newName);
  bon = bon.next();
 }
}

addSuffix: bon, name
{
 while( nil != bon )
 {
  newName = bon.name + name;
  SelectItem(bon.id);
  Rename(newName);
  bon = bon.next();
 }
}

removeStr: bon, name
{
 while( nil != bon )
 {
  newName = bon.name - name;
  SelectItem(bon.id);
  Rename(newName);
  bon = bon.next();
 }
}

posted by toka at 18:16| Comment(0) | TrackBack(0) | LScript | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。