Cvcv

Model ElementCvcvは、高次対偶拘束を定義します。

クラス名

Cvcv

説明

この拘束の内容は、一方のボディに固定された3D曲線が、もう一方のボディに固定された3D曲線上を転がってスライドするというものです。これらの曲線は、固有の接触ポイントと、その接触ポイントにおける共通接線を有している必要があります。さらに、曲線は同一平面(つまり、平行な平面)内に存在する必要があります。

属性の概要

名前 プロパティ コマンドで変更可能か 設計可能か
id Int ()    
label Str ()    
icurve Reference ("Curve")  
irm Reference ("Marker")  
idisp Double ([0,0,0], count=3)   FDのみ
ivel Double ()   FDのみ
jcurve Reference ("Curve")  
jrm Reference ("Marker")  
jdisp Double ([0,0,0], count=3)   FDのみ
jvel Double ()   FDのみ
no_slip Bool ()    
active Bool ()  

使用法

Cvcv (icurve=objCurve, irm=objMarker, jcurve=objCurve, jrm=objMarker, optional_attributes)

属性

icurve
既存のCurveオブジェクトへの参照。
CVCVオブジェクト内の1つ目の曲線を指定します。
この属性は必須です。
irm
既存のMarkerオブジェクトへの参照
icurveのポイントが定義される座標系を定義する固定マーカーを指定します。これにより、この曲線が“エッチング”されるボディも暗黙的に定義されます。この曲線はこのボディと共に動きます。
この属性は必須です。
jcurve
既存のMarkerオブジェクトへの参照
CVCVオブジェクト内の2つ目の曲線を指定します。
この属性は必須です。
jrm
既存のMarkerオブジェクトへの参照
jcurveのポイントが定義される座標系を定義する固定マーカーを指定します。これにより、この曲線が“エッチング”されるボディも暗黙的に定義されます。この曲線はこのボディと共に動きます。
この属性は必須です。
注: irmjrm
id
整数
要素識別番号を指定します。この番号は、モデル内のすべてのCVCVオブジェクトの中で一意にする必要があります。
この属性は省略可能です。MotionSolveは、IDが指定されていない場合、自動的にこれを作成します。
値の範囲:id > 0
label
文字列
CVCVオブジェクトの名前を指定します。
この属性は省略可能です。指定しない場合は、MotionSolveが代わりにラベルを作成します。
idisp
3つの倍精度値のリスト
irmを基準とした1つ目の曲線上の初期接触ポイントの座標を指定します。2つの曲線の接触ポイントの初期推定値は、通常、MotionSolveが初期検索を行って接触ポイントを正確に特定する場合でも役に立ちます。
この属性は省略可能です。
ivel
倍精度
接触ポイントの滑り速度を指定します。この速度は、IRMの原点に取り付けられた観測視点から測定されます。IVELのデフォルト値は0.0です。省略した場合、システム拘束条件が満たされるように、MotionSolveによってこの値が変更されることがあります。
この属性は省略可能です。
jdisp
3つの倍精度値のリスト
jrmを基準とした2つ目の曲線上の初期接触ポイントの座標を指定します。2つの曲線の接触ポイントの初期推定値は、通常、MotionSolveが初期検索を行って接触ポイントを正確に特定する場合でも役に立ちます。
この属性は省略可能です。
jvel
倍精度
接触ポイントの初期滑り速度を指定します。この速度は、JRMの原点に取り付けられた観測視点から測定されます。JVELのデフォルト値は0.0です。省略した場合、システム拘束条件が満たされるように、MotionSolveによってこの値が変更されることがあります。
この属性は省略可能です。
no_slip
曲線に沿って滑りが許可されるかどうかを示します。
active
ブール
TRUEまたはFALSEのどちらかを選択します。
  • TRUEは、要素がモデル内でアクティブであり、システムの動作に影響を与えていることを示します。
  • FALSEは、要素がモデル内で非アクティブであり、システムの動作に影響を与えていないことを示します。エンティティがモデルから削除される場合とほとんど同じですが、必要に応じて“ON”にできる点が異なります。
属性activeは省略可能です。指定しない場合、activeはデフォルトでTRUEになります。

  1. 最小限の入力で定義されたCVCV。
    m1 = Marker (label="m1", body=p1, qp=[1.414, 3.142, +1.618], zp=[1.327, 3.142, 2.545])
    m2 = Marker (label="m2", body=p2, qp=[5.577, 3.142, -8.531], zp=[2.828, 6.284, 3.236])
    c1 = Curve (closed=True, curve_points=True, matrix=mat1)
    c2 = Curve (closed=True, curve_points=True, matrix=mat2)
    cvcv = Cvcv (icurve=c1, irm=m1, jcurve=c2, jrm=m2)
  2. 初期接触ポイントが定義されたCVCV。
    m1  = Marker (label="m1", body=p1, qp=[1.414, 3.142, +1.618], zp=[1.327, 3.142, 2.545],rm=0)
    m2  = Marker (label="m2", body=p2, qp=[5.577, 3.142, -8.531], zp=[2.828, 6.284, 3.236],rm=0)
    c1  = Curve (closed=True, curve_points=True, matrix=mat1)
    c2  = Curve (closed=True, curve_points=True, matrix=mat2)
    cp1 = Point (11.13, -8.45, 6.67)
    cp2 = Point (7.97, 3.92, -10.80)
    cvcv = Cvcv (icurve=c1, irm=m1, idisp=cp1, jcurve=c2, jrm=m2, jdisp=cp2)

コメント

  1. プロパティの概要、使用理由、および拡張方法については、プロパティをご参照ください。
  2. CVCVの詳細については、拘束:CVCV