Computer Numerical Control, of beter bekend als CNC, staat voor het besturen van werktuigmachines per computer. Dit betreft veel verschillende gereedschappen, zoals boren, graveermachines, lasers, draaibanken, enz. Eigenlijk is 3D-printen technisch gezien ook CNC.
Om iets te maken op de computer, heb je software nodig om een tekening te maken. Dit wordt meestal gedaan in CAD programma's zoals AutoCAD of Solidworks. Dan heb je ook software nodig die het ontwerp kan vertalen naar specifieke bewegingen, genoemd CAM Software. De output van de CAM software is een G-code bestand met machine-opdrachten, welke kan worden uitgevoerd door de software die de machine bestuurd. Er zijn veel software alternatieven beschikbaar, maar de populaire zijn inclusief Gbrl, LinuxCNC en PyCam.