Posted by: davidhayden | March 13, 2010

Proven Tips, Tools and Tactics: Understanding G91 – Incremental Programming

When you ask for directions, do you usually get GPS coordinates? Probably not, someone probably says, ‘Go 3 blocks down and turn right, then when you get to the big oak tree turn left . . .and so on.

Code Data

Code: G91  
Modal: Yes
Group: 3
Action: Sets cutting mode to Incremental Mode
ANSI Std: Yes
Requirements: none
Conflicting G Codes Any other G code in Group 03 / G90

That my friends, is an every day example of incremental programming.CNC Machines are like lost tourists. They have no idea where to go next until you tell them.

You have two choices to tell your machine how to get where it is going. The most common mode is absolute mode, which will be discussed in another article, and incremental mode.

 Incremental programming is also referred to as point-to-point programming. In this mode all you need to tell the machine is the distance and direction to the next point and how fast to get there.

The Good and Bad News About Incremental Programming

The Bad News – When programming point-to-point, the machine has no reference point from which to work except the very last point you programmed. When you do a lot of point-to-point moves it is easy to get lost. And, if you move to a reference point, but you are slightly off, then every single cut after that will be off and scrap is surely to follow.
The Good News – When used creatively in sub routine programming or combined with canned cycles and looping, creative use of incremental programming will save you hundreds of lines of code and hours of programming. Looping, Subroutine programming and canned cycles will be the subject of future articles.

What You MUST Do to Check All Incremental Programs

Think about taking a trip from your home to the store where you have to go around a factory. If you go:

  • 3 blocks east (X3)
  • 1 block north (Y1)
  • 2 blocks back west (X-2)

To get back home, don’t you have to go the equivilent of:

  • 2 blocks east (X2)
  • 1 block south (Y-1)
  • 3 blocks back west (X-3)

The same is true with CNC machines in incremental mode as shown in the X adn Y commands shown above.

Do this simple exercise; make 2 columns and add up all the X’s and Y’s in the previous examples

X  3      Y  1
X -2      Y -1
X  2     
X -3          
X  0      Y  0

See the simplicity of it.

By adding up all your axis moves X, Y, and including any other axis you moved incrementally (Z, U, V, W, A, B, C) all your colums should add up to 0.
If they don’t add up to 0 you definitely know you have a problem and the tool will not return to where it started.

NOTE: There are times when you may be using Incremental in conjunction with Absolute (G90) mode where it is not necessary for the numbers to add up because you will be returning to an Absolute position to start another cut.
But YOU must monitor at all times where you told the machine to go. It will follow your instructions without hesitation even if it means crashing.
So like a tourist, your machine needs explicit instructions to know where to go. Often it is more practical to provide point-to-point instructions rather than providing an absolute (GPS) coordinate location.

For a complete introduction to the fundamentals of CNC programming, take a look at 7 Easy Steps to CNC Programming . . . A Beginner’s Guide or 7 Easy Steps to CNC Programming . . . A Beginner’s Guide, the Ebook



  1. list down the steps you would take to operate a NC machine in order produce the component

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


%d bloggers like this: