直線、回転の複合運動を定義します:
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);