用例 3:通过映射多个部件使用关系属性生成下游结构
假设 BOM 变换器中存在以下结构:
• Upstream Parent Part (Design) 和 Downstream Parent Part (Manufacturing) 之间存在对等链接。
• 结构中所有部件的部件类型均为 wt.part.WTPart。
要通过映射多个部件使用关系属性生成下游结构,可以使用规则文件或特性文件指定变换和重构规则。
使用规则文件
{
"transformRules": [
{
"sourceType": "wt.part.WTPart",
"newAttributeMappings": [
[
"source.usage.AttributeNum1:10",
"target.part.AttributeNum3:20"
],
[
"source.usage.AttributeNum2:20",
"target.part.AttributeNum4:30"
]
],
"targetType": "wt.part.WTPart",
"transformOption": "newPart"
}
]
}
使用特性文件
1. 访问位于 Windchill/codebase/com/ptc/core/foundation/associativity 的 associativity.properties.xconf 文件。
2. 添加以下重构规则:
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPartUsageLink" multivalued="," default=""/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPartUsageLink" value="targetType=wt.part.WTPart"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPartUsageLink" value="transformOption=newPart"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPartUsageLink" value="attributeMapping.rule1=AttributeNum1:10:AttributeNum3:20"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPartUsageLink" value="attributeMapping.rule1=AttributeNum2:20:AttributeNum4:30"/>
在特性涉及映射的情况下,为上游和下游指定的映射属性不得相同。
对上游选定部件启动
操作后,Windchill 系统将遍历选定部件下方的结构。 此配置可确保:
• 如果 Windchill 系统在上游结构中检测到部件使用关系属性 AttributeNum1 设为 10 的部件,则会将检测到的部件作为新部件添加到下游结构中部件类型为 wt.part.WTPart 且部件使用关系属性 AttributeNum3 设为 20 的部件之下。
• 如果 Windchill 系统在上游结构中检测到部件使用关系属性 AttributeNum2 设为 20 的部件,则会将检测到的部件作为新部件添加到下游结构中部件类型为 wt.part.WTPart 且部件使用关系属性 AttributeNum4 设为 30 的部件之下。
BOM 变换器中会显示下列结构:
Part C1 (Manufacturing) 和 Part C2 (Manufacturing) 将作为新部件分别添加到 Part T1 (Manufacturing) 和 Part T2 (Manufacturing) 之下。这是因为,Part T1 (Manufacturing) 的部件使用关系属性 AttributeNum3 设为 20,而 Part T2 (Manufacturing) 的部件使用关系属性 AttributeNum4 设为 30。