Professional Documents
Culture Documents
WORKBOOK
LATHE
This is a watermark for trial version, register to get full one!
VIPBenefits:
Remove it Now
CNC Programming Workbook – Lathe
Published by
CamInstructor Incorporated
330 Chandos Crt.
Kitchener, Ontario
N2A 3C2
www.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
Table of Contents - 2
LESSON-9 THREADING ........................................................................................................101
APPENDIX ..........................................................................................................................121
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.
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.
6 # 4 Centre 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
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
Lathe Lesson 2 - 5
Page 11
RAPID G00 AND LINEAR G01 INTERPOLATION
Lathe Lesson 2 - 6
Page 12
EXAMPLE OF PROGRAM START-UP BLOCKS
For example the G codes below would perform the following at the start of the program:
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:
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.
Lathe Lesson 2 - 8
Page 14
EXAMPLE OF PROGRAM ENDING BLOCKS
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
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.
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 will cancel the G41 or G42 tool compensation commands that are in effect at the time.
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.
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
Lathe Lesson 3 - 3
Page 21
LESSON-3 DRILL CANNED CYCLE G81
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
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
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
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
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.
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
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
(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°)
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
%
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)
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
Lathe Lesson 5 - 2
Page 40
LESSON 5 - TURNING CANNED CYCLES G71
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.
* Indicates optional
** Rarely defined in a G71 line
Lathe Lesson 5 - 3
Page 41
LESSON 5 - FINISHING CANNED CYCLE G70
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.
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
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.
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
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
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
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
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 will cancel the G41 or G42 tool compensation commands that are in effect at the time.
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.
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.
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
Lathe Lesson 7 - 4
Page 76
EXAMPLE PROGRAM USING G41 - BORING
Lathe Lesson 7 - 5
Page 77
EXAMPLE PROGRAM USING G41 - BORING - CONTINUED
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.
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.
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
Lathe Lesson 8 - 7
Page 85
LESSON 8 GROOVING & PART OFF - EXAMPLE - PROGRAM
Cut Second Groove
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
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.
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
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
Lathe Lesson 8 - 15
Page 93
G75 – GROOVING CYCLE
LESSON 8 GROOVING & PART OFF - EXAMPLE - PROGRAM
Cut-Off
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
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
* 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
* 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
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.
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.
Lathe Lesson 9 - 5
Page 105
THREADING - G76 THREADING CYCLE
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.
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
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
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
Lathe Lesson 9 - 13
Page 113
LESSON 9 - THREADING - EXAMPLE - PROGRAM
Thread
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
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
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
G04 DWELL
Lathe Appendix - 11
Page 131
Appendix – Preparatory Functions – G-Codes
Lathe Appendix - 12
Page 132
Appendix – Preparatory Functions – G-Codes
Lathe Appendix - 13
Page 133
Appendix – Miscellaneous Functions – M-Codes
M08 COOLANT ON
Lathe Appendix - 14
Page 134
Appendix – Miscellaneous Functions – M-Codes
Lathe Appendix - 15
Page 135
Standard Drill Sizes - Inches
Lathe Appendix - 16
Page 136
Inch Tap Drill Sizes
Lathe Appendix - 17
Page 137
Metric Tap Drill Sizes
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.
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