Descrivi il pezzo, l'AI lo disegna: il CAD di Reactive diventa un configuratore
Cinque giorni fa la direttiva :::cad ha portato i pezzi 3D parametrici nel
browser. Oggi fa il salto di categoria: da
generatore a configuratore interattivo, con una novità che cambia il modo
stesso di progettare — descrivi il pezzo in linguaggio naturale, e l’AI
scrive il codice OpenSCAD per te.
Gli slider arrivano da soli
OpenSCAD ha da sempre una sintassi standard per dichiarare i parametri regolabili, le annotazioni del customizer. Ora Reactive le legge e costruisce i controlli da solo:
:::cad{data="scatole"}
```
w = 30; // [10:100]
spessore = 2.4; // [0.8:0.4:5]
tipo = "esa"; // [esa, tondo, quadro]
coperchio = true;
cube([w, w, 20]);
```
:::
w diventa uno slider da 10 a 100, spessore uno slider con passo 0.4,
tipo un menu, coperchio un toggle. Trascini, e il pezzo si
rigenera — senza perdere l’inquadratura: la camera resta dov’era, il pezzo
cambia sotto i tuoi occhi. Il form collegato alla collezione resta il posto
delle configurazioni salvate: aggiungi una riga e gli slider saltano ai suoi
valori.
Misure, volume e grammi di filamento
Sotto l’anteprima ora c’è una chip con l’ingombro del pezzo, il volume
e il peso stimato in PLA — utile per capire al volo quanto filamento
costerà la stampa. E il download è più onesto: l’anteprima gira in modalità
veloce ($preview, come l’F5 di OpenSCAD), mentre “Scarica STL” fa sempre un
render finale a qualità piena.
Dal 3D al taglio laser: mode="2d"
Non tutto si stampa: molto si taglia. Con mode="2d" la direttiva accetta
geometrie piane (square, circle, polygon, projection()…) e al posto
dell’STL esporta SVG e DXF, i formati che le lasercutter e le fresa CNC
si aspettano:
:::cad{mode="2d"}
```
lato = 40; // [20:120]
difference() {
square([lato, lato/2], center=true);
circle(d=lato/4);
}
```
:::
Stessa reattività, stessi slider, anteprima SVG con le misure in millimetri.
Descrivi il pezzo, l’AI lo disegna
La novità più grande è la barra di progettazione assistita: con
ai="true" sotto il blocco compare un campo di testo. Scrivi “aggiungi 4
fori passanti da 3mm vicino agli angoli” e il motore AI dell’assistente —
quello che già conosci dalla chat: modello nel browser, Ollama in locale o
un’API compatibile — riscrive il codice OpenSCAD in streaming, davanti a
te.
Il bello è quello che viaggia insieme alla richiesta, senza che tu debba pensarci: il codice corrente, i valori attuali dei parametri e — se il render è fallito — l’ultimo errore di OpenSCAD. “Non compila” diventa “chiedi all’AI di sistemarlo”. E il modello è istruito a esporre le misure come annotazioni customizer: il codice generato arriva già con gli slider.
Il codice dell’AI non tocca il documento: vive accanto ai dati dell’app, e il
pulsante “Codice originale” ripristina quello dell’autore in un click. Nei
nostri test, da “aggiungi 4 fori agli angoli” sono arrivati i quattro fori
— e tre slider nuovi (hole_r, inset, extra_len) per regolarli.
C’è anche l’import di file
Un campo caricato con ::file in una collezione dichiarata in data finisce
nel filesystem del motore, e la variabile ne porta il nome: nel codice basta
import(disegno); per personalizzare un modello caricato dall’utente —
un’incisione su una base STL, una sagoma SVG da estrudere.
Tutto, come sempre, in un documento Markdown: nessun server, nessuna
installazione, e il motore OpenSCAD (~10MB) si scarica dal CDN solo al primo
uso e resta in cache per l’offline. Apri l’app,
crea un blocco :::cad e prova a chiedere un pezzo.