ユースケース 13: 範囲属性に基づいて部品をスキップして下流構造を生成
範囲を定義することで下流構造を生成できます。属性値が一定の範囲内にある部品が転送されないようにする必要がある場合があります。skip 属性を使用して、属性値が一定の範囲内にある部品をスキップできます。
BOM トランスフォーマに以下の構造が存在するとします。
Upstream Parent Part (Design)Downstream Parent Part (Manufacturing) の間に対応リンクが存在します。
構造内のすべての部品の部品タイプは wt.part.WTPart です。
「範囲を定義する区切り記号」プリファレンスの値は > に設定されています。これがデフォルト値です。
属性 GDS_MatchWTPart に作成されます。この属性を使用して範囲を定義します。
属性 skip_rangeWTPart に作成されます。この属性を使用して、部品をスキップします。
Part D1 (Manufacturing) の属性 source の値は buy に設定されています。
範囲属性に基づいて部品をスキップして下流構造を生成するには、規則ファイルまたはプロパティファイルを使用して変換規則と再構築規則を指定できます。
規則ファイルを使用
{
"transformRules": [
{
"sourceType": "wt.part.WTPart",
"newAttributeMappings": [
[
"source.usage.GDS_Match:1>9",
"target.part.source:buy"
]
"targetType": "wt.part.WTPart",
"transformOption": "newBranch"
"skipAttributes":[
"skip_range=a20>a90"
]
}
]
}
プロパティファイルを使用
1. Windchill/codebase/com/ptc/core/foundation/associativity にあるファイル associativity.properties.xconf にアクセスします。
2. 以下の再構築規則を追加します。
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" multivalued="," default=""/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="transformOption=newBranch"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="targetType=wt.part.WTPart"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="attributeMapping.rule1=GDS_Match:1>9:source:buy"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.skip_range=a20>a90"/>
* 
GDS_Match の値 1>9 は範囲を示しています。「範囲を定義する区切り記号」プリファレンスの値は > に設定されています。1>9 は、範囲が 1 から 9 までであることを意味します。この場合、比較のために値 12345678、および 9 が考慮されます。
skip_range の値 a20>a90 は範囲を示しています。「範囲を定義する区切り記号」プリファレンスの値は > に設定されています。a20>a90 は、範囲が a20 から a90 までであることを意味します。
「下流構造を生成」操作を実行すると、BOM トランスフォーマに次の構造が表示されます。
選択した部品の下の構造がスキャンされます。このコンフィギュレーションにより、以下の処理が行われます。
上流部品の GDS_Match 属性の値が 1 から 9 までである場合、上流部品は一致するターゲット下流部品の下に新規ブランチとして追加されます。
属性 skip_range の値が a20 から a90 までに設定されている上流の部品を Windchill システムが検出すると、その部品はスキップされ、下流に追加されません。ただし、検出された部品の下の構造はスキャンされます。
指定されている基準に基づいて、Part C1 (Manufacturing)Part C2 (Manufacturing)Part C6 (Manufacturing)Part C7 (Manufacturing)Part D1 (Manufacturing) の下に新規部品として追加されます。
Subassembly C4Subassembly C5 は、skip_range 属性の値が指定されている範囲 a20>a90 に含まれているため、スキップされ、下流ビューに転送されません。
これは役に立ちましたか?