« XSI男Tシャツ正式受付開始。 | トップページ | XSI男Tシャツ正式受付終了と同時に延長。 »

2011年4月 9日 (土)

くろーん。

clone だけ選択したかったんですよ。


//    clone を入れる箱用意

var oClones = XSIFactory.CreateObject( "XSI.Collection" );
oClones.Unique = true;

//    現在選択中のものをループ
for ( var i=0; i<Selection.count; i++ )
{
    //    変なもの選んでいたら無視する = X3DObject( = 3Dオブジェクト)の場合のみ、以下実行
    if ( Selection(i).IsClassOf( siX3DObjectID ) )
    {
        //    clone は Explorer の P アイコン( = Primitive オブジェクト)以下に CopyOp があるので、
        //    その有無を調べれば、たぶん Clone かどうかの判断が付く。たぶんね。
       
        //    ってことで Primitive オブジェクト = ActivePrimitive 以下で NestedObjects を取得   

        var oN = Selection(i).ActivePrimitive.NestedObjects;
        for ( var j=0; j<oN.count; j++ )
        {
            //    NestedObjects をループして、CopyOp が見つかったら、その3Dオブジェクトを箱にブチ込む
            if (oN(j).name == "CopyOp" )
            {
                oClones.Add( Selection(i) );
                break;
            }
        }
    }
}

//    応援する
Logmessage( oClones.count + " 個の clone が見つかったので、We pray for Fukushima !!! (゚∀゚)" );

//    箱ごと選択しておしまい。

SelectObj( oClones );





適当にオブジェクトを選択して実行すると、そのオブジェクトのうち、clone だけが残ります。たぶん。たぶんです。

CopyOp があればイコール clone なのかどうか、ほんとのところはわかりません。
ひとまずその場をしのげればそれで良い。


日本酒を呑みに出かける15分前に急遽必要になって書いたスクリプトなので、実にいいかげんです。 現在まだ酔いが残っているので、検証もできません。 いいかげんです。


こんなスクリプトはどうでもよくて、
大事なのは、
XSI 男Tシャツの受付は、4月10日まで です。




.

|

« XSI男Tシャツ正式受付開始。 | トップページ | XSI男Tシャツ正式受付終了と同時に延長。 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/217974/51339486

この記事へのトラックバック一覧です: くろーん。:

« XSI男Tシャツ正式受付開始。 | トップページ | XSI男Tシャツ正式受付終了と同時に延長。 »