LinuxCNC G33.1 Rigid Tapping

G33.1 is a LinuxCNC G-code for rigid tapping, a spindle-synchronized motion with return. It moves to the specified coordinate in synchronization with the selected spindle, reverses the spindle at the endpoint, returns to the original coordinate, and reverses the spindle again. K sets the distance moved per spindle revolution, and I and $ optionally set a return-speed multiplier and select the spindle.

Source checked15/15 values · 2026-10-26

Specification

1 source
Languagegcode
CodeG33.1
SyntaxG33.1 X- Y- Z- K- I- $-
DialectLinuxCNC

Parameters

NameDescription
XAxis word; all axis words are optional, except that at least one must be used.
YAxis word; all axis words are optional, except that at least one must be used.
ZAxis word; all axis words are optional, except that at least one must be used.
KDistance moved per revolution of the spindle.
IOptional spindle speed multiplier for faster return move.
$Optional spindle selector.

Study notes

  • A G33.1 rigid tapping move includes a synchronized move to the endpoint, spindle reversal and speed-up by the I multiplier, continued synchronized motion until the spindle actually stops and reverses, synchronized return to the original coordinate, a second spindle reversal, continued motion until the spindle stops and reverses, and an unsynchronized move back to the original coordinate.
  • Spindle-synchronized motions wait for the spindle index, so multiple passes line up. G33.1 moves end at the original coordinate.
  • All axis words are optional, except that at least one must be used.
  • It is an error if all axis words are omitted.
  • Example: after G0 X1.000 Y1.000 Z0.100 and S100 M3, G33.1 Z-0.750 K0.05 rigid taps a 20 TPI thread 0.750 deep.

Safety

  • For Z-only tapping, preposition the XY location before calling G33.1 and only use a Z word in the G33.1. If the coordinates specified are not the current coordinates when calling G33.1 for tapping, the move will not be along the Z axis but will be a coordinated, spindle-synchronized move from the current location to the location specified and back.
  • It is an error if the spindle is not turning when this command is executed.
  • It is an error if the requested linear motion exceeds machine velocity limits due to the spindle speed.
↑↓ navigate↵ openesc close