Back to GSM Code List

G81: the simple drilling canned cycle

G81 is the simplest drilling canned cycle: the tool rapids down to the R plane, drills at feed to the Z bottom and pulls out in rapid, with no dwell and no pecking. It is modal, so every following block with a new X or Y repeats the hole at that position, and G80 cancels it. For flat-bottomed holes you use G82 (it adds a dwell) and for deep holes G83 (it pecks and clears the chips).

For reference only: syntax changes with the control, the post-processor and the machine parameters. Check the official manual and run a simulation before cutting. Legal notice.

See the full data sheet for the family

Syntax by control

Fanuc (milling)

G99 G81 X20. Y20. Z-18. R2. F180

With G99 the tool returns to the R plane between holes, which is the fast way; with G98 it goes back up to the initial plane, which is what you need when there are clamps or steps between holes. K repeats the cycle in incremental mode.

Haas (milling)

G99 G81 X20. Y20. Z-18. R2. F180 L4

Same syntax as Fanuc, but repeats are written with L instead of K, and they only make sense in G91 as well. On Haas the cycle inherits the modal F just like on Fanuc.

Siemens 840D / 828D

CYCLE81(50, 0, 2, -18)

Siemens does not use G81: the equivalent cycle is CYCLE81 and the parameters are positional (retract plane, reference plane, safety clearance and final or relative depth). Positioning over each hole is done beforehand or with MCALL.

Heidenhain TNC (Klartext)

CYCL DEF 200 TALADRADO

Cycle 200 defines the safety clearance (Q200), the depth (Q201), the feedrate (Q206) and the plunging depth (Q202). It is run with CYCL CALL at each position or with a point pattern cycle.

Address letters used with it

LetterWhat it setsUnit
X YHole position. Every new block with an X or a Y repeats the whole cycle at that position until G80 cancels it.mm / in
ZHole bottom: absolute dimension under G90, incremental distance from the R plane under G91.mm / in
RReference plane: the height where the tool switches from rapid to feed, and the one it returns to between holes under G99. The usual value is 2 or 3 mm above the face.mm / in
FDrilling feedrate. It is modal: if you leave it out, the cycle inherits the last F in the program.mm/min under G94
K / LCycle repeats in incremental mode, for rows of evenly spaced holes. K on Fanuc, L on Haas; K0 or L0 store the cycle without running it.integer

Worked example

Four 5 mm through holes in a 15 mm plate, with a 118-degree point drill. The Z bottom has to include the height of the drill point (around 1.5 mm on a 5 mm drill) plus a couple of millimeters of breakout, hence the Z-18. The spotting was done in the previous operation.

G91 G28 Z0.
( Z to the reference point in incremental before the change. )
T4 M06
( 5 mm drill. )
G90 G54 G00 X20. Y20.
( Absolute, work offset and rapid over the first hole with Z still up. )
G43 H04 Z25. M03 S2400
( T4 length offset and spindle on. Z25 is the initial plane it will return to under G98. )
M08
( Coolant on. )
G99 G81 Z-18. R2. F180
( Starts the cycle at the current position: rapids down to Z2, drills at feed to Z-18 and returns in rapid to Z2 because G99 is active. )
X60.
( Second hole. Only the new dimension is needed: the cycle repeats in full with the same Z, R and F. )
Y50.
( Third hole. )
G98 X20.
( Fourth hole, now under G98: on the way out it goes up to the initial plane Z25, so the next traverse clears the clamp. )
G80 G00 Z25. M09
( G80 cancels the cycle. Without it any later block with an X or a Y would drill again; cancel it before any rapid move. )
G91 G28 Z0. M05
( Safe retract and spindle stop. )
G90 M30
( Back to absolute and end. )
Open the simulator to check the example

Practical keys to using G81 in the workshop

When to use G81 and when another cycle

G81 is for short holes, up to about three diameters deep, where the chips come out on their own through the drill flutes. Also for spotting with a spot drill, for shallow countersinking and for drilling material that makes short chips. As soon as the hole gets deeper or the material makes stringy chips, the drill packs up and you have to move to G83, which pulls it out of the hole on every peck. If the bottom has to be clean and flat, G82 adds a dwell before retracting.

How it works with R, G98/G99 and G80

The cycle hangs off three heights: the initial plane (where Z was when the cycle started), the R plane and the Z bottom. G99 sends the tool back to the R plane between holes, which saves time, and G98 back to the initial plane, which is what you need when the traverse crosses over a clamp, a vise jaw or a step. The cycle stays active until G80, and G80 has to be written before any rapid move and before any tool change.

What it controls and what is left to you

The control takes care of the sequence and of the approach speeds, but the real depth is yours: in a through hole the Z has to include the height of the drill point, which on a 118-degree point is roughly 30 percent of the diameter, plus a breakout margin. The feed is yours too, and since it is modal it can be inherited from an earlier block without you noticing. And the R plane decides how much rapid travel there is on every hole: setting it too high multiplies cycle time for nothing.

Mistakes that cost you a part (or a tool)

  • Putting the R plane below the face of the part or below a clamp: the move down to R is a rapid and the drill hits the material at that speed.
  • Forgetting the G80 at the end: the next block carrying an X or a Y drills again, so a simple rapid positioning move in the following operation ends up as a hole where it should not be.
  • Staying in G99 with vise jaws, clamps or a step between holes: the traverse happens at R plane height and the drill hits them sideways.
  • Mixing up G90 and G91 in the cycle: in incremental the Z is the depth measured from the R plane and the R is measured from the current position, not from part zero.
  • Not adding the height of the drill point to the Z bottom in a through hole: the holes do not break through and somebody has to open them by hand.
  • Using G81 in holes deeper than three diameters: the chips do not clear, the drill packs up and it snaps. That job belongs to G83.
  • Leaving the F from the previous operation in: the cycle inherits the modal feedrate and the drill can go in at the feed of an end mill finishing pass.

Frequently Asked Questions (FAQ)

What is the difference between G81, G82 and G83?

G81 goes down, drills and comes out. G82 does the same but waits a dwell time P at the bottom, so the bottom cleans up on counterbores and flat-bottomed holes. G83 splits the depth into pecks of Q millimeters and comes out to the R plane on each one to clear the chips, which is what deep holes need.

How high do I put the R plane?

Between 2 and 3 mm above the face of the part on flat, well-clamped work. Higher only lengthens the cycle; lower leaves the drill no margin if the surface is not flat or the stock comes oversize. On an irregular surface it has to go above the highest point.

G98 or G99?

G99 as long as the path between holes is clear, because it only returns to the R plane and saves time. G98 when the traverse crosses a clamp, a vise jaw or a boss, because it goes up to the initial plane. You can switch between the two from hole to hole inside the same cycle.

How do I repeat the cycle at several holes?

Just write blocks with the new X and Y dimensions: the whole cycle repeats at each position. For evenly spaced rows you can use K on Fanuc or L on Haas, but they only work in incremental mode: in G90 the control drills the same hole in the same place.

How do I work out the Z bottom of a through hole?

Part thickness plus the height of the drill point plus 1 to 2 mm of breakout. For a standard 118-degree point, the point height is around 30 percent of the diameter: on a 5 mm drill that is about 1.5 mm.

Related codes

Related tools