If you thought building a CNC machine is hard, wait until it comes to figuring out the CNC software!
There are four types of software required for CNC milling. These are for design, manufacturing, simulation and machine control. Design is relatively straightforward. Depending on the complexity of your project, almost any kind of computer aided design (CAD) software will work. If all you are doing is engraving or 2.5D cutting, you can also just use a drawing program to create a graphics file.
Computer aided manufacturing (CAM) involves taking the design an generating tool paths, which are then translated into G-Code. This is the hard work. While G-Code is something you can write manually, that is not what you want to do. The G-Code file used to mill out the pockets for hold down clamps on my MPCNC was 6,801 line long! Also, you need a CAM program to apply the best strategies for doing work.
Simulation is where you run your G-Code on a virtual CNC. It is a good idea to simulate your CAM to make sure that it is working before you do any actual cutting. And, lastly, machine control involves loading the G-Code and sending it to your machine, to do the actual work. So far, I am just using Repetier-Host to control my MPCNC.
CNC Software, Getting Started
There is a pretty steep learning curve with CNC software. My suggestion is to select a few packages and use them for a while. There are some free or relatively inexpensive solutions. Here is what I have been doing.
- Sketchup Make is a free CAD program. You can use it for your design work and then export a graphics file. While the free version is limited in the types of files it can export, the Sketchup community provides free plug-ins for exporting 2D graphics (SVG, DXF) or 3D graphics (STL).
- HSM Express is a free CAM add-in for various CAD programs, including Autodesk Inventor and SOLIDWORKS. Because of its integration, you can then use one program to do CAD, CAM and Simulation. However, the free Express version, while fully functional, only does 2.5D.
- Autodesk Fusion 360 is a cloud-based solution that does CAD, CAM and Simulation. I have not tried it yet, but plan to. What makes Fusion appealing is that hobbyists can get a free license. However, it does require a 64 bit PC.
- Estlcam is a Windows application recommended by Ryan Zellars at MPCNC. It is a German CAM program that also does Simulation. There is a free trial period and a reasonable price. Estlcam is what I have been using to create G-Code so far. Estlcam will also do machine control with an Arduino UNO and CNC shield.
- CAMotics, formerly known as OpenSCAM, is an open-source cross-platform CNC Simulation program. I have been using this to check my work and it does a good job.
- Lastly, Chilipeppr is browser-based Javascript that does simulation and machine control over the web. Unfortunately, it does not work with my Marlin/RAMPS controller, but I have used it for simulation.
Later this year, I might add a GRBL controller using Arduino UNO and CNC Shield. That way I can try Chilipeppr and Estlcam for machine control. In the mean time, I think these applications give me a pretty good CNC software tool chain to keep me busy for a while.