G150 General Purpose Pocket Milling (Group 00)
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 Optional spindle speed X X start position Y Y start position Z Final depth of pocket
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 that 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.
O01001 (G150 Pocket example) T1 M06 (T1 Drills clearance hole for endmill) G90 G54 G00 X3.25 Y4.5 S1200 (Pocket start point) M03 G43 H01 Z1.0 M08 (Tool length offset, rapid to Z start point, coolant on) G83 Z-1.5 Q0.25 R0.1 F20. (Peck drill cycle) G53 G49 Z0 (Returns Z to home position) T2 M06 (.5” Endmill) (T2 Cuts pocket in two passes to Z depth) G54 G90 G00 X3.25 Y4.5 S1450 M03 (Pocket start point) G43 H02 Z1.0 M08 (Tool length offset, rapid to Z start point, coolant on) G150 X3.25 Y4.5 Z-1.5 G41 J0.35 K.01 Q0.8 R.1 P2001 D02 F15. (0.01” finish pass (K) on sides) G40 X3.25 Y4.5 (Cancel cutter comp. and position back to start point) G53 G49 Y0 Z0 (Returns Z to home position) M30 (End of main program) O02001 (Separate program as a subprogram for G150 pocket geometry) G01 Y7 (The first move onto pocket geometry with a G01) X1.5 (The following lines define pocket geometry) G03 Y5.25 R0.875 G01 Y2.25 G03 Y0.5 R0.875 G01 X5. G03 Y2.25 R0.875 G01 Y5.25 G03 Y7. R0.875 G01 X3.25 (Close pocket geometry. Do not go back to start.) M99 (Return to Main Program)
Main Program Subprogram % % O01001 O01002 T1 M06 (Tool #1 is a 0.500” diameter endmill) G01 Y2.5 (1) G90 G54 G00 X0. Y1.5 (XY Start Point) X-2.5 (2) S2000 M03 Y-2.5 (3) G43 H01 Z0.1 M08 X2.5 (4) G01 Z0.1 F10. Y2.5 (5) G150 P1002 Z-0.5 Q0.25 R0.01 J0.3 K0.01 G41 D01 F10. X0. (6) (Close Pocket Loop) G40 G01 X0. Y1.5 M99 (Return to Main Program) G00 Z1. M09 % G53 G49 Y0. Z0. M30 %
Absolute and Incremental examples of a subprogram called up by the P#### command in the G150 line:
Absolute Subprogram Incremental Subprogram % % O01002 (G90 Subprogram for G150) O01002 (G91 Subprogram for G150 G90 G01 Y2.5 (1) G91 G01 Y0.5 (1) X-2.5 (2) X-2.5 (2) Y-2.5 (3) Y-5. (3) X2.5 (4) X5. (4) Y2.5 (5) Y5. (5) X0. (6) X-2.5 (6) M99 G90 % M99 %
Main Program Subprogram % % O02010 O02020 Subprogram for G150 in O02010 T1 M06 (Tool is a 0.500” diameter endmill) G01 Y1. (1) G90 G54 G00 X2. Y2. (XY Start Point) X6. (2) S2500 M03 Y6. (3) G43 H01 Z0.1 M08 X1. (4) G01 Z0.01 F30. Y3.2 (5) G150 P2020 X2. Y2. Z-0.5 Q0.5 R0.01 I0.3 X2.75 (6) G40 G01 X2.Y2. Y4.25 (7) G00 Z1.0 M09 X4.25 (8) G53 G49 Y0. Z0. Y2.75 (9) M30 X2.75 (10) Y3.8 (11) X1. (12) Y1. (13) X2. (14) (Close Pocket Loop) M99 (Return to Main Program) %
Main Program Subprogram % % O03010 O03020 (Subprogram for G150 in O03010) T1 M06 (Tool is a 0.500” diameter endmill) G01 Y1. (1) G90 G54 G00 X2. Y2. (XY Start Point) X6. (2) S2500 M03 Y6. (3) G43 H01 Z0.1 M08 X1. (4) G01 Z0. F30. Y3.5 (5) G150 P3020 X2. Y2. Z-0.5 Q0.5 R0.01 J0.3 X2.5 (6) G40 G01 X2. Y2. G02 I1. (7) G00 Z1. M09 G02 X3.5 Y4.5 R1. (8) G53 G49 Y0. Z0. G01 Y6. (9) M30 X1. (10) % Y1. (11) X2. (12) (Close Pocket Loop) M99 (Return to Main Program) %
G150 General Purpose Pocket Milling