G0 / G1 の意味

G0 または G1 のブロックが表すのは終点であり、パスを点として細分化したものではありません。ファームウェアは現在位置から要求された X・Y・Z 座標へ、現在の送り速度で直線移動を計画します。省略された座標は、絶対モードでは以前の値を保ち、相対モードでは変化なしとして扱われます。

多くのスライサは印刷も空移動も G1 を使います。そのため、プラスチックが吐出されているかどうかは命令文字だけでは分かりません。現在の押出モードと 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

送り速度。プリンターの G-code では通常 mm/分で表します。

実用例

押出なしの空移動

G0 X80 Y40 Z0.4 F9000

E の変化なしに X80 Y40・Z0.4 へ移動するため、プリントビューアはこれを空移動として分類します。

40 mm の線を押出

M83
G1 X120 Y40 E1.6 F1800

相対押出が有効な状態で、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 位置との差分が重要です。

一次資料

このページは、以下の資料に基づく英語版から翻訳した解説です。コマンドを実機へ送る前に、対象機械のファームウェアと設定を必ず確認してください。