CNC-bearbetningsmjukvara är en operatörs programgränssnitt för styrning av industriella tillverkningsmaskiner. CNC är förkortningen för ”computer numerical control”. En maskin laddas upp med instruktioner om hur man tillverkar en produkt baserat på dess exakta men rent numeriska beskrivning.
Med uppfinningen av solid state-elektronik och eran av exponentiell miniatyrisering inledde det, med början omkring 1950, komponenter i kommersiella produkter krävde motsvarande små toleranser i precision. Det var alldeles för krångligt att styra maskineriet för att tillverka så detaljerade komponenter manuellt med spakar och kammar. De första numeriskt styrda maskinerna läser en papperstejp stansad med hål kodade för att representera deras rumsliga positionering och för att kontrollera deras exakta rörelse med servomotorer.
Modern CNC-bearbetning, som har revolutionerat storskalig tillverkning, förblir i princip densamma. Instruktionerna som styr en maskin lagras på en dators snurrande magnetiska hårddisk eller statiska digitala flashenheter. Den grundläggande driften av de flesta maskiner har inte förändrats, och därför har inte heller instruktionerna gjort det. De mest betydande förändringarna har skett i programvaran för CNC-bearbetning.
Det finns många typer av CNC-maskiner. En av de vanligaste är svarvar. Ett materialblock som trä eller metall hålls antingen stationärt eller flyttas exakt, som i fallet med axiell spinning av en svarv. Den bildas med subtraktion av material av en uppgiftsspecifik, vass borr med högt varv som rör sig längs konturen av den önskade formen. Den kritiska funktionen för CNC-bearbetningsprogramvara är att kartlägga, eller modellera, denna tredimensionella form till dess xyz kartesiska axelkoordinater.
Termen datornumerisk styrbearbetning är en exakt sådan. En svarv kalibreras först till sitt måls 0-0-0-koordinater, och dess borrning går vidare till nästa tilldelade uppsättning numrerade koordinater, och nästa, enligt dess kartlagda instruktioner. I begynnande tider var detta den bokstavliga metoden. Maskiner matades in med en linjär sekvens av en uppsättning av tre siffror, alla skrivna med en numerisk knappsats enligt en konstruktionsingenjörs beräkningar och mätningar.
Nästan all modern CNC-bearbetningsprogramvara är skräddarsydd integrerad med den specifika maskinen; var och en har sina egna mekaniska specifikationer och kan därför inte kontrolleras väl med någon generisk, detaljhandels- eller öppen källkod. Med ökningen av elektronisk hårdvaras processorkraft har datorprogram för CNC-bearbetning blivit mer kraftfulla och användarvänliga. Datorer kan nu översätta analoga vektorer och kurvor som definierar de flesta former till digitala tal, och grafiska användargränssnitt som CAD – datorstödd design – har inkorporerats i CNC-bearbetningsprogramvara.
CNC-maskiner skapades så att en operatör helt enkelt kunde trycka på knappar för att starta, avsluta och återställa. Sofistikering i mjukvara frigör dessutom hantverkaren att bli en kreativ designer, helt enkelt rita och automatiskt datorisera ritningen numeriskt och låta en maskin göra den verklig. Framsteg inom digital telekommunikation har ytterligare revolutionerat industriell tillverkning med kapaciteten att ladda upp kod till en maskin tusentals mil bort för enkelkörning av prototyper. Nya CNC-hem/garagemaskiner finns tillgängliga med skrivbordsfotavtryck, inklusive 3D-skrivare som vänder på en svarvs syfte, deponerar en reservoar av material som plast i en form som definieras av mjukvara, vilket till synes skapar något från ingenting.