G Codes

Common GCode for Mach 3 and Linux EMC

Mach 3

Quick Reference G Codes

G01 Linear interpolation

G02 Clockwise circular/helical interpolation

G03 Counter clockwise circular/Helical interpolation

G04 Dwell

G10 Coordinate system origin setting

G15/G16 Polar Coordinate moves in G0 and G1

G17 XY Plane select

G18 XZ plane select

G19 YZ plane select

G20/G21 Inch/Millimetre unit

G28 Return home

G28.1 Reference axes

G30 Return home

G32 Threading

G40 Cancel nose radius compensation

G41/G42 Start nose radius compensation left/right

G50 Reset all scale factors to 1.0

G51 Set axis data input scale factors

G52 Temporary coordinate system offsets

G53 Move in absolute machine coordinate system

G54 Use fixture offset 1

G55 Use fixture offset 2

G56 Use fixture offset 3

G57 Use fixture offset 4

G58 Use fixture offset 5

G59 Use fixture offset 6 / use general fixture number

G61/G64 Exact stop/Constant Velocity mode

G76 Canned cycle – screw cutting

G77 Canned cycle

G78

G80 Cancel motion mode (including canned cycles)

G81 Canned cycle – drilling

G82 Canned cycle – drilling with dwell

G83 Canned cycle – peck drilling

G90 Absolute distance mode

G91 Incremental distance mode

G92 Offset coordinates and set parameters

G92.x Cancel G92 etc.

G94 Feed per minute mode

G95 Feed per rev mode

G98 Initial level return after canned cycles

G99 R-point level return after canned cycles

 

The modal Groups for G codes are

· group 1 = {G00, G01, G02, G03, G38.2, G80, G81, G82, G84, G85,

G86, G87, G88, G89} motion

· group 2 = {G17, G18, G19} plane selection

· group 3 = {G90, G91} distance mode

· group 5 = {G93, G94} feed rate mode

· group 6 = {G20, G21} units

· group 7 = {G40, G41, G42} cutter radius compensation

· group 8 = {G43, G49} tool length offset

· group 10 = {G98, G99} return mode in canned cycles

· group 12 = {G54, G55, G56, G57, G58, G59, G59.xxx} coordinate

system selection

· group 13 = {G61, G61.1, G64} path control mode

The modal groups for M codes are:

¨ group 4 = {M00, M01, M02, M30} stopping

¨ group 6 = {M06} tool change

¨ group 7 = {M03, M04, M05} spindle turning

¨ group 8 = {M07, M08, M09} coolant (special case: M07 and M08 may

be active at the same time)

¨ group 9 = {M48, M49} enable/disable feed and speed override controls

In addition to the above modal groups, there is a group for non-modal

G codes:

¨ group 0 = {G04, G10, G28, G30, G53, G92, G92.1, G92.2, G92.3}

 

 

 

This is a list of GCode used by Linux EMC

Linux CNC G-Code Quick Reference

Code

Parameters

Description

Motion

(X Y Z A B C U V W apply to all motions)

G0

Rapid motion

G1

Coordinated motion (“Straight feed”)

G2, G3

I J K or R, P

Coordinated helical motion (“Arc feed”) CW or CCW

G4

P

Dwell (no motion for P seconds)

G5

I J P Q

Cubic spline

G5.1

I J

Quadratic spline

G5.2

P L

NURBS, add control point

G5.3

NURBS, execute

G38.2…G38.5

Straight probe

G33

K

Spindle-synchronized motion

G33.1

K

Rigid tapping

G80

Cancel motion mode

Canned cycles

(X Y Z or U V W apply to canned cycles, depending on active plane)

G81, G82

R L (P)

Drilling cycle without (with) dwell

G83, G73

R L Q

Peck and Chip-break drilling cycles

G85, G89

R L (P)

Boring cycle without (with) dwell

G76

P Z I J R K Q H L E

Multipass lathe threading cycle

Distance Mode

G90

Absolute distance mode

G91

Incremental distance mode

G90.1

Arc centers I,J,K are absolute

G91.1

Arc centers I,J,K are relative to the arc’s starting point

G7

X Diameter mode (lathe)

G8

X Radius mode (lathe)

Feed Rate Mode

G93

Inverse time feed rate

G94

Units per minute feed rate

G95

Units per revolution

Spindle Control

M3, M4

S

Turn spindle clockwise or counterclockwise

M5

Stop spindle

M19

Orient spindle

G96

S D

CSS mode (Constant Surface Speed)

G97

RPM mode

Coolant

M7

Turn mist on

M8

Turn flood on

M9

Turn all coolant off

Tool Length Offset

G43

H

Use tool length offset from tool table

G43.1

Use specified tool length offset for transient tool

G43.2

H

Apply additional tool length offset

G49

Cancel tool length offset

Stopping

M0

Program Pause

M1

Optional Pause

M2, M30

End Program

M60

Pallet Change Pause

Units

G20

Inches

G21

Millimetres

Plane Selection

(affects G2, G3, G81…G89, G40…G42)

G17

Select XY plane

G18

Select XZ plane

G19

Select YZ plane

Cutter Radius Compensation

G40

Cancel cutter radius compensation

G41,G42

D

Start cutter radius compensation left or right

G41.1, G42.1

D L

Start cutter radius compensation left or right, transient tool

Path Control Mode

G61

Exact Path mode

G61.1

Exact Stop mode

G64

P

Continuous mode with optional path tolerance

Return Mode in Canned Cycles

G98

Retract to prior position

G99

Retract to R position

Other Modal Codes

F

Set Feed Rate

S

Set Spindle Speed

T

Select Tool (also see M6)

M48, M49

Speed and Feed Override Control

M50

P0 (off) or P1 (on)

Feed Override Control

M51

P0 (off) or P1 (on)

Spindle Speed Override Control

M52

P0 (off) or P1 (on)

Adaptive Feed Control

M53

P0 (off) or P1 (on)

Feed Stop Control

G54…G59.3

Select coordinate system

Flow-control Codes

O- sub

Subroutines, sub/endsub call

O- while

Looping, while/endwhile do/while

O- if

Conditional, if/else/endif

O- repeat

Run enclosed code more than once

M70

Save modal state

M71

Invalidate stored state

M72

Restore modal state

M73

Save and Auto-restore modal state

Input/Output Codes

M62…M65

P

Digital Output Control

M66

P E L Q

Digital and Analog Input Control

M67

T

Analog Output Synchronized with Motion

M68

T

Analog Output Immediate

Non-modal Codes

M6

T

Change tool

M61

Q

Set Current Tool

G4

P

Dwell (seconds)

G10 L1

P Q R axes

Tool offset, radius, orientation setting

G10 L10

P axes

Tool offset, setting calculated from workpiece

G10 L11

P axes

Tool offset, setting calculated from fixture

G10 L2

P R axes

Coordinate system origin, rotation setting

G10 L20

P axes

Coordinate system origin setting calculated

G28, G28.1

Return to or Set reference point 1

G30, G30.1

Return to or Set reference point 2

G53

Motion in machine coordinate system

G92

axes

Offset coordinate systems and set parameters

G92.1

Cancel offset coordinate systems and set parameters to zero

G92.2

Cancel offset coordinate systems but do not reset parameters

G92.3

Apply parameters to offset coordinate systems

M101…M199

P Q

User-defined M-codes

Comments & Messages

(…)

An inline comment

(MSG,…)

Display a message “” to the user (e.g., in a popup)

(DEBUG,…)

Display a message (with variables substituted) like MSG

(PRINT,…)

Display a message (with variables substituted) to stderr