Tel: +44(0)1432607908 | Mob: +353(0)877616324

Programming Basics for A CNC Router

CNC programming stands for Computer Numerical Control Programming. Manufacturers use it to come up with program instructions for computers which they use to regulate a machine tool. CNC is great for automation and flexibility. When learning G code, you should think of it as learning a new language.

CNC router

Start slowly-one word at a time. In the end, you will be able to understand complete sentences. All machines use G-code and it is simple. Even though commercial machines often use fancy software and the programs have some proprietary code, the basics are the same.

CNC Programming Software

There is software for CNC programming so you can create CNC programs even if you don’t know G-code. All you need to do is learn a few G-code commands. It is possible to create a CNC program regardless of the text editing application you choose. Using plain text, type in your code and save the file with the extension .gcode or .nc. Load it into the CNC control software and run the program.

Common Phrases

There are a few phrases that you need to learn if you hope to learn programming basics for CNC machine software. They help you learn how to make the right command. Some of the most common phrases include;

  • G0 – Move to a specified point at full speed
  • G1 -Cut a straight line
  • G2 – Cut an arc in a clockwise direction
  • G3 – Cut an arc in an anti-clockwise direction
  • G20 – Coordinates in inches
  • G21 – Coordinates in millimetres
  • G40 – Make a cut right down the middle of a line
  • G41 – Make a cut to the left by the radius of the tool
  • G42 – Make a cut to the right by the radius of the tool

To provide instructions to a CNC machine, you need to type a command and coordinates. If, for example, you want to cut a straight line, your code may be G1 X3 Y0. The code can be transmitted as “cut a straight line up to 3 in the X-axis and at 0’’ in the Y-axis.

For some commands, you may need to include extra parameters. The tool radius compensation is one of those parameters.


CNC offsets are a lot like the memories on electronic calculators. Without memories, you cannot save constant values. You, therefore, need to keep re-entering the number. CNC offsets are basically storage locations for your numerical values.

Why are they Important?

Different machine tools may use offsets for different purposes. Some of the most common ones include the following:

  • To specify the length of Each Tool

It is almost impossible for a programmer to predict the exact length of every tool in a program. Tool length compensation makes things a lot easier.

  • To Determine the Radius of the Cutting Tool

A programmer may find it difficult to create a tool path depending on their milling cuter. In the case of resharpening, the size of the cutter is likely to change and the programmer would have to change the program. This would be impractical.

Learning G code does not need to be difficult. Practice using the simple commands and you will be an expert in no time.

To find out more about our range of CNC solutions, please call Stoney CNC on +44(0)1432607908 or send an email enquiry.

Leave a Reply