G-code is a common name for the programming language that is for CNC machine tools.
G-code is also the name of any word in a CNC program that begins with the letter G, and generally is a code telling the machine tool what type of action to perform, such as:
- rapid move
- controlled feed move in straight line or arc
- series of controlled feed moves that would result in a hole being drilled or bored
- change a pallet
- Set tool information such as offset.
There are other codes; the type codes can be thought of like registers in a computer
- X position
- Y position
- Z position
- M code (another "action" register)
- F feed rate
- S spindle speed
- N line number
- R Radius
- T Tool selection
- I Arc data X axis
- J Arc data Y axis.
Different machine tools, however, may use the same code to perform different functions: even machines that use the same CNC control. Some may have said that "Fanuc " G-code is standard, but that is a myth.
Common Fanuc G Codes
| G00 | Fast positioning
|
| G01 | Linear interpolation
|
| G02 | CW circular interpolation
|
| G03 | CCW circular interpolation
|
| G17 | X-Y plan selection
|
| G18 | X-Z plan selection
|
| G19 | Y-Z plan selection
|
| G20 | Programming in inches
|
| G21 | Programming in mm
|
| G33 | Constant pitch threading
|
| G34 | Variable pitch threading
|
| G40/G41/G42 | Tool radius compensation
|
| G90 | Absolute programming
|
| G91 | Incremental programming
|
| G94/G95 | Feed
|
| G96/G97 | Constant cutting speed/Constant rotation speed
|
A standardized version of G-code known as BCL is used; but on very few machines.
G-code is understood by machine tool controls, and some machinists.
G-code is spoken by CAM software such as Smartcam , Gibbscam , Featurecam , Edgecam , Mastercam, etc. Such software must be customized for each type of machine tool that it will be used to program.
Some CNC machines use "Conversational" programming, which is a wizard-like programming mode that either hides G-code or completely bypasses the use of G-code.