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 parameters、G2/G3 does not support relative move mode、G2/G3 does not support R moves。
よくある原因:
- スライサーが
G2/G3円弧指令を出力しているが、Klipper の設定で[gcode_arcs]が有効になっていない。 - G-code 内の円弧指令に
I、J、Kパラメータが欠けている。 - 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を非常に大きく設定する:計算負荷は小さくなりますが、円弧の詳細も劣化し、実際の効果は限定的です。- スライサーは既にモデルの曲線、分割精度、パス簡略化を適切に処理できるため、ファームウェア側で再計算させる必要はありません。
日常的な提案:
- 優先的にスライサー自体の曲線精度、円弧フィット、またはパス簡略化機能を使用してください。
- スライサーが直接高精度な線分を出力できる場合、Klipper 側で
[gcode_arcs]を有効にしないことを推奨します。 G2/G3との互換性が必須である場合、[gcode_arcs]を一時的な互換レイヤーとして使用し、resolutionを過度に小さく設定しないでください。- プリントのカクつき、
Timer too close、上位 CPU 使用率の過剰な上昇が発生した場合は、優先的にスライサーのG2/G3出力を無効にし、スライサーが直接線分を生成するように変更してください。 - 「より滑らかに」するために、スライサーの円弧フィットと Klipper 側の極小
resolutionを同時に有効にすることは推奨しません。通常、これは計算負荷を増加させるだけです。
推奨される調査手順
Unknown command:"G2"/Unknown command:"G3"が報告された場合、まずスライサーで円弧出力が有効になっていないか確認してください。- 円弧出力が不要な場合は、スライサーの Arc / G2-G3 / Arc Welder 類のオプションを無効にし、再スライスしてください。
- 円弧出力を保持する必要がある場合にのみ、
[gcode_arcs]を互換設定として追加してください。 - 有効化後にカクつきやタイムアウトエラーが発生した場合は、まず
resolutionを大きくするか、円弧出力を無効にしてください。 - 問題が解消されたことを確認した後、実際のプリント結果に基づいてこの機能を保持するかどうかを判断してください。
関連調査:システム、パフォーマンス、サービスエラー、設定関連エラー。