MV-1030:MotionView GUIを用いたシステム定義の作成

本チュートリアルでは、MotionViewのグラフィカルユーザーインターフェースを用いてシステムを作成し、システム定義をファイルにエクスポートし、モデル内に保存された定義をインスタンス化する方法について学習します。

先の演習では、MDLについて、および、テキストエディタを介し、MDL言語を使って定義をオーサリングする方法について学習しました。一般的に、定義の多く(システム、データセット、アナリシス)はMotionViewのグラフィカルユーザーインターフェースを使って作成されます。本チュートリアルは、テキストエディタを用いた定義作成の代替法を提供します。

システムインスタンスの作成

このステップでは、システムインスタンスを作成します。

  1. 以下のいずれかの方法で、Add System/Assemblyダイアログを開きます:
    • ProjectブラウザModelを右クリックしてAdd > System/Assemblyを選択します。
    • Container Entityツールバーで、(System/Assemblyパネル)ボタンを右クリックします。
  2. ダイアログ内で、Systemラジオボタンをクリックします。
  3. Add Systemダイアログで、Variableをsys_pendu、LabelをPendulum、Definition Nameをdef_sys_penduと指定します。
  4. OKをクリックします。
    これで、Pendulumシステムがモデルに追加され、システムのパネルに表示されます。

システムへのアタッチメントの追加

このステップでは、Pendulumシステムに2つのアタッチメントを作成します。

  1. Attachmentsタブで、Addボタンをクリックします。
  2. ダイアログで、LabelをAttachment Point、Variableをarg_pと指定します。TypeがSingle onlyにセットされていることを確認します。
  3. ドロップダウンメニューからPointを選択します。
  4. OKをクリックします。
  5. ステップ1から4までを繰り返し、2つ目のアタッチメントを作成します。
    1. LabelをAttachment Body、Variableをarg_bと指定します。
    2. ドロップダウンメニューからBodyを選択します。


      図 1.
      注: これらのアタッチメントは、このシステムをモデルの他のエンティティに付加するために使用されます。これらの共に現時点では付加されておらず、それはつまり、モデル内の別のエンティティをまだ参照していないことを意味します。
  6. コレクターをダブルクリックします。
  7. Select a Pointダイアログで、Global Originをクリックします。


    図 2.
  8. OKをクリックします。
  9. コレクターをダブルクリックします。
  10. ダイアログで、Ground Bodyをクリックします。
  11. OKをクリックします。

システムへのポイントの追加

このステップでは、Pendulumシステムにポイントを1つ追加します。

  1. ProjectブラウザPendulumをクリックします。
  2. 以下のいずれかの方法で、Add Point or PointPairダイアログを開きます:
    • Pendulumを右クリックし、Add > Reference Entity > Pointを選択します。
    • Reference Entityツールバーで、(Points)アイコンを右クリックします。
  3. ダイアログで、LabelをMass CG、Variableをp_cgと指定します。TypeがSingleにセットされていることを確認します。


    図 3.
  4. OKをクリックします。
  5. Propertiesタブから、X Coordinate欄をクリックします。ボタンをクリックします。
    これで、Expression Builderが表示されます。
  6. Expressionエリア(ダイアログ上部)から0.0を削除します。
  7. モデルツリーで、PendulumAttachmentsAttachment Pointフォルダーを拡張し、xを選択します。
  8. Add ボタンをクリックします。


    図 4.
    arg_p.xが自動的にExpressionエリアを満たします。
  9. 式に+50を追加します。


    図 5.
  10. OKをクリックしてダイアログを閉じます。
    この手順は、Attachment PointのX座標についてMass CGをパラメータ化します。これは、X方向の50ユニットの距離に置かれます。
  11. YおよびZ座標について、手順5から10までを繰り返します。
    1. Y座標について、式をarg_p.yと指定します。
    2. Z座標について、式をarg_p.z+100と指定します。
      注: あるいは、YおよびZ座標の式にX座標の式をコピーして編集してもかまいません。


      図 6.
      注: パラメトリックな式については、欄の背景色が変わります。

ボディへのアタッチメントの追加

このステップでは、Pendulumシステムにボディを1つ追加します。

  1. ProjectブラウザPendulumをクリックします。
  2. 以下のいずれかの方法で、Add Body or BodyPairダイアログを開きます:
    • Pendulumを右クリックし、Add > Reference Entity > Bodyを選択します。
    • Reference Entityツールバーで、(Bodies)アイコンを右クリックします。
  3. ダイアログで、LabelにMass、Variableにb_massと入力します。
  4. Propertiesタブで、Massを1、Ixx、IyyおよびIzzのIntertia propertiesを1000と指定します。


    図 7.
  5. CM ConnectivityタブでUse center of mass coordinate systemオプションにチェックを入れます。
  6. Originの下のをダブルクリックします。
  7. ダイアログでMass CGを選択し、OKをクリックします。


    図 8.

システムへのグラフィックスの追加

このステップでは、Pendulumシステムにグラフィックスを追加します。

  1. ProjectブラウザPendulumをクリックします。
  2. 以下のいずれかの方法で、Add Graphics or GraphicPairダイアログを開きます:
    • Pendulumを右クリックし、Add > Reference Entity > Graphicを選択します。
    • Reference Entityツールバーで、(Graphics)アイコンを右クリックします。
  3. ダイアログで、LabelをRod、Variableをgcyl_rod、TypeをCylinderと指定します。続いて、OKをクリックします。
  4. Graphicsパネル内で、Connectivityタブを設定します。
    1. Parentの下のコレクターをダブルクリックします。
    2. ダイアログでMassボディを指定し、OKをクリックします。
    3. Originの下のコレクターをダブルクリックします。
    4. ダイアログでMass CGを指定し、OKをクリックします。
    5. Directionの下のコレクターをダブルクリックします。
    6. ダイアログでAttachment Pointを指定し、OKをクリックします。


      図 9.
  5. Propertiesタブで、Radius 1に2と入力します。
  6. 手順2を繰り返し、球のグラフィックを作成します。
    1. ダイアログで、LabelにMassと入力します。
    2. Variableにgsph_massと入力します。
    3. TypeにSphereを選択します。
    4. OKをクリックします。
  7. GraphicsパネルのConnectivityタブの下で、Parent bodyにMass、Origin pointにMass CGを指定します。


    図 10.
  8. Propertiesタブで、Radiusに25と指定します。


    図 11.

システムへのジョイントの追加

このステップでは、Pendulumシステムに回転ジョイントを1つ追加します。

  1. ProjectブラウザPendulumをクリックします。
  2. 以下のいずれかの方法で、Add Joint or JointPairダイアログを開きます:
    • Pendulumを右クリックし、Add > Constraint > Jointを選択します。
    • Reference Entityツールバーで、(Joints)アイコンを右クリックします。
  3. ダイアログで、LabelにPivot、Variableにj_pivotと入力し、TypeにRevolute Jointを選択します。
  4. OKをクリックします。
  5. Jointパネル内、Connectivityタブで、をダブルクリックします。
  6. Select a Pointダイアログで、Massを選択し、OKをクリックします。
  7. をダブルクリックします。
  8. ダイアログで、Model > Pendulum > Attachmentsフォルダーを拡張し、Attachment Bodyを選択します。


    図 12.
    ヒント: また、Global Triadをクリックし、Attachment Bodyを介してGround Bodyをピックします。
  9. Originの下のコレクターをダブルクリックします。
  10. ダイアログで、Model > Pendulum > Attachmentsフォルダーを拡張し、Attachment Bodyを選択します。
  11. Alignment Axisの下でドロップダウンメニューを使って、コレクターをPointからVectorに変更します。
  12. をダブルクリックし、Global Yを選択します。
  13. (Save model)をクリックし、ファイルをpend_gui.mdlとして、自身の<作業ディレクトリ>に保存します。

システム定義のエクスポート

このステップでは、モデルを自身の<作業ディレクトリ>に保存する方法について学習します。

  1. ProjectブラウザPendulumをクリックします。
  2. Systems/Assemblyパネルで、Import/Exportタブをクリックします。
  3. Exportラジオボタンをクリックします。


    図 13.
  4. (ファイルブラウザ)アイコンをクリックし、<作業ディレクトリ>をブラウズします。
  5. ファイルの名称をsys_pend_gui.mdlと指定し、Saveをクリックします。
  6. テキストエディタで、sys_pend_gui.mdlを開きます。
    システム定義のコンテンツが以下のように表示されます:
    *DefineSystem( def_sys_pendu, arg_p, arg_b )
    *Attachment( arg_p, "Attachment Point", Point, "Select attachment.",
    P_Global_Origin, )
    *Attachment( arg_b, "Attachment Body", Body, "Select attachment.",
    B_Ground, )
    *SetDefaultSystemInstance( sys_pendu, "Pendulum" )
    *Point( p_cg, "Mass CG" )
    *Body( b_mass, "Mass", p_cg, , , , )
    *Graphic( gcyl_rod, "Rod", CYLINDER, b_mass, p_cg, POINT, arg_p, 2.0,
    gcyl_rod.r1, , 0.0, CAPBOTH )
    *Graphic( gsph_mass, "Mass", SPHERE, b_mass, p_cg, 25.0 )
    *RevJoint( j_pivot, "Pivot", b_mass, arg_b, arg_p, VECTOR, V_Global_Y
    )
    *SetPoint( p_cg, arg_p.x+50, arg_p.y,
    arg_p.z+100 )
    *SetBodyInertia( b_mass, 1.0, 1000.0, 1000.0,
    1000.0, 0.0, 0.0, 0.0 )
    *Set( b_mass.usecm, true )
    *EndDefine()
    注: Exportオプションは、システムと解析にのみ、使用が可能です。データセットやテンプレートなどその他の定義については、モデル.mdlファイルから定義をコピーできます。

システム定義のインスタンス化

このステップでは、システム定義をインスタンス化する方法について学習します。

  1. Projectブラウザで、Modelシステムを選択します。
  2. Systems/Assemblyパネルで、Import/Exportタブをクリックします。
  3. Importラジオボタンをクリックします。
  4. (ファイルブラウザ)アイコンをクリックし、<作業ディレクトリ>をブラウズします。
  5. sys_pend_gui.mdlファイルを選択し、Openをクリックします。


    図 14.
  6. Import ボタンをクリックします。
  7. ダイアログで、def_sys_penduを選択します。
  8. LabelをPendulum 2、Variableをsys_pendu_2に変更します。


    図 15.
  9. OKをクリックします。
    これで、定義がインスタンス化されます。Pendulum 2がProjectブラウザに表示されます。
  10. Pendulum 2をクリックします。
  11. Attachmentsタブで、およびアタッチメントとします。
    1. コレクターをダブルクリックします。
    2. モデルツリーPendulum > Mass CGをクリックします。続いて、OKをクリックします。


      図 16.
    3. コレクターをダブルクリックします。
    4. モデルツリーPendulum > Massをクリックします。続いて、OKをクリックします。
  12. モデルpend_2_gui.mdlとして<作業ディレクトリ>に保存します。
    同じシステム定義は、同じモデルまたは異なるモデル内で何度でもインスタンス化して再利用することが可能です。