使用案例 9:透過根據兩個屬性略過零件來產生下游結構
請考慮這樣一種情境:即 BOM 轉換器中存在以下結構:
Upstream Parent Part (Design)Downstream Parent Part (Manufacturing) 之間存在對等連結。
Part C1 (Design)Part C4 (Design)Part C5 (Design)Part C6 (Design)Part C7 (Design) 的零件使用關係屬性 Attribute1 設定為 true
* 
Attribute1 是類型為布林值的屬性。在 Windchill 中,此屬性的值為 YesNotruefalse 分別同步到 YesNo
結構中所有零件的零件類型均為 wt.part.WTPart
1. 存取位於 Windchill/codebase/com/ptc/core/foundation/associativity 中的 associativity.properties.xconf 檔案。
2. Windchill/codebase/com/ptc/core/foundation/associativity 檔案中新增下列重新建構規則:
<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=newPart"/>
<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=Attribute1:true:CustomAttribute1:String1"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.Source=Buy"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.Attribute2=true"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="doAndValidationForAttr=true"/>
* 
針對上游中的所選零件啟動 動作後,Windchill 系統會遍歷所選零件下方的結構。此組態可確保:
如果 Windchill 系統偵測到上游存在零件屬性 Attribute1 設定為 true 的零件,則會在下游中屬性 CustomAttribute1 設定為 String1 的零件下轉換它。會將其轉換為新零件
如果 Windchill 系統偵測到上游存在零件屬性 Attribute2 設定為 true 且屬性 Source 設定為 Buy 的零件,則會跳過該零件,且不會將其新增至下游。但是,會遍歷偵測到的零件之下的結構。
3. 選取 Upstream Parent Part (Design,然後按一下中間窗格工具列中的
4. 下列結構會顯示在 BOM 轉換器中:
* 
會略過 Part C2 (Design),因為它符合在下列內容中設定的條件。
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.Source=Buy"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.Attribute2=true"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="doAndValidationForAttr=true"/>
但是,系統會遍歷其下方的結構。
Part C1 (Design)Part C4 (Design)Part C5 (Design)Part C6 (Design)Part C7 (Design) 的零件屬性 Attribute1 設定為 true。因此,會將其新增為 Part T1 (Manufacturing) 下的新零件。Part T1 (Manufacturing) 零件屬性 CustomAttribute1 設定為 String1
不會在 Part T2 (Manufacturing) 下新增零件。這是因為,其零件屬性 CustomAttribute1 設定為 String2
這是否有幫助?