我正在尝试找到一个明确的G代码语法规范,而不是单独的G代码含义,这个i的规范无处不在,我的意思是详细的语法规范,用于编写解析器。
我编写解析器没问题,我只是在寻找语法规范,例如。我知道你并不总是需要为某些Gcodes提供完整的xyz坐标,在这种情况下,机器将使用缺失坐标的最后一个值,但我似乎无法找到关于何时可能发生的任何明确规则。还有一些指令可以塞在一行中,有些指令不能,而且似乎也没有明确的规则存在。
长篇故事:
所以我有一台diy cnc机器,有一段时间了,最近把它升级到足够稳定的状态,在那里我可以铣削一些PCB。问题是,做双面操作真的很棘手,因为双方索引的机械方式不够准确。
因此,有一些项目旨在利用USB摄像头,您可以使用它来瞄准已知点,然后应用程序计算并对gcode应用变换,从而补偿不对齐。
但问题是,我想通过除相机之外的方式来做到这一点,而且这些项目还没有完成或被遗弃。
所以我想,我可以为gfcode创建一个简单的解析器,但我找到的任何“规范”,只讨论特定指令的含义,而不是语法。
答案 0 :(得分:2)
看起来这可能是您正在寻找的东西:
NIST RS274NGC口译员 - 第3版 发布时间:2000年8月1日 https://www.nist.gov/publications/nist-rs274ngc-interpreter-version-3?pub_id=823374
答案 1 :(得分:1)
我过去为一个子集编写了一个解析器。 G-Code被指定为ISO 6983标准(尽管有不同制造商的变体)。但据我所知,规范文件不是免费的(它们可以在线购买)。如果您的目标是编写解析器,那么已经存在一些开源解析器。您可能对RepRap人员提供的这份文档感兴趣:
以下是一个解析器的源代码:
https://github.com/reprappro/RepRapFirmware
另外,请查看LinixCNC项目:http://linuxcnc.org/