Constraint: PTdCV
Model ElementConstraint_PTdCV要素では、ボディ上の固定ポイントが、指定された一連のマーカーの原点を通る曲線に沿ってスライドするように拘束されます。
説明
これらのマーカーは、別々のボディに属していてもかまいません。マーカーが空間内で動くと、マーカーの原点を通るCUBICスプライン補間を使用して、曲線が時間ステップごとに計算されます。したがって、曲線はマーカーが動くにつれて変形します。
この拘束は、ボディ上のポイントと細長い弾性要素(ケーブルなど)の間の結合をシミュレートする場合に役立ちます(スキー場のリフトなど)。
フォーマット
<Constraint_PTdCV
id = "integer"
[ label = "string" ]
i_marker_id = "integer"
ref_dcurve_id = "integer"
/>
属性
- id
- 要素識別番号(整数 > 0)。この番号は、すべてのConstraint_PTdCV要素の中で一意です。
- label
- Constraint_PTdCV要素の名前。
- i_marker_id
- その原点が変形可能な曲線に沿って動くように拘束されるポイントを定義するReference_Markerを指定します。
- ref_dcurve_id
- Constraint_PTdCV要素の定義に使用する変形可能曲線を指定します。
例

上図は、5本の細長い棒状の剛体が、Z方向に沿った軸を持つ並進ジョイントによってグラウンドボディ(青い水平バー)に拘束されている様子を示しています。これらの剛体は、線形スプリングダンパによって地面に結合されています。
変形可能曲線が、図に示している7つのマーカーを通過するように定義されています。これらのマーカーのうち5つは、剛体の下端に配置されています。これらのマーカーのうち2つは、グラウンドボディの両端に配置されています。変形可能曲線は、Reference_DeformCurve要素を使用して次のように定義されます:
<Reference_DeformCurve
id = "1"
end_type_left = "NATURAL"
end_type_right = "NATURAL"
num_marker_id = "7">
30101120 30102061 30103071 30104081 30105091 30106101 30101130
</Reference_DeformCurve>
<Post_Graphic
id = "500000"
type = "DeformCurve"
curve_id = "1"
nseg = "100"
/>
次のように、小さい球体(黄色い丸)が変形可能曲線に沿ってスライドするように拘束されています:
<Constraint_PTdCV
id = "1"
i_marker_id = "30107060"
ref_dcurve_id = "1"
/>
このシステムの過渡シミュレーションでは、この球体が重力によりスライドして行ったり来たりするにつれ、変形可能曲線の形状が変化する様子が示されます。
コメント
- Reference_DeformCurve要素は、固有の慣性、剛性、または減衰プロパティを有していません。これらの影響を捕捉するためには、追加のモデリング要素が必要です。例をご参照ください。
- Reference_DeformCurveの定義に使用されるマーカーは、別のボディ(Body_Point、Body_Rigid、またはBody_Flexibleのいずれか)に属していてもかまいません。
- Constraint_PTdCV要素は、Constraint_PTCV要素を一般化したものと考えることができます。実際、すべてのマーカーが同じ剛体に属している場合、Constraint_PTdCVはConstraint_PTCVになります。
- Constraint_PTdCV要素を正しくモデル化するには、i_marker_idによって参照されるポイントが、シミュレーション全体にわたって、変形可能曲線の範囲内に留まるようにする必要があります。MotionSolveは、変形可能サーフェスを基準にしたポイントの現在位置のu値を計算します。このu値は、例えば定義したu_spanの範囲内に常に収まっている必要があります。
-u_span/2 ≤ u ≤ +u_span/2
現在のu値がこの範囲から外れると、このポイントが変形可能曲線の範囲内に戻るまで、MotionSolveは境界でのu値を保持します。ただし、これにより不正確な結果が生じる可能性があります。そのような状況では、結果が正しいか、確認することをお勧めします。詳細については、Reference_DeformCurveモデル要素をご参照ください。