アタッチメント

異なるサブアセンブリでモデルを構築する際、1つのコンテナ内のエンティティを結合する、または別のコンテナ内のエンティティを参照しなければならないことがしばしばあります。異なったモデルに対しても再使用できるようコンテナエンティティのモジュール性を保持するために、アタッチメントとして宣言することで外部のエンティティへの結合を定義することが推奨されます。

アタッチメントと物理的に類似しているのは、電子機器上のポート(またはプラグインポイント)です。これらのポートは機器にローカルまたはインターナルで、外部機器に接続するためのメディアとして機能します。

下の図は、4気筒エンジン内のCylinder 1システムを表しています。CrankshaftとEngine Caseボディは、Cylinder 1システムには含まれていません。これらのボディのいずれかとCylinder 1システムにあるボディとの間にジョイントまたはフォースを定義するには、変数名がb_crankshaftおよびb_enginecaseであるアタッチメントを、そのシステムへのアタッチメントとして宣言し、これら2つのボディを変数エンティティとして参照します。



Figure 1.

システムやアセンブリのアタッチメントの管理方法については、アタッチメントの追加のトピックをご参照ください。

Note: コンテナーにあるエンティティのEtityパネルでは、以下に示すように、参照先のアタッチメントエンティティが青色の背景で示されます。


Figure 2.

MDLでは、コンテナーエンティティ定義ブロックの*Attachment()ステートメントでアタッチメントを定義します。

アタッチメントタグとアタッチメントの候補

コンテナエンティティのアタッチメントは、アタッチメントの自動的な選択を助けるアタッチメントタグをもつことが可能です。アタッチメントタグは、異なるコンテナ内のエンティティについて定義されるアタッチメント候補(attachment candidate)タグと連動して機能します。MotionViewでは、アタッチメントタグの文字列と同じ文字列をアタッチメント候補に持つエンティティが検索され、アタッチメントの解析の際、Model Treeにそれらが推奨のエンティティとして一覧で列挙されます。

以下に示すのは、クランクピンのアタッチメントポイントを求めるCylinder 1アセンブリです。このアタッチメント(変数p_cp_att)には、“CrankPin”アタッチメントタグがあります。クランクシャフトアセンブリ内のクランクピンポイントは、値“CrankPin”をもつアタッチメント候補を有しています。

このアタッチメントのPointコレクターをクリックすると、Select a Pointダイアログに自動的に表示されるModel Treeには、クランクシャフトアセンブリにあるクランクピンポイントを一覧表示したRecommended Entitiesフォルダが表示されます。



Figure 3.

また、Project Browserでどのコンテナーを右クリックしても表示されるコンテキストメニューにも、Apply Attachment Candidatesオプションがあります。



Figure 4.

このオプションは、アタッチメント上のアタッチメントタグと同じ文字列をもつアタッチメント候補を含んだエンティティを探し出し、1つのコンテナについてすべてのアタッチメントを自動的に選択します。1つのアタッチメントについて複数の候補がある場合、手動で選択が可能なダイアログが表示されます。

アタッチメント候補の定義

EntityパネルのAttachment Candidatesボタンを使用して、アタッチメント候補としてエンティティを宣言します。

  1. アタッチメント候補として宣言するエンティティを選択します。
  2. Entityパネルでをクリックします。
    Attachment Candidatesダイアログが表示されます。


    Figure 5.
  3. Addをクリックします。
    タグのエントリがダイアログに含まれます。
  4. <PleaseEnterTag>で示されているTag欄をクリックし、文字列を入力します。


    Figure 6.
  5. Locationドロップダウンメニューからオプションを選択します。
    シングルエンティティタイプについては、singleが唯一の使用可能なオプションです。ペアエンティティの場合、タグはpairまたはleftまたはright.に適用できます。
  6. Closeをクリックして、アタッチメント候補を作成します。
    Note: MDLでは、*AttachmentCandidateステートメントでアタッチメント候補を作成します。タグ値は、*SetAttachmentCandidateTagステートメントを使用して設定します。