Hotline: +84 (0) 8686 21 553  



Even if the vises appear to be in a row, there is always a difference between their positions in both axes. Never assume that the table slots guarantee accuracy of the setup. The Y-axis settings may be close, but not very likely to be exactly the same (although possible). 

The most common programming method for this kind of setup is to use multiple works offsets. There is really no other alternative. Probing macro is a possibility, but it is not available to most machine shops. 

A sample offset entry may look something like this: 

Setup such as this can be used for a large volume of parts, to minimize frequent tool changes. Although the setup of three fixtures takes longer than a setup of a sin gle fixture, the extra time can still be justified in saving the extra tool changes on a large volume of parts. 

in the program, the programmer will most likely store the hole locations in a subprogram and apply three stan dard operations for this type of work: 

Spot drill Ø 25 mm or Ø 0.75 inch spot drill Drill Ø 14 mm or Ø 35/64 inch tap drill Tap 

M16x2 plug tap 

The basic concepts of multi-part setup were described in the earlier chapter Work Offset Settings’. Study this chapter first – it covers the basic mathematical concepts and practical procedures of establishing part zero at the machine, during actual setup. This chapter will further expand the subject to apply to two or more parts set on the machine table to be machined as a group. 

Actual machining will make three holes on each vise, before a tool change: 

00 EXT 1 

X 0.000 

Y 0.000 

Z 0.000 01 G54 02655 03656 X -839.528 X -624.883 X 412.067 Y-383.712||| Y-384.567 | Y-382.631 Z 0.000 || Z 0.000 Z 0.000 04 657 05 G58 06 G59 X 0.000 X 0.000 X 0.000 Y 0.000 0.000 Y 0.000 

| 0.000 IZ 0.000 Z 0.000 

Working within limits should be quite easy to visual ize – if the tool cannot reach the part, there is no machin ing that can take place. As for the second item, having all parts located in the same fixed position is a funda mental requirement of any CNC setup. All this would not be possible, if the program did not contain the change of work offsets, tool changes, machining, etc. 

The second item requires a fixed position for each part located on the table, each with its own part zero (part or igin). In this case, two possibilities emerge: 

Distance between part origins is not known Distance between part origins is known 

N1 G21 

= USING WORK OFFSETS =) N2 G17 G40 G80 T01 N3 M06 

(T01 – SPOT DRILL TO SPINDLE) N4 G90 G54 GOO X21.0 Y-16.0 9800 MO3 TO2 N5 G43 Z2.5 H01 MOS N6 G99 G82 R2.5 Z-8.5 P150 F175.0 LO N7 M98 P1001 


N8 G55 M98 P1001 


N9 G56 M98 P1001 


N10 G80 G54 Z25.0 MO9 N11 G28 Z25.0 M05 N12 MO1 


What is a multipart setup? As the question suggests, when more than one part is set within the machine work area, the setup qualifies as a multi-part setup. Parts can be set in the same fixture or they can be independently set at various positions of the machine table. 

Understanding standard setup for a single part and be ing able to use work offsets is a prerequisite for working with multiple parts. 

In most machining applications, there is only one part set on the machine table at any time. Any one CNC ma chine tool equals a single part setup. That is the usual method of setting many CNC machining centers. If the part occupies a large area of the machine table, this is quite normal. In cases there is a large table area unoccu pied, a setup for more than one part might be worth con sidering. certain conditions apply. 

Depending on which of the two options is the case, programmers will handle it in different ways. There are several programming methods available, such as: . Work offset change G54 – 659 and extended set G54.1 

Local coordinate system G52 Offset setting by program G10 Using macros G65 

The three offset entries are visually emphasized. 

The following sections will illustrate various options. 

Program Data 

In the following drawing are three holes that have to be machined on three vises located in a row on the ma chine table. 

N13 TO2 

N14 M06 

(TO2 – TAP DRILL TO SPINDLE) N15 G90 G54 GOO X21.0 7-16.0 3750 M03 T03 N16 G43 22.5 H02 MO8 N17 G99 G81 R2.5 2-20.2 F220.0 LO N18 M98 P1001 


N19 G55 M98 P1001 


N20 G56 M98 P1001 


N21 G80 G54 225.0 M09 N22 G28 225.0 M05 N23 MO1 


As an example, take three identical machinist’s vises and see how they can be located on the machine table. One common option is to set each vise in a position that is not related to any other position. 








N24 TO3 

N25 M06 

(T03 – TAP TO SPINDLE) N26 G90 G54 GOO X21.0 Y-16.0 $600 MO3 T01 N27 G43 25.0 503 MOS N28 G99 G84 R5.0 Z-18.0 F1200.0 LO N29 M98 P1001 


N30 G55 M98 P1001 


N31 G56 M98 P1001 


N32 G80 G54 225.0 MO9 N33 G28 Z25.0 M05 N34 M30 

Setup Conditions 

Setting more than a single part on the machine table is a very attractive possibility, providing certain basic con ditions are satisfied: 

All parts must be located within the machine travel limits All parts have to be set in a fixed position 

Part program must support multiple parts 

• Each fixed position must be common to all parts 

machined at that location Distance between part zero locations measured along an axis may or may not be known 





(SUBPROGRAM FOR THREE HOLES) N101 G90 X21.0 Y-16.0 N102 x58.0 N103 X40.0 7-44.0 N104 M99 

The first three items follow common sense – they refer to an actual part position within a specific machine work area and the necessity of part program support (work off sets and machining). 

1030 STEEL – 79 x 60 x 15 mm 

The schematic illustration shows three vises set on the machine table with distances between them unknown. 


CNC Control Setup for Milling and Tuming MULTIPART SETUP 

CNC Control Setup for Milling and Turning 




Program Data 

There is only one work offset in the example program -G54. All known distances are included in the program. 

Using Work Offsets 

When the distances between origins are not known, using work offsets makes sense. When the distances are known, using work offsets does not make sense. Yes, work offsets can be used in such cases, but that means more work during actual part setup. This is unnecessary work and non-productive work. 

N1 G21 

(== USING G52 SHIFT ==) 

N2 G17 G40 G80 T01 N3 M06 

(T01 – SPOT DRILL TO SPINDLE) N4 G90 G54 GOO X21.0 Y-16.0 $800 MO3 TO2 N5 G43 Z2.5 A01 MO8 N6 G99 G82 R2.5 7-8.5 P150 F175.0 LO N7 M98 P1001 

(LEFT VISE) N8 G52 X224,15 Y-1.06 (SHIFT TO MIDDLE VISE) N9 M98 P1001 

(MIDDLE VISE) N10 G52 X451.65 71.1 (SHIFT TO RIGHT VISE) N11 M9B P1001 


N12 G52 XO YO 


N13 G80 225.0 MO9 N14 G28 225.0 M05 N15 MO1 

There is G54 command in blocks N10, N21, and N32. It is included as part of better structure, but it can be omitted, as it is repeated at the beginning of each tool. 

Note that there absolute mode G90 is used, and there is no cancellations of data between vises. The CNC sys tem will calculate the distance-to-go automatically. 

In order to understand what happens at the control, consider the distance the tool will travel between the last hole of the left vise and the first hole of the middle vise: Left vise G54 X-839.528 Y-383.712 Middle vise G55 X-624.883 Y-384.567 

The same three vises used in the previous example, can also be mounted on a single fixture. In this case, the distance between individual origins is known. There are other setups of multiple parts where distances between the origins are known. In all cases, the options the pro grammer has are much greater. 

The three-vise setup on a fixture will form a single unit. Only one work offset is normally required, for ex ample, the G54 offset to the left-most vise location. Do not expect the Y-axis distances to be the same – even on a single fixture, the distances will vary. The drawing be low shows an example of a single fixture setup with three vises mounted in a row – G54 is set at the machine: 


Using Local Coordinate System 

The program example used the method of work offset shift. Most CNC machines have a control feature called Local Coordinate System, associated with the G52 com mand. Using this feature in the program is much pre ferred to the previous method, using work offsets. 

The main difference is that all known dimensions be tween fixtures are entered in the program and not at the machine, during setup. Once verified, the program can be used over and over, anytime. If you are editing an ex isting program, do not forget to cancel the G52 setting at the end of each tool, using the following block: 


* The last hole of the left vise in X-axis is at: X-axis: -839.528 + 40.0 = -799.528 

The first hole of the middle vise in X-axis is at: X-axis: 624.883 + 21.0 = -603.883 

The X-difference is the X-travel: X-axis travel: 799.528 – 603.883 = 195.645 mm 



G52 XO YO 

N16 TO2 

N17 M06 

(T02 – TAP DRILL TO SPINDLE) N18 G90 G54 GOO X21.0 Y-16.0 $750 MO3 TO3 N19 G43 22.5 H02 MOB N20 G99 G81 R2.5 2-20.2 F220.0 LO N21 M98 P1001 

(LEFT VISE) N22 G52 X224.15 Y-1.06 (SHIFT TO MIDDLE VISE) N23 M98 P1001 

(MIDDLE VISE) N24 G52 X451.65 x1,1 (SHIFT TO RIGHT VISE) N25 M98 P1001 


N26 G52 XO YO 


N27 G80 225.0 MO9 N28 G28 225.0 M05 N29 M01 

There is no need to cancel the G52 command before any new G52 is used. The control system will calculate the differences automatically. 

The last hole of the left vise in Y-axis is at: Y-axis: -383.712 – 44.0 = -427,712 

The first hole of the middle vise in Y-axis is at: Y-axis: -384.567 – 16.0 = -400.567 

The X-difference is the Y-travel: Y-axis travel: 427.712 – 400,567 = 27.145 mm 

Using G10 Setting 

Fanuc and similar controls offer the G10 command as means to set various data through the program. This sub j ect will be covered in more detail, starting on page 226. 

Here is an example of G10 for the first tool, using the same fixture as for the previous example: 

These calculation are not necessary – they are included here for better understanding of the subject presented. 

N30 T03 

N31 M06 

(T03 – TAP TO SPINDLE) N32 G90 G54 GOO X21.0 Y-16.0 $600 M03 ro1 N33 G43 25.0 H03 M08 N34 G99 G84 R5.0 2-18.0 F1200.0 LO N35 M98 P1001 

(LEFT VISE) N36 G52 X224.15 Y-1.06 (SHIFT TO MIDDLE VISE) N37 M98 P1001 

(MIDDLE VISE) N38 G52 X451.65 Y1,1 (SHIFT TO RIGHT VISE) N39 M98 P1001 


N40 G52 XO YO 


N41 G80 Z25.0 MO9 N42 G28 225.0 M05 N43 M30 

N1 G21 

(25 USING G10 SETTING RO) N2 G17 G40 G80 T01 N3 MO 6 

(T01 – SPOT DRILL TO SPINDLE) N4 G90 G54 GOO X21,0 Y-16.0 S800 MO3 TO2 N5 G43 22.5 H01 MO8 N6 G99 G82 R2,5 2-8.5 P150 F175.0 LO N7 M98 P1001 

(LEFT VISE) N8 G10 L2 P2 X-627.275 Y-393.68 (MIDDLE VISE) N9 G55 M98 P1001 

(MIDDLE VISE) N10 G10 L2 P2 X-399.775 Y-391.52 (RIGHT VISE) N11 G55 M98 P1001 


N12 G80 G54 Z25.0 M09 N13 G28 225.0 M05 N14 M01 

Setup with known dimensions between fixtures is best handled in the program by using the local coordinate system 

The G52 command is used to shift the current coordi nate setting by a programmed amount (known differ ence). Any one work offset has to be in effect (G54 in the example), for the local coordinate system to work. Also, the programmer has to know the distances between indi vidual fixtures. That information may be available in the fixture drawing or by measuring it at the machine. Once the distances are known, they will remain the same for each subsequent setup. Only the work offset setting (G54) will be different with each setup, when the fixture is removed and later placed on the machine table again. 

In the illustration, and the following program example for the same three holes, note a very important feature: 


Setup Process 

There is no different setup for multiple fixtures than there is for a single fixture. In the example of three vises, setup each vise exactly the same way as you would for a single vise. Check the program, and look up work offset in the range of G54 to G59 or even in the extended range of G54.1 P1 to G54.1 P48, if the programmer has that op tion available. 

Typically, the offsets for three vises would be G54 for the first vise, G55 for the second vise, and G56 for the third vise, as shown here. The standard range of six work offsets can accommodate six fixtures. For more than six, you will either need the extended set of work offsets or the G10 command (if distances are known). 


(SUBPROGRAM FOR THREE HOLES) N101 G90 X21.0 Y-16.0 N102 x58.0 N103 X40.0 Y-44.0 N104 M99 

Note the G52 cancellation at the end of each tool. This is necessary in order to start each tool the same way. 

Other tools use the same method of programming. In this program example, P2 = 655 work offset. 

G52 shift amount is always based 

on the current work offset