What is CNC Machining? It's a manufacturing process where computers run programs that control how the machines will manufacture parts.

The simple answer to, “What is CNC Machining,” is 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”.

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?

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.


What Is a CNC Machine?

cnc milling machine parts

CNC machines are computer-controlled machine tools.  Before CNC, machine tools were manually operated 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 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.


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 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.

CNC Lathes

Typical CNC Lathe, the Haas TL-1

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 Routers

CNC Router…

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?

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 is pretty straightforward, and involves the following steps (for greater detail on a step, click through the link):

  • 1

    Design Idealized Part ▶

  • 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.

  • 2

    CNC Programming ▶

  • 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

    Machine Setup ▶

  • 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

    Machine the Part

  • 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


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. 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.


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:

Full Name
Email *
100% Privacy: We will never Spam you!