複合運動

直線、回転の複合運動を定義します:

m = new Motion("Combined Linear/Angular");

m1 = m.motionComponent("Linear");

m1.setDirection(0, 1, 0);

m1.initialPosition = 0;

p = m1.property("Distance");

v = p.variation("Reciprocating");

v.setValue("Half Period Time", 25, "second");

v.setValue("Distance", 500, "millimeter");

p.apply(v);

m2 = m.motionComponent("Angular");

m2.setAxisOfRotation(0, 1, 0);

m2.setCenterOfRotation(0, 0, -100);

m2.initialPosition = -40;

p = m2.property("Angle");

v = p.variation("Oscillating");

v.setValue("Half Period Time", 6, "second");

v.setValue("Angular Displacement", 80, "deg");

p.apply(v);

a.select("RADAR");

a.applyMotion(m);

複合直線/回転運動の作成を行うスクリプトの行毎の解説を以下に示します:

>>>モーションオブジェクト"m"が作成され、タイプがCombined Linear/Angularに設定されます。

m = new Motion("Combined Linear/Angular");

>>>モーションオブジェクト“m1”が作成され、モーションの直線成分を定義するのに使用されます。移動の方向と初期位置も定義されます:

m1 = m.motionComponent("Linear");

m1.setDirection(0, 1, 0);

m1.initialPosition = 0;

>>>物性値オブジェクト"p"が作成され、モーションの直線成分を定義するのに使用されます。移動の距離は往復運動として、variationオブジェクト"v"を使って定義されます:

p = m1.property("Distance");

v = p.variation("Reciprocating");

v.setValue("Half Period Time", 25, "second");

v.setValue("Distance", 500, "millimeter");

p.apply(v);

>>>モーションの回転成分は、まず最初にモーションオブジェクト"m2"を定義し、回転運動を設定することにより定義します。次いで角度運動のジオメトリパラメータが設定されます。この回転運動は、まず最初にプロパティオブジェクト "p"を定義し、回転運動を振動に設定することにより定義します。

m2 = m.motionComponent("Angular");

m2.setAxisOfRotation(0, 1, 0);

m2.setCenterOfRotation(0, 0, -100);

m2.initialPosition = -40;

p = m2.property("Angle");

v = p.variation("Oscillating");

v.setValue("Half Period Time", 6, "second");

v.setValue("Angular Displacement", 80, "deg");

p.apply(v);

>>>コマンドは、"Radar"という名前の部品を選択し、モーションオブジェクトmにより定義されたモーションを適用することにより完成します:

a.select("RADAR");

a.applyMotion(m);