gcode コマンドリファレンステーブル
説明する
このページでは、gcode()関数でサポートされているコマンド、コマンド形式、およびそれらの使用方法について説明します。
コマンド形式中の「-」記号(例:G1 Axes- F- )は数値入力を表します。様々なモーション効果の詳細については、モーションメソッドの説明
ページ を参照してください。
G-Code参照表
Gコード | 説明する |
---|---|
G1 | 直線運動 |
G2 | 時計回りの円運動 |
G3 | 反時計回りの円運動 |
G4 | 一時停止コマンド |
G17 | 円運動のXY平面を選択 |
G18 | 円運動のXZ平面を選択 |
G19 | 円運動のYZ平面を選択 |
G90 | 絶対位置モード |
G91 | 相対位置モード |
G90.1 | 円弧中心絶対位置モード |
G91.1 | 円弧中心相対位置モード |
G92 | 座標系オフセット |
G1
G1 Axes- F-
直線移動の場合、G90 および G91 を使用して絶対モードまたは相対モードを指定できます。
- 軸: 終点の座標
- F: 送り速度
例:
1. 現在の位置から絶対座標(10,10,20)まで、送り速度500で直線移動する。
1
2
|
machine.gcode("G90"); machine.gcode("G1 X10 Y10 Z20 F500");
|
2. 現在の位置を基準として相対的に移動する(10,-10,20)
1
2
|
machine.gcode("G91"); machine.gcode("G1 X10 Y-10 Z20 F500");
|
3. 現在の位置のX軸とY軸の位置は変更されず、Z軸は絶対座標Z=50に移動する。
1
2
|
machine.gcode("G90"); machine.gcode("G1 Z50 F500");
|
G2、G3
センターモード:
G2 Axes- Offsets- P- F-
半径モード:
G2 Axes- R- P- F-
G2 は時計回りの円弧移動、G3 は反時計回りの円弧移動で、G17、G18、G19 と組み合わせて円弧平面とらせん軸を指定できます。
- 軸: 終点の座標
- オフセット: 円弧の中心
- R: 円弧の半径
- P: 描かれた円の数
- F: 送り速度
円弧半径Rは負の値を取ることができます。負の値の場合、描画される円弧のパスは180°より大きくなります。パラメータの組み合わせによって、円弧、円、螺旋などの図形を描画できます。動作方法の詳細については、動作方法の説明を参照してください。
例:
1. XY平面上で、(50,0,0)を中心として(0,0,0)から(50,50,0)まで90°の円弧を描きます。
1
2
3
|
machine.gcode("G90"); machine.gcode("G1 X0 Y0 Z0 F500"); machine.gcode("G2 X50 Y50 I50 J0 F500");//円の中心モードを使用すると、円の中心は (50,0,0),作弧至 (50,50,0)
|
2. XY平面上で、(50,0,0)を中心として(0,0,0)から(50,50,0)までの90°の円弧を描きます。
1
2
3
|
machine.gcode("G90"); machine.gcode("G1 X0 Y0 Z0 F500"); machine.gcode("G2 X50 Y50 R50 F500");//半径モードを使用して半径50で時計回りに円弧を描きます (50,50,0)
|
3. XY平面上で、(50,0,0)を中心として(0,0,0)から(50,50,0)までの270°の円弧を描きます。
1
2
3
|
machine.gcode("G90"); machine.gcode("G1 X0 Y0 Z0 F500"); machine.gcode("G3 X50 Y50 R-50 F500");//R -50 マスターピース ラージアーク |
4. XY平面上で、(0,50,0)を中心として(0,0,0)から(50,50,0)までの90°の円弧を描きます。
1
2
3
|
machine.gcode("G90"); machine.gcode("G1 X0 Y0 Z0 F500"); machine.gcode("G3 X50 Y50 R50 F500"); //半径モードを使用して半径50で反時計回りに円弧を描きます (50,50,0)
|
5. XZ平面上に、(0,0,0)から時計回りに(0,0,50)を中心とする円を描きます。
1
2
3
4
|
machine.gcode("G90"); machine.gcode("G1 X0 Y0 Z0 F500"); machine.gcode("G18"); machine.gcode("G2 X0 Z0 I0 K50 F500");//始点と終点が同じであれば円となる
|
6. XYを円弧面、原点を中心、Z軸を高さ、ピッチを10として、(50,0,0)から始まり(50,0,100)で終わる時計回りの螺旋を描きます。
1
2
3
4
5
|
machine.gcode("G90"); machine.gcode("G1 X50 Y0 Z0 F500"); machine.gcode("G17"); //xy 平面上で、z 軸を上に向けた螺旋線を描きます。P 10 は、目的地まで合計 10 回の円を回ることを意味します。 machine.gcode("G2 X50 Y0 Z100 I-50 J0 P10 F500");
|
G4
G4 S-
G4 P-
機械はしばらく動きを止めます。
- S: 時間(秒単位)。両方の入力値は整数でなければなりません。
- P: 時間(ミリ秒)
例:
1. 座標(50,0,0)で2秒間待機し、その後、座標(0,50,0)まで直線移動します。
1
2
3
4
|
machine.gcode("G90"); machine.gcode("G1 X50 Y0 Z0 F500"); machine.gcode("G4 S2"); machine.gcode("G1 X0 Y50 Z0 F500");
|
2. 座標(50,0,0)で0.5秒間待機し、その後、座標(0,50,0)まで直線で移動します。
1
2
3
4
|
machine.gcode("G90"); machine.gcode("G1 X50 Y0 Z0 F500"); machine.gcode("G4 P500"); machine.gcode("G1 X0 Y50 Z0 F500");
|
G17、G18、G19
G17
G18
G19
円弧運動の平面を指定します。指定しない場合は、G17にプリセットされます。
- G17: 平面をXY平面として指定する
- G18: 平面をXZ平面として指定
- G19: 平面をYZ平面として指定する
例:
1. 原点(0,0,0)から始めて、XY平面に時計回りに中心(50,0,0)、半径50の円を描き、YZ平面に反時計回りに中心(0,0,50)、半径50の円を描きます。
1
2
3
4
5
6
|
machine.gcode("G90"); machine.gcode("G1 X0 Y0 Z0 F500"); machine.gcode("G17") machine.gcode("G2 X0 Y0 I50 J0 F500"); machine.gcode("G19") machine.gcode("G3 Y0 Z0 J0 K50 F500");
|
2. XZ を円弧面、(0,0,50) を中心、Y 軸を高さ、ピッチを 10 として、(0,0,0) から始まり (0,100,0) で終わる時計回りの螺旋を描きます。
1
2
3
4
5
|
machine.gcode("G90"); machine.gcode("G1 X0 Y0 Z0 F500"); machine.gcode("G18"); // Y軸に沿って時計回りに高さ100、合計10回転の螺旋線が形成されます。 machine.gcode("G2 X0 Y100 Z0 I0 K50 P10 F500");
|
G90、G91
G90
G91
位置座標モードを設定します。指定しない場合はG90にプリセットされます。
- G90: 絶対モードを使用すると、G1、G2、G3命令の軸パラメータ値は絶対位置になります。
- G91: 相対モードを使用すると、G1、G2、G3命令の軸パラメータ値は相対位置になります。
例:
1. 現在の位置から絶対座標(10,10,20)まで直線を移動します。
1
2
|
machine.gcode("G90"); machine.gcode("G1 X10 Y10 Z20 F500");
|
2. 現在の位置を基準として相対的に移動する(10,-10,20)
1
2
|
machine.gcode("G91"); machine.gcode("G1 X10 Y-10 Z20 F500");
|
3. 座標(50,0,0)から時計回りに中心(100,0,0)、半径50の円弧を描き、(150,0,0)まで移動します。
1
2
3
|
machine.gcode("G90"); machine.gcode("G1 X50 Y0 Z0 F500"); machine.gcode("G2 X150 Y0 I50 J0 F500");
|
4. 座標(50,0,0)から時計回りに中心(100,0,0)、半径50の円弧を描き、(150,0,0)まで移動します。
1
2
3
4
|
machine.gcode("G90"); machine.gcode("G1 X50 Y0 Z0 F500"); machine.gcode("G91"); machine.gcode("G2 X100 Y0 I50 J0 F500");
|
G90.1、G91.1
G90.1
G91.1
円中心座標のモードを設定します。指定しない場合は、G91.1にプリセットされます。
- G90.1: 絶対モードを使用すると、G2 および G3 コマンドのオフセット パラメータ値が絶対位置になります。
- G91.1: 相対モードを使用すると、G2 および G3 コマンドのオフセット パラメータ値は相対位置になります。
例:
1. 座標(50,0,0)から時計回りに中心(100,0,0)、半径50の円弧を描き、(150,0,0)まで移動します。
1
2
3
4
|
machine.gcode("G90"); machine.gcode("G1 X50 Y0 Z0 F500"); machine.gcode("G90.1"); machine.gcode("G2 X150 Y0 I100 J0 F500");
|
2. 座標(50,0,0)から時計回りに中心(100,0,0)、半径50の円弧を描き、(150,0,0)まで移動します。
1
2
3
4
|
machine.gcode("G90"); machine.gcode("G1 X50 Y0 Z0 F500"); machine.gcode("G91.1"); machine.gcode("G2 X150 Y0 I50 J0 F500");
|
G92
G92 Axes-
座標系オフセット。軸の現在の位置の座標値を指定します。
- 軸: 現在の位置の座標
例:
1. 座標系をオフセットし、現在の位置を絶対座標 (50,50,50) として指定します。
1
|
machine.gcode("G92 X50 Y50 Z50");
|
参照
図書館リファレンスメインページ
86Duino リファレンス資料のテキストは、Creative Commons Attribution-ShareAlike 3.0の下で提供されています。リファレンス資料内のコード例はパブリックドメインとして公開されています。