You are on page 1of 148

CNC PROGRAMMING

WORKBOOK

LATHE
This is a watermark for trial version, register to get full one!
VIPBenefits:

1. Converts the whole document.


By on
2. No trial watermark Matthew
the outputManton and
documents. Duane Weidinger

Remove it Now
CNC Programming Workbook – Lathe
Published by
CamInstructor Incorporated
330 Chandos Crt.
Kitchener, Ontario
N2A 3C2
www.caminstructor.com

Date: June 1, 2013


Author: Matthew Manton and Duane Weidinger
ISBN: 978-1-897466-83-4

Copyright © 2013 CamInstructor Inc. - All rights reserved.


This book is protected under the copyright laws of Canada and the United States. All rights are reserved. This
document may not, in whole or part, be copied, photocopied, reproduced, translated or reduced to any
electronic medium or machine-readable form without prior consent, in writing, from CamInstructor Inc.

National Library of Canada Cataloguing in Publication

To order additional copies of the book contact:


CamInstructor Inc.
330 Chandos Crt, Kitchener, ON, N2A 3C2
Phone 1-877-873-6867
Fax 1-866-741-8421
email sales@caminstructor.com

Limit of Liability/Disclaimer of Warranty: While the Publisher and Author have used their best efforts in
preparing this book, they make no representations or warranties with respect to the accuracy or
completeness of the contents of this book and specifically disclaim any implied warranties of
merchantability or fitness for a particular purpose. No warranty may be created or extended by
representatives. The advice and strategies contained in this book may not be suitable for the readers or
users situation. Neither the publisher nor author shall be liable for any damage, loss or any other damages,
including but not limited to special, incidental, consequential, or other damages including personal.

Notice
CamInstructor Inc. reserves the right to make improvements to this book at any time and without notice.

Trademarks
Haas is a registered trademark of Haas Automation, Inc.
All brands are the trademark of their respective owners.

Printed in Canada

Requirements
Use of the Multi-media CD/DVD requires a computer with speakers, and CD/DVD ROM.
June 18, 2013
TABLE OF CONTENTS

LESSON-1 ..ABSOLUTE & INCREMENTAL POSITIONING ........................................................1

ABSOLUTE & INCREMENTAL POSITIONING - EXERCISE # 1..................................... 2

ABSOLUTE & INCREMENTAL POSITIONING - EXERCISE #2...................................... 3

ABSOLUTE & INCREMENTAL POSITIONING - EXERCISE #3...................................... 4

ABSOLUTE & INCREMENTAL POSITIONING - EXERCISE #4...................................... 5

ABSOLUTE & INCREMENTAL POSITIONING - EXERCISE #5...................................... 6

LESSON-2 ..INTRODUCTION TO CNC CODES ........................................................................7

LATHE TOOLS .......................................................................................................... 8

COMMONLY USED PREPARATORY G CODES.......................................................... 9

COMMONLY USED MISCELLANEOUS M CODES ..................................................... 11

RAPID G00 AND LINEAR G01 INTERPOLATION ........................................................ 12

EXAMPLE OF PROGRAM START-UP BLOCKS ............................................................ 13

MOVING TO MACHINE ZERO – G28 AND G53 ......................................................... 16

G40, G41, & G42 TOOL NOSE COMPENSATION....................................................... 17

LESSON-3 ..DRILLING .........................................................................................................19

DRILLING ON CENTERLINE – EXAMPLE .................................................................... 21

DRILLING CANNED CYCLES ....................................................................................... 22

DRILLING ON CENTERLINE – EXERCISE #1................................................................ 25

LESSON-4 ..LINEAR INTERPOLATION ...................................................................................27

FACING EXAMPLE ..................................................................................................... 29

LINEAR INTERPOLATION - EXAMPLE ........................................................................ 31

LINEAR INTERPOLATION – LESSON-4 EXERCISE #1 .................................................. 35


TABLE OF CONTENTS

LESSON-5 ..TURNING CANNED CYCLES ...............................................................................39

ROUGH TURNING CANNED CYCLE EXAMPLE ........................................................... 43

ROUGH BORING CANNED EXAMPLE ........................................................................ 46

LESSON-6 ..CIRCULAR INTERPOLATION...............................................................................49

CIRCULAR INTERPOLATION - EXERCISE #1 ............................................................... 51

CIRCULAR INTERPOLATION BORING - EXERCISE #2 ................................................. 53

CIRCULAR INTERPOLATION TURNING AND BORING -EXERCISE #3 ........................ 60

CIRCULAR INTERPOLATION TURNING AND BORING -EXERCISE #4 ........................ 67

LESSON-7 ..TOOL NOSE COMPENSATION ............................................................................73

TOOL NOSE COMPENSATION (G40, G41, & G42) .................................................... 74

CNC PROGRAMMING – G42 EXAMPLE .................................................................... 76

CNC PROGRAMMING – BORING EXAMPLE – G41 ................................................... 77

LESSON-8 ..GROOVING/PARTING OFF ................................................................................79

GROOVING EXAMPLE ............................................................................................... 80

PART-OFF EXAMPLE ................................................................................................. 81

GROOVING CYCLE-MULTIPLE PASS .......................................................................... 88

GROOVING CYCLE-SINGLE PASS FOR CUT-OFF ........................................................ 89

GROOVING & PART OFF EXERCISE # 1 ..................................................................... 95

Table of Contents - 2
LESSON-9 THREADING ........................................................................................................101

HAAS-G76 O.D/I.D THREAD CUTTING CYCLE ........................................................... 102

HAAS-G92 THREAD CUTTING CYCLE ........................................................................ 103

HAAS-M24 THREAD CHAMFER OFF ......................................................................... 104

THREADING OVERVIEW ........................................................................................... 105

THREADING EXAMPLE DRAWING ............................................................................ 108

THREADING EXERCISE .............................................................................................. 116

APPENDIX ..........................................................................................................................121

EXTRA CNC PROGRAMMING EXERCISES .................................................................. 122

PREPATORY FUNCTIONS – G-CODES........................................................................ 131

MISCELLANEOUS FUNCTIONS – M-CODES .............................................................. 135

STANDARD DRILL SIZES – INCHES ............................................................................ 136

INCH TAP DRILL SIZES ............................................................................................... 137

METRIC TAP DRILL SIZES .......................................................................................... 138

DISCRIMINATOR SOFTWARE INSTALLATION ........................................................... 139

Table of Contents - 3
Table of Contents - 4
CNC PROGRAMMING
WORKBOOK

LESSON-1
ABSOLUTE AND INCREMENTAL
POSITIONING

Page 1
LESSON-1 – EXERCISE #1 - ABSOLUTE & INCREMENTAL POSITIONING

ABSOLUTE PROGRAMMING
All axis motions are based on a fixed zero reference point, known as ABSOLUTE ZERO (part zero).
Each coordinate is in relation to this absolute zero using Cartesian or Rectangular Co-ordinates.

INCREMENTAL PROGRAMMING
All axis motions are based on the distance to the next location.
Each coordinate is based on how far the tool is to move from start to finish.
For an incremental move in X axis, we use U and for an incremental move in the Z axis we use W. G91 is not used.

 STARTING AT THE POINT O (ORIGIN), DESCRIBE THE PATH FROM O THROUGH ALL 9 POINTS AND BACK
TO THE POINT O USING ABSOLUTE & INCREMENTAL POSITIONING
ABSOLUTE X Z INCREMENTAL U W
O (Origin) O→1
1 1→2
2 2→3
3 3→4
4 4→5
5 5→6
6 6→7
7 7→8
8 8→9
9 9→O

Lathe Lesson 1 - 2
Page 2
LESSON-1 – EXERCISE #2 - ABSOLUTE & INCREMENTAL POSITIONING

ABSOLUTE PROGRAMMING
All axis motions are based on a fixed zero reference point, known as ABSOLUTE ZERO (part zero).
Each coordinate is in relation to this absolute zero using Cartesian or Rectangular Co-ordinates.

INCREMENTAL PROGRAMMING
All axis motions are based on the distance to the next location.
Each coordinate is based on how far the tool is to move from start to finish.
For an incremental move in X axis, we use U and for an incremental move in the Z axis, we use W. G91 is not used.

 STARTING AT THE POINT O (ORIGIN), DESCRIBE THE PATH FROM O THROUGH ALL 9 POINTS AND BACK
TO THE POINT O USING ABSOLUTE & INCREMENTAL POSITIONING
ABSOLUTE X Z INCREMENTAL U W
O (Origin) O→1
1 1→2
2 2→3
3 3→4
4 4→5
5 5→6
6 6→7
7 7→8
8 8→9
9 9→O

Lathe Lesson 1 - 3
Page 3
LESSON-1 – EXERCISE #3 - ABSOLUTE & INCREMENTAL POSITIONING

ABSOLUTE PROGRAMMING
All axis motions are based on a fixed zero reference point, known as ABSOLUTE ZERO (part zero).
Each coordinate is in relation to this absolute zero using Cartesian Co-ordinates.

INCREMENTAL PROGRAMMING
All axis motions are based on the distance to the next location.
Each coordinate is based on how far the tool is to move from start to finish.
For an incremental move in X axis, we use U and for an incremental move in the Z axis, we use W. G91 is not used.

 STARTING AT THE POINT O (ORIGIN), DESCRIBE THE PATH FROM O THROUGH ALL 9 POINTS AND BACK
TO THE POINT O USING ABSOLUTE & INCREMENTAL POSITIONING
ABSOLUTE X Z INCREMENTAL U W
O (Origin) O→1
1 1→2
2 2→3
3 3→4
4 4→5
5 5→6
6 6→7
7 7→8
8 8→9
9 9→O

Lathe Lesson 1 - 4
Page 4
LESSON-1 – EXERCISE #4 - ABSOLUTE & INCREMENTAL POSITIONING OD

 STARTING AT THE POINT A (ORIGIN), DESCRIBE THE TOOLPATH THROUGH ALL THE POINTS USING
ABSOLUTE & INCREMENTAL POSITIONING

ABSOLUTE X Z INCREMENTAL U W
A A→B
B B→C
C C→D
D D→E
E E→F
F F→G
G G→H
H H→I
I

Lathe Lesson 1 - 5
Page 5
LESSON-1 – EXERCISE #5 - ABSOLUTE & INCREMENTAL POSITIONING OD

 BEGIN AT START POINT SP (X3.75, Z0.25), DESCRIBE THE PATH FROM SP THROUGH POINTS A-K AND
BACK TO POINT SP, USING ABSOLUTE & INCREMENTAL POSITIONING

ABSOLUTE X Z INCREMENTAL U W
SP
SP → A
(START POINT)
A A→B
B B→C
C C→D
D D→E
E E→F
F F→G
G G→H
H H→I
I I→J
J J→K
K K → SP
SP

Lathe Lesson 1 - 6
Page 6
CNC PROGRAMMING
WORKBOOK
CODE FUNCTION

Rapid traverse motion; Used for non-cutting rapid moves of the machine axis to a
G00 location to be machined, or rapid retract moves after cuts have been completed.
Maximum rapid motion (I.P.M.) of a CNC Machine will vary on machine model.

Linear interpolation motion; Used for actual machining and metal removal.
G01 Governed by a programmed feedrate in inches (or mm) per minute. Maximum feed
rate (I.P.M.) of a CNC Machine will vary depending on the model of the machine.

G02 Circular Interpolation, Clockwise


G03 Circular Interpolation, Counterclockwise
G04 Dwell- Used with an X value for time of dwell in seconds
G18 ZX Plane Selection
G20 Verify Inch Coordinate Positions
G21 Verify Metric Coordinate Positions
G28 Machine Home (Rapid traverse)
G40 Tool Nose Radius Compensation CANCEL
G41 Tool Nose Radius Compensation LEFT of the programmed path
G42 Tool Nose Radius Compensation RIGHT of the programmed path
G50 Max RPM Preset
G52 Local Coordinate system setting
G53 Machine Zero Positioning Coordinate Shift
G54-59 Select Coordinate System #1 - #6

LESSON-2
INTRODUCTION TO CNC CODES

Page 7
LESSON-2 – INTRODUCTION TO CNC CODES
LATHE TOOLS

The CNC Lathe used in this text is set-up with following tools. All program examples
and exercises in this workbook are typically using the same tools.

Turret # Tool Description

1 O.D. Right Hand Roughing Tool 80°

2 O.D. Right Hand Finishing Tool 55°

3 O.D. Profiling Tool 35°

4 Right Hand Parting Tool Width 0.118

5 O.D. Thread Tool

6 # 4 Centre Drill

7 1/4” Diameter Drill

8 Boring Tool

Lathe Lesson 2 - 2
Page 8
COMMONLY USED PREPARATORY G CODES
CODE FUNCTION
Rapid traverse motion; Used for non-cutting rapid moves of the machine axis to a
G00
location to be machined, or rapid retract moves after cuts have been completed.
Linear interpolation motion; Used for actual machining and metal removal.
G01
Governed by a programmed feedrate in inches (or mm) per minute.
G02 Circular Interpolation, Clockwise
G03 Circular Interpolation, Counterclockwise
G04 Dwell- Used with an X value for time of dwell in seconds
G18 ZX Plane Selection
G20 Verify Inch Coordinate Positions
G21 Verify Metric Coordinate Positions
G28 Machine Home (Rapid traverse)
G40 Tool Nose Radius Compensation CANCEL
G41 Tool Nose Radius Compensation LEFT of the programmed path
G42 Tool Nose Radius Compensation RIGHT of the programmed path
G50 Max RPM Preset
G52 Local Coordinate system setting
G53 Machine Zero Positioning Coordinate Shift
G54-G59 Select Coordinate System #1 - #6 (Part zero offset location)
G70 Profile Finish Turning fixed cycle
G71 Profile Rough Turning fixed cycle – Z axis direction
G72 Profile Rough Turning fixed cycle – X axis direction
G73 Pattern Repetition cycle
G74 Drilling Cycle
G75 Grooving cycle
G76 Threading cycle

G80 Cancel Canned Cycle

G81 Drill Canned Cycle

G96 Constant Surface Speed (CSS)

G97 Direct RPM Input Mode (cancels CSS mode)


G98 Feed Rate per Minute
G99 Feed Rate per Revolution

Lathe Lesson 2 - 3
Page 9
PROGRAMMING NOTE
As you may have noticed, there are no Incremental or Absolute modes included in the Preparatory
Commands (G codes). On a CNC turning center or Lathe, the mode is always set to Absolute and
diameter, if an Incremental movement is required the letters U or W are used for X or Z
respectively.

X OVERCUT
Most lathe tools have a radius on the front or cutting edge; it is referred to as Tool Nose Radius.
This radius must be compensated for in the calculation of the tool path much like the tool radius
offset in milling operations, this offset is known as Tool Nose Radius Compensation. We will discuss
this later on in this book but for now, know that when we program a facing operation we must
account for the radius in our final X position of the facing move to create a flat surface. This extra
value that we program is sometimes referred to as overcut.

Lathe Lesson 2 - 4
Page 10
COMMONLY USED MISCELLANEOUS M CODES

CODE FUNCTION
The M00 code is used for a Program Stop command on the machine.
It stops the spindle, turns off coolant and stops look-a-head processing.
M00
Pressing CYCLE START again will continue the program on the next block of the
program.
The M01 code is used for an Optional Program Stop command.
Pressing the OPT STOP key on the control panel signals the machine to perform a stop
M01 command when the control reads an M01 command. It will then perform like an M00.
Optional stops are useful when machining the first part to allow for inspection of the
part as it is machined.
Starts the spindle CLOCKWISE for most machining. Must have a spindle speed defined.
M03 The M03 is used to turn the spindle on at the beginning of program or after a tool
change.
M04 Starts the spindle COUNTERCLOCKWISE. Must have a spindle speed defined.
M05 STOPS the spindle. If the coolant is on, the M05 will turn it off.
M08 Coolant ON command.
M09 Coolant OFF command.
M10 Open Chuck
M11 Close Chuck
M12 Tailstock Quill IN

M13 Tailstock Quill OUT

M17 Turret Indexing Forward

M18 Turret Indexing Reverse

M19 Spindle Orientation

M21 Tailstock Forward

M22 Tailstock Backward

M23 Thread Gradual pullout ON

M24 Thread Gradual pullout OFF

M30 Program End and Reset to the beginning of program.

M41 Low Gear selection


M42 Medium Gear selection 1
M43 Medium Gear selection 2
M44 High Gear selection
NOTE: On the Haas lathe only one "M" code can be used in each block. The "M" codes will be the last
command executed in a line, regardless of where it's located in that block.

Lathe Lesson 2 - 5
Page 11
RAPID G00 AND LINEAR G01 INTERPOLATION

G00 RAPID TRAVERSE


This code is used for rapid motion of the tool in air to traverse from one position to another as fast
as possible. This code will work for both axis motions at once.
This G00 code is modal and causes all the following blocks to be in rapid (up to 1000 in./min.)
motion until another Group 01 code is specified, for example G01 linear interpolation.
Generally, rapid motions "will not" be in a straight line. All the axes specified are moved at the
maximum speed and will not necessarily complete each axis move at the same time. It activates
each axis drive motor independently of each other and, as a result, the axis with the shortest move
will reach its destination first. So you need to be careful of any obstructions to avoid with this type
of rapid move.
 G00 is used when you are positioning the tool in ‘fresh air’.
 Retracting from a hole you have drilled.
 Rapid traverse is not used when cutting the part.
 Used incorrectly, rapid traverse will break a tool very easily and possibly remove the part
from the chuck.

G01 LINEAR INTERPOLATION


This G code provides for straight line (linear) motion with programmed feedrate for all axis motions
from point to point. Motion can occur with both axes at once.
All axes specified will start at the same time and proceed to their destination and arrive
simultaneously at the specified feedrate.
To program a feedrate, the F command is used. The F command is modal and may be specified in a
previous block.
G01 is used for
 Drilling a hole
 Turning a diameter
 Machining a profile I.D and O.D.
 Grooving I.D and O.D.

Lathe Lesson 2 - 6
Page 12
EXAMPLE OF PROGRAM START-UP BLOCKS

N10 G18 G20 G40 G54 G80 G97 G99


Many programs have a G code default line or “Safety Block” at the beginning of the program, this is
to ensure the machine control is in a safe start condition before proceeding with the program. If
the previous program had failed to cancel certain function this “Safety Block” would help ensure
that the new program starts with the appropriate settings.

For example the G codes below would perform the following at the start of the program:

G18 - ZX Plane Selection


G20 - Inch Programming
G40 - Cancel Tool Nose Compensation
G54 - Work Offset Command
G80 - Cancels Canned Cycles
G97 - Constant Non-Varying Spindle Speed
G99 - Feed Per Revolution

MACHINE DEFAULTS

When the machine tool is powered on the control automatically recognizes a series of codes. On
the Haas lathe the G codes listed below are set when the lathe is powered up:

G00 Rapid Traverse


G18 XZ Circular Plane Selection
G40 Cutter Compensation Cancel
G54 Work Coordinate Zero #1
G64 Exact Stop Cancel
G80 Canned Cycle Cancel
G97 Constant Surface Speed Cancel
G99 Feed Per Revolution

Lathe Lesson 2 - 7
Page 13
EXAMPLE OF PROGRAM START-UP BLOCKS
% Programs must begin and end with “%”
(depending on the type of control.)
O00023 Letter “O” and up to a five digit program number.

Nnn - Sequence Number


G18 - ZX Plane Selection
N10 G18 G20 G40 G20 - Verify Inch
G40 – Tool Nose Radius Compensation Safety
Cancel Startup
Block
G80 - Canned Cycle Cancel
G97 - Constant Non-Varying Spindle
N20 G80 G97 G99
Speed
G99 - Feed Per Revolution

T0100 - Tool number #1 to be loaded into the


N30 T0100 M41 cutting position with no offset call.
M41 – Select low gear if required

G97 - constant surface speed off / revolution per


N40 G97 S500 M03 minute on spindle speed is set to 500 RPM
M03 - Starts the spindle in a clockwise direction

G00 – Rapid feed engagement.


G54 - Select Coordinate System #1
G41 – Tool nose radius compensation to the left of
the programmed tool path.
X2.0 – Tool will rapid to a position of 1.0 units from
N50 G00 G54 G41 X2.0 Z0.3 T0101 M08 center line of part.
Z0.3 – Tool will rapid to a position 0.3 units from
finished face of part (finished face of part is usually
set to Z0).
T0101 – Confirms tool #1 and assigns offset #1
M08 – Start coolant pump

G96 - Constant surface speed on. Spindle will turn


at S450 surface feet per minute. Surface speed is
N60 G96 S450 determined by adjusting the spindle speed based on
the radius of cut.
S450 - Cutting speed selection of 450 ft/min.

Lathe Lesson 2 - 8
Page 14
EXAMPLE OF PROGRAM ENDING BLOCKS

G00 - Rapid Traverse


U0.05 – Rapids tool 0.05 incrementally above last X position
N200 G00 U0.05 W0.05
W0.05 – Rapids tool 0.05 incrementally away from last Z
position
N210 M05 M05 – Turn off spindle

G28 - Machine Zero Return


N220 G28 U0.
U0 - X axis in the up direction to
Send to machine
machine zero
zero X-axis first to
avoid any crash.
G28 - Machine Zero Return
N230 G28 W0.
W0 - Z axis to machine zero

N240 M30 M30 – End of Program and Reset

Note:
Depending on the setup of the lathe and to avoid any crashes while returning to machine zero it is
usually best to move to machine zero in only one axis first. You need to be aware of where the tool
is located and on its journey to machine zero, will it collide with anything?

Lathe Lesson 2 - 9
Page 15
MOVING TO MACHINE ZERO – G28 and G53

G28 - FANUC RETURN TO MACHINE ZERO THROUGH REFERENCE POINT


The G28 code is used to return to the machine zero position on all axes. If you program G28 on its
own the machine will move in the X and Z axis simultaneously to machine zero.

To command only the turret to return to machine zero, and not the tailstock if one is being used,
program in G28 U0 W0 to send only the X and Z axes home and the tailstock will remain in place.

G00 G28 X3.00 Z2.00


The above command would position the tool from the current position to the absolute position of
X3.00 and Z2.00, and then to the X and Y axis machine zero point. This is a movement through an
absolute intermediate point. This can be used as a way to move to a clearance point and then
return to machine zero.

Haas has a G53 program code that works similar to G28.


Example:
G53 G00 X-2.0 Z-4.0
The machine will move negative 2.0 inches from the machine zero position in the X axis, and
negative 4.0 inches from home position in the Z axis.

G53 G00 X0 Z0
This block will send the turret to machine Zero.

Lathe Lesson 2 - 10
Page 16
G40, G41, & G42 TOOL NOSE COMPENSATION

When a program is created it is done so using the insert’s command or reference point (see figure
below). Tool Nose Compensation is used to offset the tool by a distance that will bring the cutting
edge of the insert to the proper position in relation to the specific radius of the insert being used.
The radius of the tool must be input into the controller and it will calculate the proper offset known
as Tool Nose Compensation.

G40 TOOL COMPENSATION CANCEL

G40 will cancel the G41 or G42 tool compensation commands that are in effect at the time.

G41 TOOL COMPENSATION LEFT (BORING)


G41 will select tool compensation to the LEFT of the contouring direction; generally G41 is used for
boring. The tool is compensated for the radius of the tool tip. The value of the compensation (tool
radius) must be entered in the controller registry during set-up.

G42 TOOL COMPENSATION RIGHT (TURNING)


G42 will select tool compensation to the RIGHT of the contouring direction; generally G42 is used
for turning. The tool is compensated for the radius of the tool tip. The value of the compensation
(tool radius) must be entered in the controller registry during set-up.

Lathe Lesson 2 - 11
Page 17
Lathe Lesson 2 - 12
Page 18
CNC PROGRAMMING
WORKBOOK

LESSON-3
DRILLING

Page 19
LESSON-3 CENTER DRILL & DRILLING

CENTER DRILLING

Before most drilling operations take place a starting drill must be programmed to make a small
hole for the larger drill that will follow. The tool used to make the starting hole is known as a
center drill, sizes of center drills vary and the use of the different sizes is governed by the size of the
drill that will be used after. The following is a chart that will assist in choosing the proper size of
the center drill and programming the correct Z depth.

DRILL POINT LENGTH

On most engineering drawings the finished depth of the hole will be given from the front edge of
the part to the end of the parallel part of the hole (not including the drill point). This poses a
programming problem because we program from the point of the drill so any Z depth we specify
has to include the length of the drill point. To do this we have a calculation to perform based on
the diameter of the drill and the angle of the drill point (usually 118°). Quite simply the
calculation is as follows:
Drill Point Length = Diameter x Constant
Where DIA. refers to the drill diameter and the constant is stated in the following chart
DRILL ANGLE CONSTANTS
60°= 0.866 110°= 0.350
75°= 0.652 118°= 0.300
80°= 0.596 120°= 0.289
82°= 0.575 135°= 0.207
90°= 0.500 150°= 0.134
100°= 0.420 180°= 0.000

Lathe Lesson 3 - 2
Page 20
DRILLING ON CENTRELINE EXAMPLE

Material: Al. 6061


CS= 700 ft/min
Tool #6 (#4 CENTRE DRILL) – FACE MUST BE CENTRE DRILLED BEFORE DRILLING
Tool #7 (Ø 0.25 DRILL) – DRILL HOLE 0.75 DEEP Z ZERO RIGHT FACE OF PART
Spindle Speed RPM = 4xCS/D= Feed = in/min
%
O00084 (PROGRAM NAME, CENTRE DRILL AND DRILLING EXERCISE)
N3G18 G20 G40 G54 G80 G97 G99 (SAFETY BLOCK)
N5T0600 M41 (C/DRILL TOOL CALL NO OFFSETS AND GEAR RANGE)
N9S2500 M03 (START SPINDLE, CLOCKWISE ROTATION)
N11G00 X0 Z1.0 T0606 M08 (X CENTRE OF PART, Z SAFE DISTANCE FROM FRONT FACE OF PART)
N13Z0.05 (RAPID TO 0.05 FROM FRONT FACE OF THE PART, NON-CUTTING MOVE)
N15G98 (FEEDRATE PER MINUTE)
N17G01 Z- 0.269 F7.0 (FEED TOOL TO C'DRILL DEPTH, FEEDRATE=7.0" / MIN.)
N19G00 Z.1 (RAPID RETRACT)
N21G00 X0 Z1.0 (T0800 RAPID TO ORIGINAL START POSITION)
N23G28 U0 M09 (SEND TOOL TO HOME POSITION IN X AXIS)
N25G28 W0 (SEND TOOL TO HOME POSITION IN Z AXIS)
N27M01 (OPTIONAL STOP)
N29T0700 M41 (0.25 DRILL TOOL CALL NO OFFSETS AND GEAR RANGE)
N33S2000 M03 (START SPINDLE,CLOCKWISE ROTATION)
N35G00 X0 Z1.0 T0707 M08 (X CENTRE OF PART, Z SAFE DISTANCE FROM FRONT FACE)
N37Z0.05 (RAPID TO 0.05 FROM FRONT FACE OF THE PART, NON-CUTTING MOVE)
N39G01 Z-0.375 F10.0 (1st PECK FEED TOOL TO DRILL DEPTH, FEEDRATE=15.0" / MIN. )
N41G00 Z.05 (RAPID RETRACT TO CLEAR CHIPS)
N43Z-.35 (RAPID BACK INTO HOLE)
N45G01 Z-0.825 (2nd PECK FEED TOOL TO DRILL DEPTH)
N47G00 Z.05 (RAPID RETRACT OUT OF HOLE)
N49 G00 X0 Z1.0 T0707 (RAPID TO ORIGINAL START POSITION)
N51G28 U0. (SEND TOOL TO HOME POSITION IN X AXIS)
N53G28 W0. (SEND TOOL TO HOME POSITION IN Z AXIS)
N55M30 (PROGRAM END)
%

Lathe Lesson 3 - 3
Page 21
LESSON-3 DRILL CANNED CYCLE G81

G80 CANCEL CANNED CYCLE


A canned cycle permits multiple function programming on one block.
A canned cycle is canceled with G80.

G81 CANNED CYCLE DRILL

Format: G81 X0 Z-0.625 R0.1 F10.


X Rapid X location (Optional)
Z Z-depth (Optional - Feed to Z-depth starting from R Plane)
R R-Plane (Rapid point to start feeding)
F Feed rate

This G code permits the inclusion of multiple axis motions on one block of program. It is used to
reduce the length of program.
All Z axis motions are in ABSOLUTE with any other axis motions unaffected.
In a canned cycle drill, the cutter moves at rapid to the X and Z axis specified, then to a Z value in
front of the hole at rapid rate to the R Plane, which is a point clear of the work piece. From the R
Plane the drill feeds to the Z-depth at the specified feedrate. When the cutter reaches the Z depth, it
retracts at rapid rate to the R Plane.

Example of G81:
%
O00187 (G81 Drilling)
N1 G28 (Return to Machine Zero)
N2 T0606 (1/4 DIA. DRILL - Tool 6 Offset 6)
N3 G97 S1500 M03
N4 G54 G00 X0. Z1. M08 (Rapid to Initial Start Point)
N5 G81 Z-0.625 R0.1 F0.005 (G81 Drilling Cycle)
N6 G80 G00 Z1. M09
N7 G28
N8 M30
%

Lathe Lesson 3 - 4
Page 22
DEEP HOLE PECK DRILL CANNED CYCLE G83

G83 DEEP HOLE PECK DRILL CANNED CYCLE


Format : G83 Z-2.5 Q0.5 R0.1 F10.
X* Rapid X-axis location
Z Z-depth (feed to Z-depth starting from R plane)
W* Incremental Z-depth (feeding to Z-depth starting from R-plane)
Q* Pecking equal incremental depth amount (if I, J and K are not used)
I* Size of first peck depth (if Q is not used)
J* Amount reducing each peck after first peck depth (if Q is not used)
K* Minimum peck depth (if Q is not used)
P Dwell time at Z-depth
R R-plane (rapid point to start feeding)
F Feed rate in inches (mm) per minute
* Indicates optional

This G code is similar to G81 but is used for drilling when the tool must be withdrawn periodically
to allow chips to be removed from the hole.

This cycle allows the tool to rapid to the R Plane, feeds towards the Z depth in increments
(traversing to the R Plane and back to the point where drilling was interrupted after each
increment) until the tool reaches the final Z depth.

Lathe Lesson 3 - 5
Page 23
DEEP HOLE PECK DRILL CANNED CYCLE G83

Example of G83 using Q to define peck amount:


In the example below Q is set to 0.2.

When using G83 to peck drill a hole every pass will cut in by the Q amount 0.2, then rapid out to the
R plane to clear chips and then rapid into the hole for the next Q peck amount until Z depth is
reached.

%
O00121 (G83 Peck Drilling)
N1 G28
N2 T0707 (1/4 DIA. DRILL - Tool 7 Offset 7)
N3 G97 S1900 M03
N4 G54 G00 X0. Z1. M08 (Rapid to Initial Start Point)
N5 G83 Z-1.0 Q0.2 R0.1 F0.005 (G83 Peck Drilling Cycle with Q)
N6 G80 G00 Z1. M09
N7 G28
N8 M30
%

Lathe Lesson 3 - 6
Page 24
DRILLING ON CENTRELINE - LESSON-3 - EXERCISE #1

Material: Al. 6061


CS= ft/min
CREATE A DRILLING PROGRAM USING G83 – Peck amount: 0.125”
Tool #6 (#4 CENTRE DRILL) – FACE MUST BE CENTRE DRILLED BEFORE DRILLING
Tool #7 (Ø 0.25 DRILL) – DRILL HOLE TO APPROPRIATE DEPTH Z ZERO RIGHT FACE OF PART
Spindle Speed RPM = 4xCS/D= Feed = in/min
Depth of Hole = 1.42” Z Depth for Drilling Including Tip Length?___________ Peck = 0.125
%

Lathe Lesson 3 - 7
Page 25
DRILLING ON CENTRELINE - LESSON-3 - EXERCISE #1 CONT.

Lathe Lesson 3 - 8
Page 26
CNC PROGRAMMING
WORKBOOK

LESSON-4
LINEAR INTERPOLATION

Page 27
RAPID G00 AND LINEAR G01 INTERPOLATION

G00 RAPID TRAVERSE


This code is used for rapid motion of the tool in air to traverse from one position to another as fast
as possible. This code will work for both axis motions at once.
This G00 code is modal and causes all the following blocks to be in rapid (up to 1000 in./min.)
motion until another Group 01 code is specified, for example G01 linear interpolation.
Generally, rapid motions "will not" be in a straight line. All the axes specified are moved at the
maximum speed and will not necessarily complete each axis move at the same time. It activates
each axis drive motor independently of each other and, as a result, the axis with the shortest move
will reach its destination first. So you need to be careful of any obstructions to avoid with this type
of rapid move.
 G00 is used when you are positioning the tool in ‘fresh air’.
 Retracting from a hole you have drilled.
 Rapid traverse is not used when cutting the part.
 Used incorrectly, rapid traverse will break a tool very easily and possibly remove the part
from the chuck.

G01 LINEAR INTERPOLATION


This G code provides for straight line (linear) motion with programmed feedrate for all axis motions
from point to point. Motion can occur with both axes at once.
All axes specified will start at the same time and proceed to their destination and arrive
simultaneously at the specified feedrate.
To program a feedrate, the F command is used. The F command is modal and may be specified in a
previous block.
G01 is used for
 Drilling a hole
 Turning a diameter
 Machining a profile I.D and O.D.
 Grooving I.D and O.D.

Lathe Lesson 4 - 2
Page 28
FACING

FACING
After a work piece has been loaded into a lathe the first operation should be to face the end of the
part to make it flat. This will allow the later turning and boring operations to start the cut without
having a sometimes large interrupted cut due to an uneven face. There are fixed or canned cycles
that can be programmed to do this but for now we will talk about manually programming this
operation.
 A safe starting position away from the Outside Diameter (OD) of the rough material should
be determined, as well as from the uneven front face of the raw material (X and Z).
 Depth of the face cut should be made from the “safe position” to the Z position required,
then program the X cut along the face as linear interpolation.
 If the material has a rough bore the X coordinate for facing should be programmed a
sufficient amount smaller than the Inside Diameter (ID) of the bore, as there is no need to
go to X0 this will eliminate “fresh air cutting”.
 Don’t forget the overcut! The usual amount of the overcut is not much more than the
radius of the facing insert, if too much overcut is programmed damage to the insert itself
may occur due to rubbing of the cutting edge on the material.

PROGRAMMING EXAMPLE – FACING – STOCK DIAMETER 1.375”


%
O43 (Program number)
N1 G20 (Verify inch units)
N2 G40 G54 G80 G97 G99 (Safety block)
N3 T0100 M41 (Tool call T01 with gear selection)
N4 G50 S1200 (Specify maximum RPM to 1200)
N5 G97 S500 M03 (Start spindle 500 RPM CW)
N6 G00 G54 X1.7 Z0.25 T0101 M08 (Rapid to X1.7 Z0.25 safe position)
N7 G96 S700 (Specify constant surface speed 700 SFM)
N8 G01 Z0 F0.012 (Feed to Z0 finish front face of part)
N9 X-0.05 (Program tool to X-0.05 overcut by 0.05)
N10 U0.05 W0.05 (Incremental “pull off” from part face X0.05 Z0.05)
N11 G00 X1.7 Z0.25 (Rapid back to safe position)
N12 G28 U0 (Return to X machine home position)
N13 G28 W0 M05 (Return to Z machine home position)
N14 M01 (Optional stop)
N15 T0100 (Tool offset compensation canceled)
N16 M30 (Program End)
%

Lathe Lesson 4 - 3
Page 29
FACING EXAMPLE

 Example program to only face rough material (shown as a dashed line 1.625” diameter)
 This example takes 2 face passes – The first rough face pass 0.005 away from the finish face.
 For the second finish pass face at Z0. Z0 = finished face of part. Tool T01 is being used.
%
O43 (Program number)
N1 G20 (Verify inch units)
N3 G40 G54 G80 G97 G99 (Safety block)
N5 T0100 M41 (Tool call T01 with gear selection)
N7 G50 S1200 (Specify maximum RPM to 1200)
N9 G97 S500 M03 (Start spindle 500 RPM CW)
N11 G00 G54 X1.7 Z0.25 T0101 M08 (Rapid to Safe position, coolant on)
N13 G96 S700 (Specify constant surface speed 700 SFM)
N15 G99 G01 Z0.005 F0.012 (G99=Feed per revolution)
N17 X-0.05 (Move tool to X-0.05, overcut by 0.05)
N19 U0.05 W0.05 (Incremental “pull off” from part face X0.05 Z0.05)
N21 G00 X 1.5 (Rapid out for second finish facing cut)
N23 Z0 (Move to Z Zero for final facing cut)
N25 G01 X-0.05 (Move tool to X-0.05, overcut by 0.05)
N27 U0.05 W0.05 (Incremental “pull off” from part face X0.05 Z0.05)
N29 G00 X1.7 Z0.25 M09 (Rapid back to safe position, coolant off)
N31 G28 U0 (Return to X machine home position)
N33 G28 W0 M05 (Return to Z machine home position)
N34 T0100 (Tool offset compensation canceled)
N35 M30 (Program End)
%

Lathe Lesson 4 - 4
Page 30
LINEAR ROUGH TURNING EXAMPLE

 LINEAR ROUGH TURNING EXAMPLE - ROUGHING TOOLPATH


 This Example program faces the front of the part, one rough cut, one finish cut.
 After facing the front of the bar stock the diameters are rough turned, leaving a small amount of
material for a finish pass.
 For this example a maximum cut of 0.25 off the diameter is being taken, leaving 0.03 on the
diameter and 0.005 on all Z faces. A finishing pass will be programmed in the next exercise.
 The bar stock is 1.5” diameter
 X0 is centerline of the part, Z0 is the front face (far right) of the part
 All X positions are diameter, all Z positions past the front face are Z-
 After facing the tool is retracted in X&Z (U&W) a small amount (0.05”) then rapids to the X diameter
of the first Z feed across the rough OD of the part.
 The tool is once again retracted in X&Z (U&W) then rapids back to a safe position in Z, and then
brought to the next position in X diameter for the next feed across and so on.
 The 0.0625 x 45° chamfers will be added later in the finishing tool path
 In this example the rough turning passes will machine past the left end of the part by 0.2”. The
reason for this is to remove material prior to the parting off operation; this will leave less material
for the parting tool to remove.

Lathe Lesson 4 - 5
Page 31
LINEAR ROUGH TURNING EXAMPLE
%
O00081 (PROGRAM NAME, ROUGH TURNING EXERCISE)
N1 G20 (Verify inch units)
N3 G40 G54 G80 G97 G99 (Safety block)
N5 T0100 M41 (Tool call T01 with gear selection)
N7 G50 S3500 (Specify maximum RPM to 3500)
N9 G97 S500 M03 (Start spindle 500 RPM CW)
N11 G00 G41 G54 X1.7 Z0.25 T0101 M08 (Rapid to Safe position, tool nose compensation (TNC), coolant on)
N13 G96 S600 (Specify constant surface speed 600 SFM)
N15 G99 G01 Z0.005 F0.010 (Feed to Z0.01 0.01 from finish front face of part G99=Feed per revolution)
N17 X-0.05 (Move tool to X-0.05, overcut by 0.05)
N19 U0.05 W0.05 (Incremental “pull off” from part face X0.05 Z0.05)
N21 G00 X1.7 (Rapid out for second finish facing cut)
N23 Z0 (Move to Z Zero for final facing cut)
N25 G01 X-0.05 (Move tool to X-0.05, overcut by 0.05)
N27 U0.05 W0.05 (Incremental “pull off” from part face X0.05 Z0.05)
N29 G00 X1.7 Z0.25 (Rapid back to safe position for start of rough turning)
N31 G96 S700 (Constant surface speed engaged at 700 SFM)
N33 G42 X1.405 (Move to the first X diameter cutting position, TNC right)
N35 G01 Z-2.2 (Feed to full length of part plus another 0.2 to allow for the parting tool)
N37 U0.05 W0.05 (Retract off part in feed mode)
N39 G00 Z0.25 (Rapid to safe position in front of part)
N41 X1.250 (Move to the second X diameter cutting position)
N43 G01 Z-1.495 (Feed to length of 0.5" shoulder, leaving 0.005 for finish)
N45 U0.05 W0.05 (Retract off part in feed mode)
N47 G00 Z0.25 (Rapid to safe position in front of part)
N49 X1.0 (Move to the third X diameter cutting position)
N51 G01 Z-1.495 (Feed to length of 0.5" shoulder, leaving 0.005 for finish on z)
N53 U0.05 W0.05 (Retract off part in feed mode)
N55 G00 Z0.25 (Rapid to safe position in front of part)
N57 X0.905 (Move to the fourth X diameter cutting position, plus 0.030" on 0.875"
diameter)
N59 G01 Z-1.495 (Feed to length of 0.5" shoulder, leaving 0.005 for finish)
N61 U0.05 W0.05 (Retract off part in feed mode)
N63 G00 Z0.25 (Rapid to safe position in front of part)
N65 X0.655 (Move to the fifth X diameter cutting position, plus 0.030" on 0.625"
diameter)
N67 G01 Z-0.370 (Feed to length of 0.375" shoulder, leaving 0.005 for finish on Z)
N69 U0.05 W0.05 (Retract off part in feed mode)
N71 G00 Z0.25 (Rapid to safe position in front of part)
N73 G40 G00 X1.7 Z0.25 (Cancel TNC offset, rapid to original start position)
N75 G28 U0 (Rapid to X machine home position)
N77 G28 W0 M05 (Rapid to Z machine home position)
N79 M30 (Program end)
%

Lathe Lesson 4 - 6
Page 32
LINEAR FINISH TURNING EXAMPLE

 CONTOUR THE FINISH PROFILE


 In the previous Example the part was rough turned, now we will add the finishing tool path to the
rouging program. The continuation of this program is show below
 The first part of the program rough turns the part and then a tool change takes place to load up the
finish tool
 The tool used to finish the contour will be a carbide insert with a 0.032” tool nose radius - Tool # 2

(End of roughing tool path on previous page - continue finish cut here)
N73 G40 G00 X1.7 Z0.25 (Cancel tool nose radius offset, rapid to original start position)
N75 G28 U0 (Rapid to x machine home position)
N77 G28 W0 M05 (Rapid to z machine home position)
N79 T0202 (O.D. Right Hand Finishing Tool 55°)

N81 G50 S3500 (Specify maximum RPM to 3500)

N83 G97 S800 M03 (Start spindle 800 RPM CW)


N85 G00 G42 G54 X1.7 Z0.25 T0202 M08 (Rapid to Safe position, TNC, coolant on)
N87 G96 S700 (Specify constant surface speed 700 SFM)
N89 G99 G01 X 0.5125 Z0.05 F0.006 (Feed to Z0.05 from finish front face of part & 0.05 below chamfer)
N91 X0.625 Z-0.0625 (Cut chamfer at front of part)
N93 Z-0.375
N95 X0.875
N97 Z-1.5
N99 X1.3125
N101 X1.375 Z-1.5625 (Cut chamfer at left of part)
N103 Z-2.2

Lathe Lesson 4 - 7
Page 33
LINEAR FINISH TURNING EXAMPLE - CONTINUED

N105 X1.625
N107 G00 Z0.25 (Rapid to safe position in front of part)
N109 G40 G00 X1.7 Z0.25 (Cancel tool nose radius offset, rapid to original start position)
N111 G28 U0 (Rapid to X machine home position)
N113 G28 W0 M05 (Rapid to Z machine home position)
N115 M30 (Program end)
%

Lathe Lesson 4 - 8
Page 34
LINEAR INTERPOLATION - LESSON-4 - EXERCISE #1

 PROFILE TURNING and DRILLING EXERCISE


 Use the previous sample programs as a guide to complete the part shown below
 Z Zero is at the right face of the part
 Make from 1.5” diameter bar stock.

Material: Alum T6061

%
O49 (LINEAR INTERPOLATION EXERCISE #9)

Lathe Lesson 4 - 9
Page 35
Lathe Lesson 4 - 10
Page 36
Lathe Lesson 4 - 11
Page 37
LINEAR INTERPOLATION - LESSON-4 - EXERCISE #1
EXAMPLE OF CUT-OFF
 The program below shows how the Lesson-4 Exercise #1 part would be cut-off using a parting tool.

(CUT OFF)
N137 T404 (Cut-Off Tool 0.118” wide)
N139 G97 S191 M03 (Start spindle 191 RPM CW)
N141 G00 X1.7 Z0.25 M8 (Rapid to safe position in front of part, Coolant on)
N143 G50 S3000 (Specify maximum RPM to 3500)
N145 G96 S200 (Specify constant surface speed 200 SFM)

N147 Z-2.0 (Rapid move to Z-2.0, end of part)


N149 X1.6 (Rapid move to X1.6, clearance away from part)
N150 G99 (Feed Rate Per Revolution)
N151 G01 X-0.02 F0.002 (Feed to X-0.02 past center of part)
N153 G00 X1.7 (Rapid move to X1.7, clearance away from part)
N155 G28 U0 (Rapid to X machine home position)
N157 G28 W0 M05 (Rapid to Z machine home position)
N169 M30 (Program end)
%

Lathe Lesson 4 - 12
Page 38
CNC PROGRAMMING
WORKBOOK

LESSON-5
TURNING CANNED CYCLES

Page 39
LESSON 5 - TURNING CANNED CYCLES G71, G72 and G70

G71-G72 ROUGH TURNING CYCLE


A canned cycle, which permits multiple function programming in one code, is very helpful to the
programmer for ease of programming and more compact programs.
The G71 cycle allows for rough turning in the Z- direction (towards the chuck)
The G72 cycle allows for rough facing in the X- direction (towards the centerline of the part)

G71 CANNED CYCLE – TWO LINE FORMAT


Format: G71 U___ R___
G71 P___ Q___ U___ W___ F___S___
First G71 block
U Depth of roughing cut
R Amount of retract after each cut
Second G71 block
P First block number of finish contour
Q Last block number of finish contour
U Amount of stock left for finish operation (diameter) X axis
W Amount of stock left on all faces for finish operation Z axis
F Feed rate in inches or mm /rev.
S Spindle speed in ft or m /min.

G72 CANNED CYCLE – TWO LINE FORMAT


Format: G72 W___ R___
G72 P___ Q___ U___ W___ F___S___
First G71 block
U Depth of roughing cut
R Amount of retract after each cut
Second G71 block
P First block number of finish contour
Q Last block number of finish contour
U Amount of stock left for finish operation (diameter) X axis
W Amount of stock left on all faces for finish operation Z axis
F Feed rate in inches or mm /rev.
S Spindle speed in ft or m /min.

Lathe Lesson 5 - 2
Page 40
LESSON 5 - TURNING CANNED CYCLES G71

G71 CANNED CYCLE – HAAS

ONE LINE FORMAT

G71 O.D./I.D. STOCK REMOVAL CYCLE

The type described below is a TYPE I geometry path and is when the X-axis of the programmed path
does not change direction. This type of path is called monotonic.

Format: G71 P___ Q___ U___ W___ F___S___

P First block number of finish contour


Q Last block number of finish contour
U* Finish stock remaining with direction (+or -), X-axis diameter value
W* Finish stock remaining with direction (+or -), Z-axis value
I* Last pass amount with direction (+or -), X-axis radius value
K* Last pass amount with direction (+or -), Z-axis value
D* Depth of cut stock removal each pass, positive radius value (Setting 72)
F Roughing passes feed rate throughout this cycle
R1* YASNAC type II roughing (only if setting 33 is on Yasnac)
S** Spindle speed in this cycle
T** Tool and offset in this cycle

* Indicates optional
** Rarely defined in a G71 line

Lathe Lesson 5 - 3
Page 41
LESSON 5 - FINISHING CANNED CYCLE G70

G70 FINISH TURNING/BORING CANNED CYCLE


Format : G70 P__ Q__ F__ S__
P= First block number of the finish contour
Q= Last block number of the finish contour
F= Cutting feedrate for the finishing (overrides the feed in roughing contour)
S= spindle speed (overrides speed in roughing contour)

This canned cycle is used after the roughing canned cycle is finished. It does not have to be run
directly after the roughing cycle but can be run in the same main program. The start and finish
blocks of the original definition of the profile that was used in the rough cycle are used to define
the contour of the finish cycle. It is recommended that the same start point is used for both rough
and finish cycles to ensure safe tool paths of both operations.

TYPICAL O.D. FINISH CANNED CYCLE

N37 T0500 M42 (OD FINISH TOOL & GEAR SEL.)


N38 G96 S500 M03 (CSS. SPEED)
N39 G42 X__ Z__ T0505 M08 (TOOL COMPENSATION & START POS.)
N40 G70 P11 Q19 F12.0 (CALL LINES FOR FINISH COORDS)
N41 G00 G40 X__ Z__ T0100
N42 M01

TYPICAL I.D. FINISH CANNED CYCLE

N43 T0700 M42 (ID FIN TOOL & GEAR SEL.)


N44 G96 S475 M03 (CSS. SPD)
N45 G00 G41 X__ Z__ T0707 M08 (TOOL COMPENSATION & START POS.)
N46 G70 P27 Q34 F12.0 (CALL LINES FOR FIN. COORDS)
N47 G00 G40 X__ Z__ T0700
N48 M01

Lathe Lesson 5 - 4
Page 42
LESSON 5 – EXAMPLE - ROUGH AND FINISH TURNING CANNED CYCLES
 In the previous lesson the part shown below was programmed as an exercise, the program in the
previous lesson did not use canned cycles to rough the diameters. In this example program the part
will be programmed using canned cycle G71 to rough the diameters of the part and G70 to Finish
machine the contour
 Z Zero is at the right face of the part
 The part is being made from 1.5” diameter bar stock
 This Example program faces the front of the part, then a series of rough cuts and one finish cut.
 After facing the front of the bar stock the diameters are rough turned, leaving a small amount of
material for a finish pass.
 For this example a maximum cut of 0.1 off the diameter is being taken, leaving 0.03 on the diameter
and 0.005 on all Z faces.
 In this example the rough turning passes will machine past the left end of the part by 0.2”. The
reason for this is to remove material prior to the parting off operation; this will leave less material
for the parting tool to remove

Material:
Alum’ T6061

Lathe Lesson 5 - 5
Page 43
LESSON 5 – EXAMPLE - ROUGH AND FINISH TURNING CANNED CYCLES
%
O49 (Roughing Cycle Example - Lesson-5)
(Face Front of Part one cut)
N1 G20 (Verify inch units)
N3 G40 G54 G80 G97 G99 (Safety block)
N5 T0100 (Tool call T01)
N7 G50 S3500 (Specify maximum RPM to 3500)
N9 G97 S500 M03 (Start spindle 500 RPM CW)
N11 G00 G41 G54 X1.7 Z0.25 T0101 M08 (Rapid to Safe position, TNC, coolant on)
N13 G96 S700 (Specify constant surface speed 700 SFM)
N15 G99 G01 Z0 F0.010 (Feed to Z0.01 0.01 from finish front face of part G99=Feed per revolution)
N17 X-0.05 (Move tool to X-0.05, overcut by 0.05)
N19 U0.05 W0.05 (Incremental “pull off” from part face X0.05 Z0.05)
N21 G00 G40 X1.7 Z0.25 (Rapid back to safe position for start of rough turning)
(Rough Turn O.D.)
N23 G71 P25 Q47 U0.03 W0.005 D0.1 F0.010 (G71 Rough Turning Cycle)
N25 G00 G42 X0.4187 (P and G42 With the start of Geometry)
N27 G99 G01 X 0.4187 Z0.05 F0.006 (Feed to Z0.05 from finish front face of part & 0.05 below chamfer)
N29 X0.5 Z-0.0312 (Cut chamfer at front of part)
N31 Z-0.375
N33 X0.875
N35 Z-0.875
N37 X1.0 Z-1.5
N39 Z-1.75
N41 X1.45
N43 Z-2.2
N45 X1.6
N47 G40 G00 X 1.7 (Q End of Geometry. Machine off of part and cancel compensation)
N49 G00 X1.7 Z0.25 (Rapid back to safe position)
N51 G28 U0 (Rapid to X machine home position)
N53 G28 W0 M05 (Rapid to Z machine home position)

Lathe Lesson 5 - 6
Page 44
LESSON 5 – EXAMPLE - ROUGH AND FINISH TURNING CANNED CYCLES
(Finish Cut)
N55 T0202 (O.D. Right Hand Finishing Tool 55°)
N57 G50 S3500 (Specify maximum RPM to 3500)
N59 G97 S800 M03 (Start spindle 800 RPM CW)
N61 G00 G42 G54 X1.7 Z0.25 T0202 M08 (Rapid to Safe position, TNC, coolant on)
N63 G96 S700 (Specify constant surface speed 700 SFM)
N65 G70 P25 Q47 ( G70 Finishing OD)
N67 G28 U0 (Rapid to X machine home position)
N69 G28 W0 M05 (Rapid to Z machine home position)
(Centre Drill - G81 Canned Cycle Drill)
N71 T0600 (Tool call T08)
N73 G50 S3500 (Specify maximum RPM to 3500)
N75 G97 S2500 M03 (Start spindle 2500 RPM CW)
N77 G00 G54 X1.7 Z0.25 T0606 M08 (Rapid to Safe position, coolant on)
N79 G00 X0 Z0.25
N81 G98 G81 Z-0.269 R0.1 F7.0 (G81 Drilling Cycle)
N83 G80
N85 G28
(Drill 1/4" - G83 Canned Cycle Peck Drill)
N87 T0707 (1/4 DIA. DRILL - Tool 07)
N89 G97 S2500 M03
N91 G00 G54 X1.7 Z0.25 T0707 M08 (Rapid to Safe position, coolant on)
N93 G00 X0 Z0.25
N95 G98 G83 Z-0.825 Q0.125 R0.1 F10.0
N97 G80
N99 G28
N101 M30 (Program end)
%

Lathe Lesson 5 - 7
Page 45
LESSON 5 - EXAMPLE - ROUGH AND FINISH BORING CANNED CYCLES

Material: Aluminium
CS=700ft/min
1. 1/2” diameter drill has already been used to drill though the part, front face has been faced
2. Example shows below the Rough and Finish Boring Tool path using the above drawing
3. Use G71 (Roughing Towards The Chuck In Z Axis) G70 for finish cut
4. Leave 0.010” on diameters, Leave 0.003” on faces for finish cut
1. Spindle Speed RPM = 4xCS/D=________ 1. Feed =0.003 in per rev

1. Depth of Cut=0.030”

%
O67 (Roughing and Finishing Cycles - Boring)
N1 G20 (Verify inch units)
N3 G40 G54 G80 G97 G99 (Safety block)
N5 T0800 (Tool call T08 - Rough Boring Tool)
N7 G50 S3500 (Specify maximum RPM to 3500)
N9 G97 S500 M03 (Start spindle 500 RPM CW)
N11 G00 X1.7 Z0.25 T0808 M08 (Rapid to Safe position, coolant on)
N13 G96 S700 (Specify constant surface speed 700 SFM)
N15 X0.490 Z0.1

Lathe Lesson 5 - 8
Page 46
LESSON 5 - EXAMPLE - ROUGH AND FINISH BORING CANNED CYCLES

(Rough Bore)
N17 G71 P19 Q31 U-0.01 W0.005 D0.03 F0.005 (G71 Rough Turning Cycle)
N19 G00 G41 X0.875 Z0.1 (P and G41 With the start of Geometry)
N21 G01 Z-0.25
N23 X0.625
N25 Z-0.5
N27 X0.52
N29 Z-0.65 (Bore past end of part)
N31 G40 X0.49 (Q End of Geometry)
(Finish Cut – Same Boring Tool)
N33 G96 S800 (Specify constant surface speed 800 SFM)
N35 G70 P19 Q31 F0.004 (G70 Finishing OD)
N37 G00 Z0.25 (Rapid to safe position in front of part)
N39 G28 U0 (Rapid to X machine home position)
N41 G28 W0 M05 (Rapid to Z machine home position)
N43 M30 (Program end)
%

Lathe Lesson 5 - 9
Page 47
LESSON 5 - TOOL TIP ORIENTATION
Toolpaths are programmed using the coordinates of the true profile, much like a mill but because there are
many possible positions of the tool point called the “command point” or “Tool Tip Orientation”. You have to
enter the position from
1-9 in the tool (T) column on the offset page during part set-up.

These are the eight possible tool positions, the ninth position is a neutral one, sometimes used when no tool
offset is needed.

Once the tool position has been determined, the position is entered as the appropriate number in the chart
below in the T column. This chart is only a graphic representation of a lathe offset page.

TOOL # X Y R T
1
2
3
4
5
Lathe Lesson 5 - 10
Page 48
CNC PROGRAMMING
WORKBOOK

LESSON-6
CIRCULAR INTERPOLATION

Page 49
CIRCULAR INTERPOLATION G02 & G03

G03 (CCW) U.125 W-.125 I0 K-.125 F15.0

G02 (CW) U.25 W-.25 I.25 K0 F15.0

XZ PLANE
G02 U.25 W-.25 I 0.25 K0 F15.
Clockwise Arc End Point Incremental Distance Feed rate 15 in/min
(optional incremental) from the tool start point to the center of arc
G03 U.125 W-.125 I 0. J-.125 F15.
Counter Arc End Point Incremental Distance Feed rate 15 in/min
Clockwise (optional incremental) from the tool start point to the center of arc
When the machine is required to move in a straight line under a controlled federate, linear interpolation is
used (G01). When it is necessary to travel in the circular motion in any plane (XY, YZ, XZ), circular
interpolation is used (G02, G03).

The velocity at which the tool is moving is controlled by the feed rate (F) command.

All circular interpolation moves are defined and machined by programming three pieces of information into
the control.

1. DIRECTION OF TRAVEL: CLOCKWISE G02, COUNTER CLOCKWISE G03

2. ARC END POINT: X AXIS, Z AXIS

3. ARC CENTER: INCREMENTAL DISTANCE FROM START POINT TO ARC CENTER (I AND K)

Lathe Lesson 6 - 2
Page 50
LESSON-6 EXERCISE #1 CIRCULAR INTERPOLATION-OD

WORK OUT ALL THE VALUES


 When programming lathe coordinates only the “top half” of the part needs to be profiled,
because the part is turning around, the full round part is machined.
 Don’t forget to program in diameters and double the radii to calculate diameter positions
 The front finished face is Z0.
 Note that when programming fillets and radii for turning, most of the time it is easier to do
so incrementally (U and W).

POSITION X U Z W I K
1 0 - 0 - - -
2
3 0.375 0.0625 -0.0625 -0.0625 0 -0.0625
4
5
6
7
8
9
10

Lathe Lesson 6 - 3
Page 51
LESSON-6 EXERCISE #1 CIRCULAR INTERPOLATION-OD (CONT.)
 Contour the profile as shown on the previous page.
 Start from machine home and rapid to a safe zone.
 Face the front of the part, don’t forget the overcut!
 Program the contour using the above coordinates as a guide.
 Material: Aluminum 6061 & Use appropriate Spindle Speed and Feedrate.
%
O63 (PROGRAM NUMBER)
N1 G20 (VERIFY INCH MODE)
N2 G18 G40 G80 G99 (SAFETY LINE WITH FEED AS INCH\REV.)
N3 G0 T0202 (TOOL CALL)
N4 G50 S3500 (SET MAX. SPEED AT 3500 RPM)
N5 G97 S____ M03 (START SPINDLE ____ RPM CLOCKWISE ROTATION)
N6 G00 G54 G41 X___Z___ T0202 M08 (TOOL NOSE RADIUS OFFSET, SAFE POSITION ,
COOLANT ON)
N7 G96 S___ (CONSTANT SURFACE SPEED ENGAGED)
N8 G1 X-.05 F.008 (FEED TO X0 + OVERCUT)
N9 G0 Z.1 (PULL OFF FROM PART)
N10 G01 G42 X0.2 (FEED TO X0.2 ACTIVATE TOOL NOSE RADIUS OFFSET)
N11 G01 Z0 F___ (FEED INTO FRONT FACE TO Z0)
N12 X___ (FEED UP FRONT FACE TO START OF FIRST RADIUS)
N13 G03 X___ Z___ K___ (CUT FIRST RADIUS)
N14 G01 Z___ (FEED ALONG 0.375 DIA.)
N15 G02 X__ Z___ I___ (CUT FIRST FILLET)
N16 G03 X___Z___ K___ (CUT SECOND RADIUS)
N17 G01 Z___ (FEED ALONG 0.625 DIA.)
N18 G02 X___Z___ I___ (CUT SECOND FILLET)
N19 G03 X___ Z___ K___ (CUT THIRD RADIUS)
N20 G01 Z___ (FEED ALONG FINAL DIA. 0.2 PAST END OF PART)
N21 U0.1 (PART PULL OFF INCREMENTAL)
N22 G00 G40 X___ Z___ T0202 M09 (RAPID TO SAFE ZONE)
N23 G28 U0. (RAPID TO Z MACHINE HOME POSITION)
N24 G28 W0. M05. (RAPID TO X MACHINE HOME POSITION)
N25 M30 (PROGRAM END)
%

Lathe Lesson 6 - 4
Page 52
LESSON-6 EXERCISE #2 CIRCULAR INTERPOLATION

ON THE FOLLOWING PAGES, CREATE A PROGRAM TO:


1. FACE.
2. TURN OUTSIDE DIAMETER ONE CUT.
3. DRILL 0.5” DIAMETER.
4. ROUGH AND FINISH THE BORE USING CANNED CYCLES AS USED IN LESSON 5.
5. CUT-OFF.
6. Z ZERO IS THE FRONT FACE OF THE PART
7. USE THE LESSON 6 VIDEOS TO GUIDE YOU THROUGH THE PROGRAMMING PROCESS.

Lathe Lesson 6 - 5
Page 53
LESSON-6 EXERCISE #2 CIRCULAR INTERPOLATION - DRAWING

Lathe Lesson 6 - 6
Page 54
LESSON-6 EXERCISE #2 CIRCULAR INTERPOLATION

USE THE CHART BELOW TO WORK OUT THE COORDINATES OF THE TOOL AS IT MOVES AROUND
THE BORE.
I = INCREMENTAL DISTANCE ALONG THE X-AXIS FROM THE TOOL START POINT TO THE CENTER OF
ARC (ARC PIVOT POINT)
K = INCREMENTAL DISTANCE ALONG THE Z-AXIS FROM THE TOOL START POINT TO THE CENTER OF
ARC (ARC PIVOT POINT)

POSITION X U Z W I K
1
2
3
4
5
6
7
8
9
10
11
12

Lathe Lesson 6 - 7
Page 55
LESSON-6 EXERCISE #2 CIRCULAR INTERPOLATION

PROGRAMMING NOTE
BEFORE MACHINING A BORE IN A SOLID PIECE OF STOCK A HOLE WILL HAVE TO BE DRILLED TO
ALLOW THE BORING BAR TO DO IT’S JOB.

COORDINATES TO DRILL
POSITION X U Z W
1 0
2
3

Lathe Lesson 6 - 8
Page 56
LESSON-6 EXERCISE #2 CIRCULAR INTERPOLATION

%
O193 (Lesson-6-Ex-2)
N1 G20
N3 G18 G40 G54 G80 G97 G99

Lathe Lesson 6 - 9
Page 57
LESSON-6 EXERCISE #2 CIRCULAR INTERPOLATION

Lathe Lesson 6 - 10
Page 58
LESSON-6 EXERCISE #2 CIRCULAR INTERPOLATION

Lathe Lesson 6 - 11
Page 59
LESSON-6 EXERCISE #3 CIRCULAR INTERPOLATION

ON THE FOLLOWING PAGES, CREATE A PROGRAM TO:


1. FACE.
2. ROUGH TURN OUTSIDE DIAMETER ONE CUT USING CANNED CYCLES.
3. FINISH TURN OUTSIDE DIAMETER ONE CUT USING CANNED CYCLES.
4. DRILL 0.5” DIAMETER.
5. ROUGH AND FINISH THE BORE USING CANNED CYCLES AS USED IN LESSON 5.
6. CUT-OFF.
7. Z ZERO IS THE FRONT FACE OF THE PART
8. USE THE LESSON 6 VIDEOS TO GUIDE YOU THROUGH THE PROGRAMMING PROCESS.

Lathe Lesson 6 - 12
Page 60
LESSON 6 EXERCISE #3 G02/G03 - DRAWING

Lathe Lesson 6 - 13
Page 61
LESSON-6 EXERCISE #3 CIRCULAR INTERPOLATION

USE THE CHART BELOW TO WORK OUT THE COORDINATES OF THE TOOL AS IT MOVES AROUND
THE BORE.
I = INCREMENTAL DISTANCE ALONG THE X-AXIS FROM THE TOOL START POINT TO THE CENTER OF
ARC (ARC PIVOT POINT)
K = INCREMENTAL DISTANCE ALONG THE Z-AXIS FROM THE TOOL START POINT TO THE CENTER OF
ARC (ARC PIVOT POINT)

POSITION X U Z W I K
1
2
3
4
5
6
7
8
9
10
11
12

Lathe Lesson 6 - 14
Page 62
LESSON 6 EXERCISE #3 G02/G03

PROGRAMMING NOTE
BEFORE MACHINING A BORE (ID) IN A SOLID PIECE OF STOCK A HOLE WILL HAVE TO BE DRILLED TO
ALLOW THE BORING BAR TO DO IT’S JOB.

COORDINATES TO DRILL
POSITION X U Z W
1 0
2
3

Lathe Lesson 6 - 15
Page 63
LESSON 6 EXERCISE #3 G02/G03 (CONT.)

%
O187 (Lesson-6-Ex-3)

Lathe Lesson 6 - 16
Page 64
LESSON 6 EXERCISE #3 G02/G03 (CONT.)

Lathe Lesson 6 - 17
Page 65
LESSON 6 EXERCISE #3 G02/G03 (CONT.)

Lathe Lesson 6 - 18
Page 66
LESSON-6 EXERCISE #4 CIRCULAR INTERPOLATION

ON THE FOLLOWING PAGES, CREATE A PROGRAM TO:


1. FACE.
2. ROUGH TURN OUTSIDE DIAMETER ONE CUT USING CANNED CYCLES.
3. FINISH TURN OUTSIDE DIAMETER ONE CUT USING CANNED CYCLES.
4. DRILL 0.5” DIAMETER.
5. ROUGH AND FINISH THE BORE USING CANNED CYCLES AS USED IN LESSON 5.
6. CUT-OFF.
7. Z ZERO IS THE FRONT FACE OF THE PART
8. USE THE LESSON 6 VIDEOS TO GUIDE YOU THROUGH THE PROGRAMMING PROCESS.

Lathe Lesson 6 - 19
Page 67
LESSON 6 EXERCISE #4 G02/G03 TURNING AND BORING - DRAWING

Lathe Lesson 6 - 20
Page 68
LESSON 6 EXERCISE #4 G02/G03 TURNING AND BORING

PROGRAMMING NOTE
BEFORE MACHINING A BORE (ID) IN A SOLID PIECE OF STOCK A HOLE WILL HAVE TO BE DRILLED TO
ALLOW THE BORING BAR TO DO IT’S JOB.

COORDINATES TO DRILL
POSITION X U Z W
1 0
2
3

Lathe Lesson 6 - 21
Page 69
LESSON 6 EXERCISE #4 G02/G03 TURNING AND BORING

%
O1345 ( Lesson-6-Ex-4)

Lathe Lesson 6 - 22
Page 70
LESSON 6 EXERCISE #4 G02/G03 (CONT)

Lathe Lesson 6 - 23
Page 71
LESSON 6 EXERCISE #4 G02/G03 (CONT)

Lathe Lesson 6 - 24
Page 72
CNC PROGRAMMING
WORKBOOK

LESSON-7
TOOL NOSE COMPENSATION

Page 73
G40, G41, & G42 TOOL NOSE COMPENSATION
When a program is created it is done so using the insert’s command or reference point (see figure
below). Tool Nose Compensation is used to offset the tool by a distance that will bring the cutting
edge of the insert to the proper position in relation to the specific radius of the insert being used.
The radius of the tool must be input into the controller and it will calculate the proper offset known
as Tool Nose Compensation.

G40 TOOL COMPENSATION CANCEL

G40 will cancel the G41 or G42 tool compensation commands that are in effect at the time.

G41 TOOL COMPENSATION LEFT (BORING)


G41 will select tool compensation to the LEFT of the contouring direction; generally G41 is used for
boring. The tool is compensated for the radius of the tool tip. The value of the compensation (tool
radius) must be entered in the controller registry during set-up.

G42 TOOL COMPENSATION RIGHT (TURNING)


G42 will select tool compensation to the RIGHT of the contouring direction; generally G42 is used
for turning. The tool is compensated for the radius of the tool tip. The value of the compensation
(tool radius) must be entered in the controller registry during set-up.

Lathe Lesson 7 - 2
Page 74
G40, G41, & G42 TOOL NOSE COMPENSATION
Tool Nose Compensation is used to offset the tool by a distance that will bring the cutting edge of
the insert to the proper position in relation to the specific radius of the insert being used.

The radius of the tool must be input into the CNC controller and it will calculate the proper offset
known as Tool Nose Radius Compensation.

 G40 is Tool Nose Radius Compensation CANCEL


 G41 is Tool Nose Radius Compensation LEFT of the programmed path
 G42 is Tool Nose Radius Compensation RIGHT of the programmed path

The shift direction is based on the direction of the tool movement relative to the tool, and which
side of the part it is on.

When thinking about which direction the compensated shift will occur in tool nose compensation,
imagine looking down the tool tip and steering the tool.

Tool nose compensation works by shifting the Programmed Tool Path to the right or to the left.

The programmer will usually program the tool path to the finished size.

When tool nose compensation is used, the CNC control will compensate for the radius of the insert
based on instructions written into the program.

At the CNC machine Tool Nose Compensation accomplishes its job by reading ahead one or two
blocks to determine how it must modify the current programmed block of code.

This is done, so that the control can calculate in advance, how to position around radiuses and
angles with a specified tool nose radius.

This is referred to as Block Look-A-head Or Look-Ahead Processing.

Tool nose compensation does not need to be used when the programmed cuts are solely along the
X axis (diameters) or Z axis (faces).

Cutter compensation comes into effect on angled cuts and radius cuts.

Lathe Lesson 7 - 3
Page 75
EXAMPLE PROGRAM USING G42

EXAMPLE OF PROGRAMMING WITH TOOL NOSE RADIUS OFFSET


%
O73 (PROGRAM NAME, FINISH TURNING EXERCISE)
N1 G20 (Verify inch units)
N3 G40 G54 G80 G97 G99 (Safety block)
N5 T0200 (O.D. Right Hand Finishing Tool 55°)
N7 G50 S3500 (Specify maximum RPM to 3500)

N9 G97 S800 M03 (Start spindle 800 RPM CW)


N11 G00 G42 G54 X1.5 Z0.25 T0202 M08 (Rapid to Safe position, TNC, coolant on)
N13 G96 S700 (Specify constant surface speed 700 SFM)
N15 G99 G01 X 0.5125 Z0.05 F0.006 (Feed to Z0.05 from finish front face of part & 0.05 below chamfer)
N17 X0.625 Z-0.0625 (Cut chamfer at front of part)
N19 Z-0.375
N21 X0.875
N23 Z-1.5
N25 X1.3125
N27 X1.375 Z-1.5625 (Cut chamfer at left of part)
N29 Z-2.2
N31 X1.625
N33 G00 Z0.25 (Rapid to safe position in front of part)
N35 G40 G00 X1.5 Z0.25 (Cancel tool nose radius offset, rapid to original start position)
N37 G28 U0 (Rapid to X machine home position)
N39 G28 W0 M05 (Rapid to Z machine home position)
N41 M30 (Program end)
%

Lathe Lesson 7 - 4
Page 76
EXAMPLE PROGRAM USING G41 - BORING

EXAMPLE OF PROGRAMMING WITH TOOL NOSE RADIUS OFFSET - BORING


%
O1345 (G41 - Finishing - Boring - Pre Drilled Hole 0.5")
N1 G20 (Verify inch units)
N3 G18 G40 G54 G80 G97 G99 (Safety block)
N5 T0800 (Tool call T08 - Boring Tool 0.008" TIP RADIUS)
N7 G50 S3500 (Specify maximum RPM to 3500)

N9 G97 S500 M03 (Start spindle 500 RPM CW)


N11 G99
N13 G00 X1.7 Z0.25 T0808 M08 (Rapid to Safe position, coolant on)
N15 G96 S700 (Specify constant surface speed 700 SFM)
N17 X0.490 Z0.1
N19 G00 G41 X0.935 Z0.1
N21 G01 Z0
N23 G02 X0.875 Z-0.03 I0 K-0.03
N25 G01 Z -0.075
N27 G03 X0.775 Z-0.125 I-0.05 K0
N29 G01 X0.740
N31 G02 X0.700 Z-0.145 I0 K-0.020

Lathe Lesson 7 - 5
Page 77
EXAMPLE PROGRAM USING G41 - BORING - CONTINUED

N33 G01 Z-0.200


N35 G03 X0.600 Z-0.250 I-0.05 K0
N37 G01 X0.580
N39 G02 X0.540 Z-0.270 R0.02
N41 G01 Z-0.80 (Bore past end of part)
N43 G40 X0.49
N45 G00 Z0.25 (Rapid to safe position in front of part)
N47 G28 U0 (Rapid to X machine home position)
N49 G28 W0 M05 (Rapid to Z machine home position)
N51 M30 (Program end)
%

Lathe Lesson 7 - 6
Page 78
CNC PROGRAMMING
WORKBOOK

LESSON-8
GROOVING/PART-OFF

Page 79
GROOVING

GROOVING
When a circular slot or groove is needed in a part a special shaped tool may be needed. A grooving
tool is the tool that is most commonly used. It comes in many shapes and sizes but usually has one
thing in common, which is that it feeds straight in along the X axis and plunges into the part. A
grooving tool is typically used to plunge into the part and make a groove around the part, but some
grooving inserts are designed to cut in the X and Z axis direction.

EXAMPLE OF PROGRAMMING A GROOVING OPERATION


O0001400(TYPICAL GROOVING EXAMPLE)
N1 G20...
N90 T0900 M42 (TOOL CALL & GEAR SELECTION)
N91 G97 S650 M03 (SET SPEED AND TURN CLOCKWISE)
N92 G00 X1.0 Z0.25 T0909 M08 (RAPID TO SAFE POSITION & PICK-UP OFFSETS)
N93 Z-0.375 (RAPID TO GROOVE POSITION)
N94 G01 X0.675 F0.004 (FEED TO GROOVE DEPTH)
N95 G04 P0.5 (DWELL 0.5 SECOND)
N96 X1.0 F0.05 (FAST FEED OUT)
N97 G00 W-0.375 (INCREMENTAL RAPID TO NEXT LOCATION)
N98 G01 X0.675 F0.004 (FEED TO GROOVE DEPTH)
N99 G04 P0.5 (DWELL 0.5 SECOND)
N100 X1.0 F0.05 (FAST FEED OUT)
N101 G00 X1.0 Z0.25 T0900 M09 (RAPID TO SAFE POSITION CANCEL OFFSETS)
N102 M01 (OPTIONAL STOP)

Lathe Lesson 8 - 2
Page 80
PARTING-OFF

PARTING-OFF
Parting-off is very similar to grooving but instead of stopping at a required depth of groove, the
part-off tool is able to go right to the center of the part to allow the finished part to fall away from
the chuck of the lathe. The design of the tool may be similar but the intent is very different.

EXAMPLE OF PROGRAMMING A PART-OFF OPERATION


O0001400(TYPICAL PART-OFF EXAMPLE)
N1 G20...
N90 T0900 M42 (TOOL CALL & GEAR SELECTION)
N91 G99 G97 S500 M03 ( FEED PER REV., SET SPEED(RPM) AND TURN CLOCKWISE)
N92 G00 X2.25 Z-2.0 T0909 M08 (RAPID TO SAFE POSITION & ACTIVATE OFFSET)
N93 G96 S200 (SET C.S.S. 200 SF\M)
N94 G01 X-0.05 F0.004 (FEED TO FINISH PART-OFF DEPTH)
N95 X2.25 F0.05 (FAST FEED OUT)
N96 G00 Z0.25 T0900 M09 (RAPID TO SAFE POSITION CANCEL OFFSETS)
N97 G28 W0 (RAPID TO MACHINE HOME Z)
N98 G28 U0 (RAPID TO MACHINE HOME X)
N102 M01 (OPTIONAL STOP)

Lathe Lesson 8 - 3
Page 81
LESSON 8 GROOVING & PART OFF - EXAMPLE - DRAWING

Lathe Lesson 8 - 4
Page 82
LESSON 8 GROOVING & PART OFF - EXAMPLE - MACHINING PROCESS

 Machining Process
1. Face.
2. Turn outside diameter one cut.
3. Groove two slots
4. Dwell at bottom of each grooving cut. This ensures a clean cut at the bottom of the groove.
5. Cut-off.
6. Z zero is the front face of the part
7. The grooving\part-off tool is 0.118” wide
8. Program right hand side of grooving\part-off tool
9. Machine to finish depth with every plunge
10. Material is ø1.125 aluminum

Lathe Lesson 8 - 5
Page 83
LESSON 8 GROOVING & PART OFF - EXAMPLE - PROGRAM
Face and Turn OD

%
O186 (GROOVING & PART-OFF LESSON-8-EXAMPLE)
(FACE FRONT OF PART - TURN OD ONE CUT)
N1 G20 (VERIFY INCH MODE)
N3 G18 G40 G54 G80 G97 G99 (SAFETY BLOCK)
N5 T0100 (TOOL CALL T01)
N7 G50 S3500 (SPECIFY MAXIMUM RPM TO 3500)
N9 G97 S500 M03 (START SPINDLE 500 RPM CW)
N11 G00 G41 G54 X1.5 Z0.25 T0101 M08 (RAPID TO SAFE POSITION, TNC, ACTIVATE OFFSET,
COOLANT ON)
N13 G96 S700 (SPECIFY CONSTANT SURFACE SPEED 700 SFM)
N15 G99 G01 Z0 F0.010 (FEED TO Z0. G99=FEED PER REVOLUTION)
N17 X-0.05 (MOVE TOOL TO X-0.05, OVERCUT BY 0.05)
N19 U0.05 W0.05 (INCREMENTAL “PULL OFF” FROM PART FACE X0.05 Z0.05)
N21 G00 G40 X1.25 Z0.25 (RAPID TO SAFE POSITION, CANCEL TNC)
N23 G01 G42 X1.100 Z0.1 F0.005 (ACTIVATE TNC, FEED TO FINISH DIAMETER)
N25 G01 Z-1.375 (FEED TO LENGTH + 0.125)
N27 X1.15 (“PULL OFF” FROM PART AT FEED RATE)
N29 G40 G00 X 1.5 (CANCEL TNC)
N31 G28 U0 (RAPID TO X MACHINE HOME POSITION)
N33 G28 W0 (RAPID TO Z MACHINE HOME POSITION)

Lathe Lesson 8 - 6
Page 84
LESSON 8 GROOVING & PART OFF - EXAMPLE - PROGRAM
Cut First Groove

(CUT FIRST GROOVE - FIRST CUT)


(INSERT WIDTH = 0.118")
(PROGRAM RIGHT HAND SIDE OF GROOVING\PART-OFF TOOL)
N35 G00 T404 (TOOL CALL T04, ACTIVATE OFFSET)
N37 G97 S191 M03 (START SPINDLE 191 RPM CW)
N39 G00 X1.5 Z0.25 M8 (RAPID TO SAFE POSITION, COOLANT ON)
N41 G50 S3000 (SPECIFY MAXIMUM RPM TO 3000)
N43 G96 S200 (SPECIFY CONSTANT SURFACE SPEED 200 SFM)
N45 Z-0.250 (RAPID TO FIRST GROOVE POSITION)
N47 X1.2 (RAPID TO X1.2 – CLEAR OF PART BY 0.05”)
N49 G01 X0.750 F0.002 (FEED TO GROOVE DEPTH)
N51 G04 P2.0 (DWELL 2.0 SECONDS)
N53 X1.2 (FEED TO X1.2 – CLEAR OF PART BY 0.05”)
(CUT FIRST GROOVE - SECOND CUT)
N55 G00 Z-0.332 (SECOND CUT 0.45-0.118 INSERT WIDTH = 0.118")
N57 G01 X0.750 (FEED TO GROOVE DEPTH)
N59 G04 P2.0 (DWELL 2.0 SECONDS)
N61 X1.2 (FEED TO X1.2 – CLEAR OF PART BY 0.05”)

Lathe Lesson 8 - 7
Page 85
LESSON 8 GROOVING & PART OFF - EXAMPLE - PROGRAM
Cut Second Groove

(CUT SECOND GROOVE - FIRST CUT)


(INSERT WIDTH = 0.118")
(PROGRAM RIGHT HAND SIDE OF GROOVING\PART-OFF TOOL)
N63 G00 Z-0.875 (RAPID TO SECOND GROOVE POSITION)
N65 G01 X0.875 (FEED TO GROOVE DEPTH)
N67 G04 P2.0 (DWELL 2.0 SECONDS)
N69 X1.2 (FEED TO X1.2 – CLEAR OF PART BY 0.05”)
(CUT SECOND GROOVE - SECOND CUT)
N71 G00 Z-0.957 (SECOND CUT 0.875+0.20-0.118 INSERT WIDTH = 0.118")
N73 G01 X0.875 (FEED TO GROOVE DEPTH)
N75 G04 P2.0 (DWELL 2.0 SECONDS)
N77 X1.2 (FEED TO X1.2 – CLEAR OF PART BY 0.05”)

Lathe Lesson 8 - 8
Page 86
LESSON 8 GROOVING & PART OFF - EXAMPLE - PROGRAM
Cut-Off

(CUT OFF)
N79 G00 Z-1.25 (RAPID TO CUT-OFF POSITION)
N81 G01 X-0.05 F0.002 (FEED TO FINISH PART-OFF DEPTH)
N83 G00 X1.250 (RAPID TO X1.25 – CLEAR OF PART)
N85 G28 (RAPID TO MACHINE HOME POSITION)
N87 M30 (PROGRAM END)
%

Lathe Lesson 8 - 9
Page 87
HAAS G75 – GROOVING CYCLE – MULTIPLE PASS

N49 G75 X0.750 Z-0.332 I0.1 K0.03 F0.002

X X-axis absolute pecking depth, diameter value


Z* Z-axis absolute location to the furthest peck
U* X-axis incremental pecking depth, diameter value
W* Z-axis incremental distance and direction (+or -) to the furthest peck
I* X-axis pecking depth increment, radius value
K* Z-axis shift increment between pecking cycles
D* Tool shift amount when returning to clearance plane (Caution see NOTE)
F Feed rate
* Indicates optional

The G75 canned cycle can be used for grooving an outside diameter with the added bonus of a chip
break. A small retract move while cutting the groove allows the chip to break.

The G75 cycle is non-modal.

With G75 either a single pecking cycle can be performed, as for a single groove, or a series of
pecking moves can be performed for multiple grooves. G75 can also be used to cut-off the part by
using the single pass options.

When a Z or W code is added to a G75 block and Z is not the current position, then a minimum of
two pecking cycles will occur, one at the current location and another at the Z location.
The K code is the incremental distance between Z axis pecking cycles. Adding a K will perform
multiple evenly spaced, pecking cycles between the starting position and Z.
When I is added to a G75 block, then pecking will be performed at each interval specified
by I, the peck is a rapid move opposite the direction of feed and the peck distance is obtained from
Setting 22 on the Haas control.

Lathe Lesson 8 - 10
Page 88
HAAS G75 – GROOVING CYCLE – SINGLE PASS - FOR CUT-OFF

N61 G75 X-0.030 I0.1 F0.002

At block 61 the grooving canned cycle G75 is being used to cut-off the part at the end of the machining
operations.

The X-0.030 is the destination that the tool will arrive at along the X axis. This move is at a feed rate of
0.002 per revolution.

In this block the I value is set to 0.1, this is the X-axis pecking depth increment, a radius value. As the
tool moves to the X position it will cut for 0.1 and then retract to break the chip. This retract move
is a small amount and on the Hass lathe is governed by Setting 22. The Hass lathe used in the
machining videos has Setting 22 set to 0.01”

When the G75 cycle is complete it will return to the starting X position at rapid.

Lathe Lesson 8 - 11
Page 89
G75 – GROOVING CYCLE
LESSON 8 GROOVING & PART OFF - EXAMPLE - DRAWING

Lathe Lesson 8 - 12
Page 90
G75 – GROOVING CYCLE
LESSON 8 GROOVING & PART OFF - EXAMPLE - MACHINING PROCESS

 Machining Process
1. Face.
2. Turn outside diameter one cut.
3. Groove two slots using G75 – Grooving Cycle
4. Cut-off using G75 – Grooving Cycle.
5. Z zero is the front face of the part
6. The grooving\part-off tool is 0.118” wide
7. Program right hand side of grooving\part-off tool
8. Machine to finish depth with every plunge
9. Material is ø1.125 aluminum

Lathe Lesson 8 - 13
Page 91
G75 – GROOVING CYCLE
LESSON 8 GROOVING & PART OFF - EXAMPLE - PROGRAM
Face and Turn OD

%
O186 (GROOVING & PART-OFF LESSON-8-EXAMPLE)
(FACE FRONT OF PART - TURN OD ONE CUT)
N1 G20 (VERIFY INCH MODE)
N3 G18 G40 G54 G80 G97 G99 (SAFETY BLOCK)
N5 T0100 (TOOL CALL T01)
N7 G50 S3500 (SPECIFY MAXIMUM RPM TO 3500)
N9 G97 S500 M03 (START SPINDLE 500 RPM CW)
N11 G00 G41 G54 X1.5 Z0.25 T0101 M08 (RAPID TO SAFE POSITION, TNC, ACTIVATE OFFSET,
COOLANT ON)
N13 G96 S700 (SPECIFY CONSTANT SURFACE SPEED 700 SFM)
N15 G99 G01 Z0 F0.010 (FEED TO Z0. G99=FEED PER REVOLUTION)
N17 X-0.05 (MOVE TOOL TO X-0.05, OVERCUT BY 0.05)
N19 U0.05 W0.05 (INCREMENTAL “PULL OFF” FROM PART FACE X0.05 Z0.05)
N21 G00 G40 X1.25 Z0.25 (RAPID TO SAFE POSITION, CANCEL TNC)
N23 G01 G42 X1.100 Z0.1 F0.005 (ACTIVATE TNC, FEED TO FINISH DIAMETER)
N25 G01 Z-1.375 (FEED TO LENGTH + 0.125)
N27 X1.15 (“PULL OFF” FROM PART AT FEED RATE)
N29 G40 G00 X 1.5 (CANCEL TNC)
N31 G28 U0 (RAPID TO X MACHINE HOME POSITION)
N33 G28 W0 (RAPID TO Z MACHINE HOME POSITION)

Lathe Lesson 8 - 14
Page 92
G75 – GROOVING CYCLE
LESSON 8 GROOVING & PART OFF - EXAMPLE - PROGRAM
Cut First and Second Groove

(CUT FIRST GROOVE - G75 - GROOVING CYCLE)


(INSERT WIDTH = 0.118")
(PROGRAM RIGHT HAND SIDE OF GROOVING\PART-OFF TOOL)
N35 G00 T404 (TOOL CALL T04, ACTIVATE OFFSET)
N37 G97 S191 M03 (START SPINDLE 191 RPM CW)
N39 G00 X1.5 Z0.25 M8 (RAPID TO SAFE POSITION, COOLANT ON)
N41 G50 S3000 (SPECIFY MAXIMUM RPM TO 3000)
N43 G96 S200 (SPECIFY CONSTANT SURFACE SPEED 200 SFM)
N45 Z-0.250 (RAPID TO FIRST GROOVE POSITION)
N47 X1.15 (RAPID TO X1.15 – CLEAR OF PART)
N49 G75 X0.750 Z-0.332 I0.1 K0.03 F0.002 (G75 - GROOVING CYCLE)
N51 X1.15 (RAPID TO X1.15 – CLEAR OF PART)
(CUT SECOND GROOVE - G75 - GROOVING CYCLE)
N53 G00 Z-0.875 (RAPID TO SECOND GROOVE POSITION)
N55 G75 X0.875 Z-0.957 I0.1 K0.03 F0.002 (G75 - GROOVING CYCLE)
N57 X1.15 (RAPID TO X1.15 – CLEAR OF PART)

Lathe Lesson 8 - 15
Page 93
G75 – GROOVING CYCLE
LESSON 8 GROOVING & PART OFF - EXAMPLE - PROGRAM
Cut-Off

(CUT OFF - SINGLE PASS GROOVING CYCLE)


N59 G00 Z-1.25 (RAPID TO CUT-OFF POSITION)
N61 G75 X-0.030 I0.1 F0.002 (CUT OFF - G75 - SINGLE PASS GROOVING CYCLE)
N63 G00 X1.250 (RAPID TO X1.25 – CLEAR OF PART)
N65 G28 (RAPID TO MACHINE HOME POSITION)
N67 M30 (PROGRAM END)
%

Lathe Lesson 8 - 16
Page 94
LESSON 8 GROOVING & PART OFF EXERCISE #1

Lathe Lesson 8 - 17
Page 95
LESSON 8 GROOVING & PART OFF EXERCISE #1

Create a program for Exercise #1 to:

1. Face.
2. Finish turn outside diameter one cut.
3. Groove three places.
4. Cut-off.
5. Z zero is the front face of the part
6. Use the Lesson 8 videos to guide you through the programming process.

Lathe Lesson 8 - 18
Page 96
LESSON 8 GROOVING & PART OFF EXERCISE #1

Lathe Lesson 8 - 19
Page 97
LESSON 8 GROOVING & PART OFF EXERCISE #1

Lathe Lesson 8 - 20
Page 98
LESSON 8 GROOVING & PART OFF EXERCISE #1

Lathe Lesson 8 - 21
Page 99
LESSON 8 GROOVING & PART OFF EXERCISE #1

Lathe Lesson 8 - 22
Page 100
CNC PROGRAMMING
WORKBOOK

LESSON-9
THREADING

Page 101
HAAS - G76 O.D./I.D. THREAD CUTTING CYCLE, MULTIPLE PASS

N93 G76 X0.5135 Z-0.8 K0.0558 D0.0176 F0.0909

G76 O.D./I.D. THREAD CUTTING CYCLE, MULTIPLE PASS


X* X-axis absolute thread finish point, a diameter value
Z* Z-axis absolute distance, thread end point location
U* X-axis incremental total distance to finish point, diameter
W* Z-axis incremental thread length finish point
K Thread height, radius value
I* Thread taper amount, radius value
D First pass cutting depth
P Thread Cutting Method P1-P4
A* Tool nose angle, no decimal with A command (0 to 120 degrees, If not used
then 0 degrees is assumed)
F Feed rate (Threading feed rate, is the thread distance per revolution)

* Indicates optional
The G76 canned cycle can be used for threading both straight and tapered threads. G76 can be
used to create multiple cutting passes along the length of a thread.
The height of the thread is specified in K, this height is defined as the distance from the crest of the
thread to the root.
The calculated depth of the thread will be K less the finish allowance. On the Hass lathe Setting 86
(THREAD FINISH ALLOWANCE) is this stock allowance for a finish pass allowance, if required.

The depth of the first cut of the thread is specified in D. This also determines the number of passes
over the thread based on the value of K and the cutting method used.

The depth of the last cut on the thread can be controlled with Setting 99 on the Hass lathe
(THREAD MINIMUM CUT). The last cut will never be less than this value. The default value is .001
inches/.01 mm.

The feed rate is the Lead of thread. The F feed rate in a G76 threading cycle is 1.0 divided by the
number of threads per inch = F. (1.0 divided by 11 TPI = F.0909091)

Lathe Lesson 9 - 2
Page 102
HAAS – G92 THREAD CUTTING CYCLE

N95 G92 X.5135 Z-0.8 F0.0909

G92 THREAD CUTTING CYCLE

X* Absolute X-axis target location


Z* Absolute Z-axis target location
U* Incremental X-axis target distance, diameter
W* Incremental Z-axis target distance
I* Distance and direction of X axis taper, a radius value
F Feed rate (Threading feed rate, is the thread distance per revolution)

* Indicates optional

The G92 is a modal canned cycle. It can be used for simple threading.

Since it is modal, you can do multiple passes for threading by just specifying a new X location for
successive passes. For example:

N16 G92 X.523 Z-0.8 F0.0909 M24 (First Pass of a G92 O.D. Thread Cycle)
N17 X.520 (Additional Pass)
N18 X.515 (Additional Pass)
N19 X.5135 (Additional Pass)

Straight threads can be made by just specifying X, Z and F. By adding I a pipe or taper thread can
be cut.

Lathe Lesson 9 - 3
Page 103
HAAS – M24 - THREAD CHAMFER OFF

N91 X0.650 M24

At the end of the thread an optional chamfer can be performed. The size and angle of the chamfer
is controlled with Setting 95 (THREAD CHAMFER SIZE) and Setting 96 (THREAD CHAMFER ANGLE).

The chamfer size is designated in number of threads, so that if 1.000 is recorded in Setting 95 and
the feed rate is .05, then the chamfer will be .05.

If relief is provided for at the end of the thread, then the chamfer can be eliminated by specifying
0.000 for the chamfer size in Setting 95. The default value for Setting 95 is 1.000 and the default
angle for the thread (Setting 96) is 45 degrees.

A chamfer can improve the appearance and functionality of threads that must be machined up to a
shoulder.

As the Lesson-9 Example part has a 0.125” wide undercut M24 will be programed as no chamfer is
required.

 M23 commands chamfer on.


 M24 commands chamfer off.
 M23 is the default value.

Lathe Lesson 9 - 4
Page 104
THREADING

THREADING
The portion of the example CNC program below cuts the .625-11 UNC thread on the Lesson-9
Example part, the drawing is shown below.

At block N93 the G76 threading cycle is used to cut the thread in multiple passes. The G92
threading cycle is used at block N95 and N97 to perform “spring passes”.

These “spring passes” are sometimes referred to as “ghost passes”. The threading tool is not
moved any deeper but cuts along the path previously cut to clean up and get a good finish on the
threads.

EXAMPLE OF THREADING OPERATION


(THREAD .625-11 UNC)
N85 T0505 (O.D. THREADING TOOL)
N87 G97 S800 M03 (START SPINDLE 800 RPM CW)
N89 G00 G54 X1.25 Z0.25 T0505 M08 (RAPID TO SAFE POSITION & PICK-UP OFFSETS)
N91 X0.650 M24 (CHAMFER AT END OF THREAD IS OFF)
N93 G76 X0.5135 Z-0.8 K0.0558 D0.0176 F0.0909 ( G76 OD THREADING CYCLE – MULTIPLE PASSES)
N95 G92 X.5135 Z-0.8 F0.0909 (SPRING CUT)
N97 G92 X.5135 Z-0.8 F0.0909 (SPRING CUT)
N99 G28 U0
N101 G28 W0 M05

Lathe Lesson 9 - 5
Page 105
THREADING - G76 THREADING CYCLE

THREADING - G76 THREADING CYCLE

N93 G76 X0.5135 Z-0.8 K0.0558 D0.0176 F0.0909

At block N93 the G76 threading cycle is used to cut the thread in multiple passes.

X0.5135 is the root diameter of the .625-11 UNC thread. The root diameter was identified in the
Machinery’s Handbook.

Z-0.8 is the absolute Z-axis target location. This is 0.050 past the end of the thread.

K0.0558 is the thread height, a radius value. This is 0.625-0.5135 / 2 = 0.05575

D0.0176 is the first pass cutting depth. This determines how many cuts will be taken to reach the
final depth.

F0.0909 is the feed rate. The threading feed rate is the thread distance per revolution. The
calculation for this thread having 11 threads per inch is 1 divided by 11 which is equals to 0.090909.

Lathe Lesson 9 - 6
Page 106
THREADING – G92 THREADING CYCLE

THREADING – G92 THREADING CYCLE


N95 G92 X.5135 Z-0.8 F0.0909
N97 G92 X.5135 Z-0.8 F0.0909
At block N95 and N97 the G92 threading cycle is used after the G76 cycle to cut the thread in two
single passes both at the same depth.

G92 is being used in the Example program to perform two “spring passes”

The G92 is a modal canned cycle. It can be used for simple threading. Once the first G92 block is
input with all the relevant values, additional threading cuts can be made by just the input of the
desired X value.

X0.5135 is the root diameter of the .625-11 UNC thread. The root diameter was identified in the
Machinery’s Handbook.

Z-0.8 is the absolute Z-axis target location. This is 0.050 past the end of the thread.

F0.0909 is the feed rate. The threading feed rate is the thread distance per revolution. The
calculation for this thread having 11 threads per inch is 1 divided by 11 which is equals to 0.090909.

Lathe Lesson 9 - 7
Page 107
LESSON 9 - THREADING - EXAMPLE - DRAWING

Lathe Lesson 9 - 8
Page 108
LESSON 9 - THREADING - EXAMPLE - MACHINING PROCESS

 Machining Process
1. Face.
2. Rough Turn OD
3. Finish Turn OD
4. Groove undercut for thread 0.125” wide
5. Thread .625-11 UNC.
6. Cut-off.
7. Z zero is the front face of the part
8. The grooving\part-off tool is 0.118” wide
9. Program right hand side of grooving\part-off tool
10. Material is ø1.125 aluminum

Lathe Lesson 9 - 9
Page 109
LESSON 9 - THREADING - EXAMPLE - PROGRAM
Face

%
O1294 (Lesson-9-Example)
(FACE FRONT OF PART)
N1 G20 (Verify inch mode)
N3 G18 G40 G54 G80 G97 G99 (Safety Block)
N5 T0100 (Tool call T01)
N7 G50 S3500 (Specify maximum rpm to 3500)
N9 G97 S500 M03 (Start spindle 500 RPM CW)
N11 G00 G41 G54 X1.5 Z0.25 T0101 M08 (Rapid to safe position, TNC, activate offset)
N13 G96 S700 (Specify constant surface speed 700 sfm)
N15 G99 G01 Z0 F0.010 (Feed to Z0. G99=feed per revolution)
N17 X-0.05 (Move tool to X-0.05, overcut by 0.05)
N19 U0.05 W0.05 (Incremental “pull off” from part face X0.05 Z0.05)
N21 G00 G40 X1.25 Z0.25 (Rapid to safe position, cancel TNC)

Lathe Lesson 9 - 10
Page 110
LESSON 9 - THREADING - EXAMPLE - PROGRAM
Rough Turn OD

(ROUGH TURN O.D.)


N23 G71 P25 Q41 U0.03 W0.005 D0.1 F0.010 (G71 Rough Turning Cycle)
N25 G00 G42 X0.398 (P and G42 with the start of geometry)
N27 G99 G01 X 0.398 Z0.05 F0.006 (Feed to Z0.05 from finish front face, 0.05 below chamfer)
N29 X0.623 Z-0.0625 (Turned undersize - cut chamfer at front of part)
N31 Z-0.875
N33 X0.925
N35 X1.050 Z-0.9375 (Cut second chamfer)
N37 Z-1.5 (Cut past end of part)
N39 X1.25 (Pull away from part)
N41 G40 G00 X 1.5 (Q end of geometry, machine off of part and cancel compensation)
N43 G00 X1.25 Z0.25 (Rapid back to safe position)
N45 G28 U0 (Rapid to x machine home position)
N47 G28 W0 M05 (Rapid to z machine home position)

Lathe Lesson 9 - 11
Page 111
LESSON 9 - THREADING - EXAMPLE - PROGRAM
Finish Turn OD

(FINISH CUT)
N49 T0202 (O.D. right hand finishing tool 55°)
N51 G50 S3500 (Specify maximum RPM to 3500)
N53 G97 S800 M03 (Start spindle 800 RPM CW)
N55 G00 G42 G54 X1.25 Z0.25 T0202 M08 (Rapid to safe position, TNC, coolant on)
N57 G96 S700 (Specify constant surface speed 700 SFM)
N59 G70 P25 Q41 (G70 finishing OD)
N61 G28 U0 (Rapid to X machine home position)
N63 G28 W0 M05 (Rapid to Z machine home position)

Lathe Lesson 9 - 12
Page 112
LESSON 9 - THREADING - EXAMPLE - PROGRAM
Cut Groove

(CUT .125 WIDE GROOVE )


(CUT GROOVE - G75 - GROOVING CYCLE)
(INSERT WIDTH = 0.118")
(PROGRAM RIGHT HAND SIDE OF GROOVING\PART-OFF TOOL)
N65 G00 T404 (Tool call T04, activate offset)
N67 G97 S191 M03 (Start spindle 191 RPM CW)
N69 G00 X1.25 Z0.25 M8 (Rapid to safe position, coolant on)
N71 G50 S3000 (Specify maximum rpm to 3000)
N73 G96 S200 (Specify constant surface speed 200 SFM)
N75 Z-0.750 (Rapid to groove position)
N77 X1.15 (Rapid to X1.15 – clear of part)
N79 G75 X0.50 Z-0.757 I0.5 F0.002 (G75 Grooving Cycle)
N81 X1.15
N83 G28 (Rapid to machine home position)

Lathe Lesson 9 - 13
Page 113
LESSON 9 - THREADING - EXAMPLE - PROGRAM
Thread

(THREAD .625-11 UNC)


N85 T0505 (Tool call T05, activate offset, O.D. threading tool)
N87 G97 S800 M03 (Start spindle 800 rpm CW)
N89 G00 G54 X1.25 Z0.25 T0505 M08 (Rapid to safe position, TNC, coolant on)
N91 X0.650 M24 (Chamfer at end of thread is off)
N93 G76 X0.5135 Z-0.8 K0.0558 D0.0176 F0.0909 ( G76 OD threading cycle)
N95 G92 X.5135 Z-0.8 F0.0909 (Spring cut)
N97 G92 X.5135 Z-0.8 F0.0909 (Spring cut)
N99 G28 U0 (Rapid to X machine home position)
N101 G28 W0 M05 (Rapid to Z machine home position)

Lathe Lesson 9 - 14
Page 114
LESSON 9 - THREADING - EXAMPLE - PROGRAM
Cut-Off

(CUT OFF)
N103 G00 T404 (Tool call T04, activate offset)
N105 G97 S191 M03
N107 G00 X1.25 Z0.25 M8
N109 G50 S3000
N111 G96 S200
N113 Z-1.520 (Rapid to cut-off position + 0.020 for rough cut)
N115 X1.15
N117 G75 X0.3 I0.1 F0.002 (Grooving Cycle – Rough cut to 0.3 diameter)
N119 Z-1.485 (Position for chamfer on end of part)
N121 G01 X1.05
N123 U-0.015 W-0.015 (Cut 0.015 chamfer on end of part – remove sharp edge)
N125 X1.15 (Retract from groove)
N127 Z-1.5 (Position for cut-off)
N129 G75 X-0.03 I0.1 F0.002 (Grooving Cycle - Cut-Off to length)
N131 G00 X1.250
N133 G28 (Rapid to machine home position)
N135 M30 (Program end)
%

Lathe Lesson 9 - 15
Page 115
LESSON 9 - THREADING EXERCISE

Lathe Lesson 9 - 16
Page 116
LESSON 9 - THREADING EXERCISE

Create a program for the Lesson-9 Exercise to:

1. Face.
2. Rough Turn OD
3. Finish Turn OD
4. Groove undercut for thread 0.125” wide
5. Thread .500-13 UNC.
6. Cut-off.
7. Z zero is the front face of the part
8. The grooving\part-off tool is 0.118” wide
9. Program right hand side of grooving\part-off tool
10. Material is ø1.125 aluminum

Lathe Lesson 9 - 17
Page 117
LESSON 9 - THREADING EXERCISE

Lathe Lesson 9 - 18
Page 118
LESSON 9 - THREADING EXERCISE

Lathe Lesson 9 - 19
Page 119
LESSON 9 - THREADING EXERCISE

Lathe Lesson 9 - 20
Page 120
CNC PROGRAMMING
WORKBOOK LATHE

APPENDIX

Page 121
Appendix – Extra CNC Programming Exercises

Lathe Appendix - 2
Page 122
Appendix – Extra CNC Programming Exercises

Lathe Appendix - 3
Page 123
Appendix – Extra CNC Programming Exercises

Lathe Appendix - 4
Page 124
Appendix – Extra CNC Programming Exercises

Lathe Appendix - 5
Page 125
Appendix – Extra CNC Programming Exercises

Lathe Appendix - 6
Page 126
Appendix – Extra CNC Programming Exercises

Lathe Appendix - 7
Page 127
Appendix – Extra CNC Programming Exercises

Material: Aluminum 6061 XZ PLANE


CS= ft/min

1. Tool #1 (OD Roughing Tool) – Create A Toolpath To Rough The Above Profile
Feed =
Spindle Speed RPM = 4xCS/D=
in/min
Depth of Cut =0.1/side Use a G71 Canned Cycle
2. Tool #2 (OD Finishing Tool) – Finish The OD Using The Profile Created In The First Operation
Feed =
Spindle Speed RPM = 4xCS/D=
in/min
Depth of Cut =0.02/side Use a G70 Canned Cycle
3. Tool #9 (0.125 Right Hand Groove Tool) – Machine Both Grooves By Plunging In The Middle Of
The Groove, Then Retract And Move Over To The Left And Right To Finish
Feed =
Spindle Speed RPM = 4xCS/D=
in/min
Start in the middle of grooves

Lathe Appendix - 8
Page 128
CNC PROGRAMMING EXERCISE (CONTINUED)
%
O00014;

Lathe Appendix - 9
Page 129
CNC PROGRAMMING EXERCISE (CONTINUED)

Lathe Appendix - 10
Page 130
Appendix – Preparatory Functions – G-Codes

G00 RAPID POSITIONING MOTION

G01 LINEAR INTERPOLATION MOTION

G02 CIRCULAR INTERPOLATION MOTION - CLOCKWISE

G03 CIRCULAR INTERPOLATION MOTION - COUNTECLOCKWISE

G04 DWELL

G09 EXACT STOP

G10 PROGRAMMABLE OFFSET SETTING

G12 CW CIRCULAR POCKET MILLING

G13 CCW CIRCULAR POCKET MILLING

G17 CIRCULAR MOTION XY PLANE SELECTION (G02 or G03)

G18 CIRCULAR MOTION ZX PLANE SELECTION (G02 or G03)

G19 CIRCULAR MOTION YZ PLANE SELECTION (G02 or G03)

G20 VERIFY INCH COORDINATE POSITIONING

G21 VERIFY METRIC COORDINATE POSITIONING

G28 MACHINE ZERIO RETURN THRU REF. POINT

G29 MOVE TO LOCATION THROUGH G28 REF. POINT

G31 FEED UNTIL SKIP FUNCTION

G35 AUTOMATIC TOOL DIAMETER MEASUREMENT

G36 AUTOMATIC WORK OFFSET MEASUREMENT

G37 AUTOMATIC TOOL LENGTH MEASUREMENT

G40 CUTTER COMPENSATION CANCEL G41/G42/G141

G41 2D CUTTER COMPENSATION, LEFT (X, Y, D)

G42 2D CUTTER COMPENSATION, RIGHT (X, Y, D)

G43 TOOL LENGTH COMPESATION POSITIVE (H, Z)

G44 TOOL LENGTH COMPENATION NEGATIVE (H, Z)

Lathe Appendix - 11
Page 131
Appendix – Preparatory Functions – G-Codes

G47 TEXT ENGRAVING (X, Y, Z, R, I, J, P, E, F)

G49 TOOL LENGTH COMPENSATION CANCEL G43/G44/G143)

G50 SCALING G51 CANCEL

G51 SCALING (X, Y, Z, P)

G52 WORK OFFSET COORDINATE POSITING

G52 GLOBAL WORK COORDINATE OFFSET SHIFT

G52 GLOBAL WORK COORDINATE OFFSET SHIFT

G53 MACHINE COORDAINTE POSITIONING, NON-MODAL (X, Y, Z, A, B)

G54 WORK OFSET COORDIANTE POSITIONING #1

G55 WORK OFSET COORDIANTE POSITIONING #2

G56 WORK OFSET COORDIANTE POSITIONING #3

G57 WORK OFSET COORDIANTE POSITIONING #4

G58 WORK OFSET COORDIANTE POSITIONING #5

G59 WORK OFSET COORDIANTE POSITIONING #6

G60 UNI-DIRECTIONAL POSITIONING (X, Y, Z, A, B)

G61 EXACT STOP, MODAL (X, Y, Z, A, B)

G64 EXACT STOP G61 MODE CANCEL

G65 MACRO SUB-ROUTINE CALL

G68 ROATION (G17, G18, G19, X, Y, Z, R)

G69 ROTATION G68 CANCEL

G70 BOLT HOLE CIRCLE with a CANNED CYCLE (I, J, L)

Lathe Appendix - 12
Page 132
Appendix – Preparatory Functions – G-Codes

G71 BOLTHOLEARC with a CANNED CYCLE (I, J, K, L)

G72 BOLT HOLES ALONG AN ANGLE with a CANNED CYCLE (I, J, L)

G73 HIGH SPEED PECK DRILL CANNED CYCLE (X, Y, A, B, Z, I, J, K, Q, P, R, L, F)

G74 REVERSE TAPPING CANNED CYCLE (X, Y, A, B, Z, J, R, L, F)

G76 FINE BORING CANNED CYCLE (X, Y, A, B, Z, I, J, P, Q, R, L, F)

G77 BACK BORE CANNED CYCLE (X, Y, A, B, Z, I, J, Q, R, L, F)

G80 CANCEL CANNED CYCLE

G81 DRILL CANNED CYCLE (X, Y, A, B, Z, R, L, F)

G82 SPOT DRILL/COUNTERBORE CANNED CYCLE (X, Y, A, B, Z, P, R, L, F)

G83 PECK DRILL CANNED CYCLE (X, Y, A, B, Z, I, J, K, Q, P, R, L, F)

G84 TAPPING CANNED CYCLE (X, Y, A, B, Z, J, R, L, F)

G85 BORE IN, BORE OUT CANNED CYCLE (X, Y, A, B, Z, R, L, F)

G86 BORE IN, STOP, RAPID OUT CANNED CYCLE (X, Y, A, B, Z, R, L, F)

G87 BORE IN AND MANUAL RETRACT CANNED CYCLE (X, Y, A, B, Z, R, L, F)

G88 BORE IN, DWELL, MANUAL RETRACT CANNED CYCLE (X, Y, A, B, Z, P, R, L, F)

G89 BORE IN, DWELL, BORE OUT (X, Y, A, B, Z, P, R, L, F)

G90 ABSOLUTE POSITIONING

G91 INCREMENTAL POSITIONING

G92 GLOBAL WORK COORDINATE SYSTEM SHIFT (FANUC) (HAAS)

G92 SET WORK COORDINATE VALUE (YA SNAC)

G93 INVERSE TIME FEED MODE ON

G94 INVERSE TIME FEED MODE OFF/FEED PER MINUTE ON

G98 CANNED CYCLE INITIAL POINT RETURN

G99 CANNED CYCLE “R” PLANE RETURN

Lathe Appendix - 13
Page 133
Appendix – Miscellaneous Functions – M-Codes

M00 PROGRAM STOP

M01 OPTIONAL PROGRAM STOP

M02 PROGRAM END

M03 SPINDLE ON CLOCKWISE

M04 SPINDLE ON COUTERCLOCKWISE

M05 SPINDLE STOP

M06 TOOL CHANGE

M08 COOLANT ON

M09 COOLANT OFF

M19 ORIENT SPINDLE (P, R)

M21-M28 OPTIONAL USER M CODE INTERFACE WITH M-FIN SIGNAL

M30 PROGRAM END AN RESET

M31 CHIP AUGER FORWARD

M32 CHIP AUGER REVERSE

M33 CHIP AUGER STOP

M34 COOLANT SPIGOT POSITION DOWN, INCREMENT

M35 COOLANT SPIGOT POSITION UP, DECREMENT

M36 PALET PART READY

M39 ROTATE TOOL TURRET

M41 SPINDLE LOW GEAR OVERRIDE

M42 SPINDLE HIGH GEAR OVERRIDE

M50 EXECUTE PALLET CHANGE

Lathe Appendix - 14
Page 134
Appendix – Miscellaneous Functions – M-Codes

M51-M58 OPTIONAL USER M CODE SET

M59 OUTPUT RELAY SET (N)

M61-M68 OPTIONAL USER M CODE CLEAR

M69 OUTPUT RELAY CLEAR (N)

M75 SET G35 OR G136 REFERENCE POINT

M76 CONTROL DISPLAY INACTIVE

M77 CONTROL DISPLAY ACTIVE

M78 ALARM IF SKIP SIGNAL FOUND

M79 ALARM IF SKIP SIGNAL NOT FOUND

M80 AUTOMATIC DOOR OPEN

M81 AUTOMATIC DOOR CLOSE

M82 TOOL UNCLAMP

M83 AUTO AIR JET ON

M84 AUTO AIR JET OFF

M86 TOOL CLAMP

M88 COOLANT THROUGH SPINDLE ON

M89 COOLANT THROUGH SPINDLE OFF

M93 AXIS POS CAPTURE START (P, Q)

M94 AXIS POS CAPTURE STOP

M95 SLEEP MODE

M96 JUMP IF NO SIGNAL (P, Q)

M97 LOCAL SUB-PROGRAM CALL (P, L)

M98 SUB-PROGRAM CALL (P, L)

M99 SUB-PROGRAM/ROUTINE RETURN OR LOOP

M109 INTERACTIVE USER INPUT (P)

Lathe Appendix - 15
Page 135
Standard Drill Sizes - Inches

Drill Decimal Drill Decimal Drill Decimal Drill Decimal


. . . . . . .
Size Equiv. Size Equiv. Size Equiv. Size Equiv.
80 = .0135 43 = .089 8 = .199 25/64 = .3906
79 = .0145 42 = .0935 7 = .201 X = .397
1/64 = .0156 3/32 = .0938 13/64 = .2031 Y = .404
78 = .016 41 = .096 6 = .204 13/32 = .4063
77 = .018 40 = .098 5 = .2055 Z = .413
76 = .020 39 = .0995 4 = .209 27/64 = .4219
75 = .021 38 = .1015 3 = .213 7/16 = .4375
74 = .0225 37 = .104 7/32 = .2188 29/64 = .4531
73 = .024 36 = .1065 2 = .221 15/32 = .4688
72 = .025 7/64 = .1094 1 = .228 31/64 = .4844
71 = .026 35 = .110 A = .234 1/2 = .500
70 = .028 34 = .111 15/64 = .2344 33/64 = .5156
69 = .0292 33 = .113 B = .238 17/32 = .5313
68 = .031 32 = .116 C = .242 35/64 = .5469
1/32 = .0313 31 = .120 D = .246 9/16 = .5625
67 = .032 1/8 = .1250 1/4 (E) = .250 37/64 = .5781
66 = .033 30 = .1285 F = .257 19/32 = .5938
65 = .035 29 = .136 G = .261 39/64 = .6094
64 = .036 28 = .1405 17/64 = .2656 5/8 = .625
63 = .037 9/64 = .1406 H = .266 41/64 = .6406
62 = .038 27 = .144 I = .272 21/32 = .6563
61 = .039 26 = .147 J = .277 43/64 = .6719
60 = .040 25 = .1495 K = .281 11/16 = .6875
59 = .041 24 = .152 9/32 = .2813 45/64 = .7031
58 = .042 23 = .154 L = .290 23/32 = .7188
57 = .043 5/32 = .1563 M = .295 47/64 = .7344
56 = .0465 22 = .157 19/64 = .2969 3/4 = .750
3/64 = .0469 21 = .159 N = .302 49/64 = .7656
55 = .052 20 = .161 5/16 = .3125 25/32 = .7813
54 = .055 19 = .166 O = .316 51/64 = .7969
53 = .0595 18 = .1695 P = .323 13/16 = .8125
1/16 = .0625 11/64 = .1719 21/64 = .3281 53/64 = .8281
52 = .0635 17 = .173 Q = .332 27/32 = .8438
51 = .067 16 = .177 R = .339 55/64 = .8594
50 = .070 15 = .180 11/32 = .3438 7/8 = .875
49 = .073 14 = .182 S = .348 57/64 = .8906
48 = .076 13 = .185 T = .358 29/32 = .9063
5/64 = .0781 3/16 = .1875 23/64 = .3594 59/64 = .9219
47 = .0785 12 = .189 U = .368 15/16 = .9375
46 = .081 11 = .191 3/8 = .375 61/64 = .9531
45 = .082 10 = .1935 V = .377 31/32 = .9688
44 =.086 9 = .196 W = .386 63/64 = .9844

Lathe Appendix - 16
Page 136
Inch Tap Drill Sizes

INCH SIZES - NATIONAL COARSE INCH SIZES - NATIONAL FINE


UNC UNF
---------------------------- ----------------------------
TAP DRILL TAP DRILL
SIZE SIZE SIZE SIZE
---------------------------- ----------------------------
#1-64 #53 #0-80 3/64"
#2-56 #51 #1-72 #53
#3-48 5/64" #2-64 #50
#4-40 #43 #3-56 #46
#5-40 #39 #4-48 #42
#6-32 #36 #5-44 #37
#8-32 #29 #6-40 #33
#10-24 #25 #8-36 #29
#12-24 #17 #10-32 #21
1/4-20 #7 #12-28 #15
5/16-18 F 1/4-28 #3
3/8-16 5/16 5/16-24 I
7/16-14 U 3/8-24 Q
1/2-13 27/64 7/16-20 W
9/16-12 31/64 1/2-20 29/64
5/8-11 17/32 9/16-18 33/64
3/4-10 21/32 5/8-18 37/64
7/8-9 49/64 3/4-16 11/16
1"-8 7/8 7/8-14 13/16
1-1/8-7 63/64 1"-14 15/16
1-1/4-7 1-7/64 1-1/8-12 1-3/64
1-1/2-6 1-11/32 1-1/4-12 1-11/64
1-3/4-5 1-35/64 1-1/2-12 1-27/64
2"-4-1/2 1-25/32 1-3/4-12 1-43/64
2"-12 1-59/64

Lathe Appendix - 17
Page 137
Metric Tap Drill Sizes

METRIC COARSE SIZES METRIC FINE SIZES


---------------------------- ----------------------------
TAP DRILL TAP DRILL
SIZE SIZE SIZE SIZE
---------------------------- ----------------------------
1mm x .25 .75mm 4 mm x .35 3.6mm
1.1 x .25 .85 4 x .5 3.5
1.2 x .25 .95 5 x .5 4.5
1.4 x .3 1.1 6 x .5 5.5
1.6 x .35 1.25 6 x .75 5.25
1.7 x .35 1.3 7 x .75 6.25
1.8 x .35 1.45 8 x .5 7.5
2 x .4 1.6 8 x .75 7.25
2.2 x .45 1.75 8x1 7
2.5 x .45 2.05 9x1 8
3 x .5 2.5 10 x .75 9.25
3.5 x .6 2.9 10 x 1 9
4 x .7 3.3 10 x 1.25 8.8
4.5 x .75 3.7 11 x 1 10
5 x .8 4.2 12 x .75 11.25
6x1 5 12 x 1 11
7x1 6 12 x 1.5 10.5
8 x 1.25 6.8 14 x 1 13
9 x 1.25 7.8 14 x 1.25 12.8
10 x 1.5 8.5 14 x 1.5 12.5
11 x 1.5 9.5 16 x 1 15
12 x 1.75 10.2 16 x 1.5 14.5
14 x 2 12 18 x 1 17
16 x 2 14 18 x 2 16
18 x 2.5 15.5 20 x 1 19
20 x 2.5 17.5 20 x 1.5 18.5
22 x 2.5 19.5 20 x 2 18
24 x 3 21 22 x 1 21
27 x 3 24 22 x 1.5 20.5
30 x 3.5 26.5 22 x 2 20
24 x 1.5 22.5
24 x 2 22
26 x 1.5 24.5
27 x 1.5 25.5
27 x 2 25
28 x 1.5 26.5
30 x 1.5 28.5
30 x 2 28
Tap Drill Sizes
Lathe Appendix - 18
Page 138
Discriminator Installation Instructions
Installation Instructions for Workbook users:
1. Locate the DVD/CD that came with the workbook (fixed to the back cover).
2. Insert the disc into the DVD/CD ROM tray of your computer.
3. When the AutoPlay window is displayed select Open folder to view files as shown below:

4. Double click or open the Discriminator folder as shown below:

Lathe Appendix - 19
Page 139
Discriminator Installation Instructions Continued
5. Double-click the Discriminator21017.exe file as shown below. This will start the installation process.
Follow the instructions on the screen to complete the installation.

Installation Instructions for Online Course users:


1. Go to the Course Intro page of the Online Course as shown below:

2. Locate the “What you need to complete this course” section on this page and click on the
Discriminator link to download the Discriminator installation file. Make sure you save the file to a
place on the hard drive that you can be easily located.
3. Once the file has downloaded locate it and double-click the Discriminator.zip file to extract the
installation files onto your hard drive. Make sure you extract the files into a new folder on your hard
drive and remember where the folder is located.
4. Open the folder the files were extracted to and double click on Discriminator21017.exe.
5. Follow the instructions on the screen.

Lathe Appendix - 20
Page 140
Lathe Appendix - 21
Page 141
Lathe Appendix - 22
Page 142

You might also like