Numerical control (also computer numerical control, and commonly called CNC) is the automated control of machining tools (such as drills, lathes, mills) and 3D printers by means of a computer. A CNC machine processes a piece of material (metal, plastic, wood, ceramic, or composite) to meet specifications by following a coded programmed instruction and without a manual operator directly controlling the machining operation.
A CNC machine is a motorized maneuverable tool and often a motorized maneuverable platform, which are both controlled by a computer, according to specific input instructions. Instructions are delivered to a CNC machine in the form of a sequential program of machine control instructions such as G-code and M-code, then executed. The program can be written by a person or, far more often, generated by graphical computer-aided design (CAD) software and/or computer aided manufacturing (CAM) software. In the case of 3D printers, the part to be printed is sliced, before the instructions (or the program) is generated. 3D printers also use G-Code.