MODSET

Utility/Data Access SubroutineMODSETサブルーチンは、MotionSolve XML入力ファイルで指定されたモデルデータにアクセスして変更します。

使用

すべてのユーザー作成サブルーチンから呼び出すことができます。

フォーマット

Fortranの呼出し構文
MODSET (element, id, attribute, input, info)
C/C++の呼出し構文
c_modset (element, id, attribute, input, info)
Pythonの呼出し構文
info = py_modset (element, id, attribute, input)
MATLABの呼出し構文
info = m_modset (element, id, attribute, input)

属性

ELEMENT
[文字列]
XML要素の名前。
ID
[整数]
要素の識別子。
ATTRIBUTE
[文字列]
XML要素に関連付けられた属性の名前。
INPUT
[文字列]
文字列としてキャストされた属性の値。

出力

INFO
[整数]
呼び出しステータスまたは戻り値タイプに関する情報。負の値は、モデルデータの変更に失敗したことを示します。
0
属性が正常に変更されました。
-1
要素名が認識されないか、サポートされていません。
-2
IDが見つからないか、無効です。
-3
属性名が認識されないか、サポートされていません。
-4
属性は変更できない一定の文字列です。

XMLファイルでid=303002のジョイントモーションの属性exprを、2D+10D*sin(72D*TIME-11.537D)に変更するには:

<Motion_Joint
     id                  = "303002"
     type                = "EXPRESSION"
     val_type            = "D"
     expr                = "0."
     joint_id            = "303003"
     joint_type          = "R"
     ic_disp             = "0."
     ic_vel              = "0."
/>

Fortranユーザーサブルーチンから、以下を呼び出します:

CALL MODSET('Motion_Joint ', 303002,'expr', '2D+10D*sin(72D*TIME-11.537D)',INFO)

同じ属性を再度20D+sin(72D*TIME-11.537D)に変更するには、以下を呼び出します:

CALL MODSET('Motion_Joint ', 303002,'expr', '20D+sin(72D*TIME-11.537D)',INFO)

また、オプションで、

CALL SET_ATTRIBUTE('20D+sin(72D*TIME-11.537D)',INFO)

Fortranユーザーサブルーチンから使用することもできます。

コメント

  1. 入力文字列は大文字と小文字が区別されません。
  2. MODFNCMODSETはどちらも汎用モデルデータアクセスユーティリティサブルーチンです。前者は要素属性の値を読み取り(“取得”)、後者は要素属性の値を“設定”または変更します。
  3. 入力が配列の場合は、MODFNCからの出力文字列と同じ形式の文字列として連結する必要があります。
  4. MODFNCまたはMODSETを呼び出した後も、同じ属性の変更を続ける場合は、MODSETを呼び出して同じ属性にもう一度アクセスするか、オプションで、別のMODFNCまたはMODSETが発行されるまでSET_ATTRIBUTE (input, info)を使用します。SET_ATTRIBUTEは、最新のMODFNCまたはMODSETの呼び出しによってアクセスされた属性を変更します。