跳到主要内容

Klipper 圆弧拟合与 G2/G3 建议

本文用于说明 Klipper 中 [gcode_arcs]G2 / G3 圆弧指令和切片器圆弧拟合的取舍。日常 3D 打印不建议把 Klipper 端圆弧拟合作为提升质量或性能的主要方案。

强提醒

现代切片器生成路径的精度已经非常高,曲线分段、路径简化和圆弧拟合都可以在切片阶段完成。日常打印不建议再添加 Klipper 的 [gcode_arcs] 让固件重新拆分圆弧;切片器能做好的事情,没有必要让 Klipper 再计算一遍。

常见报错

报错信息Unknown command:"G2"Unknown command:"G3"G2/G3 requires IJ, IK or JK parametersG2/G3 does not support relative move modeG2/G3 does not support R moves

常见原因

  • 切片器输出了 G2 / G3 圆弧指令,但 Klipper 配置中没有启用 [gcode_arcs]
  • G-code 中的圆弧指令缺少 IJK 参数。
  • G-code 使用了 Klipper 不支持的 R 半径圆弧格式。
  • 切片器或后处理脚本输出的圆弧格式与 Klipper 支持范围不一致。

仅兼容 G2/G3 时的配置

只有在 G-code 文件已经包含 G2 / G3,且暂时无法关闭切片器圆弧输出时,才建议添加以下配置作为兼容层:

[gcode_arcs]
resolution: 1.0

resolution 表示 Klipper 将圆弧拆分为线段时的分段精度。数值越小,拆分越细;数值越大,拆分越粗。

使用建议

Klipper 的 [gcode_arcs] 并不是让固件直接以圆弧轨迹运动,而是把 G2 / G3 圆弧重新拆成许多小直线段后再交给运动规划。

  • resolution 设置很小:线段更细,但上位机 CPU 和运动规划压力更大,低性能上位机更容易出现卡顿、Timer too close 或打印节奏不稳定。
  • resolution 设置很大:计算压力变小,但圆弧细节也变差,实际效果有限。
  • 切片器已经能很好地处理模型曲线、分段精度和路径简化,没有必要让固件端再重新计算一遍。

日常建议:

  1. 优先使用切片器自带的曲线精度、圆弧拟合或路径简化功能。
  2. 如果切片器能直接输出高精度线段,Klipper 端不建议启用 [gcode_arcs]
  3. 如果必须兼容 G2 / G3,把 [gcode_arcs] 当作临时兼容层使用,不要把 resolution 设置得过小。
  4. 出现打印卡顿、Timer too close、上位机 CPU 占用过高时,优先关闭切片器的 G2/G3 输出,改由切片器直接生成线段。
  5. 不建议为了“更圆滑”同时开启切片器圆弧拟合和 Klipper 端极小 resolution,这通常只会增加计算压力。

推荐排查顺序

  1. 如果报 Unknown command:"G2" / Unknown command:"G3",先确认切片器是否开启了圆弧输出。
  2. 如果不需要圆弧输出,关闭切片器中的 Arc / G2-G3 / Arc Welder 类选项,重新切片。
  3. 如果必须保留圆弧输出,再添加 [gcode_arcs] 作为兼容配置。
  4. 如果启用后出现卡顿或超时报错,先增大 resolution 或关闭圆弧输出。
  5. 确认问题消失后,再按实际打印效果决定是否保留该功能。

相关排查系统、性能与服务报错配置类报错

Loading...