用例 5:生成具有未基于部件遍历的特定结构的下游结构
假设 BOM 变换器中存在以下结构:
• Upstream Parent Part (Design) 与 Downstream Parent Part (Manufacturing) 之间存在对等链接。
• 结构中除 Part C2 (Design) 之外的所有其他部件的部件类型均为 wt.part.WTPart。
• Part C2 (Design) 的部件类型为 ElectricalPart。
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=AttributeNum1:String1:AttributeNum2:String2"/>
| 在特性涉及映射的情况下,为上游和下游指定的映射属性不得相同。 |
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.com.ptc.ElectricalPart" multivalued="," default=""/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.com.ptc.ElectricalPart" value="transformoption=newBranch"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.com.ptc.ElectricalPart" value="doNotTraverse=true"/>
| 对上游选定部件启动 操作后,Windchill 系统将遍历选定部件下方的结构。 此配置可确保: • 如果 Windchill 系统在上游结构中检测到部件使用关系属性 AttributeNum1 设为 String1 的部件,则会将检测到的部件作为新分支添加到下游结构中部件类型为 wt.part.WTPart 且部件使用关系属性 AttributeNum2 设为 String2 的部件之下。 • 如果 Windchill 系统检测到部件类型为 ElectricalPart 的部件,则会将该部件添加为新分支。但是,系统不会遍历检测到的部件下方的结构。 在这种情况下,不会添加与 ElectricalPart 的映射相关的任何特性。ElectricalPart 是 wt.part.WTPart 的子类型。ElectricalPart 继承了 wt.part.WTPart 中的 GDS 映射特性。 |
3. 选择
Upstream Parent Part (Design),然后单击中间窗格工具栏中的
。
4. BOM 变换器中会显示下列结构:
| • 不会添加与 ElectricalPart 的映射相关的任何特性。Part C2 (Manufacturing) 仍将作为新分支添加到部件类型为 wt.part.WTPart 且部件使用关系属性 AttributeNum2 设为 String2 的下游部件之下。这是因为,ElectricalPart 是 wt.part.WTPart 的子类型。ElectricalPart 继承了 wt.part.WTPart 中的 GDS 映射特性。GDS 映射特性是针对 wt.part.WTPart 定义的。 • 根据 <AddToPropertyname="com.ptc.windchill.associativity.reconciliation.addusage.com.ptc.ElectricalPart" value="doNotTraverse=true"/> 中设置的条件,不会变换 Part C2 (Design) 下方的结构,因为 Part C2 (Design) 属于 ElectricalPart。 |