Constraint: Mate
Model ElementConstraint_MATEを使用して、形状プリミティブ間の一般的な嵌合拘束を指定します。
説明
Constraint_MATEとConstraint_JointやConstraint_Jprimの違いは、嵌合形状間の距離、接触、一致関係に基づいてより一般的な拘束が指定される点です。
フォーマット
<Constraint_Mate
id = "integer"
[ label = "string" ]
i_marker_id = "integer"
j_marker_id = "integer"
{
type = "COI_POI_SPH"
radius = "real"
|
type = "DIS_POI_ POI"
dist = "real"
|
type = "DIS_POI_SPH"
dist = "real"
radius = "real"
|
type = "DIS_SPH_SPH"
dist = "real"
iradius = "real"
jradius = "real"
|
type = "TAN_SPH_SPH"
iradius = "real"
jradius = "real"
|
type = "COI_POI_CYL"
radius = "real"
|
type = "DIS_POI_LIN"
dist = "real"
|
type = "DIS_POI_CYL"
dist = "real"
radius = "real"
|
type = "DIS_SPH_LIN"
dist = "real"
radius = "real"
|
type = "DIS_SPH_CYL"
dist = "real"
iradius = "real"
jradius = "real"
|
type = "TAN_SPH_LIN"
radius = "real"
|
type = "TAN_SPH_CYL"
iradius = "real"
jradius = "real"
|
type = "COI_LIN_CYL"
radius = "real"
|
type = "DIS_LIN_LIN"
dist = "real"
|
type = "DIS_LIN_CYL"
dist = "real"
radius = "real"
|
type = "DIS_CYL_CYL"
dist = "real"
iradius = "real"
jradius = "real"
|
type = "TAN_LIN_CYL"
radius = "real"
|
type = "TAN_CYL_CYL"
iradius = "real"
jradius = "real"
|
type = "COI_LIN_PLA"
|
type = "COI_POI_POI"
|
type = "COI_POI_LIN"
|
type = "COI_LIN_LIN"
|
type = "DIS_LIN_PLA"
dist = "real"
|
type = "DIS_PLA_CYL"
dist = "real"
radius = "real"
|
type = "TAN_PLA_CYL"
radius = "real"
|
type = "DIS_SPH_PLA"
dist = "real"
radius = "real"
|
type = "TAN_SPH_PLA"
radius = "real"
|
type = "COI_POI_CON"
radius = "real"
height = "real"
|
type = "DIS_SPH_CON"
dist = "real"
iradius = "real"
jradius = "real"
height = "real"
|
type = "TAN_SPH_CON"
iradius = "real"
jradius = "real"
height = "real"
|
type = "DIS_PLA_CON"
dist = "real"
radius = "real"
height = "real"
|
type = "TAN_PLA_CON"
radius = "real"
height = "real"
}
[ is_virtual = {"FALSE" | "TRUE"} ]
</Constraint_Mate>
属性
- id
- 要素識別番号(整数 > 0)。これは、すべてのConstraint_MATE要素の中で一意の番号です。
- label
- Constraint_MATE要素の名前。
- i_marker_id
- 1つ目のボディ上の結合を定義するReference_Markerを指定します。ボディは、剛体、弾性体、またはポイントボディのいずれかです。このパラメータは必須です。
- j_marker_id
- 2つ目のボディ上の結合を定義するReference_Markerを指定します。ボディは、剛体、弾性体、またはポイントボディのいずれかです。
- type
- i_marker_idとj_marker_idの間の嵌合のタイプを指定します。は、次のいずれかにできます:
- Type
- 拘束数
- COI_POI_SPH
- 1
- DIS_POI_POI
- 1
- DIS_POI_SPH
- 1
- DIS_SPH_SPH
- 1
- TAN_SPH_SPH
- 1
- COI_POI_CYL
- 1
- DIS_POI_LIN
- 1
- DIS_POI_CYL
- 1
- DIS_SPH_LIN
- 1
- DIS_SPH_CYL
- 1
- TAN_SPH_LIN
- 1
- TAN_SPH_CYL
- 1
- COI_LIN_CYL
- 3
- DIS_LIN_LIN
- 2
- DIS_LIN_CYL
- 2
- DIS_CYL_CYL
- 2
- TAN_LIN_CYL
- 2
- TAN_CYL_CYL
- 2
- COI_LIN_PLA
- 2
- COI_POI_POI
- 3
- COI_POI_LIN
- 2
- COI_LIN_LIN
- 4
- DIS_LIN_PLA
- 2
- DIS_PLA_CYL
- 2
- TAN_PLA_CYL
- 2
- DIS_SPH_PLA
- 1
- TAN_SPH_PLA
- 1
- COI_POI_CON
- 1
- DIS_SPH_CON
- 1
- TAN_SPH_CON
- 1
- DIS_PLA_CON
- 3
- TAN_PLA_CON
- 3
このパラメータは必須です。これらの嵌合タイプの詳細については、コメントをご参照ください。
- dist
- DIS_mate拘束によって拘束された2つのパート間の距離。このオプションは、嵌合拘束専用です。
- radius
- 嵌合拘束で指定された円 / 球の半径。このオプションは、嵌合拘束専用です。
- i radius
- 嵌合拘束で指定されたIパートの円 / 球の半径。このオプションは、嵌合拘束専用です。
- j radius
- 嵌合拘束で指定されたJパートの円 / 球の半径。このオプションは、嵌合拘束専用です。
- height
- 嵌合拘束で指定されたパートの高さ。このオプションは、嵌合拘束専用です。
- is_virtual
- 仮想拘束なのか通常の拘束なのかを定義します。is_virtualがTRUEに設定されている場合、拘束は仮想拘束として実装されます。is_virtualがFALSEに設定されている場合、拘束は通常の代数拘束として実装されます。このパラメータは省略可能です。デフォルトはFALSEです。仮想ジョイントの詳細については、Constraint: Jointのコメント22をご参照ください。
例1
以下は、TAN_PLA_CONタイプのConstraint_Mateの実装です:
<Constraint_Mate
id = "301002"
type = "TAN_PLA_CON"
i_marker_id = "30103071"
j_marker_id = "30102030"
radius = "600."
height = "800."
/>
Iマーカーは平面に関連付けられており、Jマーカーは円錐に関連付けられています。
例2
以下は、1つのConstraint_Mate要素を使用して、2つのADAMS GCON要素と同じ拘束を実現する方法を示しています:
|
|
代わりに、以下のようにGCON要素をコメントアウトして、MATE要素を挿入することで、ADMファイルを変更することもできます。
|
|
MATE要素は、ADAMSではサポートされていないことに留意してください。
例3
以下は、TAN_PLA_CYLタイプの嵌合の例です:
<Constraint_Mate
id = "301002"
type = "TAN_PLA_CYL"
i_marker_id = "1"
j_marker_id = "2"
radius = "60."
/>

図 1.
コメント
- Constraint_MATEのタイプは、AAA_BBB_CCCという形で記述されます。AAAは以下のいずれかのタイプです:
- DIS - 距離
- TAN - 接触
- COI - 一致
BBBとCCCは以下のいずれかのタイプです:- SPH - 球
- PLA - 平面
- CYL - 円筒
- LIN - 直線
- CON - 円錐
- POI - ポイント
- IDがi_marker_idおよびj_marker_idのReference_Marker要素は、それぞれBBBとCCCのグラフィックが付加されるボディに属しています。
- POIおよびSPHの場合、Reference_Marker要素の原点は、それぞれポイント上および球中心にあります。Reference_Markerの向きはどちらでもかまいません。
PLAの場合、Reference_Markerの原点は平面内にあり、Z軸は平面に対して垂直です。
LINの場合、Reference_Markerの原点はライン上にあり、Z軸はラインに沿っています。
CYLの場合、Reference_Markerの原点は円筒の一方の底面の中心にあり、Z軸は円筒軸に沿い、反対側の底面に向かっています。
CONの場合、Reference_Markerの原点は円錐の底面の中心にあり、Z軸は軸に沿い、円錐の頂点に向かっています。
- DIST引数をゼロに設定すると、DISタイプのConstraint_MateがTANタイプのConstraint_Mateに変わります。
- ソルバーでは、Constraint_Mateに含まれているグラフィックプリミティブは無限の寸法を有しているものとして扱われますが、グラフィック自体の寸法は有限の可能性があることに留意することが重要です。
- Constraint_Mate要素を使用して、ADAMS GCON要素の機能の一部を実装できます。例のセクションをご参照ください。