其他功能 > 制造过程管理 > 将 eBOM 变换为 mBOM > 创建 mBOM > “生成下游结构”操作概述 > 用例:生成下游结构 > 用例 5:以未基于部件遍历的特定结构生成下游结构
用例 5:以未基于部件遍历的特定结构生成下游结构
假设 BOM 变换器中存在以下结构:
Upstream Parent Part (Design)Downstream Parent Part (Manufacturing) 之间存在对等链接。
结构中除 Part C2 (Design) 之外的所有其他部件的部件类型均为 wt.part.WTPart
Part C2 (Design) 的部件类型为 ElectricalPart
要基于结构遍历生成下游结构,可以使用规则文件或特性文件指定变换和重构规则。
使用规则文件
{
"transformRules": [
{
"sourceType": "wt.part.WTPart",
"newAttributeMappings": [
[
"source.usage.AttributeNum1:String1",
"target.part.AttributeNum2:String2"
]
],
"targetType": "wt.part.WTPart",
"transformOption": "newPart"
},
{
"sourceType": "com.ptc.ElectricalPart",
"doNotTraverse": "true"
},
]
}
使用特性文件
1. 访问位于 Windchill/codebase/com/ptc/core/foundation/associativityassociativity.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 的映射相关的任何特性。ElectricalPartwt.part.WTPart 的子类型。ElectricalPart 继承了 wt.part.WTPart 中的 GDS 映射特性。
BOM 变换器中会显示下列结构:
不会添加与 ElectricalPart 的映射相关的任何特性。Part C2 (Manufacturing) 仍将作为新分支添加到部件类型为 wt.part.WTPart 且部件使用关系属性 AttributeNum2 设为 String2 的下游部件之下。这是因为,ElectricalPartwt.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
这对您有帮助吗?