Преобразование модели в код платформы (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 может дать вам полу-декларативное решение.

Другие вопросы по тегам