Преобразование модели в код платформы (NC)
Инструменты испытывают износ во время использования. Машины, использующие эти инструменты, должны иметь исправленные программы ЧПУ (т.е. числовое управление) после измерения износа.
Я уже создал модель XSD и сгенерировал классы JAXB, которые управляют этими мерами, теперь я хочу автоматически сгенерировать код ЧПУ, который устанавливает измеренные различия на машинах.
Код, который должен быть сгенерирован, в основном имеет такой формат (плюс, возможно, некоторый статический код префикса / суффикса):
$TC_DP<x>[<t>, <D>] // 1 < x <= 25, 1 < D <= 12
с t
быть идентификатором инструмента, D
будучи передовым в этом инструменте, и x
будучи параметром, связанным с режущей кромкой.
Для разных инструментов t
, x
а также D
имеют различное значение, например $TC_DP1[10, 2]
длина края 2 на инструменте 10. $TC_DP1[5, 2]
может быть ширина края 2 на инструменте 5.
Я ищу способ декларативно определить отображение между $TC_DP<x>[<t>, <D>]
формат и модель, которую я создал, чтобы генерировать код NC для меня.
1 ответ
Учитывая предоставленную вами информацию, практически любой инструмент декларативного преобразования одинаков.
Вы определяете вычисления (обычно запросы OCL), которые связывают каждое из ваших новых значений с вашими старыми значениями. Эти вычисления заключены в отображения / отношения / правила для создания новых объектов, слоты которых содержат новые значения.
Если вы хотите кодировать это декларативно сегодня, я бы предложил ATL или Henshin. QVTr - все еще немного будущей перспективы. QVTo может дать вам полу-декларативное решение.