CNC Machining is a manufacturing process where computers run programs that control how the machines will manufacture parts. These CNC Programs using CNC Software can control everything from the motions the machine makes to spindle speed, turning coolant on or off, and much more. The computer language used to program CNC Machines is called “G-Code”. To make it easier, g-code is seldom written by hand. Instead, visual programming tools called CAM Software are used to create the g-code.
Machined parts are often chosen when manufacturing must result in high precision or quality, or when the materials are particularly tough and hard to work.
There are many different kinds of CNC Machines including 3D Printers, CNC Mills, CNC Lathes, CNC Lasers, Water Jets, Electronic Discharge Machines (EDM’s), CNC Routers, and more.
What Does CNC Stand For?
CNC is the acronym for Computer Numerical Control. It is an outgrowth of the older term “NC”, which stands for “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.
The NC Programs tell the machine the following types of things:
- How fast to turn the spindle
- How fast to move the cutter
- Direction to move the cutter in each axis (X, Y, and Z for 3 axis, and more for a 4 or 5 axis machine)
- What cutter to use if the machine has a tool changer
- When to turn coolant and or off (i.e. spray cooling fluid on the part during cutting)
CNC machines are computer-controlled machine tools. Before CNC, machine tools were manually controlled by machinists.
With CNC, a computer controls servos that operate the machine. Essentially they are machining robots. NC, and later CNC, allowed for tremendous increases in productivity for machine tools because the machinery could be run automatically without requiring constant attention from their operator.
Before the advent of such automation, there was a simpler automation capability in the form of hydraulic tracer systems. Such systems used hydraulics to cause the cutting tools of a lathe or mill to follow or trace 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 when manufacturing. CNC Machining is the 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 Machinery 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.
The precision of CNC machinery is largely a function of the quality of the machine. Machines designed for very high precision must be very high quality and are therefore quite expensive.
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 the most common CNC Machines. We will discuss each machine individually and tell you what the machine is and what it does.
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 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. Each axis is controlled by a servo or stepper motor that is triggered by the CNC Control.
The most elaborate CNC Milling Machines are called “Machining Centers.” For example, there are Vertical Machining Centers (VMC’s) and Horizontal Machining Centers (HMC’s). The vertical and horizontal refer to whether the axis parallel to the spindle (typically “Z”) is vertical or horizontal.
Typical CNC Lathe, the Haas TL-1…
Some view Lathes as the only universal CNC Machine 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”. The more heavy featured CNC Lathes are called “Turning Centers”. A Turning Center typically has a full enclosure and a tool changer, usually called a “Turret” on a lathe, but there are also “Gang” tool lathes.
A more advanced Turning Center may have the ability to mill as well. To do this, the spindle axis must operate as a servo so it can be precisely positioned at a particular angle. Turning Centers that can act as milling machines are called Mill-Turn Machines.
A Mill-Turn Machine can be very efficient at production if it is equipped with a bar puller or bar feeder. Raw materials in the form of bars are loaded on and the machine automatically processes them to produce finished or nearly finished parts. A Mill-Turn machine requires little supervision or manual control.
A CNC Router is actually a type of CNC Mill, typically one that uses what’s called a “gantry” configuration. 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. A typical CNC Router is usually not capable of as much precision as a CNC Mill. They sacrifice some precision in the name of a larger work envelope with the gantry design.
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 for fabrication, 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?
CNC Plasma Cutters, Lasers, and Waterjets
CNC Plasma Cutters, Lasers, and Waterjets are different kinds of CNC Machines that are used primarily to cut parts out of flat sheet material.
Here’s a typical CNC Plasma Cutter at work:
A typical CNC Plasma Cutter at work. Image courtesy of All3DP.com.
Even More CNC Machines
The list of CNC Machines is extensive. Here are some of the other possibilities we haven’t mentioned:
- CNC Electronic Discharge Machines (“EDM’s”)
- CNC Foam Cutters
- CNC Wire Bending and Tubing Bending Machines
- CNC Punches
- CNC Embroidery Machines (they put custom logos on Baseball caps!)
- CNC Pattern Cutters (for cutting vinyl, paper, and more in precise patterns)
- CNC Food Makers (for cake decoration and more)
- CNC Pottery Printers (a form of 3D Printer)
There are even CNC Bartenders, but that’s stretching the definition, LOL!
How Do CNC Machines Make Parts?
The process of part production or manufacture is pretty straightforward, and involves the following steps (for greater detail on a step, click through the link):
Use CAD software to design 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 a CNC Machine. You can learn more about it in our Free G-Code Programming Course, one of our easy tutorials.
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 manufacture the part. The operator will also tell the machine where part zero is. Part Zero is the axis position that corresponds to 0, 0, 0 in the CAD model of the part.
With everything set up, it’s time to machine the part.
This description is simplified. For a lot more detail, see our in-depth article on How to Make CNC Parts
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.
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.
Since “What does CNC stand for?” is answered “Computer Numerical Control”, obviously computers are important. But specifically, computer software that’s used with CNC. There are a few different kinds.
The programs that run CNC machine tools are called “part programs.” 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.
CNC Software for Beginners
A big part of CNC is the software. If you’re ready to take the plunge and move beyond reading about the possibilities, start with our Guide to the Best CNC Software for Beginners.
We’ve worked hard to put together the best buying guides, evaluation tips, and even guides to secret smokin’ deals that let you buy the most popular software for unheard of prices. Check it out!
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 of numerical control. 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 numerical control or 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, microprocessor technology has made CNC controls even cheaper, culminating with the availability of CNC for the hobby and personal CNC market.
Affordable CNC machinery also paved the way for CNC use in prototyping, along with 3D Printing. Earlier, the use of CNC was confined primarily to production shops.
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. The advent of Mach3 made CNC affordable outside industrial shops for the first time.
Both the EMC2 (now called LinuxCNC) and Mach3 CNC software programs are alive and thriving today, as are many other CNC technologies.
We’ve come a long ways since the old numerical control days!
Like what you read on CNCCookbook?
Join 100,000+ CNC'ers! Get our latest blog posts delivered straight to your email inbox once a week for free. Plus, we’ll give you access to some great CNC reference materials including:
- Our Big List of over 200 CNC Tips and Techniques
- Our Free GCode Programming Basics Course
- And more!
Just enter your name and email address below:
100% Privacy: We will never Spam you!