Want to be a better CNC'er?
Get our weekly newsletter plus a package of greatest hits, special tips, and more, all for free.I'm Ready to Be a Better CNC'er, Hook Me Up!
What is CNC?
CNC is the acronym for Computer Numerical Control. It is an outgrowth of the older term "NC", which stands for just "Numerical Control". It refers to the idea of controlling machine tools via computer. CNC Machines are robots of a sort. With the older "NC" term, a computer need not be involved. The machine might be controlled using, for example, punched tape.
NC, and later CNC, allowed for tremendous increases in productivity for machine tools because the machines could be run automatically without requiring constant attention from their operator. Before the advent of such automation, there was a lesser automation opportunity in the form of hydraulic tracer systems. Such systems used hydraulics to cause the cutting tools of a lathe or mill to follow a template. The taper attachments available for many manual lathes are not unlike the hydraulic tracer capability, it's just that the tracer is capable of more elaborate templates than simple tapers.
But the advent of first NC and then later CNC radically increased the amount of automation that was possible. CNC Machining is dominant method of machining materials these days, though manual machining is still quite common as well for one-offs, repair, and prototyping work.
The individuals that run CNC Machines on Shop Floors are called "CNC Operators," while those that write the programs to automate production are "CNC Programmers." CNC Machines execute what are called "Part Programs" which are written in a special language called "G-Code." A g-code part program may either be directly coded, or CAM Software may be used to convert a CAD drawing of the part into g-code.
For a long time, CNC Machines were strictly industrial machines because they cost many tens of thousands of dollars. Today, DIY CNC'ers build their own CNC machines as a hobby and there are also many fine machines available in price ranges that make it possible to own a CNC machine in a home shop.
How Do CNC Machines Make Parts?
The process is pretty straightforward, and involves the following steps (for greater detail on a step, click through the link):
Use CAD software to create a 2D or 3D model of the part you want to make. CAD stands for "Computer Aided Drafting", so CAD software is like drawing software that lets you precisely specify the dimensions of your part.
Use CAM software to convert the CAD model into g-code. G-Code is the language used to program CNC Machines. You can learn more about it in our Free G-Code Programming Course.3
In this step, the machine is set up with workholding, proper tooling, and the g-code program and tool data are loaded to prepare the machine to make the part. The operator will also tell the machine where part zero is.4
With everything set up, it's time to machine the part.
This description is simplifed. For a lot more detail, see our in-depth article on How to Make CNC Parts.
What Kinds of CNC Machines Exist?
The short answer is more than we could possibly go into here, but let's try to cover some of the major categories of CNC Machines, which are the most common.
CNC Machine Lathes
Typical CNC Lathe...
Some view Lathes as the only universal CNC Machine tool because a lathe can make all of the parts needed for another lathe. A lathe spins the workpiece in a spindle while a fixed cutting tool approaches the workpiece to slice chips off of it. Because of this geometry, lathes are ideal for parts that have symmetry around some axis that could be chucked up in the spindle.
Making a Chess Rook on a CNC Lathe...
CNC Lathes have at the very least the ability to drive the cutting tool under g-code control over 2 axes, referred to as X and Z. They may have a considerable amount of other functionality as well, and there are many variations on lathes such as Swiss Lathes.
The act of cutting a workpiece on a lathe is called "Turning".
CNC Milling Machines
A typical CNC Milling Machine...
In a mill, the cutter is placed in the spindle where it rotates. The workpiece then moves past the cutter so that chips may be sliced off. The act of cutting a workpiece on a mill is called "Milling".
Basic CNC Mill Operation. More advanced CNC Mills are called "Vertical Machining Centers"...
CNC Mills have at the very least the ability to drive cut in 3 dimensions (some older machines may be limited to 2 or 2 1/2 if there are limitations on when that 3rd dimension may be used) which are referred to as the X, Y, and Z axes.
A CNC Router is actually a type of CNC Mill, typically one that uses what's called a "gantry" configuration. Typically they're called CNC Routers instead of CNC Gantry Mills when they're used to cut wood, but this need not exclusively be the case.
Cutting a raised panel door in seconds with a commercial CNC Router...
Many think of CNC machines as being focused on cutting metal, but there is a huge market for CNC woodworking machines of which the CNC Router is the principle example.
There are many more types of CNC machine than just these three most common types including CNC presses of various kinds, Plasma Tables, EDM machines, water jet cutters, and so on.
New CNC technologies are appearing all the time. Who knows what the future will bring?
How Can I Get Started With CNC?
Given the basic history of CNC and an overview of the major CNC Machines, what does one need to know to get started with CNC?
Knowledge in a number of different areas will be helpful. For example, basic machining skills are pretty important. A CNC machine starts from basic machining principles, although it can automate operations that are flat out impossible for a manual human machinist to perform by turning handwheels.
One of the most important machining skills for a CNC user to be proficient with is an understanding of "Feeds and Speeds." This is the science of deciding how fast to run the spindle and how fast to feed the material into the cutter given a long list of variables. CNCCookbook offers a detailed course on feeds and speeds in our Feeds and Speeds Cookbook.
A knowledge of some electronics, principally around motion control applications is helpful as well, since CNC Machines involve quite a lot of electronics in addition to their mechanical aspects. We have several articles related to the type of electronics knowledge needed for CNC in our site's Cookbook section.
Before we can get very far, we must understand how to create and use CNC part programs, which are written in some dialect of G-Code. Here again, CNCCookbook offers a free tutorial course that teaches how to read and write the G-Code.
Having gotten this far, the aspiring CNC machinist will be realizing that there is quite a lot of specialized CNC Software. Here are four of the most common types of CNC software:
- CNC Calculators to help calculate Feeds and Speeds. Check out our G-Wizard CNC Calculator for example.
- CNC Program Editors to help us manage g-code. Try our G-Wizard Editor.
- CAD programs used to create drawings and 3D models of the parts we want to machine.
- CAM programs that start from a CAD drawing and produce the g-code our CNC machines execute.
There are many more types of CNC software out there. For a survey of all the different varieties, check out our article, "CNC Software: Digital Tooling for CNC".
Any of the links in the last section will give you more material to chew on as you get started learning more about CNC.
A Short History of CNC
The first commercial NC machines were built in the 1950's, and ran from punched tape. While the concept immediately proved it could save costs, it was so different that it was very slow to catch on with manufacturers. In order to promote more rapid adoption, the US Army bought 120 NC machines and loaned them to various manufacturers so they could become more familiar with the idea. By the end of the 50's, NC was starting to catch on, though there were still a number of issues. For example, g-code, the nearly universal language of CNC we have today, did not exist. Each manufacturer was pushing its own language for defining part programs (the programs the machine tools would execute to create a part).
1959 CNC Machine: Milwaukee-Matic-II was first machine with a tool changer...
A number of key developments brought CNC rapidly along during the 1960's:
- Standard G-Code Language for Part Programs: The origin of g-code dates back to MIT, around 1958, where it was a language used in the MIT Servomechanisms Laboratory. The Electronic Industry Alliance standardized g-code in the early 1960's.
- CAD came into its own and started rapidly replacing paper drawings and draftsmen during the 60's. By 1970, CAD was a decent sized industry with players like Intergraph and Computervision, both of whom I consulted for back in my college days.
- Minicomputers like the DEC PDP-8's and Data General Nova's became available in the 60's and made CNC machines both cheaper and more powerful.
By 1970, the economies of most Western countries had slowed and employment costs were rising. With the 60's, having provided the firm technology foundation that was needed, CNC took off and began steadily displacing older technologies such as hydraulic tracers and manual machining.
US companies had largely launched the CNC revolution, but they had been overly focused on the high end. The Germans were the first to see the opportunity to reduce prices of CNC, and by 1979 the Germans were selling more CNC than the US companies. The Japanese repeated the same formula to an even more successful degree and had taken the leadership away from the Germans just one year later, by 1980. In 1971, the 10 largest CNC companies were all US companies, but by 1987, only Cincinnati Milacron was left and they were in 8th place.
More recently, microprocessors have made CNC controls even cheaper, culminating with the availability of CNC for the hobby and personal CNC market. The Enhanced Machine Controller project, or EMC2, was a project to implement an Open Source CNC controller that was started by NIST, the National Institute of Standards and Technology as a demonstration. Some time in 2000, the project was taken into the public domain and Open Source, and EMC2 appeared a short time later in 2003.
Mach3 was developed by Artsoft founder Art Fenerty as an offshoot of early EMC versions to run on Windows instead of Linux, making it even more accessible to the personal CNC market. Art's company, ArtSoft, was founded in 2001.
Both the EMC2 and Mach3 CNC software programs are alive and thriving today, as are many other CNC technologies.
Do you want to be a better CNC'er?
Get Better Tool Life, Surface Finish, and Material Removal Rates.