OpenSCAD, il CAD 3D per programmatori: guida in italiano

OpenSCAD spiegato in italiano: il CAD 3D gratuito in cui il modello è codice. Quale versione installare nel 2026, il primo modello commentato, il Customizer, l'export in STL e 3MF e quando affiancargli Construct.

Questo articolo su OpenSCAD è stato pubblicato per la prima volta nel 2021 e aggiornato a ottobre 2026.

Era l’estate del 2021 e da qualche settimana stavo giocando con una Elegoo Mars 2 Pro, una stampante a resina che mi stava dando grandi soddisfazioni. Fatte le primissime stampe prendendo qualche progetto da Thingiverse, avevo iniziato a sperimentare con i software di modellazione 3D e, a parte l’ottimo Tinkercad, mi stavo innamorando di OpenSCAD, che nel mio essere NERD mi permette di realizzare oggetti 3D scrivendo codice. Qualche stampante dopo, è ancora il programma che apro quando un pezzo deve avere misure precise.

In breve: OpenSCAD è un CAD 3D gratuito e open source per Windows, macOS e Linux in cui il modello non si disegna con il mouse ma si descrive con il codice, combinando forme semplici con operazioni booleane. A fine ottobre 2026 l’ultima versione stabile è ancora la 2021.01, mentre le development snapshot usano il nuovo motore Manifold e sono molto più veloci. Qui trovi quale scegliere, il primo modello commentato riga per riga, il Customizer, l’export in STL e 3MF e quando conviene affiancargli un CAD visuale.



Cos’è OpenSCAD e perché piace

OpenSCAD è un CAD solido in cui il modello è un programma: lo scrivi, premi un tasto e vedi il risultato, e ogni misura può diventare una variabile.

Il sito ufficiale lo presenta come «The Programmers Solid 3D CAD Modeller», ed è una definizione perfetta: invece di trascinare forme in una scena, scrivi istruzioni come cube(), sphere() o difference() in un editor e il programma le trasforma in un solido. Le due tecniche di base sono la geometria solida costruttiva (CSG), cioè sommare, sottrarre e intersecare forme semplici, e l’estrusione di profili 2D. È software libero con licenza GPL versione 2.

Perché piace tanto a chi programma? Perché un modello OpenSCAD è un file di testo: lo versioni con Git, lo confronti con un diff, lo commenti, lo riusi. Soprattutto è parametrico per natura: se la scatola deve essere due millimetri più larga cambi una variabile e il resto si adatta, senza ridisegnare nulla. Per i pezzi funzionali da stampare in 3D, come supporti, coperchi e adattatori, è una comodità che non si dimentica, e lo stesso codice genera dieci varianti cambiando un paio di numeri.

Il ciondolo a goccia che ho disegnato in OpenSCAD con una libreria per i raccordi: codice a sinistra, anteprima a destra
Il mio ciondolo a goccia in OpenSCAD: a sinistra il codice con le librerie incluse, a destra l’anteprima con il pattern traforato.

Quale versione installare nel 2026

Per anni la risposta è stata «la 2021.01», e ufficialmente lo è ancora: ma oggi le development snapshot sono la scelta più comoda per chi stampa in 3D.

Ho controllato le fonti ufficiali il 31 ottobre 2026: la pagina delle news e le release su GitHub indicano come ultima versione stabile la 2021.01, annunciata il 31 gennaio 2021. Una nuova stabile è in preparazione: l’issue «Cut 2026.XX Release Candidate» è aperta, le build di prova sono pronte, ma la release candidate non è ancora stata pubblicata. Nel frattempo le development snapshot escono ogni giorno (l’ultima è la 2026.10.31) e, dal 17 agosto 2025, usano come predefinito il motore geometrico Manifold al posto di CGAL, con rendering molto più rapidi.

Stabile 2021.01Development snapshot
UscitaGennaio 2021Ogni giorno (l’ultima è la 2026.10.31)
Motore 3DCGALManifold predefinito, CGAL ancora selezionabile
WindowsWindows 7 o successivoWindows 11 a 64 bit
macOSOS X 10.9 o successivomacOS 11 o successivo, anche Apple Silicon
LinuxAppImage, pacchetti della distribuzione, Snap, FlathubAppImage, Snap openscad-nightly, Flatpak beta
Per chiChi vuole la versione ufficiale e documentataChi vuole velocità e funzioni nuove

Tutto si scarica dalla pagina dei download: su Windows c’è l’installer (oppure winget install –id=OpenSCAD.OpenSCAD -e), su macOS il pacchetto dmg o Homebrew, su Linux sudo apt-get install openscad e i pacchetti delle altre distribuzioni. Io uso una snapshot, la 2025.11.30 che vedi negli screenshot, e la differenza di velocità sui modelli con tante booleane si sente eccome. Esiste anche una build sperimentale che gira nel browser grazie a WebAssembly, più lenta e senza anteprima, comoda quando sei su un computer che non è il tuo.

Il primo modello in OpenSCAD

Il primo modello in OpenSCAD è un portapenne parametrico: un cilindro, un cilindro più piccolo da sottrarre e un ciclo che distribuisce i fori.

Apri OpenSCAD, crea un file nuovo e incolla questo codice. Con F5 ottieni l’anteprima, veloce e perfetta mentre lavori; con F6 il rendering completo, quello che serve prima di esportare. Le righe in cima, con i commenti fra parentesi quadre, non sono decorazione: le usa il Customizer, che vediamo fra poco.

// Portapenne parametrico: cambia i numeri e premi F5

/* [Dimensioni] */
// Diametro esterno in millimetri
diametro = 70; // [40:5:120]
// Altezza in millimetri
altezza = 90; // [40:5:150]
// Spessore della parete
parete = 2.4; // [1.2:0.4:4]
// Quanti fori decorativi
fori = 8; // [4:1:16]

/* [Hidden] */
$fn = 96; // cerchi lisci: 96 lati

// Un modulo è un blocco riutilizzabile che produce geometria
module portapenne() {
    difference() {
        // 1. il cilindro pieno
        cylinder(d = diametro, h = altezza);
        // 2. tolgo l'interno, lasciando il fondo
        translate([0, 0, parete])
            cylinder(d = diametro - 2 * parete, h = altezza);
        // 3. fori distribuiti in cerchio
        for (i = [0 : fori - 1])
            rotate([0, 0, i * 360 / fori])
                translate([diametro / 2, 0, altezza / 3])
                    rotate([0, 90, 0])
                        cylinder(d = 10, h = parete * 4, center = true);
    }
}

portapenne();

Leggilo dal basso: l’ultima riga chiama il modulo portapenne(), che dentro un difference() prende il primo oggetto, il cilindro pieno, e gli sottrae tutti gli altri. Il secondo cilindro è più stretto di due pareti e parte da quota parete, così il fondo resta pieno; il ciclo for ruota lo stesso cilindretto attorno all’asse Z e crea i fori. La variabile speciale $fn decide quanti lati hanno i cerchi: 96 bastano per una superficie liscia anche da vicino.

OpenSCAD in italiano con il portapenne parametrico in anteprima e il Configuratore con gli slider di diametro, altezza, parete e fori
Il portapenne in anteprima nella snapshot 2025.11.30 di OpenSCAD in italiano, con il Configuratore (il Customizer) aperto a destra.

Le funzioni base da conoscere

Con tre primitive, tre trasformazioni e tre operazioni booleane si disegna la maggior parte degli oggetti funzionali che finiscono su una stampante 3D.

Le primitive 3D sono cube(), sphere() e cylinder(), che con due raggi diversi diventa un tronco di cono; per i profili 2D ci sono square(), circle() e polygon(), da estrudere con linear_extrude() o rotate_extrude(). Le trasformazioni principali sono translate(), rotate() e scale(), e si applicano all’oggetto che le segue. Tutte le misure sono in millimetri, che per la stampa 3D è esattamente quello che vuoi.

// Le primitive 3D: le misure sono in millimetri
cube([30, 20, 10]);                          // parallelepipedo 30 x 20 x 10
translate([50, 10, 10]) sphere(r = 10);      // sfera spostata con translate
translate([80, 10, 0])
    cylinder(h = 20, r1 = 10, r2 = 4);       // con due raggi diventa un cono
translate([110, 10, 10])
    rotate([0, 0, 45]) cube([14, 14, 20], center = true);  // ruotato di 45 gradi

Poi ci sono le operazioni booleane: union() unisce gli oggetti, difference() toglie dal primo tutti quelli che seguono, intersection() tiene solo la parte comune. Un trucco da tenere a mente: anteponendo # a un oggetto lo vedi evidenziato in trasparenza nell’anteprima, utilissimo per capire dove sta tagliando una differenza.

Le tre operazioni booleane di OpenSCAD, union, difference e intersection, applicate allo stesso cubo e alla stessa sfera
Lo stesso cubo e la stessa sfera con union(), difference() e intersection(): tre render reali fatti con OpenSCAD.

Attenzione a un errore classico: se metti cubo e sfera in un modulo e scrivi difference() forme();, union, difference e intersection danno tre risultati identici. Il motivo è che per difference() il modulo è un solo figlio, già unito, e non c’è niente da sottrarre: le forme vanno scritte direttamente dentro le graffe.

Moduli, parametri e Customizer

I moduli trasformano un pezzo in un componente riutilizzabile, e il Customizer trasforma le variabili in slider che chiunque può muovere senza toccare il codice.

Un modulo è un blocco di geometria con un nome e dei parametri, anche con valori predefiniti: lo scrivi una volta e lo richiami quante volte vuoi, cambiando solo quello che serve. Questo è un distanziale forato, usato tre volte con misure diverse:

// Un modulo con parametri e valori predefiniti
module distanziale(d = 12, h = 8, foro = 3.4) {
    difference() {
        cylinder(d = d, h = h, $fn = 64);
        // foro passante: parte sotto il piano e esce sopra
        translate([0, 0, -1])
            cylinder(d = foro, h = h + 2, $fn = 32);
    }
}

// Tre distanziali diversi con lo stesso modulo
distanziale();                               // tutti i valori predefiniti
translate([20, 0, 0]) distanziale(h = 12);   // più alto
translate([40, 0, 0]) distanziale(d = 10, foro = 2.9);  // per viti M2.5
Tre distanziali forati generati in OpenSCAD dallo stesso modulo con parametri diversi
Tre distanziali diversi generati in OpenSCAD dallo stesso modulo: cambiano solo i parametri passati.

Il Customizer (nell’interfaccia italiana Configuratore, dalla versione 2019.05) legge le variabili in cima al file, quelle assegnate prima della prima graffa con un valore semplice, e genera i controlli: il commento sopra la variabile diventa la descrizione, quello a fianco il tipo di controllo. // [40:5:120] produce uno slider da 40 a 120 a passi di 5, un elenco fra parentesi quadre diventa un menu a tendina, un booleano una casella.

Con /* [Dimensioni] */ raggruppi i parametri in sezioni, mentre [Hidden] nasconde quelli che non devono comparire. Le combinazioni di valori si salvano come set di parametri in un file JSON, così chi scarica il modello non deve leggere una riga di codice.

Esportare in STL e 3MF

Dopo il rendering con F6 OpenSCAD esporta STL e 3MF, i due formati che qualsiasi slicer apre senza fare storie.

Dal menu File, voce di esportazione, scegli il formato: per la stampa 3D i candidati sono STL, il formato universale, e 3MF, supportato dalla versione 2019.05 e più moderno; ci sono anche AMF e OFF, e per i disegni 2D DXF, SVG e PDF. Il file va poi nello slicer, che sia Bambu Studio, PrusaSlicer o Cura, per scegliere orientamento, supporti e materiale.

Il bello per chi programma è che si può fare tutto anche da riga di comando, senza aprire l’interfaccia: il formato lo decide l’estensione del file di uscita, con -D cambi una variabile al volo e con -p e -P usi un set di parametri del Customizer. Perfetto per generare in un colpo tutte le varianti di un modello:

openscad -o portapenne.3mf portapenne.scad
openscad -D diametro=90 -o portapenne-90.stl portapenne.scad
openscad -p portapenne.json -P grande -o portapenne-grande.stl portapenne.scad

Dove OpenSCAD fa fatica

OpenSCAD è imbattibile sui pezzi parametrici, ma raccordi, selezioni con il mouse e formati CAD professionali non sono il suo terreno.

La prima cosa che manca a chi arriva da un CAD visuale è la possibilità di cliccare su una faccia: in OpenSCAD scrivi, rigeneri, controlli e riscrivi, e ogni posizione va calcolata. Poi ci sono i raccordi: arrotondare uno spigolo significa usare minkowski(), che sui solidi complessi può richiedere parecchio tempo, un hull() di sfere costruito a mano oppure una libreria come BOSL2 o Round Anything, quella che ho usato per il ciondolo.

Con la stabile 2021.01 e il motore CGAL i rendering dei modelli pesanti possono diventare lenti, ed è il motivo principale per cui consiglio le snapshot con Manifold. Infine OpenSCAD esporta mesh e non solidi STEP, e non ha vincoli geometrici né assiemi: per la meccanica seria servono strumenti come FreeCAD o Fusion, che trovi nella mia rassegna dei programmi 3D gratuiti. E se ti incuriosisce l’idea di far modellare un’AI al posto tuo, ho raccontato l’esperimento con Blender MCP.

OpenSCAD e Construct, insieme

Construct è il CAD online che ho scritto per la stampa 3D: non sostituisce OpenSCAD, ma importa ed esporta il suo codice e rende immediate le operazioni che a mano sono noiose.

Proprio la fatica dei raccordi mi ha spinto a realizzare insieme a Claud.ia Construct, il CAD online per la stampa 3D, che puoi aprire subito su construct.mavida.com: gira nel browser, è gratuito, open source e non chiede account. Lavori con il mouse, con forme e booleane come in Tinkercad, ma sotto c’è un albero parametrico esatto come in OpenSCAD, e il kernel è manifold-3d, lo stesso motore che OpenSCAD usa nelle snapshot.

Il legame più utile è il codice: Construct importa un file .scad e lo trasforma in oggetti veri, e in qualsiasi momento ti mostra il programma OpenSCAD equivalente al modello, da copiare o scaricare. Il mio flusso è questo: parto dal codice quando il pezzo è parametrico, rifinisco in Construct spigoli, smussi e pattern Voronoi, poi esporto di nuovo il codice o direttamente il 3MF. Una cautela: l’importazione non copre ancora include, use, import() e polyhedron, quindi un progetto come il ciondolo, che include una libreria, va prima semplificato.

Imparare OpenSCAD in italiano

La documentazione ufficiale è in inglese, ma per i primi passi esistono ottime risorse in italiano, e alcune di quelle che segnalavo nel 2021 sono ancora lì.

Nel 2021 avevo appuntato qui i tutorial che mi erano stati utili per iniziare. Alcuni nel frattempo sono spariti, ma i migliori resistono, e li ho affiancati alle fonti ufficiali:

Con questo sarai sicuramente in grado di muovere i primi passi, creando progetti anche di una certa complessità. E se la stampante non ce l’hai ancora, parti dalla storia della mia prima stampante 3D.

Premi F6 e vai a stampare

OpenSCAD resta il CAD 3D più adatto a chi pensa in codice: quattro righe ben scritte valgono più di dieci modelli scaricati e adattati a mano.

Se programmi, OpenSCAD ti ripaga dal primo giorno: installa una snapshot, copia il portapenne, muovi gli slider del Customizer e stampalo. Quando ti accorgi che stai scrivendo la quinta funzione per arrotondare uno spigolo, prova a importare il file in Construct e fai fare al mouse la parte noiosa. E se vuoi portare questo modo di lavorare, codice, parametri e un pizzico di AI, nei progetti della tua azienda, possiamo parlarne in una call conoscitiva.

Ora tocca a te: qual è il primo oggetto che hai disegnato in OpenSCAD, e quale funzione ti ha fatto perdere più tempo? Raccontamelo nei commenti, e se hai un collega sviluppatore che guarda la tua stampante 3D con un misto di invidia e sospetto, giragli questo articolo: scoprirà che per disegnare un pezzo basta un editor di testo.

Domande frequenti

Le domande più comuni su OpenSCAD, con risposte brevi.

Che cos’è OpenSCAD?

OpenSCAD è un CAD 3D gratuito e open source in cui il modello si descrive con un linguaggio di scripting invece di disegnarlo con il mouse: primitive, operazioni booleane, trasformazioni ed estrusioni di profili 2D. È molto usato per la stampa 3D perché ogni misura può diventare un parametro.

OpenSCAD è gratuito?

Sì. È software libero rilasciato con licenza GPL versione 2 e gira su Windows, macOS e Linux. Non servono account né abbonamenti.

OpenSCAD è in italiano?

L’interfaccia è tradotta in italiano (il Customizer, per esempio, si chiama Configuratore), mentre la documentazione ufficiale è soprattutto in inglese. Per partire in italiano ci sono il wikibook «OpenSCAD/Primi passi» e un manuale tradotto da Giuseppe Tamanini, che trovi nella sezione dedicata.

Qual è l’ultima versione di OpenSCAD?

A fine ottobre 2026 l’ultima versione stabile è ancora la 2021.01. Gli sviluppatori stanno preparando una nuova release candidate, mentre le development snapshot escono ogni giorno e usano il motore Manifold, molto più veloce.

Quali file esporta OpenSCAD per la stampa 3D?

Per i modelli 3D esporta STL, 3MF (dalla versione 2019.05), AMF e OFF; per i disegni 2D DXF, SVG e PDF. STL e 3MF si aprono in qualsiasi slicer.

Meglio OpenSCAD o Tinkercad per iniziare?

Se non hai mai scritto codice, Tinkercad o un CAD visuale come Construct ti fanno arrivare prima al primo pezzo. Se programmi già, OpenSCAD ti ripaga subito: un modello scritto bene si adatta a nuove misure cambiando un numero.

Maurizio Pelizzone

Maurizio Pelizzone

Sono Maurizio Pelizzone, sviluppatore WordPress da oltre vent'anni e consulente di intelligenza artificiale a Torino, co-fondatore di Mavida. Realizzo plugin e integrazioni su misura per WordPress e WooCommerce, automazioni dei processi con n8n e agenti AI, e tengo corsi e workshop su Claude Code, prompt engineering e vibe coding, in presenza a Torino o da remoto. Sono speaker ai WordCamp e autore della guida gratuita in italiano a Claude Code; se vuoi parlarmi di un progetto puoi prenotare una call conoscitiva.

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *