p-diary

planet2nd.exblog.jp
ブログトップ
2009年 04月 03日

NestedObjectsだ

oSel = Selection(0)
oSel.Kinematics.Constraints(0).NestedObjects("nyannyan") だ!

にゃんにゃんできませんでした orz

// INFO : 0 : null6.kine.surfcns.blends
// INFO : 1 : null6.kine.surfcns.active
// ・・・
// INFO : 14 : null6.kine.surfcns.posv


このようなログを吐かせて、対応した数字をいれてやると認識しました。
 NestedObjects("posu") //とかネストは入らないのかな?

まあ、いいや、とりあえず目的は達成。

オブジェクトモデルが重要だって、これを作成して実感しました。
 だって、トロイ・・・ orz


b0019436_19525189.jpg





以下ヒトバシラスクリプト
※ サーフェースを選択して実行します。 ※微調整をしてません(w
※ いかなる事態になっても 責任を負いかねますので、お遊び程度に使ってください。

//NullSurFaceCons
var oCol = XSIFactory.CreateObject( "XSI.Collection" );
var oSel = Selection(0);

var oSegU = GetValue(oSel + ".surfmsh.geom.subdivu");
var oSegV = GetValue(oSel + ".surfmsh.geom.subdivv");

DeselectAll();
for(i=1;i {
for(j=1;j {
var oU = i / oSegU - 0.5 /oSegU;
var oV = j / oSegV - 1 / oSegV;
var oNull = oSel.AddNull();
oNull.Parameters("size").Value = .5;
oNull.Parameters("primary_icon").Value = 4;
oNull.Kinematics.AddConstraint("Surface",oSel);
oCon = oNull.Kinematics.Constraints(0)
oCon.NestedObjects(13).Value = oU
oCon.NestedObjects(14).Value = oV
oCon.NestedObjects(8).Value = true
oCon.NestedObjects(2).Value = true
oCol.Add(oNull);
}
}

SelectObj(oCol);
[PR]

by tera_planet | 2009-04-03 17:12 | XSI


<< ちょっと休憩      Surface Face Ri... >>