Murray State University School of Engineering CourseWiki

Absolute and Incremental Positioning

Convert between positions and signed moves, and trace the endpoint of a program as its distance mode changes.

G90 gives a destination; G91 gives a signed change

G90 gives a destination; G91 gives a signed change

In common milling usage, G90 makes axis values absolute coordinates in the active coordinate system. G91 makes them signed changes from the current position. Neither command moves an axis by itself. Units and work offsets still matter.

Increment = next position − current position. Reverse the calculation with next position = current position + increment. Keep a separate running total for every axis.

For an ordinary G00/G01 move, an omitted axis stays in place. In G90, X0 requests X zero; in G91, X0 requests zero X movement. Do not reuse an omitted incremental value from the preceding block.

These G90/G91 meanings must not be assumed on every lathe. Some turning controls use X/Z for absolute and U/W for incremental coordinates, and use G90 for a turning cycle. Check the control before translating a mill program to a lathe.

One path can be written as points or as moves; Practice

One path can be written as points or as moves

Start at A = (6,4) mm. Visit B = (26,4), C = (26,19), then D = (11,19). Z is unchanged; these are coordinate exercises with no cutting setup implied.

MoveAbsolute destination, G90Increment, G91
A → BX26 Y4X20 Y0
B → CX26 Y19X0 Y15
C → DX11 Y19X−15 Y0

Path from A 6,4 to B 26,4 to C 26,19 to D 11,19. Signed moves are plus 20 in X, plus 15 in Y, then minus 15 in X.

Check the conversion in both directions

Subtract endpoints: (26−6,4−4) = (20,0); (26−26,19−4) = (0,15); (11−26,19−19) = (−15,0). Add those changes to A: (6+20+0−15,4+0+15+0) = (11,19). The net move is (5,15), not the final absolute position.

Practice point-list conversion

Trace the active mode before evaluating each block; Practice

Trace the active mode before evaluating each block

Assume millimetres, one unchanged work coordinate system, no compensation and an initial position (6,4,12). This is a paper trace, not a machine-ready program. F120 is an arithmetic example.

G21 G90 G94
G01 X26 Y4 F120
G91 Y15
X-15
G90 X8
M30
Motion blockModePosition afterward (mm)
G01 X26 Y4 F120Absolute(26,4,12)
G91 Y15Incremental(26,19,12)
X−15Incremental; G01 remains active(11,19,12)
G90 X8Absolute; G01 remains active(8,19,12)

M30 ends this trace; it is not a command to move to zero. For arcs, the endpoint mode and centre mode are separate questions: see G-code and Toolpaths. For a broader view of modes use CNC Program Structure.

Practice a program endpoint