Hust CNC Mill G90 Absolute Coordinates G91 Incremental Coordinate Example

Hust CNC simple basic G-code program example, which shows the difference between G90 Absolute Coordinate & G91 Incremental Coordinate.

This tutorial also applies on most Fanuc cnc controls as well.
This is a good resource for beginner level cnc machinists and cnc programmers to understand the difference between G90 and G91.

On Hust CNC Mill Controls
G90 G Code is used for Absolute Coordinate
G91 G Code is used for Incremental Coordinate.

G90 Absolute Coordinate

The origin (Workpiece Zero Point) is the reference. The coordinates of all points describing the shape of the work-piece (machine part) are calculated from the origin.

G91 Incremental Coordinate

The coordinates of all points describing the shape of the work-piece (machine part) are calculated from the end point of the previous block.

Hust CNC Flexibility

G90 Absolute Coordinate

In G90 Absolute Coordinate mode
X is used for X-axis Absolute movements.
Y is used for Y-axis Absolute movements.
Z is used for Z-axis Absolute movements.

But in G90 Absolute Coordinate mode U, V, W can be used for axis incremental movement commands
U is used for X-axis incremental movements.
V is used for Y-axis incremental movements.
W is used for Z-axis incremental movements.

So in short if you are working in G90 Absolute Coordinate mode then if you wish you can make Incremental movements by using U, V, W.
So there is no need to use G91 Incremental Coordinate command G-Code.

G91 Incremental Coordinate

In G91 Incremental Coordinate mode
X is used for X-axis Incremental movements.
Y is used for Y-axis Incremental movements.
Z is used for Z-axis Incremental movements

In G91 Incremental Coordinate mode U, V, W cannot be used.

Example CNC Program

Hust CNC Mill G90 Absolute Coordinates G91 Incremental Coordinate Example

G90 Absolute Coordinate

```N10 G00 X0.000 Y0.000              Position to work origin
N20 G90                            Set program to absolute value
N30 G1 X12.000 Y12.000 F300.00     P0 to P1
N40 X26.000 Y16.000                P0 to P2
N50 X38.000 Y32.000                P2 to P3
N60 M2```

G91 Incremental Coordinate

```N10 G00 X0.000 Y0.000              Position to work origin
N20 G91                            Set program to increment value
N30 G1 X12.000 Y12.000 F300.00     P0 to P1
N40 X14.000 Y4.000                 P0 to P2
N50 X12.000 Y16.000                P2 to P3
N60 M2```

G90 Absolute Coordinate

```N10 G00 X0.000 Y0.000              Position to work origin
N20 G1 U12.000 V12.000 F300.00     P0 to P1
N30 U14.000 V4.000                 P1 to P2
N40 U12.000 V16.000                P2 to P3
N60 M2```

Mixed Usage

```N10 G00 X0.000 Y0.000              Position to work origin
N30 G1 U12.000 V12.000 F300.00     P0 to P1
N40 X26.000 V4.000                 P1 to P2
N50 X38.000 V16.000                P2 to P3
N60 M2```

Or

```N10 G00 X0.000 Y0.000              Position to work origin
N30 G1 U12.000 V12.000 F300.00     P0 to P1
N40 U14.000 Y16.000                P1 to P2
N50 U12.000 Y32.000                P2 to P3
N60 M2```