G-code代码新手教程!一招提高你的3D打印技巧 

3D打印技术 /[软件]
2018-07-02 12:07
现实中Cura和Simplify3D是我们使用得最多的两款切片软件,而这类型的切片软件会从CAD模型中“自动”生成G代码, 所以大部分用户没见过或编写过单行代码。但是,如果我们想要对3D打印有更深的理解,清楚G-code这种程序语言是很有必要的!
听起来是不是很有趣?下面让我们一起来看看如何看懂并理解G代码、如何自己编写代码并在线测试、如何使用切片的G代码预览功能来解决复杂的版画~

一、什么是G代码?
从专业术语角度,G代码是一种数控编程语言。对于那些知道如何编程的人来说,G代码是一种简单的编程语言。这是最基本的代码,没有先进的结构比如可变因素、条件结构和循环结构。
当屏幕上布满着密密麻麻的G代码时,乍一看还蛮令人头晕目眩的。但当你一行一行细细地去思考时,会发现这些代码还是挺简单的!如:
  1. G1 X9.2 Y-5.42 Z0.5 E0.0377
复制代码
那么我们应该如何理解呢?其实G代码的每一行以命令开头。在这个例子中,命令是G1,而命令后面出现的代码段称为参数。
每个参数告诉打印机如何执行命令。参数以英文字母开头,然后指定一个值。例如,X-9.2意味着终点X坐标- 9.2。F3000.0意味着进给速度(F)是3000。E0.0377意味着挤出率(E)是0.0377。
你在G代码中遇到的每一个英文字母都有特定的意义。例如,G表示几何命令,M表示非几何命令,x表示x坐标,y表示y坐标,f表示进给速度等。其实在G-M代码中有时候还会掺杂一些其它字母标示参数意义,比如T、S、F、P等,具体意义见下表。
G-code代码新手教程 (11).jpg
(ps:表中 nnn 表示的是数字)

三、一些常用的G代码命令
1、G0(快速移动)
执行此命令时,喷嘴不会挤压任何材料。这个命令通常用于将喷嘴迅速地送到打印开始或打印时所需的坐标处。
G1命令让打印头以指定的速度从当前位置移动到由命令指定的协调位置,其中速度由进给速度参数F指定。打印头将以协调的方式移动,使得两个轴同时完成路径。
G-code代码新手教程 (13).jpg
3、G17/G18/G19(选择平面)
4、G20/G21(单位设置)
G21意味着“迅速移动到x = 7毫米和Y = 18毫米”。
  1. G21
复制代码
G28命令让机器返回参考点,如返回初始位置:
  1. G28
复制代码
绝对值指令让机器将坐标解释为绝对坐标,这意味着一个命令:将机器头移动到坐标x = 10。
  1. G90 X10
复制代码
增量值指令与绝对值指令相反,它让机器将坐标解释为相对坐标。如果机器当前是x = 10,则以下命令是告诉机器从当前位置向X方向移动10个单位。在操作结束时,机器头将位于坐标x = 20处。
  1. G91
复制代码
G2让机器从其当前位置开始顺时针移动,端点由坐标X和Y指定。旋转中心由参数 I 确定,它表示旋转中心的当前位置的X偏移量。J表示旋转中心的当前位置的Y偏移量。
G-code代码新手教程 (4).jpg
就像G2命令,G3命令创建一个圆周运动,但它是逆时针方向。
G-code代码新手教程 (5).jpg
现实中的G代码文件,除了G代码命令和参数,它还包含用浅显的英语写的别的东西。 其实“;”后面的内容为解释性语句,即注释,固件会忽略其内容。为了减少通信量,可以把注释信息都去掉。
大多数的G代码程序包含三个重要部分。第一部分打印过程中初始化打印机。第二部分指示打印机打印模型。第三部分在打印完成后将打印机重置为默认配置。具体如下
在打印开始之前需要执行某些任务。例如,我们需要加热打印床,加热挤出机,清洗喷嘴,将喷嘴移动到起始位置等。这些任务是所有程序的第一部分。
第一行将坐标设置为绝对坐标。第二行设置挤出机的挤出率为绝对值。第三行打开风扇,但设置速度为0,这基本上意味着风扇关闭。第四行设置床温为100度。第五行是指,在这种情况下,打印机等待床温达到期望值100℃。
2、打印阶段
因此,打印阶段包括在X-Y平面移动(印刷一层),然后在Z方向移动(移动到下一层)随后在X Y平面再移动(打印下一层)。具体如下:
G-code代码新手教程 (7).jpg
最后,当打印结束时,最后的一些G代码行会将打印机重置到默认状态。例如,喷嘴回到原点,加热关闭(无论是热床或是挤出机)和电机禁用。
G-code代码新手教程 (8).jpg

六、输入和输出
当你点击您的计算机上的“打印”按钮时,3D打印软件开始发送指令到打印机,一次一行。打印机执行指令并反馈给计算机。如果反馈的指示没有错误,则计算机将发送要执行的下一行代码。打印机的反馈通常遵循以下格式:
G-code代码新手教程 (9).jpg
• ok 意味着没有检测到错误。这提示计算机发送的G代码的下一行到打印机。
• 两个感叹号(!!)意味着硬件错误。在这种情况下,机器立即关闭,打印作业中止。
其中:T表示挤出机温度,B表示床层温度。如果机器没有温度传感器,则-273将作为一个值被返回。对M114和M117(查看文末附录二可查看每一个G代码命令的意义)命令坐标反馈,反馈的格式会是:
在复杂的3D模型打印中,成功与失败的关键在于是否会利用G代码预览功能。一般来说,当你想打印一个复杂的三维模型时,我们最好是使用G代码查看器,检查每一步的打印步骤。
附录1:兼容性说明
当然,我们可以通过联机的方式来处理这个问题~
附录2:G代码命令的意义
G-code代码新手教程 (10).jpg
G-code代码新手教程 (15).jpg
声明:3D打印资源库(3dzyk)内网友所发表的所有内容及言论仅代表其本人,并不代表3D打印资源库(3dzyk)观点和立场;如对文章有异议或投诉,请联系kefu@3dzyk.cn。
G-code代码新手教程 (6).jpg
G-code代码新手教程 (12).jpg
G-code代码新手教程 (14).jpg
B Color Smilies

全部评论5

  • chjzjhc
    chjzjhc 2019-4-24 21:20:01
    刚开始学习,3D打印资源库很认真,希望越办越好
  • 659833200
    659833200 2019-4-28 00:53:31
    开始学习,3D打印资源库很认真,希望越办越好
  • 万木和
    万木和 2020-4-21 16:40:50
    请问G代码是由什么来解释并且转化为电机信号的?
    wy170922 G代码有时候也称为G编程语言。G代码是数控程序中的指令。一般都称为G指令。使用G代码可以实现快速定位、逆圆插补、顺圆插补、中间点圆弧插补、半径编程、跳转加工。  发布于 2020-11-21 09:15
  • yrdl
    yrdl 2020-7-3 09:26:09
    开始学习,3D打印资源库很认真,希望越办越好
G-code代码新手教程!一招提高你的3D打印技巧