G0 / G1 是什么意思

一行 G0 或 G1 写的是移动终点。固件会从当前位置沿直线走到指定的 X、Y、Z,并使用当前进给速度;没有写出的坐标保持不变(绝对模式),或表示该方向不移动(相对模式)。

多数切片软件会同时用 G1 表示打印和空走,所以不能只看指令名。还要结合 M82/M83 决定 E 是绝对值还是相对值,再比较 E 是否增加。打印机固件通常把 G0 当作快速移动别名,而 CNC 控制器往往更严格地区分 G0 快速定位和 G1 按进给速度移动。

写法和参数

G0 [X<pos>] [Y<pos>] [Z<pos>] [E<pos>] [F<rate>]
G1 [X<pos>] [Y<pos>] [Z<pos>] [E<pos>] [F<rate>]
X / Y / Z

运动轴的目标坐标,或相对当前位置的移动距离。

E

挤出机位置或送出耗材的距离,具体由 M82/M83 决定。

F

进给速度。3D 打印 G-code 通常使用毫米/分钟。

实际示例

只移动,不出料

G0 X80 Y40 Z0.4 F9000

移动到 X80、Y40、Z0.4,但 E 没有变化,因此查看器把它归为不出料的移动。

挤出一条 40 mm 的线

M83
G1 X120 Y40 E1.6 F1800

M83 开启相对挤出;移动到 X120、Y40 的同时送出 1.6 mm 耗材。

不同固件怎样处理

系统支持情况具体差异
Marlin常见支持核心直线移动指令;G0 与 G1 可能共用相同的运动设置。
Klipper常见支持作为标准移动指令支持,也是切片软件最常输出的指令。
RepRapFirmware常见支持支持协调直线移动和挤出。
CNC controllers需要核对方言G0 通常是快速定位,G1 是按进给速度移动;还要考虑机器限制和当前模式。

这个查看器能显示什么

可以绘制

查看器会画出 G0/G1 路径,区分正向挤出与空走,并用这些移动计算尺寸、指令速度和时间。

常见错误

  • F 会一直生效,直到后面的指令再次修改。
  • G90/G91 控制 X、Y、Z;M82/M83 单独控制 E。
  • 绝对挤出模式下,要看 E 与上一次的差值,不能只看 E 是否为正数。

主要资料来源

本页根据下面的固件文档审阅并重新整理。真正发送指令前,仍应以目标机器所用固件和实际配置为准。