在编写 Mastercam 后处理时,很多朋友会遇到这样一个奇怪的现象:明明在用户输入策略(User Input Strategy)里填了 3 行文本,但实际生成的 NC 程序中,却只输出了第 1 行和第 3 行,第 2 行数字直接“消失”了。这不是软件 Bug,而是后处理代码输出机制造成的。
根据 Mastercam 后处理的数据输出原理:
把纯数字改成“字母 + 数字”的形式,例如:
T100
D0.5
这样后处理会将其视为合法代码行,正常输出。如果数字仅用于说明,建议加注释符:
(100)
(TOOL DIA = 0.5)
在 Mastercam 后处理中,括号内的内容会被当作注释保留。在后处理中定义一个变量接收用户输入,再拼接字符输出:
str_num = "100"
*str_num, e$
这种方式可以避免被解析为纯数字代码。

那么针对手动输入的策略如果想要输出纯数字,该如何解决此问题。
针对此问题,可以通过定义注释函数的类型即可解决此类问题。
commvar$
-1=输出数字
0=不输出
如下设置即可输出纯数字。
commvar$ : -1 #Output numeric comments, -1 = yes, 0= no
按如上设置后后输出的结果如下:
M5G91 G28 Z0.G28 X0. Y0.M01(123456789)123456789----------------纯数字输出M00(123456789)M30%
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks 等。