Construct, il CAD online per la stampa 3D

Construct è un CAD 3D online gratuito per la stampa 3D, nato come esempio dal talk «Ideas are Cheap, Execution is Cheaper» del WordCamp Pisa: come funziona, come è stato costruito con Claude e come importare ed esportare STL, 3MF e OpenSCAD.

Sabato 14 novembre 2026, salirò sul palco del WordCamp Pisa con un talk che si intitola «Ideas are Cheap, Execution is Cheaper», e volevo verificare con un caso reale se la tesi reggesse anche fuori dalle slide. Così ho preso un’idea mia, di quelle che mi giravano in testa da anni davanti alla stampante 3D, cioè un CAD 3D online che mi lasciasse disegnare con semplicità anche qualcosa di più complesso di una scatola.
Sono partito dall’analisi e l’ho realizzata insieme a Claud.ia.
Quello che è venuto fuori si chiama Construct, e lo puoi provare cliccando qui: https://construct.mavida.com/

In questo articolo ti racconto come ho fatto, da dove sono partito confrontando Tinkercad, OpenSCAD, Blender e Fusion prima di scrivere una riga di codice, come funzionano importazione ed esportazione nei vari formati e in che modo un’intenzione è diventata un lavoro finito per approssimazioni successive.

Se fai il maker e trovi Fusion troppo complesso per forare una piastra, oppure usi già OpenSCAD e vorresti arrivare più in fretta a raccordi e pattern, probabilmente il progetto fa al caso tuo.



Troppo semplice o troppo complesso

Chi stampa in 3D sceglie spesso tra strumenti per principianti, che si fermano al primo raccordo, e CAD professionali, che per un coperchio chiedono sketch e vincoli: a me serviva un CAD 3D online che stesse nel mezzo.

Prima o poi ti accorgi che il modello scaricato non è mai quello che serve: la scatola è due millimetri troppo stretta, il supporto va forato altrove, il coperchio deve incastrarsi su una base già stampata. Se hai letto la storia della mia prima stampante 3D sai che da lì la domanda diventa inevitabile: con che cosa disegno?

Secondo le mie ricerche di inizio ottobre, Tinkercad lavora in cloud con un account obbligatorio, tassella i cerchi con un massimo di 64 lati e non ha raccordi o smussi veri. Fusion fa tutto, ma per forare una piastra è un po’ come prendere un’astronave per andare a comprare il pane. E poi c’è OpenSCAD, che amo perché il modello è un programma, ma che non ti lascia mai cliccare su una faccia: scrivi, rigeneri, controlli, riscrivi. Se vuoi dare un’occhiata anche agli altri strumenti trovi l’articolo sui programmi 3D gratuiti per disegnare.

Un CAD 3D online fatto per stampare

Construct è un CAD 3D online che gira nel browser, gratuito e open source: si costruisce con forme e booleane e si esporta in STL, 3MF e codice OpenSCAD.

Un CAD 3D online di questo tipo non ha bisogno di installazioni né di registrazioni: apri construct.mavida.com, il progetto si salva nel tuo browser, l’app funziona anche offline come PWA e il codice è su GitHub con licenza MIT. Il calcolo geometrico avviene sul tuo computer e vedi il risultato mentre lavori, con tempi che per un pezzo normale si misurano in millisecondi.

Interfaccia di Construct, un CAD 3D online nel browser: pendente a spirale ottenuto importando un file OpenSCAD, con albero degli oggetti e misure in millimetri
Construct con un pendente a spirale ottenuto importando un file OpenSCAD: circa 80 mila triangoli calcolati in un paio di secondi, direttamente nel browser.

Ecco che cosa c’è oggi, raggruppato per come lo usi:

  • Forme e booleane: cubo, cilindro, cono, sfera, toro, poliedri regolari, forme 2D da estrudere, testo con una trentina di font di Google Fonts, simboli, emoji e SVG; unione, differenza, intersezione, inviluppo convesso, somma di Minkowski e fori, con gli operandi visibili in trasparenza come il cancelletto di OpenSCAD.
  • Strumenti di dettaglio: raccordo, smusso e smusso angolare con anteprima dal vivo, guscio, appoggia su una faccia, allinea, specchia e misura con aggancio a vertici e spigoli.
  • Serie parametriche: lineare, a griglia o circolare; il risultato resta un gruppo «Ripetizione» di cui modifichi i parametri, non le singole copie.
  • Pattern: fori Voronoi casuali riproducibili da un seme, oppure esagoni, cerchi, rombi e triangoli, passanti o a tasca, su una o più facce.
  • Quote cliccabili: le misure X, Y e Z compaiono sull’oggetto selezionato e le digiti direttamente in millimetri.
  • Piatti di stampa: più piatti per progetto e una tendina con i preset di stampanti Bambu Lab, Prusa, Creality, Anycubic ed Elegoo.
Strumento Pattern di Construct: una piastra di 90 per 60 millimetri forata con celle Voronoi casuali, con seme, parete e arrotondamento regolabili
Lo strumento Pattern: una piastra da 90 per 60 millimetri con celle Voronoi casuali, riproducibili grazie al seme.

Il pattern Voronoi è la funzione che mi diverte di più: scegli il seme, il numero di celle, lo spessore delle pareti e l’arrotondamento, e ottieni un coperchio traforato, un pannello alleggerito o la base di una lampada. Con una Bambu Lab P1P o una P1S il piano da 256 per 256 millimetri è già quello predefinito.

L’analisi con Tinkercad, Blender e Fusion

Prima di scrivere codice ho chiesto a Claud.ia uno studio di fattibilità che mettesse a confronto Tinkercad, OpenSCAD, Blender e Fusion, per decidere che cosa doveva avere il mio CAD 3D online e che cosa poteva lasciare agli altri.

Il documento è datato 5 ottobre 2026 e si apre con la scritta «nessun codice scritto». Ho voluto partire da lì perché un’idea analizzata bene costa poco, mentre un’idea realizzata a caso costa settimane: la sintesi è in questa tabella.

Da chiChe cosa ho presoChe cosa ho lasciato
TinkercadManipolazione diretta, solido e foro, gruppi come operazioni non distruttive, allinea, specchia e ripetiCalcolo sul server, account obbligatorio, tetto ai lati dei cerchi, precisione numerica scomoda
OpenSCADAlbero parametrico serializzabile, valori esatti in millimetri, hull, estrusioni, export come codiceIl doversi scrivere tutto a mano, nessuna selezione con il mouse
BlenderArray e specchio come operazioni parametriche, l’idea di modificatori applicati in ordineEdit mode, sculpt e geometry nodes: troppo costo di interfaccia per chi vuole solo stampare
FusionPattern rettangolari e circolari parametrici, raccordi e smussi come strumenti di prima classeSketch con vincoli, kernel B-rep, STEP, assiemi e cloud: un’altra categoria di prodotto

Il principio guida si riassume in una riga: manipoli forme come in Tinkercad, ma sotto c’è sempre un albero parametrico esatto come in OpenSCAD, a cui si aggiungono operazioni prese da Blender e da Fusion. Lo studio ha messo in conto anche i compromessi: un kernel a mesh non dà raccordi esatti come un B-rep, e si ripiega su parametri di arrotondamento e strumenti dedicati.

Verdetto dello studio: una SPA accessibile da web è sufficiente per il nucleo del prodotto. Primitive, booleane, trasformazioni, anteprima ed export girano interamente nel browser, senza backend.

Sotto il cofano: manifold-3d e WebAssembly

Il cuore è manifold-3d, un kernel geometrico in C++ compilato in WebAssembly: calcola nel browser mesh sempre chiuse, cioè quello che pretendono gli slicer.

Per un CAD 3D online il kernel è la parte che decide tutto: ha licenza Apache 2.0, pesa circa mezzo megabyte di WASM ed è lo stesso kernel che OpenSCAD sta adottando come alternativa veloce a CGAL, con speedup che nelle prove della comunità vanno da dieci a cento volte (il repository è elalish/manifold). L’architettura è volutamente semplice:

  • lo store della scena (Zustand con Immer) è l’unico punto in cui il modello cambia, e ogni azione dell’utente produce un solo passo di cronologia;
  • il kernel vive in un Web Worker, riceve la scena, la traduce in oggetti manifold e restituisce le mesh senza copie, così l’interfaccia non si blocca;
  • la vista 3D usa three.js con React Three Fiber, mentre un generatore produce il codice OpenSCAD dallo stesso albero;
  • un service worker mette in cache app e WASM, quindi dopo il primo caricamento funziona anche senza rete.

Un CAD 3D online senza server di calcolo, senza account e senza dati che lasciano il tuo computer è un dettaglio che conta, soprattutto per chi lavora su modelli di cui non vuole parlare in cloud.

Importare ed esportare STL, 3MF e OpenSCAD

Questo CAD 3D online importa STL, 3MF, SVG e file OpenSCAD, ed esporta STL, 3MF e codice OpenSCAD: ogni formato risolve un problema diverso.

STL e 3MF per lo slicer

L’STL lo conoscono tutti, e Construct lo scrive in binario partendo da una mesh chiusa. Il 3MF è più interessante: porta colori, nomi degli oggetti e, con più piatti, tutti i piatti affiancati nello stesso file, con i metadati che leggono Bambu Studio e Orca Slicer (se usi Bambu Studio ritrovi i pezzi già separati). Vale anche in importazione: i 3MF di Bambu Studio, che tengono le mesh in file separati dentro il pacchetto, si leggono pezzo per pezzo con il colore del filamento.

Finestra Esporta di Construct con i tre formati: STL di un piatto, 3MF con tutti i piatti affiancati e codice OpenSCAD
La finestra Esporta di Construct: STL di un piatto a scelta, 3MF con tutti i piatti affiancati e codice OpenSCAD.

SVG: dal disegno al solido

Un file SVG diventa una forma 2D che estrudi, ruoti attorno a un asse o usi come sagoma per un foro: è il modo più rapido per trasformare un logo in un portachiavi.

OpenSCAD: il codice come formato di scambio

Con il tasto C vedi sempre, aggiornato in tempo reale, il programma OpenSCAD equivalente al modello, con dei for() veri per le serie e le celle dei pattern già calcolate, così il risultato coincide con quello dell’app. Lo copi o lo scarichi come file .scad, e se c’è del testo ottieni uno ZIP con i font usati.

Finestra Codice OpenSCAD di Construct con il codice generato dal modello, pronto da copiare o scaricare come file .scad
La finestra «Codice OpenSCAD»: il modello costruito con il mouse diventa un programma che puoi copiare, scaricare e modificare a mano.

Un estratto del codice generato per la piastra Voronoi dell’immagine precedente:

translate([0, 0, 2.5])
color([0.91, 0.29, 0.792]) {
  // ...
  for (c = cells) offset(r = 1, $fn = 32) offset(delta = -1.8) polygon(c);
  // ...
}

Il percorso funziona anche all’inverso: un file .scad si importa come codice e diventa oggetti veri, cioè forme, booleane, trasformazioni, estrusioni, testo, cicli, variabili, funzioni e moduli, e anche il codice generato da Construct si rilegge, piatti compresi.

Per chi usa già OpenSCAD

Questo CAD 3D online non vuole sostituire OpenSCAD: serve a rendere immediate le operazioni che a codice diventano laboriose, come raccordi, smussi e pattern Voronoi.

Chi scrive OpenSCAD sa quanto costa arrotondare uno spigolo: un raccordo significa ricorrere a minkowski(), che sui solidi complessi può richiedere secondi o minuti, a un hull() di sfere costruito a mano o a una libreria come BOSL2, e ogni volta devi calcolare dove tagliare. Uno smusso segue la stessa strada. In questo CAD 3D online scegli le due superfici che formano lo spigolo, regoli il raggio con l’anteprima dal vivo e confermi: il calcolo è una booleana da pochi millisecondi.

Strumento Raccordo di Construct, CAD 3D online: due superfici scelte, raggio di 6 millimetri e spigolo arrotondato con anteprima dal vivo
Lo strumento Raccordo: si scelgono due superfici, si regola il raggio in millimetri e l’anteprima mostra lo spigolo arrotondato in tempo reale.

Il pattern Voronoi è l’esempio ancora più evidente. A codice servono le celle (da calcolare o da prendere da una libreria), poi offset per le pareti, proiezioni ed estrusioni per i tagli; in Construct scegli un seme, il numero di celle e lo spessore, e lo stesso seme dà sempre lo stesso disegno. Il codice equivalente si genera comunque, con le celle già calcolate, e non resta chiuso nell’app: lo scarichi, lo apri in OpenSCAD e continui da lì.

Il flusso che uso io è questo: parto dal codice quando il modello è parametrico, importo il file in Construct, rifinisco con il mouse gli spigoli e i fori che a mano sarebbero una noia, poi esporto di nuovo il codice o direttamente il 3MF. Se vuoi ripartire da zero con il linguaggio, trovi il mio vecchio articolo OpenSCAD, il CAD per programmatori.

Dall’idea al CAD, un passo alla volta

Ho trasformato un’intenzione in un lavoro finito per approssimazioni successive: poche funzionalità alla volta, ciascuna con i suoi test, così ogni passo del CAD 3D online poggiava su qualcosa di già verificato.

Il primo commit è del 5 ottobre alle 21:57 e conteneva un POC minuscolo: qualche forma, un’anteprima, un export. Il giorno dopo, tra le 9:25 e le 14:55, sono usciti sette rilasci, dallo 0.2.0 allo 0.8.0, con l’importazione di STL e 3MF, la suite di test end-to-end con Playwright e il Raccordo con lo Smusso. Pensavo che il raccordo fosse un lavorone, e la valutazione scritta quel giorno sembrava darmi ragione, invece la prima versione era già in rete in giornata.

La regola era semplice, e l’ho messa nel file CLAUDE.md del repository perché valesse per ogni sessione: una funzione alla volta, test per quella funzione, poi versione, changelog, documentazione e commit. Prima di aggiungere qualcosa di nuovo si fanno girare tutti i test, quindi se una modifica rompe una vecchia funzione lo scopri subito e non una settimana dopo. Oggi ci sono più di 500 test unitari e oltre 130 test end-to-end, e ogni regressione che si è presentata è stata fermata da uno di questi.

Le approssimazioni successive si vedono bene in tre casi:

  • Il Pattern: è partito con il Voronoi, poi sono arrivati esagoni, cerchi, rombi e triangoli, poi più facce; il reticolo 3D, che avevo voluto per curiosità, è stato tolto perché troppo lento per un risultato poco utile.
  • La somma di Minkowski: la prima versione impiegava circa dodici secondi su un modello di prova, la seconda ha distribuito la somma sull’unione dei pezzi e la terza ha ridotto il tempo a circa due decimi di secondo.
  • L’importazione di OpenSCAD: per capire se leggeva i file nel modo giusto ho confrontato volume e ingombro con quelli calcolati da OpenSCAD in locale, e gli scarti sono rimasti sotto l’1%; il confronto ha fatto emergere due errori veri, corretti con i test che li riproducono.

A decidere restava sempre lo stesso: che cosa costruire, che cosa togliere e quando fermarmi. L’AI ha reso l’esecuzione molto più economica, ed è esattamente la tesi del talk, ma il costo si è spostato su una domanda che nessun modello fa al posto tuo, cioè a che cosa serve davvero questo strumento. È la stessa lezione dell’articolo sull’harness degli agenti AI, e se vuoi imparare a lavorare così la guida pratica a Claude Code è gratuita e in italiano.

Un POC che ha preso gusto

Il mio CAD 3D online è nato come POC per vedere fin dove potevo spingermi, e alcune cose si sono rivelate una vera goduria per il piccolo maker che vive dentro di me.

L’obiettivo iniziale era capire se un kernel in WebAssembly potesse reggere un CAD 3D online davvero usabile, e la risposta è arrivata prima del previsto. Poi ho cominciato a usarlo davvero, e queste sono le quattro cose che non vorrei più perdere:

  • Le quote cliccabili: selezioni un oggetto, clicchi sulla misura che compare nella vista e digiti i millimetri, con un lucchetto per scalare tutto in proporzione.
  • Raccordi e smussi: due clic sulle superfici, un raggio, un’anteprima immediata, senza ricordarmi dove tagliare.
  • I piatti: la scatola sul primo, il coperchio sul secondo, ciascuno con i suoi oggetti, come li stamperei davvero.
  • L’esportazione diretta in 3MF: tutti i piatti affiancati in un file che Bambu Studio e Orca aprono senza passaggi intermedi.
Scheda Piatti di Construct con due piatti di stampa, Scatola e Coperchio, e la scatola con uno spigolo raccordato nella vista 3D
I piatti di stampa in Construct: la scatola con lo spigolo raccordato sul primo piatto e il coperchio sul secondo, pronti per l’esportazione in 3MF.

Cosa manca ancora? Il disegno di profili a mano libera con linee e curve è la funzione più grande che ho in lista, e con lui le viste ortografiche, il dividi con un piano per i pezzi più grandi del piatto, le deformazioni come twist, bend e taper e i controlli di stampabilità per pareti sottili e sbalzi. Non c’è l’esportazione STEP, non ci sono vincoli geometrici né assiemi, e l’importazione di OpenSCAD non copre ancora polyhedron, import(), use e include (i casi non supportati vengono segnalati con un avviso invece di sparire in silenzio). Quali arriveranno prima dipende anche da che cosa mi chiederete.

Domande frequenti

Che cos’è Construct?

È un CAD 3D online, gratuito e open source, che gira nel browser: costruisci modelli con forme e booleane e li esporti in STL, 3MF o codice OpenSCAD per la stampa 3D.

Construct è gratuito e serve un account?

È gratuito, open source con licenza MIT e non serve nessun account: si apre su construct.mavida.com e il progetto si salva nel tuo browser.

Funziona offline?

Sì, dopo il primo caricamento: è una PWA che mette in cache l’app e il kernel WebAssembly.

Quali formati posso importare ed esportare?

In importazione STL, 3MF, SVG e file OpenSCAD (.scad); in esportazione STL, 3MF e codice OpenSCAD. Per ora non sono previsti STEP, OBJ e glTF.

Posso aprire un file di Fusion, Tinkercad o Blender?

Non direttamente: esporta da quei programmi in STL o 3MF e Construct li legge come mesh. Un modello importato come mesh si può spostare, ruotare, combinare e forare, ma non ha più i parametri originali.

Va bene per la mia stampante 3D?

Il piano di stampa è configurabile (256 per 256 millimetri di default) e ci sono preset per Bambu Lab (A1 mini, A1, P1S, P1P, X1C, H2D), Prusa, Creality, Anycubic ed Elegoo. STL e 3MF si aprono in qualsiasi slicer.

Quale CAD 3D online gratuito posso usare per stampare?

Per un uso da maker, con raccordi, smussi, pattern ed esportazione per lo slicer, Construct è un CAD 3D online che parte subito e non chiede account. Per modelli meccanici con vincoli e STEP servono ancora strumenti come Fusion.

Serve conoscere OpenSCAD per usarlo?

No. Si lavora con il mouse e il codice è un’uscita facoltativa. Se invece conosci già OpenSCAD, puoi importare un file .scad, rifinirlo con raccordi e pattern e riesportare il codice.

Si stacca il pezzo dal piatto

Un CAD 3D online costruito in qualche giorno da un’idea vera, con un metodo e con Claud.ia: la prova che eseguire costa meno di quanto pensiamo, a patto di sapere che cosa si vuole.

Se hai una stampante 3D e cerchi un CAD 3D online gratuito apri Construct, importa un tuo file .scad per vedere che cosa capisce e prova un raccordo su uno spigolo qualsiasi. Il codice, il changelog e gli studi di fattibilità sono sul repository GitHub, e se vuoi sentirmi raccontare tutta la storia (con meno pazienza per i dettagli tecnici e più aneddoti) ci vediamo a Pisa il 14 novembre. Se invece stai pensando di portare l’AI nel lavoro del tuo team senza improvvisare, possiamo parlarne in una call conoscitiva gratuita.

Intanto raccontami nei commenti che cosa disegni di solito prima di stampare e quale funzione ti farebbe cambiare strumento, e se l’articolo ti è stato utile condividilo con quel collega maker che fa ancora le scatole a mano in OpenSCAD e giura che gli piace così.

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 *