ユースケース 7: 部品親子関係属性に基づいて部品をスキップして下流構造を生成
BOM トランスフォーマに以下の構造が存在するとします。
• Upstream Parent Part (Design) と Downstream Parent Part (Manufacturing) の間に対応リンクが存在します。
• 構造内の Part T2 (Manufacturing) を除くすべての部品の部品タイプは wt.part.WTPart です。
• Part T2 (Manufacturing) の部品タイプは ElectricalPart です。
部品の親子関係属性に基づいて部品をスキップして下流構造を生成するには、規則ファイルまたはプロパティファイルを使用して変換規則と再構築規則を指定できます。
規則ファイルを使用
{
"transformRules": [
{
"sourceType": "wt.part.WTPart",
"newAttributeMappings": [
[
"source.usage.Attribute1:String2",
"target.part.Attribute2:String1"
]
],
"targetType": "wt.part.WTPart",
"transformOption": "newPart",
"skipAttributes":[
"Attribute1:String1"
]
}
]
}
プロパティファイルを使用
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=newPart"/>
<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="skipAttribute.Attribute1=String1"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="attributeMapping.rule1=Attribute1:String2:Attribute2:String1"/>
| マッピングを含むプロパティの場合、上流と下流に指定されているマッピング属性が同じであってはなりません。 |
上流で選択した部品に対して
操作を開始すると、選択した部品の下の構造がスキャンされます。このコンフィギュレーションによって以下の処理が行われます。
• 部品親子関係属性 Attribute1 が String2 に設定されている部品が上流で検出された場合、その部品は、下流の、部品タイプが wt.part.WTPart で部品親子関係属性 Attribute2 が String1 に設定されている部品の下に、新規部品として貼り付けられます。
• 部品親子関係属性 Attribute1 が String1 に設定されている部品が上流で検出された場合、その部品はスキップされ、下流には追加されません。ただし、検出された部品の下の構造はスキャンされます。
BOM トランスフォーマに以下の構造が表示されます。
Part T1 (Manufacturing) の部品タイプが wt.part.WTPart なので、Part C2 (Manufacturing) および Part C3 (Manufacturing) はこの下に新規部品として追加されます。Part T2 (Manufacturing) の部品タイプが wt.part.WTPart ではなく、部品親子関係属性 Attribute2 が String1 に設定されているので、この部品の下に部品は追加されません。