G150 General Purpose Pocket Milling (Group 00)

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.

Get a translated PDF Download Continue
D - Tool radius/diameter offset selection
F - Feedrate
I - X-Axis cut increment (positive value)
J - Y-Axis cut increment (positive value)
K - Finishing pass amount (positive value)
P - Subprogram number that defines pocket geometry
Q - Incremental Z-Axis cut depth per pass (positive value)
*R - Position of the rapid R-plane location
*S - Spindle speed
X - X start position
Y - Y start position
Z - Final depth of pocket

* indicates optional

The G150 starts by positioning the cutter to a start point inside the pocket, followed by the outline, and completes with a finish cut. The end mill will plunge in the Z-Axis. A subprogram P### is called, which defines the pocket geometry of a closed area using G01, G02, and G03 motions in the X and Y axes on the pocket. The G150 command will search for an internal subprogram with a N-number specified by the P-code. If that is not found the control will search for an external subprogram. If neither are found, alarm 314 Subprogram Not In Memory will be generated.

note: When defining the G150 pocket geometry in the subprogram, do not move back to the starting hole after the pocket shape is closed.

An I or J value defines the roughing pass amount the cutter moves over for each cut increment. If I is used, the pocket is roughed out from a series of increment cuts in the X-Axis. If J is used, the increment cuts are in the Y-Axis.

The K command defines a finish pass amount on the pocket. If a K value is specified, a finish pass is performed by K amount, around the inside of pocket geometry for the last pass and is done at the final Z depth. There is no finishing pass command for the Z depth.

The R value needs to be specified, even if it is zero ( R0), or the last R value that was specified will be used.

Multiple passes in the pocket area are done, starting from the R plane, with each Q (Z-Axis depth) pass to the final depth. The G150 command will first make a pass around pocket geometry, leaving stock with K, then doing passes of I or J roughing out inside of pocket after feeding down by the value in Q until the Z depth is reached.

The Q command must be in the G150 line, even if only one pass to the Z depth is desired. The Q command starts from the R plane.

Notes: The subprogram (P) must not consist of more than 40 pocket geometry moves.

It may be necessary to drill a starting point, for the G150 cutter, to the final depth (Z). Then position the end mill to the start location in the XY axes within the pocket for the G150 command.

G150 General Pocket Milling: [1] Start Point, [Z] Final depth.

% O61501 (G150 GENERAL POCKET MILLING) ; (G54 X0 Y0 is at the bottom-left) ; (Z0 is on top of the part) ; (T1 is a .5" endmill) ; (BEGIN PREPARATION BLOCKS) ; T1 M06 (Select tool 1) ; G00 G90 G40 G49 G54 (Safe startup) ; G00 G54 X3.25 Y4.5 (Rapid to 1st position) ; S1000 M03 (Spindle on CW) ; G43 H01 Z1.0 (Activate tool offset 1) ; M08 (Coolant on) ; (BEGIN CUTTING BLOCKS) ; G150 X3.25 Y4.5 Z-1.5 G41 J0.35 K.01 Q0.25 R.1 P61502 D01 F15. ; (Pocket mill sequence, call pocket subprogram) ; (Cutter comp on) ; (0.01” finish pass (K) on sides) ; G40 X3.25 Y4.5 (Cutter comp off) ; (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) ; % % O61502 (G150 GENERAL POCKET MILL SUBPROGRAM) ; (Subprogram for pocket in O61501) ; (Must have a feedrate in G150) ; G01 Y7. (First linear move onto pocket geometry) ; X1.5 (Linear move) ; G03 Y5.25 R0.875 (CCW arc) ; G01 Y2.25 (Linear move) ; G03 Y0.5 R0.875 (CCW arc) ; G01 X5. (Linear move) ; G03 Y2.25 R0.875 (CCW arc) ; G01 Y5.25 (Linear move) ; G03 Y7. R0.875 (CCW arc) ; G01 X3.25 (Close pocket geometry) ; M99 (Exit to Main Program) ; %

Square Pocket

G150 General Purpose Pocket Milling: 0.500 diameter endmill.

5.0 x 5.0 x 0.500 DP. Square Pocket

Main Program

% O61503 (G150 SQUARE POCKET MILLING) ; (G54 X0 Y0 is at the center of the part) ; (Z0 is on top of the part) ; (T1 is a .5" endmill) ; (BEGIN PREPARATION BLOCKS) ; T1 M06 (Select tool 1) ; G00 G90 G40 G49 G54 (Safe startup) ; G00 G54 X0 Y1.5 (Rapid to 1st position) ; S1000 M03 (Spindle on CW) ; G43 H01 Z1.0 (Activate tool offset 1) ; M08(Coolant on) ; (BEGIN CUTTING BLOCKS) ; G01 Z0.1 F10. (Feed right above the surface) ; G150 P61504 Z-0.5 Q0.25 R0.01 J0.3 K0.01 G41 D01 F10. ; (Pocket mill sequence, call pocket subprogram) ; (Cutter comp on) ; (0.01” finish pass (K) on sides) ; G40 G01 X0. Y1.5 (Cutter comp off) ; (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) ; %

Subprogram

% O61505 (G150 INCREMENTAL SQUARE POCKET MILLING SUBPROGRAM) ; (Subprogram for pocket in O61503) ; (Must have a feedrate in G150) ; G91 G01 Y0.5 (Linear move to position 1) ; X-2.5 (Linear move to position 2) ; Y-5. (Linear move to position 3) ; X5. (Linear move to position 4) ; Y5. (Linear move to position 5) ; X-2.5 (Linear move to position 6, Close Pocket Loop) ; G90 (Turn off incremental mode, Turn on absolute) ; M99 (Exit to Main Program) ; %

Absolute and Incremental examples of a subprogram called up by the P#### command in the G150 line:

Absolute Subprogram

% O61504 (G150 ABSOLUTE SQUARE POCKET MILLING SUBPROGRAM) ; (Subprogram for pocket in O61503) ; (Must have a feedrate in G150) ; G90 G01 Y2.5 (Linear move to position 1) ; X-2.5 (Linear move to position 2) ; Y-2.5 (Linear move to position 3) ; X2.5 (Linear move to position 4) ; Y2.5 (Linear move to position 5) ; X0. (Linear move to position 6, Close Pocket Loop) ; M99 (Exit to Main Program) ; %

Incremental Subprogram

% O61505 (G150 INCREMENTAL SQUARE POCKET MILLING SUBPROGRAM) ; (Subprogram for pocket in O61503) ; (Must have a feedrate in G150) ; G91 G01 Y0.5 (Linear move to position 1) ; X-2.5 (Linear move to position 2) ; Y-5. (Linear move to position 3) ; X5. (Linear move to position 4) ; Y5. (Linear move to position 5) ; X-2.5 (Linear move to position 6, Close Pocket Loop) ; G90 (Turn off incremental mode, Turn on absolute) ; M99 (Exit to Main Program) ; %

Square Island

G150 Pocket Milling Square Island: 0.500 diameter endmill.

5.0 x 5.0 x 0.500 DP. Square Pocket with Square Island

Main Program

% O61506 (G150 SQUARE ISLAND POCKET MILLING) ; (G54 X0 Y0 is at the bottom-left) ; (Z0 is on top of the part) ; (T1 is a .5" endmill) ; (BEGIN PREPARATION BLOCKS) ; T1 M06 (Select tool 1) ; G00 G90 G40 G49 G54 (Safe startup) ; G00 G54 X2. Y2. (Rapid to 1st position) ; S1000 M03 (Spindle on CW) ; G43 H01 Z1.0(Activate tool offset 1) ; M08(Coolant on) ; (BEGIN CUTTING BLOCKS) ; G01 Z0.01 F30. (Feed right above the surface) ; G150 P61507 X2. Y2. Z-0.5 Q0.5 R0.01 I0.3 K0.01 G41 D01 F10. ; (Pocket mill sequence, call pocket subprogram) ; (Cutter comp off) ; (0.01” finish pass (K) on sides) ; G40 G01 X2.Y2. (Cutter comp off) ; (BEGIN COMPLETION BLOCKS) ; G00 Z0.1 M09 (Rapid retract, Coolant off) ; G53 G49 Z0 M05 (Z home, Spindle) ; G53 Y0 (Y home) ; M30 (End program) ; %

Subprogram

% O61507 (G150 SQUARE ISLAND POCKET MILLING SUBPROGRAM) ; (Subprogram for pocket in O61503) ; (Must have a feedrate in G150) ; G01 Y1. (Linear move to position 1) ; X6. (Linear move to position 2) ; Y6. (Linear move to position 3) ; X1. (Linear move to position 4) ; Y3.2 (Linear move to position 5) ; X2.75 (Linear move to position 6) ; Y4.25 (Linear move to position 7) ; X4.25 (Linear move to position 8) ; Y2.75 (Linear move to position 9) ; X2.75 (Linear move to position 10) ; Y3.8 (Linear move to position 11) ; X1. (Linear move to position 12) ; Y1. (Linear move to position 13) ; X2. (Linear move to position 14, Close Pocket Loop) ; M99 (Exit to Main Program) ; %

Round Island

G150 Pocket Milling Round Island: 0.500 diameter endmill.

5.0 x 5.0 x 0.500 DP. Square Pocket with Round Island

Main Program

% O61508 (G150 SQ POCKET W/ ROUND ISLAND MILLING) ; (G54 X0 Y0 is at the bottom-left) ; (Z0 is on top of the part) ; (T1 is a .5" endmill) ; (BEGIN PREPARATION BLOCKS) ; T1 M06 (Select tool 1) ; G00 G90 G40 G49 G54 (Safe startup) ; G00 G54 X2. Y2. (Rapid to 1st position) ; S1000 M03 (Spindle on CW) ; G43 H01 Z1.0 M08 (Activate tool offset 1) ; (Coolant on) ; (BEGIN CUTTING BLOCKS) ; G01 Z0.01 F30. (Feed right above the surface) ; G150 P61509 X2. Y2. Z-0.5 Q0.5 R0.01 J0.3 K0.01 G41 D01 F10. ; (Pocket mill sequence, call pocket subprogram) ; (Cutter comp on) ; (0.01” finish pass (K) on sides) ; G40 G01 X2.Y2. (Cutter comp off) ; (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) ; %

Subprogram

% O61509 (G150 SQ POCKET W/ ROUND ISLAND MILLING SUBPROGRAM) ; (Subprogram for pocket in O61503) ; (Must have a feedrate in G150) ; G01 Y1. (Linear move to position 1) ; X6. (Linear move to position 2) ; Y6. (Linear move to position 3) ; X1. (Linear move to position 4) ; Y3.5 (Linear move to position 5) ; X2.5 (Linear move to position 6) ; G02 I1. (CW circle along X axis at position 7) ; G02 X3.5 Y4.5 R1. (CW arc to position 8) ; G01 Y6. (Linear move to position 9) ; X1. (Linear move to position 10) ; Y1. (Linear move to position 11) ; X2. (Linear move to position 12, Close Pocket Loop) ; M99 (Exit to Main Program) ; %

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.

Feedback