用例 17:基于模板生成下游结构并创建对等链接
利用下游模板结构和规则文件,可以为上游结构创建对等链接,还可以将节点移到下游结构之下。
假设 BOM 变换器中存在以下结构:
• 下游结构不存在。
• MainAssembly1 (Design) 的属性 PartAttribute 的值设置为 value1。
要基于模板生成下游结构,可以在规则文件或特性文件中指定下游模板结构以及变换和重构规则。要在特定部件之间创建对等链接,可以使用 equivalentLinkRules 配置在规则文件或特性文件中指定对等链接规则。此配置不用于变换。
下游模板结构
使用模板时,您可以在“生成下游结构”对话框的“编号后缀”框中为模板中的部件指定后缀。若未指定,则由系统自动生成部件编号。在本示例中,指定的后缀为 "_1"。
此外,还需要使用“生成下游结构”对话框中的“下游视图”列表为模板中的部件选择下游视图。若未指定,则会考虑“下游视图”列表中显示的默认视图。在本示例中,指定的视图为 "Manufacturing"。
使用规则文件
{
"equivalentLinkRules": [
{
"sourceType": "wt.part.WTPart",
"sourceAttributes": ["genericType=dynamic"],
"newAttributeMappings": [
["source.part.PartAttribute:value1","target.part.PartAttribute:value2"]
],
"targetType": "org.rnd.PartSubType1"
}
],
"transformRules": [
{
"sourceType": "wt.part.WTPart",
"sourceAttributes": ["genericType=standard"],
"newAttributeMappings": [
["source.part.name:Level1*","target.part.name:Level1_MBOMAssembly"],
["source.part.name:Level2*","target.part.name:Level2_MBOMAssembly"],
["source.part.name:Level3*","target.part.name:Level3_MBOMAssembly"]
],
"transformOption": "addSame",
"targetType": "org.rnd.PartSubType1"
}
]
}
在
newAttributeMappings 配置中,星号 (*) 用作分隔符,旨在指示以 "Level1"、"Level2" 和 "Level3" 开头的部件名称。要将星号 (*) 用作分隔符,必须在
“用于定义范围的分隔符”首选项中将其指定为分隔符值。有关此首选项的详细信息,请参阅
MPMLink 中的首选项。
执行“生成下游结构”操作后,BOM 变换器中会显示以下结构:
基于下游模板结构以及规则文件或特性文件中指定的条件,以下列方式生成对等链接和下游结构:
• 系统为作为模板组件的下游部件添加后缀 "_1"。
• 名称以 "Level1" 开头的上游部件 (即 Level1_Part1 (Design) 和 Level1_Part5 (Design)) 将按原样添加到名称为 "Level1_MBOMAssembly" 的下游部件之下。
• 名称以 "Level2" 开头的上游部件 (即 Level2_Part2 (Design) 和 Level2_Part4 (Design)) 将按原样添加到名称为 "Level2_MBOMAssembly" 的下游部件之下。
• 名称以 "Level3" 开头的上游部件 (即 Level3_Part3 (Design) 和 Level3_Part6 (Design)) 将按原样添加到名称为 "Level3_MBOMAssembly" 的下游部件之下。
• 根据 equivalentLinkRules 配置,在 PartAttribute 值分别为 value1 和 value2 的 MainAssembly1 (Design) 与 MBOM_MainAssembly2 (Manufacturing) 之间创建对等链接。
• 在新添加的下游部件与相关的上游部件之间创建其他对等链接。