Computer numerical control (CNC)
Computer numerical control (commonly called CNC) is the process of automating how a machine moves and carries out tasks through pre-set instructions. The machine carries out these instructions autonomously, without the need for human interaction or supervision.
Since its invention, numerical control has revolutionized the machining industry. Jobs that previously had to be carried out by human operators can be done faster, more precisely and at a lower cost by machines, which in turn frees up labourers to do work that requires more thinking, creativity and freedom.
A large number of modern manufacturing tools are entirely dependent on it, including CNC routers, 3D printers, laser engravers etc. (For a list of CNC machines, see Types of CNC machines.)
How it works
At its heart, CNC is giving a robot a long set of instructions that it performs in order. The robot has no understanding of what it's doing or what the result should be, it is only following the algorithm. These instructions must also be very simple, using only expressions and parameters that the robot knows (eg. "move left three coordinate points" or "turn on laser").
These instructions are stored in a computer file (most often G-code), which can be written or modified manually, but is most often automatically generated by a software. Dedicated software can reinterpret 2D drawings or 3D models as toolpaths for CNC machines.
CNC machines most often use Cartesian coordinates, but can operate with any other coordinate system too.