Anwendungsfall 15: Downstream-Struktur basierend auf Teileattributen generieren (gleicher Typ, mehrere Konfigurationen)
Angenommen, im Stücklisten-Transformator ist die folgende Struktur vorhanden:
• Downstream-Struktur ist nicht vorhanden.
• Die Teile in der Upstream-Struktur gehören zu verschiedenen Untertypen von WTPart.
• PartSubType1, PartSubType2 und PartSubType3 sind Untertypen von WTPart.
PartSubType3_1 ist ein Untertyp von PartSubType3.
| AUA ist ein Attribut vom Typ "Zeichenfolge". Verwenden Sie für einen booleschen Typ den Wert true/false anstelle von Yes/No. |
Sie können die Transformations- und Umstrukturierungsregeln mithilfe der Regel- oder Eigenschaftendatei angeben, um die Downstream-Struktur basierend auf Teileattributen mit gleichem Typ und mehreren Konfigurationen zu generieren.
Regeldatei verwenden
Fügen Sie in einer Textdatei die folgenden Regeln im JSON-Format hinzu:
{
"transformRules": [
{
"sourceType": "wt.part.WTPart",
"sourceAttributes": ["AUA=yes"],
"targetType": "wt.part.WTPart",
"transformOption": "addSame"
},
{
"sourceType": "wt.part.WTPart",
"targetType": "wt.part.WTPart",
"transformOption": "newBranch"
},
{
"sourceType": "org.rnd.PartSubType3",
"doNotTransform": "true"
},
{
"sourceType": "org.rnd.PartSubType2",
"doNotTransform": "true"
}
]
}
Eigenschaftendatei verwenden
1. Greifen Sie unter Windchill/codebase/com/ptc/core/foundation/associativity auf die Datei associativity.properties.xconf zu.
2. Fügen Sie die folgenden Umstrukturierungsregeln hinzu:
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" multivalued="," default=""/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" value="attribute.AUA=yes"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" value="transformOption=addSame"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule1" value="targetType=wt.part.WTPart"/>
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule2" multivalued="," default=""/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule2" value="transformOption=newBranch"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart.rule2" value="targetType=wt.part.WTPart"/>
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.org.rnd.PartSubType2.rule1" multivalued="," default=""/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.org.rnd.PartSubType2.rule1" value="doNotTransform=true"/>
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.org.rnd.PartSubType3.rule1" multivalued="," default=""/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.org.rnd.PartSubType3.rule1" value="doNotTransform=true"/>
Nachdem Sie die Aktion "Downstream-Struktur generieren" ausgeführt haben, wird die folgende Struktur im Stücklisten-Transformator angezeigt:
Basierend auf den Kriterien, die in der Regel- oder Eigenschaftendatei angegeben sind, wird die Downstream-Struktur wie folgt generiert:
• Part1 (Design), Part2 (Design), Part3 (Design) und Part4 (Design) haben den Typ WTPart und das Teileattribut AUA auf Yes. Sie werden unter den entsprechenden Teilen wie vorhanden hinzugefügt.
• Für SubType1_Assembly (Design), PartType_Assembly (Design) und Sub_Assembly1 (Design) mit dem Typ WTPart lautet das Attribut AUA nicht Yes. Daher werden sie als neuer Zweig unter den entsprechenden Teilen hinzugefügt.
• PartSubType3_Assm1(Design) des Typs PartSubType3 und PartSubType2_Assembly1 (Design), PartSubType2_Assembly2 (Design) des Typs PartSubType2 werden nicht transformiert.
• PartSubType3_1_Assembly1 wird auch nicht transformiert, da es sich um einen Typ PartSubType3_1 handelt, der ein Untertyp von PartSubType3 ist.