Metode izdelave CNC obdelovalnega programa delimo na ročno (človeško) programiranje in avtomatsko programiranje. Pri ročnem programiranju je celoten program napisan ročno v skladu s formatom navodil, ki ga določa CNC sistem. Avtomatsko programiranje ali računalniško programiranje lahko razdelimo na metode avtomatskega programiranja, ki temeljijo na jezikih in risbah. Ne glede na uporabljeno metodo samodejnega programiranja pa je potrebna ustrezna podporna strojna in programska oprema.
Za izboljšanje stopnje avtomatizacije proizvodnje, skrajšanje časa programiranja in zmanjšanje stroškov CNC obdelave je bila razvita vrsta naprednih tehnologij CNC obdelave, ki se uporabljajo v vesoljski industriji. Računalniško numerično krmiljenje (CNC) na primer uporablja majhen ali mikroračunalnik, ki nadomesti krmilnik v sistemu CNC, in uporablja programsko opremo, shranjeno v računalniku, za izvajanje računskih in krmilnih funkcij. Ta mehko-povezan sistem CNC postopoma nadomešča začetni sistem CNC. Direct CNC uporablja en računalnik za neposredno krmiljenje več CNC obdelovalnih strojev, kar je zelo primerno za malo{4}}serijsko proizvodnjo letal s kratkim-ciklusom. Idealen krmilni sistem je prilagodljiv krmilni sistem, ki lahko nenehno spreminja obdelovalne parametre. Čeprav je sam sistem zapleten in drag, lahko izboljša učinkovitost in kakovost obdelave. Poleg izboljšav strojne opreme, kot so sistemi CNC in strojna orodja, je še en pomemben vidik razvoja CNC razvoj programske opreme. Računalni{10}}podprto programiranje (imenovano tudi samodejno programiranje) vključuje programerje, ki pišejo programe v jeziku numeričnega krmiljenja (NC), jih vnašajo v računalnik za prevajanje in nazadnje računalnik samodejno izda luknjani ali magnetni trak. Široko uporabljen jezik NC je APT (jezik za samodejno programiranje). Na splošno je razdeljen na glavni program za obdelavo in program za-naknadno obdelavo. Prvi prevede programerjev program in izračuna pot orodja; slednji prevede pot orodja v obdelovalni program za NC obdelovalni stroj. NC obdelava vključuje predhodno-pisanje programov v računalnik pred obdelavo obdelovanca, nato vnos teh programov v računalniško-nadzorovano strojno orodje za obdelavo-na podlagi navodil ali neposredno pisanje navodil na nadzorni plošči takšnega strojnega orodja. Obdelovalni proces vključuje podajanje orodja, menjavo orodja, spremembo hitrosti, spremembo smeri in zaustavitev, ki se vse zaključijo samodejno. NC obdelava je napredna metoda v sodobni proizvodnji kalupov. Seveda NC obdelava ni omejena na obdelavo delov kalupa; njene uporabe so zelo široke-.

