Programmazione CNC: Guida Completa al G-code (2026)

In sintesi: la programmazione CNC significa darle le istruzioni che eseguirà per lavorare il pezzo. Il linguaggio standard è il G-code, fatto di codici G (i movimenti) e codici M (le funzioni della macchina). Puoi programmare a mano in ISO, in modo conversational a bordo macchina, oppure lasciar generare tutto al CAM. Qui trovi le basi, un cercatore di codici G/M e le guide per ogni argomento.

La programmazione CNC è il ponte tra il disegno di un pezzo e la sua lavorazione: è l’insieme di istruzioni che dicono alla macchina dove andare, a che velocità e con quale utensile. Capire come è fatto un programma — e i codici che lo compongono — ti permette di leggere ciò che gira in macchina, correggere al volo un errore e capire davvero cosa sta succedendo, invece di “fidarti e sperare”. In questa guida partiamo dalle fondamenta.

Che cos’è la programmazione CNC

Programmare una macchina a controllo numerico significa scrivere una sequenza di istruzioni, dette blocchi, che il controllo legge una dopo l’altra. Ogni blocco contiene comandi e coordinate: per esempio “vai in questo punto in linea retta a questa velocità”. La macchina non “capisce” il pezzo: esegue alla lettera ciò che le dici, ed è qui che sta tutta la differenza tra un programma curato e uno sbagliato.

Il programma può essere scritto a mano, generato da un software CAD/CAM oppure costruito direttamente sul controllo della macchina. Qualunque sia la strada, alla fine il risultato è sempre lo stesso linguaggio: il G-code.

G-code e M-code: il linguaggio della macchina

Il G-code è lo standard con cui si programmano quasi tutte le CNC. Si divide in due grandi famiglie:

  • Codici G (preparatori): governano i movimenti e le modalità di lavoro — posizionamenti rapidi, interpolazioni lineari e circolari, cicli fissi, sistemi di coordinate.
  • Codici M (miscellanei): comandano le funzioni della macchina — rotazione del mandrino, refrigerante, cambio utensile, arresti.

A questi si aggiungono gli indirizzi: X, Y, Z per le coordinate, F per l’avanzamento, S per i giri mandrino, T per l’utensile. Mettendoli insieme nasce un blocco come G01 X50 Y20 F200, cioè “muoviti in linea retta fino a X50 Y20 a 200 mm/min”.

Cerca un codice G o M

Non ricordi cosa fa un codice? Scrivi il codice (per esempio G01 o M03) o una parola chiave: la tabella si filtra all’istante.

CodiceTipoSignificato
G00MovimentoPosizionamento rapido (a vuoto)
G01MovimentoInterpolazione lineare (taglio in linea retta)
G02MovimentoInterpolazione circolare oraria
G03MovimentoInterpolazione circolare antioraria
G17 / G18 / G19PianiSelezione del piano di lavoro XY / XZ / YZ
G20 / G21UnitàMisure in pollici / in millimetri
G28RiferimentoRitorno al punto zero macchina
G40CompensazioneAnnulla la compensazione raggio utensile
G41 / G42CompensazioneCompensazione raggio a sinistra / a destra
G43CompensazioneCompensazione della lunghezza utensile
G54–G59OriginiSelezione delle origini pezzo
G73Ciclo fissoForatura profonda con rottura truciolo
G76Ciclo fissoCiclo di filettatura
G80Ciclo fissoAnnulla il ciclo fisso attivo
G81Ciclo fissoForatura semplice
G82Ciclo fissoForatura con sosta sul fondo
G83Ciclo fissoForatura profonda a tappe (peck drilling)
G84Ciclo fissoMaschiatura
G90 / G91CoordinateQuote assolute / incrementali
G94 / G95AvanzamentoAvanzamento in mm/min / in mm/giro
G96 / G97MandrinoVelocità di taglio costante / giri costanti
G98 / G99Ciclo fissoRitorno al piano iniziale / al piano R
M00 / M01ArrestoArresto programma / arresto opzionale
M03 / M04MandrinoRotazione mandrino oraria / antioraria
M05MandrinoArresto del mandrino
M06UtensileCambio utensile
M08 / M09RefrigeranteRefrigerante acceso / spento
M30FineFine programma e rewind
M98 / M99SottoprogrammiRichiamo sottoprogramma / ritorno

Per l’elenco completo e spiegato vai alle guide dedicate ai codici G e ai codici M.

I tre modi di programmare una CNC

Non esiste un solo modo di programmare: ce ne sono tre, adatti a situazioni diverse.

  • Manuale (ISO): scrivi tu il G-code, blocco per blocco. Massimo controllo, ideale per pezzi semplici e per imparare. Ne parliamo nella guida alla programmazione ISO.
  • Conversational: rispondi a domande sul controllo della macchina (“che foro? che diametro?”) e il controllo genera il codice. Veloce a bordo macchina.
  • CAM: disegni il pezzo e il software calcola i percorsi e genera il G-code tramite il post-processor. La scelta per geometrie complesse e produzione.

Quale conviene? Dipende dal pezzo e dal contesto: lo confrontiamo nella guida conversational, ISO o CAM.

Le guide del cluster Programmazione CNC

Codici G: lista e significato

Tutti i codici G più usati, raggruppati per funzione e spiegati con esempi.

Codici M: le funzioni macchina

Mandrino, refrigerante, cambio utensile e arresti: cosa fa ogni codice M.

Cicli fissi (canned cycles)

Foratura, foratura profonda, maschiatura e filettatura senza scrivere ogni movimento.

Programmazione ISO: struttura del programma

Blocchi, indirizzi, coordinate assolute e incrementali: come è fatto un programma.

Esempio di programma CNC commentato

Un programma reale spiegato riga per riga, dall’inizio alla fine.

Conversational, ISO o CAM

I tre metodi a confronto: pro, contro e quando scegliere ciascuno.

Anatomia di un blocco G-code

Anatomia di un blocco G-code: numero blocco, codice G, coordinate, avanzamento, giri, codice M
Come si legge un blocco G-code, pezzo per pezzo.

Un programma è una sequenza di righe e ogni riga, detta blocco, si legge da sinistra a destra. Prendiamo un esempio: N50 G01 X50.0 Y20.0 F200 S1200 M03. Ecco cosa dice, pezzo per pezzo:

  • N50 — il numero del blocco (facoltativo, serve solo a numerare le righe).
  • G01 — la modalità di movimento: interpolazione lineare.
  • X50.0 Y20.0 — le coordinate del punto di destinazione.
  • F200 — l’avanzamento, cioè 200 mm/min.
  • S1200 — i giri del mandrino, 1200 giri/min.
  • M03 — fa partire il mandrino in senso orario.

Quando sai leggere un blocco così, leggere un intero programma diventa solo questione di ripetere lo stesso ragionamento riga dopo riga. Un dettaglio utile: molti comandi sono modali, cioè restano attivi finché non li cambi, quindi non vanno ripetuti a ogni riga.

I dialetti del G-code: Fanuc, Heidenhain, Siemens

Le fondamenta del G-code sono uno standard, ma ogni costruttore di controlli ha le proprie varianti. Fanuc è il dialetto più diffuso e il riferimento di gran parte delle macchine; Heidenhain usa una programmazione conversational molto amata nelle fresatrici; Siemens (SINUMERIK) ha una sintassi potente e leggermente diversa. Ciò significa che un programma scritto per un controllo non sempre gira identico su un altro: è proprio per questo che, nel flusso CAD/CAM, il post-processor traduce i percorsi nel dialetto giusto per la tua macchina.

Da dove iniziare

Se parti da zero, il percorso più efficace è questo: prima impara a leggere un blocco e i codici principali (bastano i venti che trovi nella tabella qui sopra), poi studia la struttura di un programma e analizza un esempio commentato. Quando le basi sono solide, il passaggio al CAM sarà molto più consapevole. Per fare pratica offline, una buona idea è affiancare un manuale: trovi una selezione nella guida ai migliori libri di programmazione CNC. E per impostare giri e avanzamenti corretti, tieni a portata il calcolatore dei parametri di taglio.

Domande frequenti

Che cos’è il G-code?
È il linguaggio standard con cui si programmano le macchine CNC. È composto da codici G (movimenti e modalità) e codici M (funzioni macchina), più indirizzi come X, Y, Z, F e S.

Devo saper programmare a mano se uso il CAM?
Non è obbligatorio, ma conoscere le basi del G-code ti permette di leggere il programma, correggere piccoli errori e capire cosa farà la macchina. È un vantaggio enorme.

Qual è la differenza tra codici G e codici M?
I codici G sono “preparatori” e governano i movimenti e le modalità di lavoro; i codici M sono “miscellanei” e comandano funzioni come mandrino, refrigerante e cambio utensile.

Il G-code è uguale per tutte le macchine?
Le basi sono standard, ma ogni controllo (Fanuc, Heidenhain, Siemens) ha le sue varianti e codici specifici. Per questo il post-processor genera il G-code adatto alla macchina specifica.

Quanto tempo serve per imparare a programmare una CNC?
Le basi della programmazione ISO si imparano in poche settimane di pratica; la padronanza completa, cicli e ottimizzazioni comprese, richiede mesi di esperienza in officina.

Per vedere la programmazione CNC da zero, guarda questo corso introduttivo:

Conclusioni

Programmare una CNC non è un dono per pochi: è un linguaggio con poche parole-chiave e una logica precisa. Inizia dai codici fondamentali, capisci come si compone un blocco e leggi un programma vero: in poco tempo passerai dal “non so cosa fa questa riga” al “so esattamente cosa succederà in macchina”. Usa il cercatore qui sopra come riferimento rapido e segui le guide del cluster per approfondire passo dopo passo.

Guide tecniche su lavorazioni meccaniche, CNC, tolleranze ISO e strumenti di misura. Risorse pratiche per tecnici, operatori e studenti.

In qualità di Affiliato Amazon io ricevo un guadagno dai relativi acquisti idonei. «Amazon» e il logo Amazon sono marchi di Amazon.com, Inc. o delle sue affiliate.

I marchi, i loghi e i nomi commerciali eventualmente citati appartengono ai rispettivi proprietari e sono utilizzati a solo scopo descrittivo e identificativo, senza alcuna affiliazione o sponsorizzazione salvo ove diversamente indicato.