In sintesi: i codici G (G-code) sono i comandi “preparatori” che governano i movimenti e le modalità di lavoro di una CNC: posizionamenti rapidi (G00), interpolazioni lineari (G01) e circolari (G02/G03), coordinate assolute o incrementali (G90/G91), origini pezzo (G54), compensazioni utensile e cicli fissi. Qui trovi la lista completa, raggruppata per funzione e spiegata con esempi.
Se stai imparando a leggere o scrivere un programma CNC, i codici G sono il primo mattone. Sono comandi brevi — una lettera G seguita da un numero — che dicono alla macchina come muoversi e in quale modalità lavorare. In questa guida li vediamo tutti, raggruppati per famiglia così da capirne la logica invece di impararli a memoria. Per il quadro generale parti dalla guida alla programmazione CNC.
Cosa sono i codici G
I codici G si chiamano preparatori perché “preparano” la macchina a eseguire un certo tipo di movimento o a lavorare in una certa modalità. La maggior parte è modale: una volta attivati restano in vigore finché non li sostituisci con un altro codice dello stesso gruppo. Per esempio, dopo un G01 tutti i movimenti successivi restano lineari finché non scrivi G00 o G02.
Codici G di movimento
Sono i più usati in assoluto, perché definiscono come l’utensile si sposta:
- G00 — posizionamento rapido, a vuoto: serve per avvicinarsi al pezzo senza tagliare.
- G01 — interpolazione lineare: movimento in linea retta alla velocità di avanzamento F.
- G02 — interpolazione circolare in senso orario.
- G03 — interpolazione circolare in senso antiorario.
Un esempio: G01 X40.0 Y10.0 F150 significa “vai in linea retta fino a X40 Y10 a 150 mm/min”. Per gli archi (G02/G03) si aggiungono il raggio R oppure i parametri di centro I, J, K.
Piani di lavoro e unità di misura
Prima di lavorare archi e fori, la macchina deve sapere su quale piano muoversi e in quali unità ragionare:
- G17 / G18 / G19 — selezionano il piano di lavoro XY, XZ o YZ.
- G20 / G21 — impostano le misure in pollici o in millimetri.
Coordinate assolute e incrementali
È uno dei concetti più importanti e una fonte classica di errori:
- G90 — coordinate assolute: ogni quota è riferita all’origine pezzo.
- G91 — coordinate incrementali: ogni quota è riferita alla posizione precedente.
Scambiare G90 e G91 manda l’utensile in posti completamente diversi: approfondiamo il tema nella guida alla programmazione ISO.
Origini pezzo e compensazioni
Questi codici dicono alla macchina “dove” è il pezzo e come tener conto del diametro e della lunghezza dell’utensile:
- G54–G59 — selezionano le origini pezzo memorizzate (i sistemi di coordinate di lavoro).
- G41 / G42 — attivano la compensazione del raggio utensile a sinistra o a destra del profilo.
- G43 — attiva la compensazione della lunghezza utensile.
- G40 — annulla la compensazione del raggio.
Avanzamento e mandrino
Alcuni codici G governano il modo in cui si interpretano avanzamento e velocità:
- G94 / G95 — avanzamento in mm/min oppure in mm/giro.
- G96 / G97 — velocità di taglio costante (tipico in tornitura) oppure giri mandrino costanti.
Per scegliere i valori giusti di avanzamento e giri usa il calcolatore dei parametri di taglio.
I codici G dei cicli fissi
Quando devi forare, maschiare o filettare, non serve scrivere ogni singolo movimento: ci pensano i cicli fissi, richiamati da codici dedicati come G81 (foratura), G83 (foratura profonda a tappe), G84 (maschiatura) e G76 (filettatura), chiusi da G80. Li spieghiamo uno per uno nella guida ai cicli fissi.
Tabella riepilogo dei codici G
| Codice | Funzione |
|---|---|
| G00 | Posizionamento rapido |
| G01 | Interpolazione lineare |
| G02 / G03 | Interpolazione circolare oraria / antioraria |
| G17 / G18 / G19 | Piano di lavoro XY / XZ / YZ |
| G20 / G21 | Pollici / millimetri |
| G28 | Ritorno allo zero macchina |
| G40 / G41 / G42 | Annulla / compensazione raggio sinistra / destra |
| G43 | Compensazione lunghezza utensile |
| G54–G59 | Origini pezzo |
| G80–G89 | Cicli fissi (foratura, maschiatura…) |
| G90 / G91 | Coordinate assolute / incrementali |
| G94 / G95 | Avanzamento mm/min / mm/giro |
| G96 / G97 | Velocità costante / giri costanti |
Ricorda che alcuni codici specifici cambiano da un controllo all’altro (Fanuc, Heidenhain, Siemens): in caso di dubbio, fa fede il manuale della tua macchina.
Esempio: contornare un quadrato in G-code
Vediamo i codici G all’opera su un caso semplice: contornare un quadrato di lato 40 mm partendo dall’origine, in millimetri e in coordinate assolute.
| Blocco | Cosa fa |
|---|---|
G21 G90 G17 | Millimetri, coordinate assolute, piano XY |
G00 X0 Y0 | Rapido all’angolo di partenza |
G01 X40 F150 | Lato inferiore, in linea retta a 150 mm/min |
G01 Y40 | Lato destro |
G01 X0 | Lato superiore |
G01 Y0 | Lato sinistro, ritorno all’origine |
G00 Z10 | Rapido in salita, a distanza di sicurezza |
Nota come, grazie alla modalità modale, G01 non vada ripetuto a ogni riga: una volta attivato resta valido per i blocchi successivi. Trovi un programma completo, commentato dall’inizio alla fine, nella guida all’esempio di programma CNC.
Errori comuni con i codici G
- Confondere G90 e G91: lavorare in incrementale pensando di essere in assoluto manda l’utensile fuori posizione. Verifica sempre quale è attivo.
- Dimenticare G40: lasciare attiva la compensazione raggio quando non serve produce profili sbagliati.
- Piano di lavoro errato: un arco G02/G03 sul piano sbagliato non viene come previsto. Controlla G17/G18/G19.
- G00 dentro il materiale: il rapido non è pensato per tagliare; usalo solo a vuoto, in sicurezza.
- Unità non impostate: dimenticare G20/G21 può far interpretare le quote nell’unità sbagliata.
Domande frequenti
Qual è la differenza tra G00 e G01?
G00 è un movimento rapido a vuoto, usato per spostarsi velocemente senza tagliare; G01 è un movimento in linea retta alla velocità di avanzamento, usato per lavorare il materiale.
Cosa vuol dire che un codice G è “modale”?
Significa che resta attivo finché non lo sostituisci con un altro codice dello stesso gruppo. Per esempio, dopo G01 tutti i movimenti restano lineari finché non scrivi G00, G02 o G03.
Qual è la differenza tra G90 e G91?
Con G90 le coordinate sono assolute (riferite all’origine pezzo); con G91 sono incrementali (riferite alla posizione precedente). È fondamentale sapere quale è attivo.
A cosa serve G54?
G54 (fino a G59) seleziona un’origine pezzo memorizzata, cioè il sistema di coordinate rispetto al quale la macchina interpreta le quote del programma.
I codici G sono uguali su tutte le macchine?
Le basi sì, ma alcuni codici e comportamenti variano tra i diversi controlli. Per i dettagli fa sempre fede il manuale del costruttore.
Per vedere i codici G spiegati a lezione, guarda questo video:
Conclusioni
I codici G non sono una lista da memorizzare a forza: sono un piccolo insieme di comandi con una logica chiara, divisi in famiglie (movimento, coordinate, origini, compensazioni, cicli). Una volta capite le famiglie, leggere e scrivere un programma diventa naturale. Tieni a portata questa pagina come riferimento e prosegui con i codici M e con un esempio di programma commentato.
