CNC Software

Most of what you read on the Internet about CNC conversions is all about the mechanical and electrical stuff. Should I use ballscrews? Should they be ground or rolled? What about the step versus servo motor controversy? Clearly those things are important, and you are much more likely to be fabricating or scrounging them, but the software is equally as important and will contribute greatly to what your experience is like. This page discusses how it all fits together, some detail on the individual components, how I made my own decisions, and what I wound up with.

Overview: How it all fits together...

Let's start out with an overview of how all the different software components fit together. We'll use this diagram and work our way from the bottom up:

How all the software fits together...

At the bottom of the heap we have the machine control software. It's purpose is generally to accept g-codes and convert them into step and direction commands for your motors by talking to your breakout card. Along the way it also provides some manual control options, the ability to monitor what your machine is doing (for example DRO readouts tell you the current position of your axes), and also the ability to control a variety of accessories such as coolant pumps and limit switches. If you are handy with writing g-codes or mostly want to use your machine manually, you might get by with just this module alone.

The next stop above the machine control software is a CAM program. The purpose of the CAM program is to convert drawings into g-codes which may then be fed into the motor control software. Sometimes this functionality is built directly into the CAD program. This program has to analyze the geometry of your drawing, consult its catalog of tools for your machine, and decide how to "fly" that tool over the workpiece to reproduce the drawing. As you can imagine, this is a complex process, and CAM software is among the most expensive modules if you go looking for the very best.

Last stop would be the CAD program, which may also be a solid modeler. This program takes your artistic input and produces a drawing. That drawing can be 2D or a full 3D. The latter are generally referred to as models, and full solid modeling programs are capable of startling almost-real images. Companies like PIXAR use them to produce animated features.

Okay, now we see how the various parts fit together. Let's drill down and look at each one in a bit more detail.

Machine Control Software: G-Codes to Step + Direction

The machine control software serves as the "front panel" for your machine. Typically, it can either be used entirely by interacting with its PC user interface, or in some cases you can create a pendant or control panel that "talks" to the software. The latter is highly desirable and is an integral part of my own CNC plans. You can get by without a panel, but a purpose-built panel can make you a lot more productive with the machine. It's also the way the "big boys" do it.

There are a variety of programs available in this category including:

- The Mach series by Artsoft

- TurboCNC

- DeskNC / DeskWinNC

I decided I really liked Mach, for a variety of reasons. First, after researching all the forums, it was clear Mach is a very popular program and that there would be a large user community to learn from and make sure the product stays vigorous. Second, Mach seemed to be the favorite among users who wanted a Windows interface rather than DOS. I don't know about you, but I've left DOS behind and don't feel particularly fond about a reunion! Lastly, I was able to download and try the program and read its documentation and found it highly appealing. It was straightforward to understand, I could see how I would be using it and that it covered all of my obvious needs, and I could also see how to customize it to support my control panel ideas. The manual machining wizards were also very impressive and seemed right on target for my needs.

CAM Software: Drawings to G-Codes

The CAM software takes a drawing and produces g-codes which you may feed into your machine control software to drive the machine. CAM stands for "Computer Aided Manufacturing." There is frequently confusion about its relationship to CAD, and many CAD programs have a CAM capability built in or vice versa. A completely integrated solution is desirable, but not mandatory and can be very expensive or could force you to make compromises you wouldn't otherwise make.

There are a variety of programs available in this category including:

- OneCNC

- VisualMill

- TurboCadCam

My favorites in descending order are OneCNC, VisualMill, and TurboCadCam. This software is not cheap, but you want to be careful to get something that works well. The creation of g-codes will be the heart of your CNC operation unless you're a real whiz at manual programming. Unfortunately, this list descends not only in order of my favorites, but also by price. OneCNC is the most expensive solution of the three, followed by VisualMill, followed by TurboCadCam. If you thought your Asian machine and surplus conversion parts were costly, wait until you price this software!

Consider also that some of this software is oriented to a single machine. There are different versions of OneCNC for lathe versus mill, VisualMill only works for mills, but TurboCadCam does it all. In addition, OneCNC and TurboCadCam have powerful Cad capabilities integrated with the package that may eliminate the need for you to buy a Cad program altogether--a considerable savings. Also, purchasing OneCNC or VisualMill will involve some negotiating with a sales person. You can't just go click "Buy" on a web site and get them at a decent price.

I arrived at these favorites by looking at the user communities and seeing what parts had been made with the different programs. TurboCadCam is a little ways behind the other two in this respect, but it also costs a lot less! Let me show some of the parts and projects I came across in my journeys:

A CNC Motorcycle Cylinder Head...

Penguin BattleBots!

Valve Covers...

Bling bling wheel for a kid's wagon...

There were many more than this, but these were some of my favorites. I think any home enthusiast would be pleased and proud to call any of these projects their own. They obviously reflect a great deal of talent on the part of their creators. However, the also reflect some of the power of the software. It would be hard to imagine even a really proficient hand g-coder or manual machinist turning out these pieces without tremendous effort. I don't want to say your choice of CAM program makes it easy, but it at least makes it possible.

CAD and Solid Modeling Software: Drawing Creation

CAD Software is used for making the drawings that are the starting point for a lot of CNC projects. There are a variety of programs available in this category including:

- Alibre

- AutoCad

- Rhino 3D

- Solid Works

- OneCNC

- VisualMill

- TurboCad / TurboCadCam

- Vector 3D Cad Cam

Of these, my favorite is Rhino 3D. I say this because it seems to do all of the 2D stuff, it has great import/export capabilities (i.e. is compatible with many programs), and it has a large and very happy user community. If you want true 3D capabilities, I believe Solid Works is also a very powerful and popular choice. Another one that is very popular among the CNC crowd is Alibre. It is a parameteric CAD program, and many like it better than Rhino for mechanical work. Note that some of these CAD programs also have integrated CAM--OneCNC being a great example. Others have a CAM module that integrates if you pay extra. RhinoCAM is nothing more than VisualMill repackaged and better integrated to work directly with Rhino 3D.

Choose your CAD package very carefully. This is likely to be the software you have to spend the most time with. There is a significant learning curve involved with turning out a slick 3D model of a part you need to have constructed. It's a completely different process than sketching on the back of a napkin, and until you become proficient, it can be utterly frustrating and intimidating. Not to worry. Even the most hardened machinist experts go through the learning curve and eventually emerge smiling on the other side.

The first part design I did in Rhino 3D was a reproduction of my chuck backplate project...

I purchased a copy of Rhino 3D version 3 from EZ-Routers and found it to be straightforward. I started with the trial version which is limited to 25 saves or some such. I ran through their two basic tutorials in the trial version, and when I got my official copy, I was able to whip out the chuck backplate 3 views in about an hour. I figured this was not too bad all things considered!

Getting ready to "subtract out" the holes on the backplate...

I use hexagons or other polygons to lay out bolt circles...

If you have any interest in Rhino or better are already using it, I have compiled a page of "Rhino Tips" I've discovered during my learning process that make me more productive. They're probably obvious to most experienced Rhino users.

Conclusion: Putting it all together!

Assuming you haven't fallen asleep through all of this, I will eventually be writing into this space my choices for the various components and what I think of them so far. Meanwhile, here are my early conclusions (drumroll please!):

    Best "Cost No Object" Combination: Mach 3, OneCNC, and Rhino 3D (This is the path I took!)

    Best "Mid-Range" Combination: Mach 3, VisualMill, and Rhino 3D

    Best "Lower Cost" Combination: Mach 3 and TurboCadCam

Enjoy!

Back to CNC Dictionary Home...

 
All material © 2001-2006, Robert W. Warfield.