CNC Programming Basics
CNC Programming Basics
1 2 3
Vertical milling
center
Horizontal
Milling
Center
MACHINE AXIS DESIGNATION
More complex CNC machines have the
capability of executing additional rotary motions
(4th and 5th axes).
UNITS - INCREMENTAL OR ABSOLUTE
POSITIONING
Absolute system
UNITS - INCREMENTAL OR ABSOLUTE POSITIONING
Incremental system
ZERO POINT OR ZERO DATUM
There are two methods of specifying
this zero point
It is set by
operator and also
varies from job to
job.
PROGRAMMING KEY LETTERS
N – Block number/Sequence number
G - Preparatory function
X - X axis designation
Y - Y axis designation
Z - Z axis designation
R - Radius designation
F - Feed rate designation
S - Spindle speed designation
H - Tool length offset designation
D - Tool radius offset designation
T - Tool Designation
M - Miscellaneous function
IMPORTANT G CODES
G00 - Rapid Transverse
G01 - Linear Interpolation
G02 - Circular Interpolation, CW
G03 - Circular Interpolation, CCW
G17 - XY Plane, G18 XZ Plane, G19 YZ Plane
G20/G70 - Inch units
G21/G71 - Metric Units
G40 - Cutter compensation cancel
G41 - Cutter compensation left
G42 - Cutter compensation right
IMPORTANT G CODES
miscellaneous function
RULES FOR PROGRAMMING
x N001 M06 T1
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X-8 Y0 Z-0.5 Z Feed 150
N005 G01 X70 Y0 Z-0.5 XY Feed 75
N006 G01 X70 Y60 Z-0.5 XY Feed 75
N007 G01 X30 Y60 Z-0.5 XY Feed 75
N008 G01 X0 Y40 Z-0.5 XY Feed 75
N009 G01 X0 Y0 Z-0.5 XY Feed 75
N010 G81 R3 E9 N7 Z-0.5
N011 M05
N012 M02
y Programming Example
Tool Change
G55 X200 Y80
Program 2 - 0016
N001 M06 T2
N002 M03 rpm 400
x
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X20 Y15 Z10 XYFeed 150 ZFeed 150
N005 G01 X20 Y15 Z-10 Z Feed 75
N006 G01 X20 Y15 Z10 Z Feed 150
N007 G01 X50 Y15 Z10 Z Feed 150
N008 G01 X50 Y15 Z-10 Z Feed 75
N009 G01 X50 Y15 Z10 Z Feed 150
N010 G01 X50 Y45 Z10 Z Feed 150
N011 G01 X50 Y45 Z-10 Z Feed 75
N012 G01 X50 Y45 Z10 Z Feed 150
N013 M05
N014 M02
Program Interpretation
G55 X200 Y80
Setting the datum to the lower left corner of the work
piece
Program Interpretation
G55 X200 Y80
Program 1 - 0015
Program 1
N001 M06 T1
T1 Tool Number
Program Interpretation
Program 1
N001 M06 T1
Program 1
N001 M06 T1
Program 1
N001 M06 T1
Program 1
N001 M06 T1
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X-8 Y0 Z-0.5 Z Feed 150
N005 G01 X70 Y0 Z-0.5 XY Feed 75
Program 1
N001 M06 T1
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X-8 Y0 Z-0.5 Z Feed 150
N005 G01 X70 Y0 Z-0.5 XY Feed 75
N006 G01 X70 Y60 Z-0.5 XY Feed 75
Program 1
N001 M06 T1
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X-8 Y0 Z-0.5 Z Feed 150
N005 G01 X70 Y0 Z-0.5 XY Feed 75
N006 G01 X70 Y60 Z-0.5 XY Feed 75
N007 G01 X-30 Y60 Z-0.5 XY Feed 75
Program 1
N001 M06 T1
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X-8 Y0 Z-0.5 Z Feed 150
N005 G01 X70 Y0 Z-0.5 XY Feed 75
N006 G01 X70 Y60 Z-0.5 XY Feed 75
N007 G01 X30 Y60 Z-0.5 XY Feed 75
N008 G01 X0 Y40 Z-0.5 XY Feed 75
Program 1
N001 M06 T1
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X-8 Y0 Z-0.5 Z Feed 150
N005 G01 X70 Y0 Z-0.5 XY Feed 75
N006 G01 X70 Y60 Z-0.5 XY Feed 75
N007 G01 X30 Y60 Z-0.5 XY Feed 75
N008 G01 X0 Y40 Z-0.5 XY Feed 75
N009 G01 X0 Y0 Z-0.5 XY Feed 75
Program 1
N001 M06 T1
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X-8 Y0 Z-0.5 Z Feed 150
N005 G01 X70 Y0 Z-0.5 XY Feed 75
N006 G01 X70 Y60 Z-0.5 XY Feed 75
N007 G01 X30 Y60 Z-0.5 XY Feed 75
N008 G01 X0 Y40 Z-0.5 XY Feed 75
N009 G01 X0 Y0 Z-0.5 XY Feed 75
N010 G81 R3 E9 N7 Z-0.5
Program 1
N001 M06 T1
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X-8 Y0 Z-0.5 Z Feed 150
N005 G01 X70 Y0 Z-0.5 XY Feed 75
N006 G01 X70 Y60 Z-0.5 XY Feed 75
N007 G01 X30 Y60 Z-0.5 XY Feed 75
N008 G01 X0 Y40 Z-0.5 XY Feed 75
N009 G01 X0 Y0 Z-0.5 XY Feed 75
N010 G81 R3 E9 N7 Z-0.5
N011 M05
Spindle Off
Program Interpretation
G55 X200 Y80
Program 1
N001 M06 T1
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X-8 Y0 Z-0.5 Z Feed 150
N005 G01 X70 Y0 Z-0.5 XY Feed 75
N006 G01 X70 Y60 Z-0.5 XY Feed 75
N007 G01 X30 Y60 Z-0.5 XY Feed 75
N008 G01 X0 Y40 Z-0.5 XY Feed 75
N009 G01 X0 Y0 Z-0.5 XY Feed 75
N010 G81 R3 E9 N7 Z-0.5
N011 M05
N012 M02
End Program
Program Interpretation
Tool Change
Tool Change
Program 2 - 0016
Tool Change
Program 2
N001 M06 T2
Tool Change
Program 2
N001 M06 T2
N002 M03 rpm 400
Tool Change
Program 2
N001 M06 T2
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
Tool Change
Program 2
N001 M06 T2
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X20 Y15 Z10 XY Feed 150 Z Feed 150
Tool Change
Program 2
N001 M06 T2
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X20 Y15 Z10 XY Feed 150
Z Feed 150
N005 G01 X20 Y15 Z-10 Z Feed 75
Tool Change
Program 2
N001 M06 T2
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X20 Y15 Z10 XY Feed 150 Z Feed 150
N005 G01 X20 Y15 Z-10 Z Feed 75
N006 G01 X20 Y15 Z10 Z Feed 150
Tool Change
Program 2
N001 M06 T2
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X20 Y15 Z10 XY Feed 150 Z Feed 150
N005 G01 X20 Y15 Z-10 Z Feed 75
N006 G01 X20 Y15 Z10 Z Feed 150
N007 G01 X50 Y15 Z10 Z Feed 150
Program 2
N001 M06 T2
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X20 Y15 Z10 XY Feed 150
Z Feed 150
N005 G01 X20 Y15 Z-10 Z Feed 75
N006 G01 X20 Y15 Z10 Z Feed 150
N007 G01 X50 Y15 Z10 Z Feed 150
N008 G01 X50 Y15 Z-10 Z Feed 75
Program 2
N001 M06 T2
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X20 Y15 Z10 XY Feed 150 Z Feed 150
N005 G01 X20 Y15 Z-10 Z Feed 75
N006 G01 X20 Y15 Z10 Z Feed 150
N007 G01 X50 Y15 Z10 Z Feed 150
N008 G01 X50 Y15 Z-10 Z Feed 75
N009 G01 X50 Y15 Z10 Z Feed 150
N001 M06 T2
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X20 Y15 Z10 XY Feed 150 Z Feed 150
N005 G01 X20 Y15 Z-10 Z Feed 75
N006 G01 X20 Y15 Z10 Z Feed 150
N007 G01 X50 Y15 Z10 Z Feed 150
N008 G01 X50 Y15 Z-10 Z Feed 75
N009 G01 X50 Y15 Z10 Z Feed 150
N010 G01 X50 Y45 Z10 Z Feed 150
N001 M06 T2
N002 M03 rpm 400
N003 G01 X-8 Y0 Z0 XY Feed 150
N004 G01 X20 Y15 Z10 XY Feed 150
Z Feed 150
N005 G01 X20 Y15 Z-10 Z Feed 75
N006 G01 X20 Y15 Z10 Z Feed 150
N007 G01 X50 Y15 Z10 Z Feed 150
N008 G01 X50 Y15 Z-10 Z Feed 75
N009 G01 X50 Y15 Z10 Z Feed 150
N010 G01 X50 Y45 Z10 Z Feed 150
N011 G01 X50 Y45 Z-10 Z Feed 75