SolverMode
MotionViewには、SolverModeと呼ばれる暗黙の変数があります。MDLでは、SolverModeはトポロジを定義するための“if”構文(Templexテンプレートを含む)内で使用されます。MotionViewは、ユーザーがソルバータイプを切り替えた際に、関連したテキストがユーザーインターフェース内でアクティブになるよう、両方のケースについて“if”結果を保持します。
下の例は、重力のテンプレートがモデルライブラリを介してどのように構築されているかを示すものです:
*if( SolverMode == "ABAQUS" )
*Template(tpl_gravity_unit_aba, "Gravity & units",SOLVER_INPUT,
tpldef_misc_model_aba, ds_gravity)
*elseif( SolverMode == "ADAMS" )
*Template(tpl_gravity_unit_adm, "Gravity",SOLVER_INPUT,
tpldef_misc_model_adm, ds_gravity)
*endif( )
前のテキストを含むMDLモデルをMotionViewに読み込むと(std_incを介して読み込む場合も同様です)、MotionViewでソルバーモードとしてADAMSを選択したときに以下のテンプレートが表示されます。
{ if grav.op_gravity.value == "On" }
!Gravity
ACCGRAV/IGRAV={ grav.igrav.value }
,JGRAV={ grav.jgrav.value }
,KGRAV={ grav.kgrav.value }
{ endif }
SolverModeは、MDLトポロジに“if”ロジックを配置する場合にも使用できます。