Programska oprema za CNC obdelavo je uporabniški programski vmesnik za nadzor industrijskih proizvodnih strojev. CNC je okrajšava za “računalniško numerično krmiljenje”. Na stroj so naložena navodila, kako izdelati izdelek na podlagi njegovega natančnega, a zgolj številčnega opisa.
Z izumom polprevodniške elektronike in dobo eksponentne miniaturizacije je začela okoli leta 1950, da so sestavni deli komercialnih izdelkov zahtevali ustrezno majhne tolerance pri natančnosti. Bilo je preveč okorno nadzorovati stroje za ročno izdelavo tako podrobnih komponent z vzvodi in odmikači. Prvi numerično krmiljeni stroji berejo papirni trak, preluknjan z luknjami, ki so kodirane, da predstavljajo njihovo prostorsko pozicioniranje in s servo motorji nadzorujejo njihovo natančno gibanje.
Sodobna CNC obdelava, ki je revolucionirala proizvodnjo v velikem obsegu, ostaja načeloma enaka. Navodila, ki upravljajo stroj, so shranjena na vrtečem se magnetnem trdem disku računalnika ali statičnih digitalnih bliskovnih pogonih. Temeljno delovanje večine strojev se ni spremenilo, zato se tudi nabor navodil ni spremenil. Najpomembnejše spremembe so se zgodile v programski opremi za CNC obdelavo.
Obstaja veliko vrst CNC strojev. Ena najpogostejših so stružnice. Blok materiala, kot je les ali kovina, se drži nepremično ali natančno premika, kot v primeru aksialnega vrtenja stružnice. Oblikuje se z odvzemom materiala s posebnim, ostrim svedrom, ki se z visokim vrtljajem premika po konturi želene oblike. Kritična funkcija programske opreme za CNC obdelavo je preslikati ali modelirati to tridimenzionalno obliko v njene xyz kartezične koordinate osi.
Izraz računalniško numerično krmiljenje strojne obdelave je natančen. Stružnica se najprej kalibrira na ciljne koordinate 0-0-0, njeno vrtanje pa napreduje do naslednjega dodeljenega niza oštevilčenih koordinat in naslednjega v skladu z njegovimi preslikanimi navodili. V nastajajočih časih je bila to dobesedna metoda. Stroji so bili vneseni z linearnim zaporedjem nabora treh številk, ki so se vse vnašale s številčno tipkovnico po izračunih in meritvah projektantskega inženirja.
Skoraj vsa sodobna programska oprema za CNC obdelavo je po meri integrirana s posebnim strojem; vsak ima svoje mehanske specifikacije in ga zato ni mogoče dobro nadzorovati z nobeno generično, maloprodajno ali odprtokodno kodo. S povečanjem procesorske moči elektronske strojne opreme so računalniški programi za CNC obdelavo postali zmogljivejši in uporabniku prijaznejši. Računalniki so zdaj sposobni prevajati analogne vektorje in krivulje, ki definirajo večino oblik, v digitalne številke, grafični uporabniški vmesniki, kot je CAD – računalniško podprto načrtovanje – so bili vključeni v programsko opremo CNC za obdelavo.
CNC stroji so bili ustvarjeni tako, da lahko operater preprosto pritisne gumbe za začetek, konec in ponastavitev. Prefinjenost v programski opremi poleg tega osvobodi obrtnika, da postane kreativni oblikovalec, saj preprosto riše in avtomatsko računalniško računalniško risbo naredi risbo in jo naredi resnično. Napredek v digitalni telekomunikaciji je dodatno revolucioniral industrijsko proizvodnjo z zmožnostjo nalaganja kode na tisoče kilometrov oddaljen stroj za izdelavo prototipov v eni vožnji. Novi CNC domači/garažni stroji so na voljo z namiznimi odtisi, vključno s 3D tiskalniki, ki obrnejo namen stružnice, odlagajo rezervoar materiala, kot je plastika, v obliko, ki jo definira programska oprema, in navidez ustvarja nekaj iz nič.