MOTSUB
モデリングモーションエンティティの変位、速度、または加速度の計算に使用します。
使用
MOTSUBで計算された変位を使用するユーザー定義のモーション:
<Motion_Joint
id = "301001"
type = "USERSUB"
val_type = "D"
usrsub_param_string = "USER(5,2)"
usrsub_dll_name = "NULL"
joint_id = "301002"
joint_type = "R"
motion_type = "R"
ic_disp = "0."
ic_vel = "0."
/>
フォーマット
- Fortranの呼出し構文
-
SUBROUTINE MOTSUB (ID, TIME, PAR, NPAR, IORD, IFLAG, VALUE)
- C/C++の呼出し構文
-
void STDCALL MOTSUB (ID, TIME, PAR, NPAR, IORD, IFLAG, VALUE)
- Pythonの呼出し構文
-
def MOTSUB(id, time, par, npar, iord, iflag): return value
- MATLABの呼出し構文
-
function value = MOTSUB(id, time, par, npar, iord, iflag)
属性
- ID
- [整数]
- TIME
- [倍精度]
- PAR
- [倍精度]
- NPAR
- [整数]
- IORD
- [整数]
- IFLAG
- [論理]
出力
- VALUE
- [倍精度]
例
def MOTSUB(id, time, par, npar, iord, iflag):
if par[0]==100001:
if iflag!=0:
return -1.0
if iord==0:
value = par[1]*pow(time,par[2])
elif iord==1:
value = par[1]*par[2]*pow(time,(par[2]-1.0))
elif iord==2:
value = par[1]*par[2]*(par[2]-1.0)*pow(time,(par[2]-2.0))
else:
value = 0.0
return value