Пример использования 17. Генерирование дочерней структуры и создание связи эквивалентности на основе шаблона
Используя шаблон дочерней структуры и файл правил, можно создавать связи эквивалентности для верхней структуры, а также перемещать узлы в дочернюю структуру.
Предположим, что в преобразователе вед. материалов присутствует следующая структура:
Дочерняя структура не существует.
MainAssembly1 (Design) имеет атрибут PartAttribute со значением value1.
Чтобы создать дочернюю структуру на основе шаблона, можно указать шаблон дочерней структуры и правила преобразования и реструктурирования в файле правил или файле свойств. Чтобы создать связь эквивалентности между конкретными деталями, можно указать правила связи эквивалентности в файле правил или файле свойств с помощью конфигурации equivalentLinkRules. Эта конфигурация не используется для преобразования.
Структура дочернего шаблона
При использовании шаблона можно указать суффикс для деталей в шаблоне в поле Суффикс обозначения в диалоговом окне Генерировать дочернюю структуру. Если значение не определено, обозначение детали генерируется автоматически. В этом примере задается суффикс "_1".
Кроме того, необходимо выбрать дочернее представление для деталей в шаблоне, используя список Дочернее представление в диалоговом окне Генерировать дочернюю структуру. Если не указано, учитывается представление по умолчанию, отображаемое в списке Дочернее представление. В этом примере представлением является Manufacturing.
Использование файла правил
{
"equivalentLinkRules": [
{
"sourceType": "wt.part.WTPart",
"sourceAttributes": ["genericType=dynamic"],
"newAttributeMappings": [
["source.part.PartAttribute:value1","target.part.PartAttribute:value2"]
],
"targetType": "org.rnd.PartSubType1"
}
],
"transformRules": [
{
"sourceType": "wt.part.WTPart",
"sourceAttributes": ["genericType=standard"],
"newAttributeMappings": [
["source.part.name:Level1*","target.part.name:Level1_MBOMAssembly"],
["source.part.name:Level2*","target.part.name:Level2_MBOMAssembly"],
["source.part.name:Level3*","target.part.name:Level3_MBOMAssembly"]
],
"transformOption": "addSame",
"targetType": "org.rnd.PartSubType1"
}
]
}
В конфигурации newAttributeMappings звездочка (*) используется в качестве разделителя для обозначения наименований деталей, которые начинаются с "Level1", "Level2" и "Level3". Чтобы использовать звездочку (*) в качестве разделителя, ее необходимо указать как значение разделителя в настройке Разделитель для определения диапазона. Дополнительные сведения об этой настройке см. в разделе Настройки в MPMLink.
После выполнения действия "Генерировать дочернюю структуру" в преобразователе вед. материалов отображается следующая структура:
На основе шаблона дочерней структуры и критериев, указанных в файле правил или файле свойств, эквивалентная связь и дочерняя структура генерируются следующим образом:
Для дочерних деталей, которые являются компонентами шаблона, добавляется суффикс "_1".
Родительские детали, наименования которых начинаются с Level1, Level1_Part1 (Design) и Level1_Part5 (Design), добавляются как есть в дочернюю деталь с наименованием "Level1_MBOMAssembly".
Родительские детали, наименования которых начинаются с Level2, Level2_Part2 (Design) и Level2_Part4 (Design), добавляются как есть в дочернюю деталь с наименованием "Level2_MBOMAssembly".
Родительские детали, наименования которых начинаются с Level3, Level3_Part3 (Design) и Level3_Part6 (Design), добавляются как есть в дочернюю деталь с наименованием "Level3_MBOMAssembly".
В конфигурации equivalentLinkRules создается связь эквивалентности между MainAssembly1 (Design) и MBOM_MainAssembly2 (Manufacturing), имеющими для PartAttribute значения value1 и value2 соответственно.
Создаются другие связи эквивалентности между вновь добавленными дочерними деталями и соответствующими родительскими деталями.
Было ли это полезно?