Professional Documents
Culture Documents
TCPO Lsn12 - Reading Material
TCPO Lsn12 - Reading Material
Lesson 12
Geometry Offsets
Most of what you need to know about geometry offsets is presented in Lessons Six and
Seven. There are just a few more points we want to make about this important CNC
feature.
You know from Lessons Six and Seven that current model Fanuc controls are equipped with geometry
offsets. You also know that geometry offsets will be your method of choice for assigning program zero. The
only reason to assign program zero in the program with G50 is if the turning center does not have geometry
offsets – as will be the case with older turning centers (made before about 1987). And of course, if your
machine does not have geometry offsets, you can skip this lesson.
In this lesson, we’re assuming that your turning center has geometry offsets, and that you’re using them to
assign program zero.
You can get a better understanding of how geometry offsets actually work by looking at the absolute position
display page (not the relative page) right after power up and before a program is executed. While monitoring
this page, send the machine to its zero return position in the X and Z axes.
With the machine is resting at its zero return position right after powering up, most machines will set the
absolute position display page to X00.0000 and Z00.0000. Think about this. The absolute position display
page always shows the machine’s position relative to the program zero point. At this point in time, the control
actually thinks the zero return position is the program zero point!
Whenever a geometry offset is instated (with the first two digits of the T word) the distances from the tool tip
at the zero return position to the program zero point will be transferred to the absolute position display screen
registers. If the machine is not currently at the zero return position in one axis of the other, it will even take
this into consideration when it sets the absolute position display values.
For example, say the current X and Z registers of geometry offset number one are set to:
X-12.2437 Z-11.8476
The machine is currently at the zero return position when the T word T0101 is executed. At this point the
absolute position display registers will show X12.2437 and Z11.8476 (again if the machine is currently at the
zero return position in X and Z – and if the work shift offset is currently zero). The machine now knows how
far it is from the tool tip to the program zero point, and can correctly make the motions commanded by the
program to machine the workpiece.
Again, if the machine is not at the zero return position when a geometry offset is instated, it will consider this
when it sets the absolute position display. For example, say the machine is precisely one inch in each axis
from the zero return position (closer to the workpiece – on the negative side of the zero return position). In
this case, when the T word T0101 is executed, the absolute position displays will show X11.2437 and
Z10.8476. The machine has correctly compensated for the turret’s position, and still knows the correct
distance between the program zero point and the tool tip.
This is why the machines starting position is not critical when geometry offsets are used. The turret can be in
any location and the machine will still correctly determine the cutting tool’s position – and set the absolute
position displays accordingly.
What about work shift? If you’re using geometry offsets in conjunction with the work shift value, the
machine will also consider this when setting the absolute position displays as geometry offsets are instated. In
the scenario just given (machine is one inch from the zero return position), say you have placed a value of 2.5
in the Z register of the work shift offset (this is the distance from the chuck face to the program zero point).
The Z value in the geometry offset now represents the distance from the tool tip at the zero return position
and the chuck face. When the T word T0101 is executed, now the machine will set the absolute position
display to X11.2437 and Z08.3476 (Z value is calculated by taking the 11.8476 geometry offset value minus
the 1.0 distance to Z axis zero return position minus the 2.5 work shift value). Again, the machine will always
be able to determine the distance between the program zero point and the tool tip.
distances from the program zero point to the tool tip (in each axis) at the very moment the T word is
executed. It will place these values on the absolute position display page. Figure 4.4 shows an example.
How total offset (true program zero assignment values) are calculated
Z axis geometry offset value (-12.2874)
X11.8519
Program zero
X axis geometry offset value
(-11.8576)
Z07.7840
X geometry offset (-11.8576) plus X wear offset (0.0057) plus machine position for zero return (0.0) equals 11.8519
Z geometry offset (-12.2874) plus Z wear offset (0.0034) minus work shift value (4.5) plus machine position (0.0) equals 7.7840
Admittedly, you don’t have to know how geometry offsets work to use them. But it’s important to know that
nothing magical is happening. Additionally, this presentation should help you understand the function of each
value involved with program zero assignment.
POWER
ON X U
Y V
Z W Q B 4 5 6 START
X00.0000 I J K R C Sp
1 2 3
PAGE
D
S]
?
H
T
CURSOR
@
(
L
EO
@
)
#
/ *
,
-
+
0
= CAN
CALC
I N P U T
S H I F T NC/PC
AUX
CYCLE FEED
MDI JOG
START HOLD ON
AUTO HANDLE
OFF
DRY SINGLE MACHINE OPTIONAL BLOCK
EDIT ZERO RUN BLOCK LOCK STOP DELETE
MODE RETURN ON ORIGIN
OFF
100%
25% 50%
X Z
X+ 10% 100%
MEMORY X10
X1 X100
Z Z+ PROTECT X Z
-
0% 200% 9 10 11
X- 8 12
RAPID 7
FEEDRATE 6
JOYSTICK OVERRIDE
OVERRIDE 5
4 0
3
EMERGENCY
STOP ON OFF 2
SLOW FAST 1 TURRET INDEX
SPINDLE
100%
100%
0 130
0% 130
OD ID
X Z
CLAMP
DIRECTION
Program zero
Figure 4.5 – Program zero assignment values when our recommended method is used
Many of the cutting tools used in turning centers are used from job to job. Indeed, some tools remain in the
turret on a permanent basis. Consider, for example, a rough turning tool. In many companies, all jobs require
a rough turning operation. The same is often true for a finish turning tool. And if your company performs
threading operations on a regular basis, a threading tool will be often needed.
For internal work, a drill is required – unless the raw material comes in the form of tubing. While the size of
the drill will vary from job to job, most companies will dedicate a turret station to hold the drill. The same
goes for rough boring and finish boring tools. While boring bar sizes will often change from job to job, turret
stations are dedicated to rough and finish boring bars.
For this reason, programmers often come up with a series of standard tool stations in the turret. Here is an
example:
?Station one: Rough turning and facing tool (80 degree diamond shaped insert)
?Station two: Finish turning and facing tool (55 degree diamond shaped insert)
?Station three: Threading tool (Insert may change from job to job based upon thread
pitch)
?Station four: Grooving tool (Insert will change from job to job based upon groove
width)
?Station six: Drill (Drill size will change from job to job based upon hole size)
?Station eight: Rough boring bar (boring bar size will change from job to job)
?Station ten: Finish boring bar (boring bar size will change from job to job)
The goal, of course, is to minimize the work that must be done between jobs during setup. The physical tasks
related to placing tools into the turret can be dramatically minimized. But so can many of the tasks related to
program zero assignment – as well as the tasks related to trial machining and sizing as the first workpiece in
the new job is machined.
As a simple example, consider this scenario. Say two jobs run consecutively that require a rough turning tool,
a finish turning tool, and a threading tool (stations 1, 2, and 3 above). When setting up the first job, the three
tools must be loaded into the turret (if they’re not already in place). Program zero assignment values must be
measured and entered. We’ll say the work shift value is being used, so it must also be measured and entered.
When the setup person runs the fist workpiece, they’ll size in all dimensions – making adjustments as
necessary. The rest of workpieces are then run.
When the first job is completed, the second job must be run. Though it may be of a totally different
configuration, it requires the same three tools. In this scenario, there won’t be much work for the setup
person to do – at least related to cutting tools and program zero assignment. Since all three tools are currently
in the turret and in the correct turret stations, there will be no need to remove or mount cutting tools. And
since chuck face is the point of reference for geometry offsets, and since the chuck face position doesn’t
change from job to job, the geometry offsets need not be measured. Only one value – the work shift value –
must be measured and entered – assuming the workpiece in the second job is not of the same length as the
workpiece in the first job.
And our point is: If a cutting tool is machining properly in one job, it will continue to do so in the next job. As long as you use
our recommended method of program zero assignment (working from the chuck face with geometry offsets and using the work shift
value), any tool used in the previous job will remain properly set for the next job.
In our given scenario, even the sizes machined by each tool will come out correctly in the second job. If tools
were machining surfaces within tolerance bands in the first job, they will continue to do so in the second job.
There is an exception to this statement having to do with workpiece material. If workpiece material changes
dramatically (consider machining tool steel in one job and machining aluminum in the next), there will be a
difference in tool pressure. This variation may cause the need to trial machine for finishing operations in the
new job. But by the way, this dramatic difference in workpiece material will probably require a different insert
grade to be used from one job to the next. In effect, the same tool is not being used from job to job.
?The work shift value must be measured and entered for each job.
?Get in the habit of clearing offsets (geometry and wear) for a tool as you remove the tool from the
turret.
Process:
3.0 Tool one: Rough face leaving 0.005 for finishing. Rough turn 0.125 chamfer
0.0625 and 2.5 diameter (one pass) leaving 0.080 on the 2.5 diameter and
chamfer 2.5 0.005 on the 1.5 face for finishing (Feed: 0.012 ipr, Speed: 500 sfm)
Tool two: Drill (1.0 diameter drill) through the workpiece (Feed: 0.008 ipr,
1.0 Speed: 1,150 rpm)
1.5 Tool three: Rough bore 0.0625 chamfer and 1.5 diameter (one pass), leaving
0.040 on the diameter and 0.005 on the 1.875 face (Feed: 0.007 ipr,
Speed: 400 sfm)
Tool four: Finish bore 0.0625 chamfer and 1.5 diameter to size (Feed: 0.005
ipr, Speed: 500 sfm)
Tool five: Finish turn 0.125 chamfer and 2.5 diameter to size (Feed: 0.005 ipr,
1.875 Speed: 500 sfm)
2.375
Tool paths:
Tool one: Rough face & turn Tool two: Drill 1.0 hole Tool three: Rough bore
8 0.04 1
6
7
5 4
12 11
14
13
0.02
15 16
2 3 10 9
Coordinate sheet:
Tool four: Finish bore Tool five: Finish face & turn
30
1: X3.2 Z0.005 25: X1.3 Z0.1
2: X-0.062 Z0.005 26: X2.25 Z0.1
28 23
3: X-0.062 Z0.1 27: X2.25 Z0
29
27 26 4: X2.33 Z0.1 28: X2.5 Z-0.125
18 17 5: X2.33 Z0.005 29: X2.5 Z-1.5
20
19 6: X2.58 Z-0.12 30: X3.2 Z-1.5
24 25
22 7: 2.58 Z-1.495
21 8: 3.2 Z-1.495
9: X0 Z0.1
10: X0 Z-2.705
11: X1.585 Z0.1
O0002 (Program number) 12: X1.585 Z0.005
13: X1.46 Z-0.0575
(ROUGH FACE AND TURN) 14: X1.46 Z-1.87
N005 T0101 M41 (Index turret, select low spindle range) 15: X0.95 Z-1.87
16: X0.95 Z0.1
N010 ____ _______ ____ (Start spindle fwd at 500 sfm) 17: X1.625 Z0.1
N015 ____ _______ _______ M08 (Rapid to point 1, turn on coolant) 18: X1.625 Z0
19: X1.5 Z-0.0625
N020 G99 ____ _______ _______ (Face to point 2 at 0.012 ipr) 20: X1.5 Z-1.875
N025 ____ _______ (Rapid away to point 3) 21: X0.95 Z-1.875
22: X0.95 Z0.1
N030 _______ (Rapid up to point 4) 23: X2.7 Z0
N035 ____ _______ (Feed up to point 5) 24: X1.3 Z0
Answer program
O0002 (Program number) (FINISH BORE)
(ROUGH FACE AND TURN) N145 T0404 M42 (Index turret, select high spindle range)
N005 T0101 M41 (Index turret, select low spindle range) N150 G96 S500 M03 (Start spindle at 500 sfm)
N010 G96 S500 M03 (Start spindle fwd at 500 sfm) N155 G00 X1.625 Z0.1 M08 (Rapid to point 17, turn on coolant)
N015 G00 X3.2 Z0.005 M08 (Rapid to point 1, turn on coolant) N160 G01 Z0 F0.005 (Feed to point 18 at 0.005 ipr)
N020 G99 G01 X-0.062 F0.012 (Face to point 2 at 0.012 ipr) N165 X1.5 Z-0.0625 (Chamfer to point 19)
N025 G00 Z0.1 (Rapid away to point 3) N170 Z-1.875 (Bore 1.5 to point 20)
N030 X2.33 (Rapid up to point 4) N175 X0.95 (Feed down face to point 21)
N035 G01 Z0 (Feed up to point 5) N180 G00 Z0.1 (Rapid to point 22)
N040 X2.58 Z-0.12 (Chamfer to point 6) N185 X8.0 Z7.0 (Rapid to tool change position)
N045 Z-1.495 (Turn 2.5 diameter to point 7) N190 M01 (Optional stop)
N050 X3.2 (Feed up face and off part to point 8) (FINISH FACE AND TURN)
N055 G00 X8.0 Z7.0 (Rapid to tool change position) N195 T0505 M42 (Index turret, select high spindle range)
N060 M01 (Optional stop) N200 G96 S500 M03 (Start spindle at 500 sfm)
(DRILL 1.0” HOLE) N205 G00 X2.7 Z0 M08 (Rapid to point 23, turn on coolant)
N065 T0202 M41 (Index turret, select low spindle range) N210 G01 X1.3 F0.005(Face to point 24 at 0.005 ipr)
N070 G97 S1150 M03 (Start spindle at 1,150 rpm) N215 G00 Z0.1 (Rapid to point 25)
N075 G00 X0 Z0.1 M08 (Rapid to point 9, turn on coolant) N220 X2.25 (Rapid to point 26)
N080 G01 Z-2.705 F0.008 (Feed to point 10 at 0.008 ipr) N225 G01 Z0 (Feed to point 27)
N085 G00 Z0.1 (Rapid back to point 9) N230 X2.5 Z-0.125 (Chamfer to point 28)
N090 X8.0 Z7.0 (Rapid to tool change position) N235 Z-1.5 (Turn 2.5 to point 29)
N095 M01 (Optional stop) N240 X3.2 (Feed up face to point 30)
(ROUGH BORE) N245 G00 X8.0 Z7.0 (Rapid to tool change position)
N100 T0303 M41 (Index turret, select low spindle range) N250 M30 (End of program)
N103 G96 S400 M03 (Start spindle at 400 sfm)
N105 G00 X1.585 Z0.1 M08 (Rapid to point 11, start coolant)
N110 G01 Z0 F0.007 (Feed to point 12 at 0.007 ipr)
N115 X1.46 Z-0.0575 (Chamfer to point 13)
N120 Z-1.87 (Rough bore 1.5 to point 14)
N125 X0.95 (Feed down face to point 15)
N130 G00 Z0.1 (Rapid to point 16)
N135 X8.0 Z7.0 (Rapid to tool change position)
N140 M01 (Optional stop)