アタッチメント
異なるサブアセンブリでモデルを構築する際、1つのコンテナ内のエンティティを結合する、または別のコンテナ内のエンティティを参照しなければならないことがしばしばあります。異なったモデルに対しても再使用できるようコンテナエンティティのモジュール性を保持するために、アタッチメントとして宣言することで外部のエンティティへの結合を定義することが推奨されます。
アタッチメントと物理的に類似しているのは、電子機器上のポート(またはプラグインポイント)です。これらのポートは機器にローカルまたはインターナルで、外部機器に接続するためのメディアとして機能します。
例
下の図は、4気筒エンジン内のCylinder 1システムを表しています。CrankshaftとEngine Caseボディは、Cylinder 1システムには含まれていません。これらのボディのいずれかとCylinder 1システムにあるボディとの間にジョイントまたはフォースを定義するには、変数名がb_crankshaftおよびb_enginecaseであるアタッチメントを、そのシステムへのアタッチメントとして宣言し、これら2つのボディを変数エンティティとして参照します。
システムやアセンブリのアタッチメントの管理方法については、アタッチメントの追加のトピックをご参照ください。
MDLでは、コンテナーエンティティ定義ブロックの*Attachment()ステートメントでアタッチメントを定義します。
アタッチメントタグとアタッチメントの候補
コンテナエンティティのアタッチメントは、アタッチメントの自動的な選択を助けるアタッチメントタグをもつことが可能です。アタッチメントタグは、異なるコンテナ内のエンティティについて定義されるアタッチメント候補(attachment candidate)タグと連動して機能します。MotionViewでは、アタッチメントタグの文字列と同じ文字列をアタッチメント候補に持つエンティティが検索され、アタッチメントの解析の際、モデルツリーにそれらが推奨のエンティティとして一覧で列挙されます。
以下に示すのは、クランクピンのアタッチメントポイントを求めるCylinder 1アセンブリです。このアタッチメント(変数p_cp_att)には、“CrankPin”アタッチメントタグがあります。クランクシャフトアセンブリ内のクランクピンポイントは、値“CrankPin”をもつアタッチメント候補を有しています。
このアタッチメントのPointコレクターをクリックすると、Select a Pointダイアログに自動的に表示されるモデルツリーには、クランクシャフトアセンブリにあるクランクピンポイントを一覧表示したRecommended Entitiesフォルダが表示されます。
また、Projectブラウザでどのコンテナーを右クリックしても表示されるコンテキストメニューにも、Apply Attachment Candidatesオプションがあります。
このオプションは、アタッチメント上のアタッチメントタグと同じ文字列をもつアタッチメント候補を含んだエンティティを探し出し、1つのコンテナについてすべてのアタッチメントを自動的に選択します。1つのアタッチメントについて複数の候補がある場合、手動で選択が可能なダイアログが表示されます。
アタッチメント候補の定義
EntityパネルのAttachment Candidatesボタンを使用して、アタッチメント候補としてエンティティを宣言します。