Syntax
G90 ; Absolute mode
G91 ; Incremental mode
Parameters
| Parameter | Description |
|---|
| G90 | All coordinates are absolute โ measured from current work zero (G54/G92) |
| G91 | All coordinates are incremental โ measured from the current position |
Examples
G90
G1 X50 F1000
โ Move to X=50mm from work zero (absolute)
G91
G1 X10 F1000
โ Move 10mm in positive X from wherever we are now (incremental)
G90
G91
G1 Z-5 F200
G90
โ Temporary incremental: descend 5mm relative to current depth, then back to absolute
Important Notes
- Always set G90 explicitly at program start โ never assume the modal state from a previous program.
- G91 is useful for drilling cycles, repeated patterns, and relative Z movements.
- In 3D printing, G90 controls XYZ axes while M82/M83 controls E axis mode separately.
Common Mistakes
- โ Leaving G91 active after a sub-routine โ all subsequent moves become incremental, causing crashes.
- โ Mixing G90 and G91 without explicit mode switches โ the machine behaves unpredictably.
Frequently Asked Questions
Q: What is the difference between G90 and G91?
G90 (absolute) measures all coordinates from the fixed work origin โ X50 always means 50mm from zero. G91 (incremental) measures from the current position โ X10 means move 10mm from where you are now, regardless of current position. G90 is safer and more predictable for most programming.
Q: When should I use G91 incremental mode?
G91 is useful for: repeated patterns (drill the same hole in a row of locations), relative Z descents in drilling cycles, and manual jog-like moves where you want to move a specific distance from the current position. Always switch back to G90 when done.