其他功能 > 制造过程管理 > 将 eBOM 变换为 mBOM > 创建 mBOM > “生成下游结构”操作概述 > 用例:生成下游结构 > 用例 13:通过基于范围属性跳过部件来生成下游结构
用例 13:通过基于范围属性跳过部件来生成下游结构
可以通过定义范围来生成下游结构。可能存在这样一种情况:您可能不想传递属性值在某一范围内的部件。可以使用 skip 属性跳过属性值在某一范围内的此类部件。
假设 BOM 变换器中存在以下结构:
Upstream Parent Part (Design)Downstream Parent Part (Manufacturing) 之间存在对等链接。
结构中所有部件的部件类型均为 wt.part.WTPart
将首选项“用于定义范围的分隔符”的值设置为 >。此为默认值。
针对 WTPart 创建属性 GDS_Match。使用此属性定义范围。
针对 WTPart 创建属性 skip_range。使用此属性跳过部件。
Part D1 (Manufacturing) 的属性 source 的值设置为 buy
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=GDS_Match:1>9:source:buy"/>
在上面的特性中,1>9 用来描述范围。将首选项“用于定义范围的分隔符”的值设置为 >1>9 表示范围从 19。在这种情况下,系统会考虑用以下值进行比较:123456789
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.skip_range=a20>a90"/>
在上面的特性中,a20>a90 用来描述范围。将首选项“用于定义范围的分隔符”的值设置为 >a20>a90 表示范围从 a20a90
* 
对上游选定部件启动 操作后,Windchill 系统将遍历选定部件下方的结构。此配置可确保:
如果上游部件的属性 GDS_Match 的值是从 19,则会将上游部件作为新分支添加到目标匹配的下游部件下。
如果 Windchill 系统检测到属性 skip_range 的值设为从 a20a90 的上游部件,则会跳过该部件,而不会将其添加到下游中。但是,将遍历检测到的部件下方的结构。
3. 选择 Upstream Parent Part (Design),然后单击中间窗格工具栏中的
4. BOM 变换器中显示下列结构:
* 
根据特性中指定的条件,将 Part C1 (Manufacturing)Part C2 (Manufacturing)Part C6 (Manufacturing)Part C7 (Manufacturing) 作为新部件添加到 Part D1 (Manufacturing) 下。
Subassembly C4Subassembly C5 会被跳过,且不会传递到下游视图,因为属性 skip_range 的值介于指定的范围内,即 a20>a90
这对您有帮助吗?