Preview3D
Ottieni

Cos'è un file .gcode? Cosa contiene e perché è per una sola stampante

Il G-code è un elenco di comandi in testo che la stampante esegue riga per riga: dove va l'ugello, quanto materiale spingere, quale temperatura mantenere. Uno slicer lo scrive a partire da un modello 3D per una determinata stampante e aggiunge commenti con il tempo di stampa, il consumo di filamento e un'anteprima. Il modello in sé non c'è – solo il percorso dell'ugello.

In breve

Estensione
.gcode, .gco, .g
Tipo
Percorso di stampa (istruzioni per la stampante)
Creato da
EIA RS-274, RepRap
Standard
ISO 6983 (CNC)
macOS senza app
Non lo conosce: niente anteprima, niente miniatura

Informazioni verificate il 4 novembre 2026

Un comando per riga

Ogni riga è un'istruzione fatta di «parole»: una lettera e un numero. G1 X10 Y-5 F2400 significa «muoviti in linea retta fino a X 10, Y −5 a 2400 mm/min». G avvia un movimento, M altri comandi (temperature, ventola), T un cambio utensile. X, Y e Z sono gli assi, E il materiale estruso, F la velocità, S una temperatura o la velocità del mandrino. Tutto ciò che segue un punto e virgola è un commento.

Questo è l'inizio di un layer di un file reale, un 3DBenchy di PrusaSlicer 2.9.5:

;LAYER_CHANGE
;Z:0.6
;HEIGHT:0.2
;BEFORE_LAYER_CHANGE
G92 E0.0
;0.6
G1 E-.7 F2700
G1 X135.159 Y110.836 Z.4 F21000
G1 X136.128 Y110.075 Z.6 F4491.905
;AFTER_LAYER_CHANGE
;0.6
G1 X136.128 Y110.075 F21000
G1 Z.6 F720
G1 E.7 F1500

L'ugello ritira il filamento (E-.7), si sposta veloce salendo al nuovo layer a 0,6 mm e spinge di nuovo avanti il filamento (E.7).

Il G-code viene dalle macchine utensili. Negli Stati Uniti lo definiva lo standard RS-274, la cui ultima revisione, RS-274-D, risale al 1979, e a livello internazionale la ISO 6983. È arrivato alla stampa 3D attraverso il progetto RepRap. Per le stampanti 3D, però, non esiste uno standard comune: ogni firmware – Marlin, Klipper, RepRapFirmware, quello di Prusa – ha i propri comandi e le proprie estensioni.

Oltre a .gcode si usano anche le estensioni .gco e .g. Klipper le elenca tutte e tre dalla sua scheda SD virtuale, e lo stesso fa Marlin, che mostra ogni file la cui estensione 8.3 inizia con G.

Cosa scrive lo slicer nel file

Alla stampante basterebbero i soli comandi. Ma lo slicer aggiunge commenti che dicono quasi tutto sulla stampa. L'inizio dello stesso file:

; generated by PrusaSlicer 2.9.5 on 2026-07-03 at 11:30:45 UTC
; printer_model = COREONE
; filament_type = PC
; nozzle_diameter = 0.4
; layer_height = 0.2
; temperature = 285
; filament used [mm] = 5786.33
; filament used [g] = 16.98
; filament cost = 1.27
; estimated printing time (normal mode) = 1h 4m 39s
; estimated printing time (silent mode) = 1h 10m 11s

In più, il file contiene:

  • Anteprime, codificate come testo (base64) tra righe come ; thumbnail begin e ; thumbnail end. Questo file ne ha quattro: tre immagini QOI per il display della stampante (16 × 16, 313 × 173 e 480 × 240 pixel) e un PNG da 380 × 285 per i computer.
  • Il tipo di ogni tratto di percorso. Prima di ciascuno c'è una riga come ;TYPE:External perimeter o ;TYPE:Internal infill. Il Benchy ne ha 772 per il perimetro esterno e 163 per il riempimento interno. I visualizzatori colorano il percorso in base a queste righe.
  • I confini dei layer: ;LAYER_CHANGE, ;Z: e ;HEIGHT:. Il Benchy ha 240 layer.
  • Tutte le impostazioni dello slicer alla fine del file, tra ; prusaslicer_config = begin e = end. Qui sono 373 righe.
  • L'avanzamento della stampa per il display: righe come M73 P0 R64 dicono quale percentuale è fatta e quanti minuti mancano; Q e S fanno lo stesso per la modalità silenziosa.

Ogni slicer, però, scrive i commenti a modo suo. PrusaSlicer segna il tipo di un percorso ;TYPE:External perimeter, Cura ;TYPE:WALL-OUTER, Bambu Studio e OrcaSlicer ; FEATURE:. Un visualizzatore che non conosce i marcatori di un altro slicer non sa colorare quella parte del percorso.

Tutti quei commenti rendono il G-code grande. Il Benchy ha 180.291 righe e 4,5 MB, di cui 142.090 sono movimenti G1. La stessa stampa salvata come .bgcode binario pesa 1,76 MB.

Perché il G-code è per una sola stampante

Il G-code è elaborato per una stampante: le dimensioni del suo piano, il diametro dell'ugello, il firmware e la sequenza iniziale. Già il rapporto del NIST del 2000 avvertiva che un programma per una macchina probabilmente non funzionerà su quella di un altro produttore. Con le stampanti 3D è lo stesso.

Le stampanti Prusa controllano da sole. Il Benchy inizia con queste righe:

M862.1 P0.4 A1 F0
M862.3 P "COREONE"
M862.5 P2
M115 U6.5.3+12780

M862.1 controlla il diametro dell'ugello, M862.3 il modello di stampante e M862.5 il livello del G-code. M115 U confronta la versione del firmware: se il firmware è più vecchio, secondo la documentazione di Prusa la stampante si ferma per 30 secondi e chiede di aggiornarlo. Quando il modello non corrisponde, la stampante avverte che il G-code è stato elaborato per un altro tipo di stampante – e sul forum di Prusa c'è chi chiede se sia sicuro continuare.

La strada sicura è sempre la stessa: rifai lo slicing del modello per la tua stampante. Condividere G-code finito ha senso solo tra stampanti identiche con lo stesso ugello.

Nello slicer scegli il tipo di G-code (G-code flavor). PrusaSlicer ne offre più di dieci, da Marlin 2 passando per Klipper fino a RepRapFirmware. Quando Bambu Studio esporta un piano elaborato, salva un pacchetto .gcode.3mf con dentro il G-code di ogni piano.

Il G-code si può riconvertire in un modello?

No. Il G-code contiene il percorso dell'ugello, non la forma. I siti che offrono la conversione da G-code a STL costruiscono un volume approssimativo a partire dai percorsi, supporti e riempimento compresi. Non è il modello originale, e le forme morbide non tornano da layer di 0,2 mm. Se ti serve il modello, chiedi al progettista l'STL, il 3MF o lo STEP.

Come guardare dentro un G-code su Mac, iPad e iPhone

macOS non ha un tipo di file per il G-code. TextEdit lo apre come testo, e il Finder mostra un'icona vuota – niente anteprima, niente miniatura. Su Windows ci pensa PowerToys; sul Mac ti serve un'app:

  • PrusaSlicer G-code Viewer è gratuito e legge il G-code di PrusaSlicer, Cura, Simplify3D e altri slicer.
  • I visualizzatori web come gcode.ws mostrano il percorso layer per layer direttamente nel browser. Lo stesso gcode.ws si definisce «lento, affamato di memoria».
  • ThumbHost3mf aggiunge le miniature nel Finder dall'anteprima che lo slicer ha salvato nel file.
  • Preview3D, la mia app, apre il G-code nella sua finestra, in Quick Look e come miniatura del Finder, su Mac, iPad, iPhone e Apple Vision Pro.

Cosa mostra Preview3D di un G-code:

  • il percorso colorato per tipo, con una legenda, come lo disegna lo slicer,
  • le estrusioni con la loro larghezza reale,
  • un cursore dei layer per aprire la stampa a qualsiasi altezza,
  • tempo di stampa, filamento, peso e materiale dall'intestazione,
  • come miniatura del Finder, l'anteprima che lo slicer ha salvato nel file.

Legge il G-code di PrusaSlicer, SuperSlicer, OrcaSlicer, Cura e Bambu Studio.

G-code su iPad in Preview3D: il percorso di stampa colorato per tipo, il cursore dei layer e i dati di stampa
G-code su iPad in Preview3D: il percorso di stampa colorato per tipo, il cursore dei layer e i dati di stampa

Di più su a cosa serve un'anteprima del G-code: Guardare dentro un G-code sul Mac senza aprire lo slicer.

Domande frequenti

Il G-code funziona su ogni stampante 3D?

No. È elaborato per una determinata stampante, un determinato ugello e un determinato firmware. Su un'altra stampante potrebbe stampare fuori dal piano, alla temperatura sbagliata, o non partire affatto.

Che differenza c'è tra .gcode, .gco e .g?

Nessuna – è lo stesso formato di testo con estensioni diverse.

Dove sono, in un file G-code, il tempo di stampa e il consumo di filamento?

Nei commenti all'inizio o alla fine del file. PrusaSlicer scrive ; estimated printing time (normal mode) e ; filament used [g]; Cura e Bambu Studio scrivono righe simili nel loro formato.

Posso modificare il G-code?

In un editor di testo sì, ma modificare una stampa a mano è rischioso. Cambia temperatura, altezza del layer o materiale nello slicer e rifai lo slicing del modello.

Il G-code si può convertire in STL?

Non nel modello originale. Si può solo costruire un volume approssimativo a partire dai percorsi, supporti e riempimento compresi.

Che differenza c'è tra .gcode e .bgcode?

Contengono gli stessi comandi; .bgcode è binario e compresso. I dettagli sono nella pagina su .bgcode.

Pagine correlate

Fonti

Il G-code di quale slicer Preview3D ha colorato male? Mandamelo a apps@xfanta.com e aggiungerò i marcatori che ancora non conosce.

Aprilo in Preview3D

STEP, 3MF, STL, G-code, BGCODE e altro su Mac, iPad, iPhone e Vision Pro. Un solo acquisto, nessun account, nessuna rete.

Preview3D sull'App Store