G2 / G3 是什么意思

圆弧指令既要给出终点,也要让控制器知道圆心在哪里。在常见的 XY 平面(G17)中,I 和 J 通常表示从起点到圆心的偏移;如果启用了 G90.1 之类的绝对圆心模式,含义会改变。R 直接给出半径,但大于 180° 的圆弧可能产生歧义。

圆弧能用一行代替大量短直线。正确结果取决于当前平面、坐标模式、圆心模式和固件能力;螺旋圆弧还会在第三个轴上移动,P 在部分控制器上表示多圈。

写法和参数

G2 [X<end>] [Y<end>] [I<center-x>] [J<center-y>] [E<pos>] [F<rate>]
G3 [X<end>] [Y<end>] [R<radius>] [E<pos>] [F<rate>]
X / Y / Z

圆弧终点;当前平面决定哪两个轴构成圆。

I / J / K

X、Y、Z 方向的圆心值,通常是相对起点的偏移。

R

圆半径;在支持的固件上可代替圆心参数。

P

部分固件或控制器支持的圆弧圈数。

E / F

沿圆弧移动时的挤出位置与进给速度。

实际示例

顺时针四分之一圆

G17
G2 X20 Y20 I20 J0 F1200

假设从 X0、Y0 开始,圆心在右侧 20 mm,终点为 X20、Y20。

逆时针挤出圆弧

M83
G3 X40 Y0 I20 J0 E1.8 F1500

沿逆时针半圆移动,同时送出 1.8 mm 耗材。

不同固件怎样处理

系统支持情况具体差异
Marlin常见支持需要在固件中启用圆弧支持;可用参数取决于编译配置。
Klipper需要核对方言通过 gcode_arcs 配置支持,内部可能把圆弧拆成短线段。
RepRapFirmware常见支持支持圆弧移动,并带有固件自己的扩展选项。
CNC controllers常见支持普遍支持,但圆心模式、半径规则和工作平面随控制器而异。

这个查看器能显示什么

换算后绘制

查看器会计算真实圆弧长度和范围,并统一坐标与圆心模式。无法支持的曲线会明确提示,不会悄悄当作完整结果。

常见错误

  • 即使 X/Y/Z 使用绝对坐标,I/J/K 仍可能是相对圆心;要检查 G90.1/G91.1。
  • 整圆的起点和终点可以相同,圆心或半径信息不能缺少。
  • R 圆弧、螺旋移动和 P 多圈在不同固件中的实现并不一致。

主要资料来源

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