Gerber Viewer
Apri (o trascina) i file Gerber + drill di una PCB, o un .zip esportato dal CAD. Layer compositi, pour e clearance resi correttamente, misure, colori per layer ed export.
Carica il renderer WebAssembly (~800 KB) e la board di esempio. Gira tutto nel browser: i tuoi file non vengono caricati da nessuna parte.
Cos’è un set Gerber?
Un set Gerber descrive una PCB con più file: ogni layer fisico — rame top e bottom, solder mask, serigrafia, pasta saldante — è un file separato in formato RS-274X, mentre i fori stanno in un file drill Excellon e il bordo scheda in un Gerber di outline dedicato. Per vedere la board si compongono tutti allineati sullo stesso sistema di coordinate.
Una PCB non si descrive con un solo file: ogni layer fisico (rame top e bottom, solder mask, serigrafia, pasta saldante) è un file Gerber separato in formato RS-274X, e i fori sono un file drill Excellon a parte. Il bordo della scheda (outline) è anch'esso un Gerber dedicato. Per vedere la board si compongono tutti questi file allineati sullo stesso sistema di coordinate.
Come è costruito il viewer?
Il motore è scritto in Rust e compilato a WebAssembly (wasm-bindgen), con rasterizzazione su WebGL2. Il parser legge l’RS-274X — aperture, macro, comandi D01/D02/D03, polarità dark/clear e regioni pour G36/G37 — e l’Excellon dei fori. Ogni layer è rasterizzato in un proprio framebuffer e composto sul canvas; il parsing gira in un Web Worker.
Il motore è scritto in Rust e compilato a WebAssembly, con interfaccia verso JavaScript tramite wasm-bindgen; la rasterizzazione è su WebGL2 (GPU).
Il parser legge l'RS-274X — aperture e macro, comandi D01/D02/D03, polarità dark/clear (LPD/LPC), regioni dei pour (G36/G37) — e l'Excellon dei fori.
Le regioni di riempimento sono risolte con operazioni booleane e triangolate in poligoni; gli archi sono approssimati per tassellazione.
Ogni layer è rasterizzato in un proprio framebuffer. Le aree a polarità clear vengono sottratte, così le clearance scavano il rame e restano leggibili anche dentro un pour.
I framebuffer dei layer si compongono sul canvas con trasparenza per layer, in modalità additiva o piena.
Il parsing dei Gerber gira in un Web Worker, così l'interfaccia non si blocca su board complesse. Il contesto WebGL2 è persistente: pan/zoom, misure punto-punto (mm/mil/pollici) e selezione degli elementi via hit-testing.