In parole molto povere
si parte da un disegno fatto con appositi software (autocad, rinhoceros, solidworks e molti altri), il disegno viene poi caricato su un altro apposito software che crea il gcode. Questo gcode altro non è che una lista con tutte le coordinate che deve fare la macchina cnc per eseguire il pezzo. La macchina lavora su 2, 3 o più assi di lavoro e per eseguire il pezzo si sposta su questi seguendo le coordinate.
Il gcode viene infine scaricato nel controllo della macchina.
I software per creare i gcode possono anche essere usati per creare i disegni, se non troppo complessi, o per modificare disegni gia fatti. Nella generazione del gcode (o piu semplicemente il "programma") si impostano i vari dati tipo diametro fresa, il tipo di fresa, fresatura concorde o discorde, e molti altri.
Il software genera il programma per il controllo specifico della macchina cnc (heidenain, fanuc, selca, sinumeric, siemens ecc). Questo perché il gcode che ne viene fuori non contiene solamente coordinate ma anche veri e propri codici diversi per ogni controllo che servono alla macchina per vari motivi, tra cui velocizzare il processo di fresatura e abbrevviare il gcode racchiudendo una serie di coordinate in poche righe. Ad esempio per eseguire un cerchio il gcode sarebbe composto da infinite coordinate per ogni punto della circonferenza mentre con codici specifici per il cerchio bastano pochi specifici codici.
Spero di non averti creato ancor piu caos!