特殊な管理 > サポートされるビジュアリゼーションとパブリッシング > WVS Creo View の統合 > ダイナミック構造のビジュアリゼーション
  
ダイナミック構造のビジュアリゼーション
このトピックは、以下のセクションで構成されています。
アセンブリフィーチャーのビジュアリゼーション
Creo Parametric のフレキシブルアセンブリのビジュアリゼーション
CAD で表現されている部品のビジュアリゼーション
ダイナミック部品構造におけるイメージおよび貢献イメージに関連付けられた部品のビジュアリゼーション
WTPart 構造のカスタマイズ
ダイナミックビジュアリゼーションに影響を与えるその他の管理プリファレンス
CAD で表現されている部品として部品を識別
例: CAD で表現されている部品の XML コンフィギュレーション
Creo View や製品構造ブラウザの「ビジュアリゼーション」タブで WTPart または EPMDocument 構造を表示している場合、構造のグラフィックは、構造 (部品または CAD) 内のオブジェクトのデフォルトの製品表現を 1 つの PVS ファイルにマージすることによって動的に生成されます。表示する WTPart または EPMDocument を選択する際には現在のナビゲーション基準が使用されます。
構造のビジュアリゼーションを実行するとき、ユーザーが希望するビジュアリゼーションが、構造内の部品のデフォルト製品表現には保持されていないケースがいくつかあります。このセクションでは、さまざまな状況での対応方法と、ダイナミックビジュアリゼーションの動作を修正する際の考慮事項について説明します。
アセンブリフィーチャーのビジュアリゼーション
アセンブリに含まれるフィーチャーが子のジオメトリを修正する場合 (子のカットアウトなど)、正しくないジオメトリがダイナミックビジュアリゼーションに表示される場合があります。このような修正がアセンブリに含まれる場合、通常、子は静的な製品表現または拡張配置アセンブリとしてパブリッシングされ、子の正しいジオメトリは、(子ではなく) アセンブリの製品表現内のみに保存されますこのため、子のジオメトリがデフォルト製品表現から読み込まれ、ダイナミック構造のビジュアリゼーションが不正確になります。
ダイナミック部品構造内のアセンブリフィーチャーのビジュアリゼーションを有効にするには、「ビジュアリゼーション」 > 「ダイナミック構造」 > 「ダイナミック部品構造内のアセンブリフィーチャー」ユーザープリファレンスを「はい」に設定します。ダイナミック CAD 構造内のアセンブリフィーチャーのビジュアリゼーションを有効にするには、「ビジュアリゼーション」 > 「ダイナミック構造」 > 「ダイナミック CAD 構造内のアセンブリフィーチャー」ユーザープリファレンスを「はい」に設定します。
このプリファレンスを有効にすると、Windchill システムはアセンブリファイルの製品表現を読み取り、アセンブリフィーチャーが存在する場合はこれを識別します。その場合、子のデフォルト製品表現ではなく、アセンブリの製品表現に生成されたジオメトリが使用されます。
ダイナミックビジュアリゼーションでのアセンブリフィーチャーの処理は、システムに存在する構造および製品表現に適用されたナビゲーション基準の組み合わせに基づき、"正しい"ジオメトリにアクセスできるかどうかによって制限されます。アセンブリフィーチャーが含まれている OL ファイルはアセンブリの製品表現から読み込まれます。子部品の作業版数/バージョンが複数存在する場合、アセンブリフィーチャーの表示に使用されている OL ファイルが、そのアセンブリの現在のナビゲーション基準によって選択されている作業版数/バージョンに作成されている OL ファイルであることを保証する手段はありません。
これは、開発されたパブリッシング戦略と、子が変更されたときにアセンブリがパブリッシングされるかどうかに大きく依存します。
たとえば、それぞれ 2 つのバージョンがある 2 つの子部品から成るアセンブリがある場合、ジオメトリには次の 4 つの組み合わせが考えられます。
Part1 A.1、Part2 A.1
Part1 A.2、Part2 A.1
Part1 A.1、Part2 A.2
Part1 A.2、Part2 A.2
最新のコンフィギュレーション仕様を使用して部品構造を生成した場合、部品構造には Part1 A.2 と Part2 A.2 が表示されます。ただし、Part1 にアセンブリフィーチャーが含まれている場合、Part1 A.2 ではなく Part1 A.1 の OL ファイルが使用されている可能性があります。
Creo Parametric のフレキシブルアセンブリのビジュアリゼーション
フレキシブルアセンブリでは、いずれかの子アセンブリコンポーネントの位置情報を親アセンブリがオーバーライドできます。つまり、ダイナミックビジュアリゼーションの場合、コンポーネントの位置が親アセンブリの製品表現から読み込まれます。これにより、下位の子アセンブリに存在する位置がオーバーライドされます。
ダイナミック CAD または部品構造のユーザープリファレンスが「はい」に設定されている場合に、Creo View でダイナミック CAD または部品構造を開くと、フレキシブルアセンブリは、その親アセンブリによって決定されるダイナミック CAD または部品構造内の代替の場所に表示されます。
「ビジュアリゼーション」 > 「ダイナミック構造」 > 「ダイナミック CAD 構造内で使用するフレキシブルアセンブリフィーチャーを有効にします」
「ビジュアリゼーション」 > 「ダイナミック構造」 > 「ダイナミック部品構造内で使用するフレキシブルアセンブリフィーチャーを有効にします」
ダイナミック構造にフレキシブルフィーチャーとアセンブリアセンブリフィーチャーが使用されている場合、親アセンブリからのジオメトリがアセンブリアセンブリフィーチャーに使用され、親アセンブリからの変換 (場所) がフレキシブルフィーチャーに使用されます。
* 
フレキシブルアセンブリは、Creo View Adapter for Creo Parametric 5.0 以降でサポートされています。
CAD で表現されている部品のビジュアリゼーション
ダイナミック部品構造が表示されている場合、構造内の部品の製品表現をマージすることによってそのグラフィックが生成されています。一部の WTPart では、子部品構造が存在しないか、不完全で子にグラフィックが関連付けられていません。サプライヤ部品がこの一例です。サプライヤ部品では、構造内の 1 つの WTPart によってサプライヤアセンブリ全体が表されます。このような場合、3D グラフィックは完全ではありません。子部品構造がない WTPart 構造を CAD で表現されている部品と呼びます。
CAD で表現されている部品の 3D グラフィックを表示するように Windchill を設定できます。CAD で表現されている部品の製品表現全体を使用して 3D グラフィックが表示されます。グラフィックの表示に使用される製品表現はその部品のデフォルトの製品表現です。デフォルトの製品表現がない場合、イメージ関連付けがある EPMDocument のデフォルトの製品表現が使用され、すべての子を含む完全な製品表現がマージされます。WTPart 構造内の CAD で表現されている部品の子 WTPart はビジュアリゼーション構造からすべて除去されます。
以下の例では、WTPart "ASSYA" には、3 つの子がある CAD アセンブリとのイメージ関連付けがあります。この CAD アセンブリにはパブリッシングされた製品表現があります。この部品が CAD で表現されている部品として識別された場合、構築されるビジュアリゼーション構造にはこの CAD アセンブリの子が含まれます。
ダイナミック部品構造におけるイメージおよび貢献イメージに関連付けられた部品のビジュアリゼーション
WTPart のダイナミック部品構造には、オーナーに関連付けられた EPMDocument のデフォルトの製品表現が表示されます。ただし、WTPart が 1 つ以上の EPMDocument に関連付けられており、CAD 構造で使用されている製品表現が、イメージまたは貢献イメージに関連付けられた EPMDocument である場合、ダイナミック部品構造は正しく表示されません。
このようなイメージまたは貢献イメージに関連付けられた EPMDocument の製品表現が Creo View または「Visualization」タブのダイナミック部品構造で正しく表示されるようにするには、以下に示すように、「製品表現をイメージに関連付けられた EPM ドキュメントから表示」プリファレンスを「はい」に設定して有効にします。
「Visualization」 > 「ダイナミック構造」 > 「製品表現をイメージに関連付けられた EPM ドキュメントから表示」「はい」にする
このプリファレンスを有効にすると、システムが部品構造内のオカレンスリンクの情報を読み取り、構造内で使用されているイメージまたは貢献イメージに関連付けられた EPMDocument を識別できるようになります。この情報を使用して、Creo View または製品構造ブラウザの「Visualization」タブに正しい製品表現が表示されます。
イメージまたは貢献イメージに関連付けられた EPMDocument アセンブリと子から、部品構造と子が構築されている場合、部品構造内のこのオカレンスでは、イメージまたは貢献イメージに関連付けられた製品表現を使用して子が決定され、構造内のそのノードに対する子の位置も決定されます。次に、子が部品構造の子と比較され、一致するペアを識別して部品構造からのロードが続行されます。子が一致しない場合、部品構造の代わりに、イメージまたは貢献イメージに関連付けられた製品表現のジオメトリと構造が使用されます。その結果、ジオメトリは EPMDocument から形成されるものの、部品構造のコンフィギュレーション仕様と相互選択機能は維持されます。
次の例では、部品構造アセンブリには部品 4 が含まれていますが、CAD 構造には含まれていないので、これはダイナミック部品構造には表示されません。
WTPart 構造のカスタマイズ
部品を除外したり、部品のデフォルトの製品表現以外の製品表現を使用したり、アセンブリの子に関連付けられた製品表現をマージするのではなくアセンブリ全体の製品表現を含めたりするためのカスタムフックを指定することで、WTPart ダイナミック構造の生成方法を修正できます。詳細については、Windchill Customization Guide の「動的な部品生成のデフォルト動作の修正」セクションを参照するか、<Windchill>\prog_examples\wvs\com\ptc\wvs\PartStructureFilter.java を調べてください。
ダイナミックビジュアリゼーションに影響を与えるその他の管理プリファレンス
アセンブリフィーチャーのビジュアリゼーションを制御するには、次の WVS プロパティが使用されます。
WVS プロパティ
説明
edrload.dynamicpartstructure.excludeassemblyrepresentations
edrload.dynamiccadstructure.excludeassemblyrepresentations
デフォルト値: True
概要:アセンブリフィーチャーが追加されている製品表現を除外するかどうかを指定します。これらのプロパティを使用して、ダイナミック構造を生成する際のパフォーマンスを高めることができます。実際の最終結果には影響しません。ダイナミック構造はこのプロパティの値にかかわらず、同じものになります。
説明: これらのプロパティは、動的 CAD 部品構造の加法アセンブリフィーチャー (溶接やパイプなど) を持つアセンブリ部品または CAD ドキュメントの製品表現を除外するかどうかを指定します。
このプロパティを指定しない場合、デフォルトで True になります。
* 
このプロパティによるパフォーマンスの向上は、アセンブリフィーチャーの有無を示すデータを PVS ファイルに挿入する Creo View アダプタを使用して製品表現をパブリッシングする場合に実感できます。現在のところ、これをサポートするアダプタは Creo View 3.0 M020 以降の Creo Parametric アダプタだけです。
edrload.dynamicpartstructure.versionmismatch
デフォルト値: WTPart
概要:Creo View を開くときに表示されるバージョン不一致警告を指定します。
説明: このプロパティでは、アセンブリフィーチャーの処理が有効になっているダイナミック部品構造を開く際に、バージョン不一致警告メッセージをどのように表示するかを設定します。具体的には、CAD ドキュメント間でバージョンの不一致がある場合に、警告メッセージが表示されます。このプロパティには次の 4 つの値を指定できます。
WTPart - 部品バージョンの不一致のみが警告メッセージに表示されます。
EPMDocument - EPMDocument の不一致のみが警告メッセージに表示されます。
EPMDocumentRevertToWTPart - EPMDocument の不一致が警告メッセージに表示されます。EPMDocument の不一致があるかどうかを検出できない場合、WTPart の不一致がチェックされます。
Both - WTPart の不一致と EPMDocument の不一致の両方が警告メッセージに表示されます。
このプロパティの値が指定されていないか、上記の値のいずれかに設定されていない場合、デフォルトの WTPart になります。
publish.cadconvert.PROE.getalldependentsforextposassy
デフォルト: False
概要: Java クラスの照合に対するアプリケーションタイプ。
説明:拡張配置アセンブリとしてパブリッシングする場合に PROE タイプで有効です。True に設定した場合、製品表現にはアセンブリ構造内のすべてのアセンブリレベルの構成部品から依存ファイルが読み込まれます。false に設定した場合、アセンブリ構造内の第 1 レベルの構成部品だけが読み込まれます。
* 
このプロパティを True に設定すると、パフォーマンスに影響が及びます。このプロパティは、トップレベルアセンブリで間接的な子のアセンブリフィーチャーを作成するモデリング手法を採用している顧客に対しては、True に設定します。
edrload.dynamiccadstructure.donotreadpvs
edrload.dynamicpartstructure.donotreadpvs
デフォルト値: True
概要: Creo View または「Visualization」タブで、ダイナミック CAD 構造または部品構造を表示するとき、製品表現の PVS ファイルを読み取るかどうかを指定します。
説明: 単一構成部品を含む PVS ファイルを持つ製品表現のダイナミック構造は、ボルトから PVS ファイルを読み取ることなくサーバーで生成されます。ダイナミックな構造生成で、PVS ファイルの読み取りが不要な製品表現かどうかを認識できるようにするために、製品表現に新しい OL ファイル名フラグを付けます。
True に設定されている場合、Creo View および「ビジュアリゼーション」タブで、ダイナミック CAD および部品構造の読み取りパフォーマンスが向上します。
false に設定されている場合、WVS は構成部品ごとに PVS ファイルを読み取ります。
CAD で表現されている部品として部品を識別
CAD で表現されている部品を識別するためのグループの設定 - CAD で表現されている部品として識別するものの定義を制御するには XML ファイルが使用されます。CAD で表現されている部品を表す複数のグループをこの XML ファイルに設定できます。各グループは複数のグローバル属性および WTPart ソフトタイプから成ります。「サイト」および「組織」コンテキストで使用可能な「Visualization」 > 「ダイナミック構造」 > 「CAD で表現されている部品コンフィギュレーション XML の場所」WVS プリファレンスによって、CAD で表現されている部品として識別する部品の設定に使用される XML ファイルの場所と名前を設定します。この場所は、<Windchill> ディレクトリからの相対パス、または絶対パスとして指定できます。CAD で表現されている部品を識別するためのコンフィギュレーションファイルの作成方法、および名前と説明をローカライズする機能については、<Windchill>\codebase\com\ptc\wvs\server\xml にあるファイル CADRepresentedPartConfiguration.xml を参照してください。
* 
この XML ファイルが更新された場合、Windchill に再ロードする必要があります。管理者はこのプリファレンスを更新して「OK」をクリックすることで、変更をアップロードできます。これを行わない場合、次回にメソッドサーバーが開始したときにこのファイルは更新されます。
CAD で表現されている部品の識別に使用されるグループを選択するユーザープリファレンス - 「Visualization」 > 「ダイナミック構造」 > 「ダイナミック部品構造の CAD で表現されている部品」ユーザープリファレンスを設定することによって、CAD で表現されている部品として部品を識別する際に使用するグループを選択できます。以下の例では、CAD で表現されている部品として識別する対象として、Bucket Cylinder、Main Cylinders、Head Lights のすべてが選択されています。
使用する未配置のコンポーネントをダイナミック部品構造に表示するかどうかを指定するユーザープリファレンス - 「Visualization」 > 「ダイナミック構造」 > 「ダイナミック部品構造で未配置のコンポーネントを表示」ユーザープリファレンスを設定することで、使用する未配置のコンポーネントをダイナミック部品構造に表示するかどうかを指定できます。たとえば、このプリファレンスが「はい」に設定されている場合、Creo View でダイナミック部品構造を開くと未配置のコンポーネントが表示されます。
* 
「Visualization」タブに CAD で表現されている部品の構造を表示する場合、この構造はビューデータの構造と異なるので、オブジェクトを選択したときに構造内の正しいオブジェクトがハイライトされないことがあります。CAD で表現されている部品を Creo View で表示する場合、Creo View ではダイナミック構造の生成によって修正された構造が表示されるので、正しいオブジェクトがハイライトされます。
例: CAD で表現されている部品の XML コンフィギュレーション
CAD で表現されている部品のフィルタを制御する XML ファイルの例を以下に示します。
Group 1 defines an IBA-named "cad-represented-part" in which its value starts with "crp"
<!-- ####################################################### --> <!-- This configuration file is used by dynamic part structure visualization to control the CAD Represented Part Filtering. --> <!-- --> <!-- ####################################################### --> <!-- # The following XML elements and attributes are used to control CAD Represented Part Filtering # --> <!-- # defined by the following XML schema CADRepresentedPartConfiguration.xsd # --> <!-- ####################################################### --> <!-- --> <!-- Element: "cad-represented-parts" = Declaration element for all control options pertaining to CAD Represented Part Filtering. --> <!-- Element: "group" = defines a set of CAD Represented filters displayed on the UI --> <!-- Attribute: "id" = String value representing a unique id for the "group" element. --> <!-- Attribute: "name" = If attribute "resource_name" is defined the value is used to access the entry in the resource --> <!-- bundle for the name of the "group" else if "resource_name" is not present the value will --> <!-- be displayed as is on the UI for the name of the "group" element. --> <!-- Attribute: "description" {optional} = If attribute "resource_name" is defined the value will be used to access the entry in the --> <!-- resource bundle for the description of the "group" else if "resource_name" is not defined --> <!-- the value will be displayed as is on the UI for the description of the "group" element. --> <!-- Attribute: "resource_name" {optional} = Resource class to use to pull the "name" and "description" attribute values from. --> <!-- If this is defined for a "group" element the attributes "name" and "description" --> <!-- on the "group" element will be used as the keys to the entries in the resource file. --> <!-- Attribute: "default" {optional} = Sets the default value for the preference "group" to checked (enabled) or --> <!-- unchecked (disabled), if not defined the default will be "disabled" --> <!-- Element: "iba" = Defines a single part attribute to indicate the part as a "CAD Represented Part". --> <!-- Element: "name" = An attribute name that exists on a part in which its value can be used to determine if a part is --> <!-- a "CAD Represented Part". NOTE: The IBA types supported for this feature are String and boolean --> <!-- Element: "regex" = A Java regular expression used to determine if the attribute value equates to a "CAD Represented Part" --> <!-- Element: "object-type" = String name of a Windchill defined WTPart or soft type of WTPart. --> <!-- --> <!-- ############# --> <!-- # Example 1 # --> <!-- ############# --> <!-- Defines Two cad-represented-parts: --> <!-- Group 1 defines an IBA named "cad-represented-part" in which its value starts with "crp" --> <!-- and will be considered a CAD Represented Part. The group is enabled. --> <!-- --> <!-- Group "name" will be displayed as the string literal: "Name of the group displayed on the preference UI" --> <!-- Group "description" will be displayed as the string literal: "Description of group displayed on preference UI" --> <!-- --> <!-- Group 2 defines an IBA value of "cad-represented-part2" --> <!-- in which if its value is true will be considered a CAD Represented Part, The group is disabled. --> <!-- NOTE: Must use true or false for the regex value for boolean attributes. --> <!-- --> <!-- Group "name" will be displayed as the string literal: "Name of the group displayed on the preference UI" --> <!-- Group "description" will be displayed as the string literal: "Description of group displayed on preference UI" --> <!-- --> <!-- <cad-represented-parts> --> <!-- <group id="1" name="Name of the group displayed on the preference UI" --> <!-- description="Description of group displayed on preference UI" default="enabled"> --> <!-- <iba> --> <!-- <name>cad-represented-part</name> --> <!-- <regex>crp.*</regex> --> <!-- </iba> --> <!-- </group> --> <!-- <group id="2" name="Name of the group displayed on the preference UI" --> <!-- description="Description of group displayed on preference UI" default="disabled"> --> <!-- <iba> --> <!-- <name>cad-represented-part2</name> --> <!-- <regex>true</regex> --> <!-- </iba> --> <!-- </group> --> <!-- </cad-represented-parts> --> <!-- --> <!-- ############# --> <!-- # Example 2 # --> <!-- ############# --> <!-- Defines a "cad-represented-parts" with one entry which --> <!-- defines the entry for "object-type" to have a value of "org.rnd.ECADSoftType" which is a Windchill softtype, The --> <!-- group is disabled. --> <!-- --> <!-- Group "name" will be displayed as the string literal: "Name of the group displayed on the preference UI" --> <!-- Group "description" will be displayed as the string literal: "Description of group displayed on preference UI" --> <!-- --> <!-- <cad-represented-parts> --> <!-- <group id="1" name="Name of the group displayed on the preference UI" --> <!-- description="Description of group displayed on preference UI" default="disabled"> --> <!-- <object-type>org.rnd.ECADSoftType</object-type> --> <!-- </group> --> <!-- </cad-represented-parts> --> <!-- --> <!-- ############# --> <!-- # Example 3 # --> <!-- ############# --> <!-- Defines a cad-represented-parts with three entries and is enabled: --> <!-- First entry defining an IBA value "cad-represented-part" in which if its value is true --> <!-- will be considered a CAD Represented Part. --> <!-- NOTE: Must use true or false for the regex value for boolean attributes. --> <!-- Second entry defining a soft type value of "org.rnd.ECADSoftType1" --> <!-- Third entry defining a soft type value of "org.rnd.ECADSoftType2" --> <!-- --> <!-- Group name is defined by the resource class and key pairs: --> <!-- resource class = "com.ptc.wvs.resource" defined by the attribute "resource_name" on element "group" --> <!-- resource key = "name_key" defined by the attribute "name" on element "group" --> <!-- Group description is defined by the resource class and key pairs: --> <!-- resource class = "com.ptc.wvs.resource" defined by the attribute "resource_name" on element "group" --> <!-- resource key = "description_key_key" defined by the attribute "name" on element "group" --> <!-- --> <!-- <cad-represented-parts> --> <!-- <group id="1" name="name_key" --> <!-- description="description_key" resource_name="com.ptc.resource" default="enabled"> --> <!-- <iba> --> <!-- <name>cad-represented-part</name> --> <!-- <regex>true</regex> --> <!-- </iba> --> <!-- <object-type>org.rnd.ECADSoftType1</object-type> --> <!-- <object-type>org.rnd.ECADSoftType2</object-type> --> <!-- </group> --> <!-- </cad-represented-parts> --> <!-- ####################################################### -->
-<cad-represented-parts>
-<group default="enabled" description="Defines an IBA named CRP
where all objects that match the Java regex 'crp.*'
will be treated as a cad represented part."
name="CAD Represented Part" id="1">
-<iba>
<name>CRP</name>
<regex>crp.*</regex>
</iba>
</group>
</cad-represented-parts>