[Home]HaasRoughingFinishing

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org

Lathe Roughing and Finishing canned cycles

Notes - This writing is based on the behavior of the Haas CNC control on a SL-10 lathe. This is an enclosed lathe with a 3 jaw, hydraulically controlled chuck. It has a slant bed and a tool holder turret and is equipped for flood coolant. There are 2 canned cycle G codes on the lathe to first rough out stock to a given geometry with a specific amount of material remaining and a second cycle to finish to size. Both cycles use block numbers to define the geometry of the part. The initial position is significant as it is used to deduce if it will be a boring cycle or a turning cycle.

Keep in mind all X axis call outs on a lathe are in diameter.

1. Roughing

The roughing cycle is invoked by G71. It takes the following parameters:

        P/Q
This is the beginning and ending block numbers to describe the geometry.

        U/W
This is the X and Y amount of material to leave on the part.

        I/K
Haas defines this as the last pass amount with direction. I have never used this personally and cannot comment on it. This is an optional parameter.

        D
This is the depth of cut per pass.

        F
This is a feed rate to use when roughing. It overrides feed rates provided in the geometry blocks.

        S
This is an optional spindle speed override while roughing.

        T
This is an optional tool to use while roughing. A typical all out for G71 is:

        G71 P25 Q28 U0.01 W0.02 D0.125 F0.007

The P and Q define the beginning and ending blocks that define the geometry. U and W define the amount of stock to leave behind in the X and Y directions. D defines the maximum death of cut on each pass. F defines the feed rate to use when roughing. F can override the feed rate defined between blocks called out by P and Q.

If the position of the tool is on the center line side of the geometry, a boring operation is assumed. A turning operation is will be used if the initial position is outside of the part. Note that this operation will not drill the stock for clearance of a boring bar. Typically a boring operation requires a prior drilling operation. Furthermore, the initial position is used for the retract between passes. As such, the initial position may not be on the center line as the back of the boring bar needs to clear!

2. Finishing

        The finishing cycle is invoked by G70. It takes exactly two parameter, P/Q block numbers defining the geometry.

A typical call out for G70 is:

        G70 P25 Q28

This will cut the part to the geometry defined between blocks called out by P and Q. A single pass using the feed rates called out by the block will be used.

This is a sample program that uses the G70 and G71 codes on a lathe to create ER32 lathe chuck blanks.

%
O01016
(ER32 Lathe chuck)
(T4 .75 in drill)
(T6 spotting drill)
(T9 Turning tool)
(T2 Boring bar)
(T8 Outside Threading tool)
N10 G18 G20 G40 G54 G80 G97 G99 (Insurance line)
G28 (Home turret)
(Face and turn to size)
N20 T909
G50 S1500 (Cap speed at 1500RPM)
G96 S100 M03 (100 SFPM)
G00 X2.125 Z1.
M08
G00 Z0.1
G01 Z0. F0.007
G01 X0. F0.007
G00 Z0.1
G00 X0.
G01 Z0. F0.007
G01 X2.125
G71 P25 Q28 U0.01 W0.02 D0.05 F0.007
N25 G01 X1.525 F0.002
G01 Z-0.05 F0.002 X1.5748
G01 Z-0.77
G01 X1.725
N28 G01 Z-2.125
G70 P25 Q28
G28
T900
M01
(Spot drill)
N30 T606
G50 S1500 (Cap speed at 1500RPM)
G97 S1200 M03 (Spindle on)
G00 X0. Z1.
M08
G00 X0. Z0.1
G01 Z-0.125 F0.001
G00 Z0.1
G28 (Home turret)
T600
M01
(Drill out to 0.75, 1.25 deep)
N40 T404
G50 S1500
G97 S533 M03 (Spindle on - 100SFPM)
G00 X0. Z1.
M08
G00 X0. Z0.1
(Drill down -1.5)
G01 Z-0.25 F0.005
G00 Z0.1
G01 Z-0.5 F0.005
G00 Z0.1
G00 Z-0.375
G00 Z-0.625 F0.005
G00 Z0.1
G00 Z-0.5
G01 Z-0.75 F0.005
G00 Z0.1
G00 Z-0.675
G01 Z-0.875 F0.005
G00 Z0.1
G00 Z-0.75
G01 Z-1. F0.005
G00 Z0.1
G00 Z-0.875
G01 Z-1.125 F0.005
G00 Z0.1
G00 Z-1.
G01 Z-1.25 F0.005
G00 Z0.1
G00 Z-1.125
G01 Z-1.375 F0.005
G00 Z0.1
G00 Z-1.25
G01 Z-1.5 F0.005
G00 Z0.1
G28
T400
M01
(Bore out inside taper)
N50 T202
G50 S1500
G96 S40 M03
G00 X0.6 Z1.
M08
G00 X0.6 Z0.1
G01 Z0. F0.002
G71 P55 Q58 U0.01 W0.02 D0.02 F0.007
N55 G01 X1.26 F0.002
N58 G01 X0.94 Z-1.138
G70 P55 Q58
G00 Z0.1
G28
T200
M01
(Thread the outside M40-1.5)
N60 T808
G50 S1500
G97 S200 M03
G00 Z1.
G00 X1.65
G00 Z0.1
M08
G76 D0.01 F0.05906 K0.0362 Z-0.75 X1.491
G00 X1.775
G00 Z1.
G28
T800
M01
M05
M30
%


LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org
This page is read-only. Follow the BasicSteps to edit pages. | View other revisions
Last edited April 29, 2007 5:43 am by Hyau (diff)
Search:
Published under a Creative Commons License