システムの作成と編集

システムは、親コンテナと同じファイルにインラインで保存された定義を有するモデリングコンテナエンティティです。

システムは次のような特徴で表現されます:
  • 別のシステムエンティティまたは他のコンテナーエンティティ(アセンブリまたはアナリシス)の子となることができる。
  • ポイント、ボディ、ジョイント、フォースなどの他のモデリングエンティティで構成できる。
  • MDLでは、*DefineSystem()で定義したシステム定義ブロックを参照する*System()ステートメントを使用して定義をインスタンス化することにより、システムを作成する。
  • その定義は、親の定義ファイルでインライン化されている。例えば、子エンティティ定義で構成したシステム定義が、その親定義と同じファイルに保存されている。
  • システムのデータは、親コンテナのデータファイルにあるデータブロック*BeginContext()に保存されている。

以下の例のモデルは、システムのコンセプトを表すものです。このモデルは、~hw_install/demos/mv_hv_hg/modeling/mdl_examples/container_entities/system_analysis/door.mdlに用意されています。下の図は、車のハッチバックドアの簡略化されたモデル、およびそのモデルのmdlファイルを示しています。このモデルは、Hatchback Systemというシステムにまとめられており、そのシステムには2つの子システムとしてDoor SystemとDamper Systemがあります。

Figure 1.

Door Systemには、ドアとそのヒンジジョイントがあります。Damper Systemには、ダンパボディ、グラウンドとダンパボディとのジョイント、ドアとダンパボディとのジョイントがあります。ドアとダンパとのジョイントを定義するために、ドアのボディはアタッチメントとしてDamper Systemに渡されます。

MDLファイルは、次のようになります。
  • モデル全体の情報は、*BeginMDL - *EndMDLブロックに含まれる
  • Hatchback System(変数名sys_hatch)は、このモデルの子としてインスタンス化され、定義def_sys_hatchを参照する。sys_hatchは、システム定義def_sys_hatchのインスタンスとして呼び出される。
    • この定義には、それぞれシステム定義def_sys_doorおよびdef_sys_dampのインスタンスである2つのシステムインスタンスsys_doorおよびsys_damperがある。
    • Doorボディ(変数名b_door)は、システムsys_damperへのアタッチメントとして渡される。
  • モデル内のエンティティのデータは、階層構造となっている *BeginContext - *EndContextブロックに記述される。

システムの追加

Systemsツールを使用して、モデルにシステムとアセンブリを追加します。

  1. Project Browserで、システムの追加先とするコンテナーエンティティを右クリックし、Add > System/Assemblyの順にクリックします。
    Add System/Assemblyダイアログが表示されます。
  2. Systemラジオボタンをアクティブにし、Nextをクリックします。
    Add Systemダイアログが表示されます。
  3. Optional: 新しいシステムを保存する親エンティティを変更するには、Parentコレクターをダブルクリックして、Model Treeでシステムを選択します。
  4. ラベルと変数名を指定します。
  5. システムの定義名を指定します。
  6. OKをクリックしてウィンドウを閉じるか、Applyをクリックしてエンティティの作成を継続します。
    システムがモデルに追加されます。

システムの編集

Project Browserでシステムをクリックすると、選択内容を編集できるパネルが開きます。

  1. 各システムおよびアセンブリは、別のシステムまたはアセンブリと結合するためのアタッチメント(取り付け先)のリストを有しています。これらはAttachmentsタブにリストされています。アタッチメントは、Attachmentsリスト内でハイライト表示させ、リストの右側にあるエンティティコレクターを使って修正することが可能です。
    1. Attachmentsタブを選択します。
    2. Addをクリックします。
    3. ダイアログでラベルと変数名を指定します。
    4. ドロップダウンメニューからアタッチメントエンティティを選択します。
    5. TypeにSingle onlyPair or singleを選択します。
      Note: 特定のエンティティはペアでモデル化できないため、これらのオプションが無効になっている場合があります。
    6. 注記を入力します。
  2. Optionsタブをクリックします。
    現在のシステムに属しているオプションのリストが表示されます。オプションは、一部のモデリング挙動のタイプをカスタマイズするために使用されます。オプションは、エンティティの表示オン/オフ切り替え、コンプライアントから非コンプライアントへのシステムの変換等の操作を行います。
  3. 各システムには、デフォルトでCompliantオプションがついています。このオプションは、システム内のジョイントの状態を切り替えるために使うことができます。ドロップダウンメニューで、システムをコンプライアントにするか、非コンプライアントにするかを指定します。
    Yesを選択すると、システムにあるすべてのコンプライアントジョイントがコンプライアントになり、Noを選択すると、すべてのコンプライアントジョイントが非コンプライアントになります。
  4. Initial Conditionsタブを選択します。
    1. システムにあるすべてのボディの初期並進速度と初期回転速度を、そのx、y、zの各方向の値を入力して設定します。
      Note: 初期条件は、モデル内の任意のシステムに適用できます。システムに適用される初期条件は、そのサブシステムにも自動的に適用されます。サブシステムの初期条件が個々に設定されている場合、それらの設定は、システムの設定に優先します。サブシステムの設定が優先されている各初期設定は、親システムのInitial Conditionsタブの右側にリストされています。
  5. System Translationタブをクリックします。
    対称性(symmetry)がオンである場合、システムの対称性が保持されます。対称性(symmetry)がオフである場合は、システム全体が指定の方向に移動します。
    1. 移動方向を定義します。
    2. Translation distanceテキストボックスに、座標に沿ってシステムを移動させる距離を入力します。
  6. Import/Exportタブをクリックします。
    Note: .mdlファイルとの間でシステムを個別にインポートし、またエクスポートできます。トポロジー情報を含むシステム全体をファイルにエクスポート、もしくは、別のモデルが読み込むためにモデル特性のみをエクスポートすることも可能です。
    1. Exportラジオボタンを選択します。
    2. パスとファイル名を参照して選択し、Saveをクリックします。
    Tip:
    • Quick Exportをクリックすることで、ブラウザを開かずに同じファイルに再エクスポートできます。
    • Export topology asドロップダウンメニューを使用して、エンティティ定義ステートメントと定義ブロック(システム、データセット、テンプレートなどの定義)を指定します。
    • Property Dataオプションは、エンティティに値を割り当てる*Setステートメントを参照します。

コンプライアントジョイントの切り替えに加え、MotionViewでは、事前に定義されたシステム設定に従って、システム内の他のエンティティのオン / オフ切り替えを行うことができます。例えば、MotionViewでは、システムが非コンプライアントとされた際に、スプリングやスタビライザーバー等の特定のエンティティをオフにできます。

Note:
  • Compliantオプションは、現在のシステムに属しているすべてのサブシステムに適用されます。
  • Jointsパネルで、個々のジョイントごとにCompliantオプションをオーバーライドできます。
  • すべてのジョイントをコンプライアントにできるわけではありません。ジョイントをコンプライアントから非コンプライアントに切り替えるためのルールが、MDL言語を使用して各モデルに組み込まれています。
  • オプション作成の詳細については、MDL Language Referenceの*Option()をご参照ください。