CNC Milling | G87 Cycle | Boring (Bottom)

G87 Cycle Introduction

In CNC Machining Centers (CNC Milling machines) the G87 cycle is used to expand the previously drilled holes with the special boring tool from bottom to top and ensure the hole is perfectly vertical – upright. During the operation with the G87 cycle, the spindle stops at the starting point of the hole and moves in the opposite direction of the tool nose, enters the hole, goes down to the hole end point, and the spindle rotates and start to cutting from bottom to top. This cycle is used for precise machining of holes with larger diameters without removing the workpiece. As an example of these processes, we can give the example of reverse machining of die centering bush holes and punch slots in cutting dies.

Boring Tool

Boring tools are special tools that have a special tip and the diameter to be machined is adjusted with the help of screw on the tool. In other words, how many diameters you want to drill the hole, you set the diameter on the boring tool and run the cycle.
This cycle basically works in the same way as the G86 boring process. The only diffrence between each other G86 works from top to bottom, G87 works from bottom to top. Therefore, it is extremely important to set the boring tool correctly before this process.

With this cycle, the boring tool goes to the coordinate specified in the program, the spindle stops in a fixed position (usually in the orient position), the boring tool moves by the Q value in the opposite direction to the direction of the tool tip (nose), quickly approaches the depth Z axis indicated by R at the bottom of the hole, moves by the Q value in the tool tip (nose) direction. , the spindle rotates in the specified direction (generally clockwise) up to the speed given, it moves to the height given by Z .. with the feedrate specified by F and performs hole expand and boring. Then, it goes up to the Z height (G98) while going back to the first hole center with rapid movement. If another coordinate is given after the cycle, it moves there and the cycle continues until the G80 command is given.

G87 Cycle Format

G87 X… Y… Z… Q… P… R… K… F… ;


G87 : Boring Cycle ( From bottom to top )
X : Hole position in X axis
Y : Hole position in Y axis
Z : Z axis end position = Z depth = Hole depth
Q : Tool sideway shift
P : Dwell time at the bottom of hole
R : Z axis start position = R level = Clearance
K : Number of cycle repetitions
F : Feedrate

Things to Know

  • X and Y coordinates where the hole will be boring are not usually given in the same line. Instead, the machine is sent to the first hole coordinate in the program, and then boring with the G87 cycle is started.
  • In general, the cycle is not repeated with K.
  • What is written in the first two items describes the methods generally used by the users in the market. The command format has been written technically appropriate, the command I want you to know can be written and applied as described here, although the first two items are frequently encountered in the market due to the ease of control of the program and the ease of writing.
  • The G87 cycle is used with the G98 command. It can’t be use with G99.
  • G87 cycle is used in CNC Machining Centers (CNC Milling machines) to boring holes from bottom to top.
  • After using the G87 cycle, the cycle must be canceled with the G80 command. If it is not canceled with G80, your machine will boring holes with the conditions specified in the G87 line in every different coordinate included in the program.
  • If the command is used with G98, it will use the Z height that it uses to “boring the first hole” when moving between the coordinates to be boring.
  • If the program is stopped during G87 cycle and some manual movements are made, it must be moved to the point where the program is stopped manually before starting the program again.
  • The G87 command is not work under MDI mode. Although it is technically related to machine type, control unit type and parameters, not running cycles under MDI mode is more suitable for work safety and correct machining of the workpiece.
  • M98 and M99 commands are not used in lines where G87 command is written.

G87 Cycle Examples

G87 CNC Program Example – 1

G87 Cycle Program Example

G28 G91 Z0;
T5 M6;
M03 S800;
G90 G54 G0 X0 Y0 ;
G43 H5 Z20 M08;
G90 X27 Y21;
G98 G87 Z-9 R-29 Q3 P1000 F120;
X69 Y39;
X115 Y21;