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.
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:
Für Part1 (Design), Part2 (Design), Part3 (Design) und Part4 (Design) lautet der Typ WTPart und das Attribut AUA lautet 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.
War dies hilfreich?