テンプレート数式
テンプレート数式では、特定のソルバーのシンタックスを使用してプロパティを定義できます。
テンプレート数式は、シングルバッククォーテーションで囲まれた文字列で、Templex言語を含むことが可能です。何らかのプロパティをMotionSolveやADAMSなどのソルバーに書き出すと、MotionViewによってTemplexを介してテンプレート数式が渡され、その結果の出力がファイルに書き込まれます。
テンプレートによる入力では、任意のプロパティテキストボックスにソルバー用の数式を直接入力することが可能です。ソルバー用の数式は、時間や2点間の距離など、解析中に変化する量の関数としてプロパティが定義されなくてはならない場合に用いられます。ソルバー用の数式は、解析処理の中でソルバーによって評価され、ソルバーの数学関数および演算子によって書かれている必要があります。
MotionSolveおよびADAMSの入力ファイルでは、整数のIDによってエンティティが各種の関数で参照されます。MotionViewでは、これらのソルバー関数で使用できるモデルエンティティとモデルプロパティの変数名を保持して、ソルバー関数のコードを読みやすくしています。ソルバーの関数でMotionViewでの名前を使用する際には、標準のTemplex構文に続いて、変数名を括弧{}で囲みます。
MotionSolveの関数内にMotionViewの変数名を使用したテンプレート数式の例を以下に示します。
`-AZ({j_st_wheel.i.id, %d},{j_st_wheel.j.id, %d})*RTOD`
`IF(DZ({frc_bmp.i.l.id,%d},{mrk_disp.l.id,%d},
{mrk_disp.l.id,%d}):{cr()},0,0,DZ({frc_bmp.i.l.id,%d},
{mrk_disp.l.id,%d},{mrk_disp.l.id,%d}))`
ジョイント、ブッシュ、スプリングおよびフォースのプロパティについてのMotionSolveの数式は、マーカー間の変位および速度を示すMotionSolveの関数として書かれる場合が多くあります。下記の関数は、変位と速度を示すために使用されます:
並進変位 | 角変位 | 並進速度 | 角速度 |
---|---|---|---|
DX(I, J, R) | AX(I, R) | VX(I, J, R) | WX(I, J, R) |
DY(I, J, R) | AY(I, R) | VY(I, J, R) | WY(I, J, R) |
DZ(I, J, R) | AZ(I, R) | VZ(I, J, R) | WZ(I, J, R) |
DM(I, J) | VR(I, J) |
IおよびJ | 相対変位また相対速度が測定される2つのマーカーです。 |
R | 参照マーカーのIDです。 |
3つの関数を使用すると、次のようなテンプレート数式を作成できます:
`-DX({bsh_lca_frnt.l.i.id},{bsh_lca_frnt.l.j.id},
{bsh_lca_frnt.l.j.id}`
MotionViewには、スプリング、ジョイント、ブッシュの変位と速度、およびフォースを求めるための簡便プロパティが用意されていて、これらを使用するとテンプレート数式を短縮できます。これらのプロパティをテンプレート数式で使用すると、ソルバー入力デック(.xmlまたは.adm)が書き出される際に、これらの数式がソルバー側で対応するシンタックスに自動的に展開されます。例えば、下記の2つの数式は全く同じ結果を生み出します:
MotionSolveの DX関数 | `DX({bsh_lca_frnt.l.i.id}, {bsh_lca_frnt.l.j.id}, {bsh_lca_frnt.l.j.id}` |
MotionViewの .DXプロパティ | `{bsh_lca_frnt.l.DX}` |
簡易プロパティを次に示します:
並進変位プロパティ | 角変位プロパティ | 並進速度プロパティ | 角速度プロパティ | |
---|---|---|---|---|
フォース ブッシュ コンプライアントジョイント |
.DX .DY .DZ |
.AX .AY .AZ |
.VX .VY .VZ |
.WX .WY .WZ |
コイルスプリング | .DM | - | .VR | - |
- | .AZ | - | .WZ |
ブッシュ、コンプライアントジョイントおよびスプリングの簡便プロパティがMotionViewによってそれらの完全なソルバー関数に展開されると、そのソルバー関数では、エンティティのJマーカーが自動的に参照マーカー(RMパラメータ)として使用されます。フォースエンティティには、MotionViewで明示的に定義された参照マーカーが必ずあるので、完全な数式では、その参照マーカーが“RM”パラメータとして使用されます。