Пример использования 15. Генерирование дочерней структуры на основе атрибута детали (тот же тип, несколько конфигураций)
Обратите внимание, что в преобразователе вед. материалов присутствует следующая структура:
Дочерняя структура не существует.
Детали в родительской структуре принадлежат разным подтипам WTPart.
PartSubType1, PartSubType2 и PartSubType3 являются подтипами WTPart.
PartSubType3_1 является подтипом PartSubType3.
* 
AUA является атрибутом строкового типа. Для логического типа используйте значение true/false вместо Yes/No.
Чтобы создать дочернюю структуру на основе атрибутов детали с тем же типом и несколькими конфигурациями, можно указать правила преобразования и реструктурирования, используя файл правил или файл свойств.
Использование файла правил
В текстовом файле добавьте следующие правила в формате JSON:
{
"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"
}
]
}
Использование файла свойств
1. Откройте файл associativity.properties.xconf в папке Windchill/codebase/com/ptc/core/foundation/associativity.
2. Добавьте следующие правила реструктуризации.
<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"/>
После выполнения действия "Генерировать дочернюю структуру" в преобразователе вед. материалов отображается следующая структура:
На основе критериев, указанных в файле правил или свойств, дочерняя структура генерируется следующим образом:
Part1 (Design), Part2 (Design), Part3 (Design) и Part4 (Design) имеют тип WTPart и атрибут детали AUA со значением Yes. Они добавляются как есть под соответствующие детали.
SubType1_Assembly (Design), PartType_Assembly (Design) и Sub_Assembly1 (Design) имеют тип WTPart и атрибут AUA, не имеющий значение Yes. Поэтому они добавляются как новая ветвь под соответствующие детали.
PartSubType3_Assm1(Design) с типом PartSubType3 и PartSubType2_Assembly1 (Design), PartSubType2_Assembly2 (Design) с типом PartSubType2 не преобразуются.
PartSubType3_1_Assembly1 также не преобразуется, т. к. тип PartSubType3_1 является подтипом PartSubType3.
Было ли это полезно?