To experienced G code programmers … we might be stating the obvious here … but for the novice, this blog post may reveal a valuable programming trick that may come in handy during your CNC programming life.
When learning G code programming … one of the first codes taught are G00 and G01. G00 is used for rapid movement … making the axis move at their top speeds … while G01 is used for moving at a feedrate in a straight line. If we take a look at some of the details of these codes … we will also reveal a few hints into how they can be manipulated beyond their basic design.
A couple of notes on G00 :
- As stated G00 executes axis movement at their top speed … so we can get to the destination as quickly as possible.
- Oftentimes … the two axis are not created with the same rapid traverse speed … for example the X axis may be able to travel 1200 IPM while the Y axis is only capable of 850 IPM. This is often due to the design of the machine … size of the ball screw, etc..
- When two axis are involved in the G00 move … the distance each axis has to travel is the determining factor as to which axis reaches it’s destination first … resulting in a move that is not a straight line.
- Oftentimes … the machine is equipped with a RAPID OVERRIDE switch / dial that allows the user to slow down the rapid movement by some percentage … 25% – 50% – 100%. BUT … there is usually no a variable setting … so the rapid movements are hard to control when working in tight corners during program prove out.
A couple of notes on G01 :
- G01 executes axis movement at a programmed feedrate … the axis moves at a rate that we determine via the F command.
- When two axis are involved in the G01 move … the machine’s CNC controller calcuates the speed at which each axis will move so that each axis arrives at the end point at the same time … always resulting in a move that is a straight line.
- Oftentimes … the machine is equipped with a FEEDRATE OVERRIDE switch / dial that allows the user to slow down the feed movement by percentages … there is usually a variable setting … and allows for extensive flexibility during program prove out … even to pause the movement completely.
- We often think of G01 movement as cutting feed or cutting movement … but using a faster feed of 200-300 IPM or higher … when not cutting can turn a G01 move into a “rapid” move.
The two main advantages of programming G01 for rapid include :
- Programming a fast feed into a G01 block will always result in a straight line move … comes in handy sometimes when moving around the part and avoiding possible collisions that a non-linear move like G00 may cause.
- The FEEDRATE OVERRIDE switch allows us greater flexibility during programming prove out than the RAPID OVERRIDE … but yet when running at 100% the fast feedrate doesn’t have to effect our cycletime.
Thinking Outside the Box … always produces interesting results. In this case … we can bend the intended use of G01 to assist us creating an un-intended yet beneficial cutter movement.