Gcon

Model ElementGCON要素を使用して、ユーザー定義の一般拘束を指定します。拘束方程式には、システムの位置と速度の値を含めることができます。MotionSolveでは、選択肢として多くの拘束が用意されていますが(JOINTを参照)、非標準の拘束が必要になる場合があります。

クラス名

Gcon

説明

例えば、ホイールが滑らずに回転するという拘束は、GCON要素を使用してモデル化できる非ホロノミックな拘束です。

属性の概要

名前 プロパティ コマンドで変更可能か 設計可能か
id Int ()   ×
label Str ()
function Function ("GCOSUB")
routine Routine ()  
active Bool ()
virtual Bool ()  

使用法

Gcon (function=userString, optional_attributes)

属性

function
文字列
一般拘束を定義する式(ゼロに設定されます)。
または
データファイルからユーザー定義サブルーチンGCOSUBに渡されるパラメータのリスト。
function属性は必須です。
i
既存のMarkerオブジェクトへの参照。
一般拘束からの反力を抽出するマーカーを指定します。
i属性は省略可能です。指定しない場合は、GCONから反力を取得できません。
id
整数
要素識別番号を指定します。この番号は、モデル内のすべてのGCONオブジェクトの中で一意にする必要があります。
この属性は省略可能です。MotionSolveは、IDが指定されていない場合、自動的にこれを作成します。
値の範囲:id > 0
label
文字列
GCONオブジェクトの名前を指定します。
この属性は省略可能です。指定しない場合は、MotionSolveが代わりにラベルを作成します。
routine
文字列、またはPython関数へのポインタ。
ユーザーサブルーチンの代替名を指定します。
属性routineは省略可能です。
functionは指定し、routineは指定しない場合、routineはデフォルトでGCOSUBになります。
active
ブール
TrueFalseのどちらかを選択します。
  • Trueは、要素がモデル内でアクティブであり、システムの動作に影響を与えていることを示します。
  • Falseは、要素がモデル内で非アクティブであり、システムの動作に影響を与えていないことを示します。エンティティがモデルから削除される場合とほとんど同じですが、必要に応じて“ON”にできる点が異なります。
属性activeは省略可能です。指定しない場合、activeはデフォルトでTrueになります。
virtual
ブール
仮想拘束なのか通常の拘束なのかを定義します。"TRUE"、または"FALSE"を選択します。
  • "TRUE"は、拘束が仮想拘束として実装されることを示します。
  • "FALSE"は、拘束が通常の代数拘束として実装されることを示します。

省略可能です。指定しない場合、virtualはデフォルトで"FALSE"になります。virtualの詳細については、Constraint: Jointをご参照ください。

すべてまとめて球ジョイントと等価の3つのGCON。
# Get the ids of the I and J markers
iid  = imrkr.id
jid  = jmrkr.id

# Create the expression strings
strx = "dx({i},{j})".format(i=iid, j=jid)
stry = "dy({i},{j})".format(i=iid, j=jid)
strz = "dz({i},{j})".format(i=iid, j=jid)

# Define the 3 GCONS: DX(I,J)=0, DY(I,J)=0, DZ(I,J)=0
gx   = Gcon (function=strx, i=imrkr, label="X-Constraint")
gy   = Gcon (function stry, i-imrkr, label="Y-Constraint")
gz   = Gcon (function=strz, i=imrkr, label="Z-Constraint")

コメント

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