# G51 Scaling (Group 11)

## Classic Control - Mill Operator's Manual

The Online Interactive Operator's Manual is currently available in English only.

A PDF version of the Operator's Manual is available for download in multiple languages. Click the link below to view the Operator's Manual in your language. Click "Continue" to view the online version in English.

note: You must purchase the Rotation and Scaling option to use this G-code. A 200-hour option tryout is also available; refer to page Option Tryout for instructions.
*X - Center of scaling for the X Axis
*Y - Center of scaling for the Y Axis
*Z - Center of scaling for the Z Axis
*P - Scaling factor for all axes; three-place decimal from 0.001 to 999.999

*indicates optional

G51 [X...] [Y...] [Z...] [P...] ;

The control always uses a scaling center to determine the scaled position. If you do not specify a scaling center in the G51 command block, then the control uses the last commanded position as the scaling center.

With a scaling (G51) command, the control multiplies all X, Y, Z, I, J, K, or R values by a scaling factor, and offsets the positions relative to a scaling center.

There are (3) ways to specify the scaling factor:

• A P address code in the G51 block applies the specified scaling factor to all axes.
• Setting 71 applies its value as a scaling factor to all axes if it has a nonzero value and you do not use a P address code.
• Settings 188, 189, and 190 apply their values as scaling factors to the X, Y, and Z axes independently if you do not specify a P value and Setting 71 has a value of zero. These settings must have equal values to use them with G02 or G03 commands.

G51 affects all appropriate positioning values in the blocks after the G51 command.

These example programs show how different scaling centers affect the scaling command.

## G51 No Scaling Gothic Window: [1] Work coordinate origin.

% O60511 (G51 SCALING SUBPROGRAM) ; (G54 X0 Y0 is at the bottom left of window) ; (Z0 is on top of the part) ; (Run with a main program) ; (BEGIN CUTTING BLOCKS) ; G01 X2. ; Y2. ; G03 X1. R0.5 ; G01 Y1. ; M99 ; %

The first example illustrates how the control uses the current work coordinate location as a scaling center. Here, it is X0 Y0 Z0.

## G51 Scaling Current Work Coordinates: The Origin [1] is the work origin and the center of scaling.

% o60512 (G51 SCALING FROM ORIGIN) ; (G54 X0 Y0 is at the bottom left of part) ; (Z0 is on top of the part) ; (BEGIN PREPARATION BLOCKS) ; T1 M06 (Select tool 1) ; G00 G90 G40 G49 G54 (Safe startup) ; G00 G54 X0 Y0 (Rapid to 1st position) ; S1000 M03 (Spindle on CW) ; G43 H01 Z0.1 M08 (Activate tool offset 1) ; (Coolant on) ; (BEGIN CUTTING BLOCKS) ; G01 Z-0.1 F25. (Feed to cutting depth) ; M98 P60511 (Cuts shape without scaling) ; G00 Z0.1 (Rapid Retract) ; G00 X2. Y2. (Rapid to new scale position) ; G01 Z-.1 F25. (Feed to cutting depth) ; G51 X0 Y0 P2. (2x scale from origin) ; M98 P60511 (run subprogram) ; (BEGIN COMPLETION BLOCKS) ; G00 Z0.1 M09(Rapid retract, Coolant off) ; G53 G49 Z0 M05 (Z home, Spindle off) ; G53 Y0 (Y home) ; M30 (End program) ; %

The next example specifies the center of the window as the scaling center.

## G51 Scaling Center of Window: [1] Work coordinate origin, [2] Center of scaling.

% o60513 (G51 SCALING FROM CENTER OF WINDOW) ; (G54 X0 Y0 is at the bottom left of part) ; (Z0 is on top of the part) ; (BEGIN PREPARATION BLOCKS) ; T1 M06 (Select tool 1) ; G00 G90 G40 G49 G54 (Safe startup) ; G00 G54 X0 Y0 (Rapid to 1st position) ; S1000 M03 (Spindle on CW) ; G43 H01 Z0.1 M08 (Activate tool offset 1) ; (Coolant on) ; (BEGIN CUTTING BLOCKS) ; G01 Z-0.1 F25. (Feed to cutting depth) ; M98 P60511 (Cuts shape without scaling) ; G00 Z0.1 (Rapid Retract) ; G00 X0.5 Y0.5 (Rapid to new scale position) ; G01 Z-.1 F25. (Feed to cutting depth) ; G51 X1.5 Y1.5 P2. (2x scale from center of window) ; M98 P60511 (run subprogram) ; (BEGIN COMPLETION BLOCKS) ; G00 Z0.1 M09(Rapid retract, Coolant off) ; G53 G49 Z0 M05 (Z home, Spindle off) ; G53 Y0 (Y home) ; M30 (End program) ; %

The last example illustrates how scaling can be placed at the edge of tool paths as if the part was being set against locating pins.

## G51 Scaling Edge of Tool Path: [1] Work coordinate origin, [2] Center of scaling.

% o60514 (G51 SCALING FROM EDGE OF TOOLPATH) ; (G54 X0 Y0 is at the bottom left of part) ; (Z0 is on top of the part) ; (BEGIN PREPARATION BLOCKS) ; T1 M06 (Select tool 1) ; G00 G90 G40 G49 G54 (Safe startup) ; G00 G54 X0 Y0 (Rapid to 1st position) ; S1000 M03 (Spindle on CW) ; G43 H01 Z0.1 M08 (Activate tool offset 1) ; (Coolant on) ; (BEGIN CUTTING BLOCKS) ; G01 Z-0.1 F25. (Feed to cutting depth) ; M98 P60511 (Cuts shape without scaling) ; G00 Z0.1 (Rapid Retract) ; G00 X1. Y1. (Rapid to new scale position) ; G01 Z-.1 F25. (Feed to cutting depth) ; G51 X1. Y1. P2. (2x scale from edge of toolpath) ; M98 P60511 (run subprogram) ; (BEGIN COMPLETION BLOCKS) ; G00 Z0.1 M09(Rapid retract, Coolant off) ; G53 G49 Z0 M05 (Z home, Spindle off) ; G53 Y0 (Y home) ; M30 (End program) ; %

Programming notes:

Tool offsets and cutter compensation values are not affected by scaling.

Scaling does not affect canned cycle Z-Axis movements such as clearance planes and incremental values.

The final results of scaling are rounded to the lowest fractional value of the variable being scaled.

Be aware: Many service and repair procedures should be done only by authorized personnel. The service technicians at your Haas Factory Outlet (HFO) have the training, experience, and are certified to do these tasks safely and correctly. You should not do machine repair or service procedures unless you are qualified and knowledgeable about the processes.

Danger: Some service procedures can be dangerous or life-threatening. DO NOT attempt a procedure that you do not completely understand. Contact your Haas Factory Outlet (HFO) and schedule a service technician visit if you have any doubts about doing a procedure.