kanaiBlogCNCG-codeとは、CNCが理解できるプレーンテキストによる言語の総称だ。現代のデスクトップ型CNCマシンやソフトウェアでは、あえてそうしたい場合を除いては、G-Codeを手書きする必要はまったくない。CAD/CAMのソフトウェアとマシンのコントローラーがすべてやってくれるからだ。Makerなら、中で何が行われているのかを知っておきたいという人もいるだろう。G-codeはプレーンテキストだ。人が普通に読めるとはかぎらないが、見ればだいたいの意味はわかる。G-Codeはコントローラーにどんな動きをして欲しいかを伝える。ここに、もっともよく使われるコマンドを紹介しよう。G0/G1(高速または制御された移動)G0コマンドは、マシンを最大速度でG0の後に続く地点へ移動させる(図A)。マシンの位置の指定には座標が使われるが、2つの軸方向に同時に移動する。G0は切断には使われない。代わりに、これは、素早くジョブを開始させるために、または、同じジョブの次のオペレーションのための移動に使われる。G0」の例を下に示す。Y18G1コマンド(図B)は、G0とよく似ているが、こちらはフィード率(F)という特別なレートでマシンを移動させる。F500G2(時計回りの移動)モードをG2に設定し、センターからのオフセットを指定すると(図CとD)、開始点と終点との間を時計回りで移動する。J-12G2の開始点は、このコマンドを実行する直前のマシンの位置から始まる。そのため、これを実行する前にマシンを移動させておくのがよい。G3(反時計回りの移動)G2と同じく、G3も2点間に円弧を描く。G2が時計回りであるのに対して、G3は反時計回りに移動する(図E)。G3を使用する有効なコードは下のようになる。J-20G17/G18/G19(作業面)これらのモードは加工される平面を設定する。通常はG17が使用され、ほとんどのホビー向けマシンではこれがデフォルトになっている。3軸マシンでは、他の2つのモードも使える。G-codeが使用する単位(インチまたはミリ)を決めるコマンドだ。インチミリに設定するコードを下に示す。G90G28(ホームを参照)G28コマンドは、ただマシンにそのホームポジションに戻すというもの。座標を加えると、(衝突を避けるために)そこを通過して戻る。コードは下のようになる。Z0一部には、ホームポジションの座標を定義するためにG28.1コマンドを必要とするものもある。Z0G90(絶対モード)G90は、ユニットに絶対座標を認識させるものだ。ホビイスト向けのCNCでは絶対座標がデフォルトになっている場合が多い。絶対座標は、そのまま絶対値として解釈される。10とマシンに送られる。これはx方向に今の位置からあと10ユニット、という意味ではない。G91(加算モード)G90の逆のモードだ。この場合、送られた座標の数値は、現在の位置からの加算分として計算される。X1を書けば、現在の位置に関わらず、マシンはx方向に1ユニットだけ動く。G-Codeのルール数学の式と同じように、G-Codeにも、オペレーションの順番に関して独自のルールがある。標準的な記述方法は下のような優先順位になる(コメントが最初に解釈され、ツールの変更が最後に解釈される)。・ツールの交換Gコマンドを使うときは、マシンをそのモードにしておく必要がある。別の座標を設定するときは、もう新たにG1コードを書く必要はない。それはマシンがG1モードになっているからだ。これは、G0やG2やG3といった別のコマンドを実行するまで解除されないようになっている。フィード、速度、ツール速度、フィード、ツールといったパラメータの設定のための簡単なG-codeコマンドがある。Fはフィード(Feed)Fコマンドはフィード率を設定する。G1が使われているときは、決められたフィード率でマシンは作動する。続けてG1コマンドが使われるときは、Fの値で実行される。フィード率(F)が最初のG1コールの後に設定されなかったときは、エラーとなるか、マシンはデフォルトのフィード値で作動することになる。有効なFコマンドの例を下に示す。Speed)Sコマンドは主軸の回転速度を設定する。通常は1分間に回転する数(RPM)で示される。有効なSコマンドの例を下に示す。S10000Tは工具(Tool)Tコマンドは、M6(M-codeマシンのアクションコード)と一緒に使用し、切削に使われる工具の番号を指定する。工具の変更を行うときに使われる。Tコマンドによってマシンは一時停止し、工具の変更を待つ状態となる。再開(Resume)ボタンを押すと、作業が再開される。