Creo View 干渉エンジンの構成 > Creo View 干渉エンジンの操作 > 例: グループの比較
  
例: グループの比較
2 つのグループを比較できます。グループは入力データセットで定義します。Creo View ではグループを事前に設定できます。
グループ <inclusion> は次のように定義されています。
<inclusion selfIntersect="false" id="id1">
<groupref name="built"/>
</inclusion>
例: グループ内でテストしないグループ照会
属性 selfIntersect (デフォルト =true) は、この <inclusion> エレメント内のアイテム同士を比較するかどうかを指定します。この例では、このエレメントは “false” として定義されています。全体の例を次に示します。
<inclusions>
<inclusion selfIntersect="false" id="id1">
<groupref name="built"/>
</inclusion>
<inclusion selfIntersect="false" id="id2">
<groupref name="bought"/>
</inclusion>
</inclusions>
例: 2 つのグループのコンテンツを比較するグループ照会
この例では、builtbought の 2 つのグループが定義されています。どちらにも値 selfIntersect= “false” が含まれています。この照会は built のコンテンツを bought のコンテンツと比較します。
<?xml version="1.0" encoding="UTF-8"?>
<pvc>
<dataset srcurl="d:/temp/batch_clash/landing_gear.pvs">
<clashDefinition>
<clashParams mode="QUICK">
<hard maxAllowableVolume="4" active="true"/>
</clashParams>
<inclusions>
<inclusion selfIntersect="false">
<groupref name="built"/>
</inclusion>
<inclusion selfIntersect="false">
<groupref name="bought"/>
</inclusion>
</inclusions>
</clashDefinition>
</dataset>
</pvc>
% pvsclashbatch groups.xml を使用して照会を実行します。この照会はグループ built をグループ bought と照らし合わせてテストします。出力は groups.pvc に書き込まれます。
任意のタイプの Creo View グループを使用できます。これらはサーチ照会などから動的に取り込むことができます。IDD (干渉検出の定義) に含まれているのはグループ名だけで、含めるアイテムは含まれていません。pvsclashbatch は、Creo View セッションを開始すると、データをロードし、動的グループのコンテンツを取り込んで、干渉検出照会を実行します。
例: 2 つのグループのコンテンツを比較して特定のアイテムを除外するグループ照会
<inclusions> セクションとともに、オプションで <exclusions> セクションを指定できます。ここには、テストから除外する部品、アセンブリ、グループなどの特定のアイテムを指定します。この例は、部品 CASE1 の特定のインスタンスを除外する方法を示しています。
<clashDefinition>
<inclusions> … </inclusions>
<exclusions>
<exclusion>
<partref name="CASE1" allInstances="false"
pvcidpath="/@@PV-AUTO-ID@@000/@@PV-AUTO-ID@@000"/>
</exclusion>
</exclusions>
例: 定義したインスタンスを除外するグループ照会
次の例では、All という名前のグループを使用するテストから、1 つの部品インスタンス (UPPER_CYL) と 1 つのグループ (Specific) が除外されます。All はサーチグループとして定義されています。そのコンテンツは動的に取り込まれます。
<?xml version="1.0" encoding="UTF-8"?>
<pvc>
<dataset srcurl="d:/temp/batch_clash/landing_gear.pvs">
<clashDefinition>
<clashParams mode="QUICK">
<hard maxAllowableVolume="4" active="true"/>
</clashParams>
<inclusions>
<inclusion selfIntersect="true" id="id1">
<groupref name="All"/>
</inclusion>
</inclusions>
<exclusions>
<exclusion>
<partref name="UPPER_CYL" allInstances="false" pvcidpath="/3"/>
</exclusion>
<exclusion>
<groupref name="Specific"/>
</exclusion>
</exclusions>
</clashDefinition>
</dataset>
</pvc>
照会からアイテムを除外するには % pvsclashbatch exclude.xml を使用します。出力は exclude.pvc です。
例: ペアの除外とグループの除外を含む照会
<exclusions>
<exclusion>
<groupref name="MyExclusion" allInstances="false"/>
</exclusion>
<exclusion>
<pair allInstances="false">
<partref name="crank_case" pvcidpath="/@@PV-AUTO-ID@@000/
@@PV-AUTO-ID@@006"/>
<partref name="crank_rod_caps" pvcidpath="/@@PV-AUTO-ID@@000/
@@PV-AUTO-ID@@010"/>
</pair>
</exclusion>
<exclusion>
<pair allInstances="false">
<partref name="cam_gear" pvcidpath="/@@PV-AUTO-ID@@000/
@@PV-AUTO-ID@@007"/>
<partref name="crank" pvcidpath="/@@PV-AUTO-ID@@000/
@@PV-AUTO-ID@@001"/>
</pair>
</exclusion>
<exclusion>
<grouppair>
<groupref name="Small">
<groupref name="Soft">
</grouppair>
</exclusion>
</exclusions>
例: 相互にテストするグループアイテムの照会
アイテムの集合 (A) を別のアイテムの集合 (B) と照らし合わせてテストする単純な A 対 B のテストでは、次の 2 つのオプションがあります。
Creo View を使用して 2 つのグループ (A、B) を作成します。次に、上で定義した標準のグループテストを使用します。
<vs> エレメントを使用します。これは作業途中で作成した 2 つの <group> 定義をテストする特別なテストです。この例では、<inclusions> エレメントには、2 つの <group> エレメントを定義する <vs> エレメントが含まれています。それぞれの <group> には、groupsrefpartref などの 1 つ以上の参照エレメントを含めることができます。この構文を使用して、グループを作業途中で定義できます。
<inclusions>
<vs>
<group>
<groupref name="Specific" id="id3"/>
</group>
<group>
<groupref name="built" id="id1"/>
<groupref name="bought" id="id2"/>
</group>
</vs>
</inclusions>
この例では、1 つ目のグループ (A) は Specific グループを参照します。2 つ目のグループ (B) は 2 つのグループ builtbought を参照します。このテストを実行すると、A のコンテンツが B のコンテンツと照らし合わせてテストされます。selfIntersect にオプションはありません。<vs> モードでは、必ずグループ A、B 同士でのみテストする必要があります。
グループ Specificbuiltbought を組み合わせたコンテンツと照らし合わせてテストするには、% pvsclashbatch avsb.xml を使用してこの照会を実行します。出力はファイル avsb.pvc に書き込まれます。
例: 動的グループ照会
動的スプリッターグループは、干渉エンジンへの複雑で動的な入力を作成するための強力なツールです。動的スプリッターグループはグループを入力としてとり、スプリッターグループで定義されている特定の基準に基づいて、新しいグループのセットが作成されます。これらの新しいグループはスプリッターグループの子として表示され、入力グループのアイテムを含み、スプリッター規則に従って分割および分類されます。
干渉テストへの入力として動的スプリッターグループを渡すことで、その派生 (子) グループを入力として使用するようテストが定義されます。たとえば、属性 Vendors の値によって入力グループ (All) を分割する動的グループ Vendors の場合、各ベンダーによって設計または提供されたすべての部品を表す子グループのリストが出力になります。ベンダー部品間の干渉をテストするには、テストを次のように定義できます。
<inclusions>
<inclusion selfIntersect="false">
<groupref name="Vendors"/>
</inclusion>
</inclusions>
ここの <inclusion> エレメントは selfIntersect がオフの入力として Vendors を定義しています。
VendorsCreo View にロードされると、実際には vend1vend2、… vendN などの多数の子グループが作成されます。実行内容をそのまま記述してテストを定義してみると、次のようになります。
<inclusions>
<inclusion selfIntersect="false"><groupref name="vend1"/></inclusion>
<inclusion selfIntersect="false"><groupref name="vend2"/></inclusion>
...
<inclusion selfIntersect="false"><groupref name="vendN"/></inclusion>
</inclusions>
これは静的なテストとなります。ベンダーの数が変わると、テストのインスタンスは合わなくなります。動的スプリッターグループを入力として使用することで、このテストが実行されるたびに子グループが動的に作成されるので、データの変更に応じて子グループも変化します。
グループ Vendors をテストするには、% pvsclashbatch vendor-dynamic.xml を使用してこの照会を実行します。出力はファイル vendor-dynamic.pvc に書き込まれます。
例: VS モードのグループクリアランス
VS モードの入力フォーマットの例
<inclusions>
<vs>
<group>
<groupref name="B" id="id1" minAllowableClearance =”0.5”/>
<groupref name="A" id="id0" minAllowableClearance =”0.6”/>
</group>
<group>
<groupref name="C" id="id2" minAllowableClearance =”0.7”/>
<groupref name="D" id="id3" minAllowableClearance =”0.9”/>
</group>
</vs>
</inclusions>
* 
grouprefpartref、または predefined に対するオプションの属性 minAllowableClearance