One of the hardest things to learn about CNCs is the software needed to make them operate. There is so much information out there and so many programs to consider; it can be a daunting venture to say the least. First, some basic terms, one you will hear most often is CAD/CAM. CAD/CAM refers to two different functions. The first, CAD, has to do with designing, the second, CAM, with machining.


What is CAD?

CAD is an abbreviation for Computer Aided Design. CAD programs help you translate your ideas into a physical design, like sketching a design on a piece of paper. The simplest CAD programs are drawing programs like Inkscape or Windows Paint. These allow you to draw shapes as well as add and manipulate text.

 Think of a rectangle. When you draw a rectangle on a piece of paper, that's a 2D design. In the same way when a CNC is used to engrave text or shapes without actually cutting any of the shapes out, that is working in 2D.

 If you want your CNC to cut the shape out of a piece of material that's considered working in 2.5D. Now if the rectangle has height and depth like a raised panel for a cabinet door, that involves working in 3D. Basic drawing programs work well for 2D and 2.5D projects but aren’t suitable for 3D projects.

3D CAD programs like AutoCAD, Fusion 360, and SketchUp, allow you to model projects in both two and three dimensions. These work well for making projects that have multiple parts and varied depths.


What is CAM?

CAM is an abbreviation for Computer Aided Machining. CAM is the program that takes a vector file or 3d model of your design and creates the gcode needed to cut out that part. In CAM, you will setup the cutting parameters for the bit and material you are using such as what part to cutout, the size of the bit, how deep to cut, how fast, etc. It will then take that information and send it through a post processor to create the gcode to send to the machine. The post processor acts like an editor and tailors the gcode to the machine you're using.

There are two types of CAM programs. The first is used to machine 2.5D designs and the second 3D models.

In 2.5D machining, the spindle moves on the Z axis separately from the X and Y axis. It will first move to the Z coordinate in the gcode and then to the X-Y coordinates. This is used primarily for cutting out shapes and letters that don’t require a 3D contour. 2.5D is by far the simplest and easiest to learn.

3D machining allows you to cut using all of the axes at the same time. Being able to move all axes allows you to create shapes with reliefs or cut out models depending on how many axes your machine has. Many of your hobby CNC’s are 3-axis machines, but more expensive machines will allow for 4-axis and 5-axis cutting. 3D machining can produce some of the most beautiful carves, but there is a little more to learn than in 2.5D.


What is a Gcode sender?

A gcode sender is a program that sends the gcode to the CNC controller.  Gcode senders allow you to perform the functions required to execute a gcode file: to home the machine, jog it around, and set your zero points. 

There are many programs that will combine the three types of software into one package. The most common is CAD/CAM, but there are some that combine the CAD/CAM with the gcode sender, or CAM/gcode sender.

We recommend UGS Platform for sending gcode files to the CNC. This software is free and open source. (PC and MAC)

 There are many different kinds of CAD, CAM, or CAD/CAM programs, some are open source and free, other proprietary and expensive.  Here are just a few of the choices:

DesignSpark Mechanical (CAD) (PC only)

HeeksCAD (CAD) (PC only)

Alibre Workshop (CAD/CAM) (PC only)

Carbide Create (CAD/CAM) (PC and MAC)

Fusion 360 (CAD/CAM) (PC and MAC)

Vectric VCarve (CAD/CAM) (PC only)

dmap2gcode (CAM) (PC only)

EstlCam (CAM) (PC only)

F-engrave (CAM) (PC and MAC)

MeshCAM (CAM) (PC only)

OpenBuilds CAM-GCODE Generator (CAM) (Web-based)

PyCam (CAM) (Linux)



November 19, 2021 — Jonathan Horn