java模型到特定平台(NC)代码的转换
工具在使用过程中会磨损。测量磨损后,使用这些刀具的机床需要校正其NC(即数控)程序
我已经创建了一个XSD模型并生成了管理这些度量的JAXB类,现在我想自动生成NC代码来设置机器上度量的差异
要生成的代码基本上具有这种格式(可能还有一些静态前缀/后缀代码):
$TC_DP<x>[<t>, <D>] // 1 < x <= 25, 1 < D <= 12
其中t
是刀具的ID,D
是此刀具上的切削刃,x
是与切削刃相关的参数
对于不同的工具t
、x
和D
具有不同的含义,例如$TC_DP1[10, 2]
是工具10上边缘2的长度$TC_DP1[5, 2]
可能是刀具5上边缘2的宽度
我正在寻找一种方法来声明性地定义$TC_DP<x>[<t>, <D>]
格式和我创建的模型之间的映射,以便为我生成NC代码
# 1 楼答案
根据您提供的信息,几乎所有声明性转换工具都是相同的
您可以定义将每个新值与旧值关联起来的计算(通常是OCL查询)。这些计算被封装在映射/关系/规则中,以创建其插槽包含新值的新对象
如果您想在今天以声明方式编写此代码,我建议使用ATL或Henshin。QVTr仍然有一点未来的前景。QVTo可以为您提供半声明式解决方案