Пример использования 8. Генерирование дочерней структуры путем пропуска детали на основе двух атрибутов
Обратите внимание, что в преобразователе вед. материалов присутствует следующая структура:
• Связь эквивалентности существует между Upstream Parent Part (Design) и Downstream Parent Part (Manufacturing).
• Part C2 (Design), Part C3 (Design), Part C5 (Design) и Part C6 (Design) имеют атрибут использования детали Attribute1 со значением true.
| Attribute1 является атрибутом логического типа. В Windchill значениями этого атрибута являются Yes и No. true и false являются синонимами для Yes и No соответственно. |
• Все детали в структуре имеют тип детали wt.part.WTPart.
Чтобы создать дочернюю структуру путем пропуска детали на основе двух атрибутов, можно указать правила преобразования и реструктурирования, используя файл правил или файл свойств.
Использование файла правил
{
"transformRules": [
{
"sourceType": "wt.part.WTPart",
"newAttributeMappings": [
[
"source.part.Attribute1:true",
"target.part.CustomAttribute1:String1"
]
],
"doAndValidationForAttr": "true",
"targetType": "wt.part.WTPart",
"transformOption": "newPart",
"skipAttributes": [
"source:buy",
"Attribute2:true"
]
}
]
}
Использование файла свойств
1. Откройте файл associativity.properties.xconf в папке Windchill/codebase/com/ptc/core/foundation/associativity.
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=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, деталь пропускается и не добавляется в дочернюю структуру. Однако будет выполнен проход по структуре под обнаруженной деталью.
В преобразователе вед. материалов появится следующая структура:
• Деталь Part C1 (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 C4 (Design) не добавляется в дочернюю структуру, так как для Attribute1 задано значение false.
• Ни одна деталь не добавляется под деталью Part T2 (Manufacturing), так как для атрибута детали CustomAttribute1 задано значение String2, а не String1.