用例 16:基于具体值属性生成下游结构
假设 BOM 变换器中存在以下结构:
• Top_Assembly (Design) 与 Top_MBOMAssembly (Manufacturing) 之间存在对等链接。
• Part1、Part2 和 Part3 分别具有具体值属性 OccIBA 的值 occv1、occv2 和 occv3。
• MBOM_Assembly1、MBOM_Assembly2 和 MBOM_Assembly3 分别具有属性 PartAttribute 的值 Value1、Value2 和 Value3。
要基于具体值属性生成下游结构,可以使用规则文件或特性文件指定变换和重构规则。
| 此功能正在得到增强。目前,使用此配置可将上游部件的所有具体值都变换为下游结构。 |
使用规则文件
在文本文件中,以 JSON 格式添加以下规则:
{
"transformRules": [
{
"sourceType": "wt.part.WTPart",
"sourceAttributes": ["genericType=standard"],
"newAttributeMappings": [
[
"source.occurrence.OccIBA:occv1",
"target.part.PartAttribute:Value1"
],
[
"source.occurrence.OccIBA:occv2",
"target.part.PartAttribute:Value2"
],
[
"source.occurrence.OccIBA:occv3",
"target.part.PartAttribute:Value3"
]
],
"transformOption": "newBranch",
"targetType": "wt.part.WTPart"
}
]
}
使用特性文件
1. 访问位于 Windchill/codebase/com/ptc/core/foundation/associativity 的 associativity.properties.xconf 文件。
2. 添加以下重构规则:
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" multivalued="," default=""/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" value="attribute.genericType=standard"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" value="newAttributeMapping.rule1.entry1=source.occurrence.OccIBA:occv1,newAttributeMapping.rule1.entry2=target.part.PartAttribute:Value1"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" value="newAttributeMapping.rule2.entry1=source.occurrence.OccIBA:occv2,newAttributeMapping.rule2.entry2=target.part.PartAttribute:Value2"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" value="newAttributeMapping.rule3.entry1=source.occurrence.OccIBA:occv3,newAttributeMapping.rule3.entry2=target.part.PartAttribute:Value3"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" value="transformOption=newBranch"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" value="targetType=wt.part.WTPart"/>
执行“生成下游结构”操作后,BOM 变换器中会显示以下结构:
根据规则文件或特性文件中指定的条件,以下列方式生成下游结构:
• 对于 OccIBA 值为 occv1 的 Part1,其 2 个具体值将添加到 PartAttribute 值为 Value1 的 MBOM_Assembly1 (Manufacturing) 之下。
• 对于 OccIBA 值为 occv2 的 Part2,其 2 个具体值将添加到 PartAttribute 值为 Value2 的 MBOM_Assembly2 (Manufacturing) 之下。
• 对于 OccIBA 值为 occv3 的 Part3,其 2 个具体值将添加到 PartAttribute 值为 Value3 的 MBOM_Assembly3 (Manufacturing) 之下。