新しくNULLを作って、選択していたオブジェクトのコンストレイントを引き継ぐ(多分全て)

[Softimage Script]
使えるかわかんないけど書いてみた。
全部のケースを試してないし、エラーチェックもしてないので上手く動かないケースもあると思います。

■使い方

  1. オブジェクトを選択
  2. 実行
  3. シーンルート以下に新しいヌルが出来てコンストレイントの状態がコピーされてる
var oSel = Selection;

for(var i = 0; i < oSel.count; i++){

	var newNull = ActiveSceneRoot.AddNull(oSel(i).name + "_copy")

	//ストレインオブジェクトを取得
	var cnslist = oSel(i).Kinematics.Constraints;
	for(var j =0; j < cnslist.count; j++){
		//同じコンストレイントを張る
		var ConsType = cnslist(j).name.split(" Cns")[0].replace(/[  	]*/g, "");
		var newCons = newNull.Kinematics.AddConstraint(ConsType ,cnslist(j).Constraining);
		//パラメータの状態をコピー
		for(var k = 0; k < newCons.Parameters.count; k++){
			newCons.Parameters(k).value = cnslist(j).Parameters(k).value;
		}
		//めんどくさいのでコピペ 
		CopyAnimation(cnslist(j))
		PasteAnimation(newCons)
	}
}