Sforce
Model ElementSforceは、2つのMarker間で作用する力またはトルクを定義します。
クラス名
Sforce
説明
力またはトルクは、大きさと方向によって表現されます。方向は、TYPEとACTIONONLYに応じて事前に定義されます。詳細については、コメント(Force:Two Body Scalarモデルステートメント内)をご参照ください。大きさは、関数式、ユーザー定義サブルーチン、Pythonスクリプト、またはMATLABスクリプトを使用して定義できます。任意のシステム状態および時間の関数にできます。
属性の概要
名前 | プロパティ | コマンドで変更可能か | 設計可能か |
---|---|---|---|
id | Int () | ||
label | Str () | ||
i | Reference (Marker) | ○ | ○ |
j | Reference (Marker) | ○ | ○ |
type | Enum ("TRANSLATION ROTATION") | ||
actiononly | Bool () | ○ | |
function | Function ("SFOSUB") | ○ | |
routine | Routine () | ||
active | Bool () | ○ |
宣言
#1. Force or torque magnitude defined in a MotionSolve expression
Sforce (i=objMarker, j=objMarker, type=string, function=expressionString, routine=string, optional_attributes)
#2. Force or torque magnitude defined in a compiled DLL
Sforce (i=objMarker, j=objMarker, type=string, function=userString, routine=string, optional_attributes)
#3. Force or torque magnitude defined in a Python/Matlab script
Sforce (i=objMarker, j=objMarker, type=string, function=userString, routine=functionPointer, optional_attributes)
属性
- i
- 既存のMarkerオブジェクトへの参照。
- j
- 既存のMarkerオブジェクトへの参照。
- type
- 文字列
- function
- 有効なMotionSolve式を定義する文字列
- i
- 既存のMarkerオブジェクトへの参照
- j
- 既存のMarkerオブジェクトへの参照。
- type
- 文字列
- function
- 有効なユーザー関数MotionSolve式を定義する文字列。
- routine
- 文字列
- i
- 既存のMarkerオブジェクトへの参照
- j
- 既存のMarkerオブジェクトへの参照。
- type
- 文字列
- function
- 有効なユーザー関数MotionSolve式を定義する文字列。
- routine
- Python内の呼び出し可能な関数へのポインタ。
- id
- 整数
- label
- 文字列
- actiononly
- ブール
- active
- ブール
例
#<Force_Scalar_TwoBody
# id = "7"
# type = "TORQUE"
# i_marker_id = "71"
# j_marker_id = "81"
# val_expression = "(SQRT(JOINT(7,2,0,71)**2 + JOINT(7,3,0,71)**2) + 1167)*
# STEP(0.044*WZ(71,72,72),-0.01,0.3,0.01,-0.3) * 0.44"
#/>
#
# Normal force: Fn
Fn = "sqrt (joint(7,2,0,71)**2 + joint(7,3,0,71)**2) + 1167)"
# Coefficient of friction: Mu
Mu = "step (0.044*wz(71,72,72),-0.01,0.3,0.01,-0.3)"
# Friction Torque = Pin_Radius * Fn * Mu
pinRad = "0.44"
fricTorque = pinRad + " * " + Fn + " * " + Mu
# Sforce
sf07 = Sforce (id=7, label= "sfo7", i=m71, j=m81, type="ROTATION", function=fricTorque)
コメント
- 下の表は、Sforceによって適用される力またはトルクの向きをまとめたものです。
タイプ ActionOnly 向き "TRANSLATION" True マーカーI上の力の向きは、マーカーJのz軸に沿った単位ベクトルによって定義されます。 マーカーJを含むボディに対する反力はありません。
"TRANSLATION" False マーカーI上の力の向きは、マーカーJからマーカーIへの単位ベクトルによって定義されます。 マーカーJ上の力は、大きさが同じで向きが逆です。
"ROTATION" True トルクの向きも、マーカーJのz軸によって定義されます。 マーカーJを含むボディに対する反トルクはありません。
"ROTATION" False トルクの向きは、マーカーJのz軸によって定義されます。 マーカーIとマーカーJのz軸は常に平行である必要があります。
- プロパティの概要、使用理由、および拡張方法については、プロパティをご参照ください。
- Sforceの詳細については、Force:2Two Body Scalarモデルステートメント内)をご参照ください。