Cos'è Zoo.dev e la Rivoluzione del Text-to-CAD Programmabile
Nella progettazione meccanica tradizionale, la creazione di geometria CAD richiede ore di interazione manuale su software desktop complessi (SolidWorks, Autodesk Inventor, Fusion 360, PTC Creo). L'avvento dei modelli text-to-3D generici (come quelli per videogiochi o animazione) ha prodotto quasi esclusivamente mesh poligonali triangolari (file OBJ o STL), del tutto inservibili per la produzione industriale perché prive di parametri fisici, facce analitiche, fori circolari perfetti e tolleranze dimensionali.
Zoo.dev ha affrontato il problema alla radice: invece di generare poligoni grezzi, l'AI di Zoo.dev genera codice geometrico parametrico in un linguaggio proprietario open source denominato KCL (KittyCAD Language). Questo codice viene inviato al motore geometrico basato su cloud di Zoo, che calcola in tempo reale la rappresentazione B-Rep (Boundary Representation) esatta ed esporta file STEP conformi agli standard ISO.
- Geometria B-Rep e CSG Autentica: cilindri, piani, raccordi e smussi sono entità matematiche esatte, non approssimazioni sfaccettate a triangoli.
- Rappresentazione Testuale Isomorfa (KCL): ogni quota, angolo, estrusione o svuotamento corrisponde a una riga di codice leggibile e versionabile su Git.
- Infrastruttura Cloud-Native ad Alte Prestazioni: l'elaborazione kernel avviene su cluster GPU dedicati, liberando la workstation locale dal rendering gravoso.
Un file STL è un guscio vuoto: non puoi filettare un foro o misurare il raggio di curvatura di una sede per cuscinetto. Con Zoo.dev, il risultato è un solido STEP parametrico al 100%, pronto per le macchine CNC, per lo stampaggio a iniezione o per l'analisi FEM strutturale.
KCL (KittyCAD Language): Il Linguaggio per il CAD come Codice
Il cuore operativo di Zoo.dev è KCL, un linguaggio moderno progettato specificamente per esprimere relazioni geometriche dimensionali senza l'overhead dei linguaggi di programmazione generalisti come C++ o Python.
KCL adotta una sintassi fluida ispirata a Rust e TypeScript. Ogni entità viene creata tracciando sketch su piani cartesiani bidimensionali per poi applicare operatori di volume (estrusione, rivoluzione, sweep, loft, fillet, chamfer).
// Definizione delle costanti di progetto
const width = 120
const height = 80
const thickness = 15
const holeRadius = 6
// Creazione della piastra base estrusa
const basePlate = startSketchOn('XY')
|> startProfileAt([0, 0], %)
|> line([width, 0], %)
|> line([0, height], %)
|> line([-width, 0], %)
|> close(%)
|> extrude(thickness, %)
// Applicazione raccordi sui 4 spigoli verticali
const roundedPlate = fillet({
radius: 8,
tags: [getNextAdjacentEdge(basePlate)]
}, %)
// Foratura parametrica per montaggio bulloni M12
const plateWithHoles = startSketchOn(roundedPlate, 'XY')
|> circle({ center: [15, 15], radius: holeRadius }, %)
|> circle({ center: [width - 15, 15], radius: holeRadius }, %)
|> circle({ center: [width - 15, height - 15], radius: holeRadius }, %)
|> circle({ center: [15, height - 15], radius: holeRadius }, %)
|> cut(thickness, %)
A differenza di OpenSCAD (che calcola mesh poligonali), il motore di Zoo.dev trasforma questo codice in facce NURBS e corpi solidi Parasolid/STEP di precisione micrometrica.
Text-to-CAD: Dal Linguaggio Naturale al Modello Solido
La funzione più innovativa di Zoo.dev è l'endpoint Text-to-CAD. L'utente formula una richiesta in linguaggio naturale (in inglese o italiano), e il modello neurale proprietario di Zoo analizza la richiesta semantica per generare direttamente il programma KCL corrispondente.
- Analisi Semantica del Prompt: estrazione di entità (es. flangia, albero scanalato, supporto a L), quote fornite o implicite, vincoli di simmetria.
- Sintesi di Codice KCL: l'LLM specializzato genera lo script strutturato garantendo la chiusura corretta di ogni profilo 2D.
- Verifica Topologica Cloud: il motore geometrico compila il codice; se rileva auto-intersezioni o geometrie non-manifold, il sistema effettua auto-correzione in loop chiuso.
- Restituzione Multiformato: output istantaneo di codice KCL modificabile, anteprima interattiva WebGL e file STEP scaricabile.
Includi sempre le quote dimensionali chiave (interasse fori, spessore parete, raggio di curvatura) e lo scopo del componente (es. "Flangia di raccordo per tubazione DN50 con 4 fori filettati M10 su raggio di passo 65mm").
Interoperabilità Industriale: STEP, IGES, STL e glTF
Nel CAD professionale, il formato di esportazione determina se il modello può essere inviato a un centro di lavoro a 5 assi, a una macchina per taglio laser o a un reparto stampaggio.
| Formato | Tipo Geometria | Standard ISO | Applicazione Ottimale |
|---|---|---|---|
| STEP (.stp, .step) | B-Rep Esatta (Solido) | ISO 10303-214/242 | Fresatura CNC, elettroerosione, interscambio CAD con SolidWorks/Siemens NX |
| IGES (.igs) | Superfici NURBS | US National Bureau | Lavorazioni superficiali per stampi e carrozzerie complesse |
| glTF / GLB | Mesh Poligonale con PBR | Khronos Group | Visualizzazione real-time su Web, AR/VR, cataloghi digitali 3D |
| STL (.stl) | Faccettatura Triangolare | De facto Stampa 3D | Prototipazione rapida FDM/SLA/SLS; non adatto per modifiche dimensionali |
Automatizzare il CAD tramite API, Python e CI/CD
Zoo.dev espone un set completo di API RESTful e client SDK ufficiali per Python, TypeScript e Rust. Ciò consente di costruire configuratori di prodotto automatici che generano file CAD al volo in risposta alle scelte dei clienti su un portale aziendale.
import os
from kittycad.client import Client
from kittycad.models import FileExportFormat, TextToCadCreateBody
# Inizializzazione client con token API
client = Client(token=os.environ["ZOO_API_TOKEN"])
# Invio richiesta Text-to-CAD con quote variabili
prompt_meccanico = (
"Genera una staffa di supporto a L in alluminio 6061: "
"lato base 100mm, lato verticale 120mm, larghezza 50mm, spessore 10mm. "
"Aggiungi un rinforzo triangolare centrale di spessore 6mm e 2 fori di fissaggio diametro 10mm."
)
# Chiamata asincrona al cluster di calcolo
cad_job = client.ml.create_text_to_cad(
output_format=FileExportFormat.STEP,
body=TextToCadCreateBody(prompt=prompt_meccanico)
)
print(f"Job avviato con successo: {cad_job.id}")
# Il file STEP risultante è scaricabile e pronto per il CAM aziendale
Il Flusso Operativo: Dalla Generazione AI al Centro di Lavoro
Una volta ottenuto il file STEP generato da Zoo.dev, il flusso prosegue nell'ambiente di produzione CAM (Computer-Aided Manufacturing):
- 1Importazione nel CAM (Mastercam, Fusion 360, SolidCAM): Verifica delle origini assi (WCS), orientamento pezzo e riconoscimento automatico delle feature cilindriche e piane.
- 2Verifica Spessori Minimi & Raggi di Scarico: Assicurarsi che le gole e gli angoli interni presentino un raggio pari o superiore a quello della fresa più piccola prevista.
- 3Generazione Percorsi Utensile: Sgrossatura adattiva ad alta velocità, finitura pareti con frese toroidali o sferiche e cicli di foratura maschiata.
- 4Post-Processing & Macchina CNC: Generazione del programma G-Code per controlli numerici Fanuc, Heidenhain o Siemens Sinumerik.
Applicazioni Industriali Reali: Dove Zoo.dev Fa la Differenza
Nel packaging industriale e nella robotica collaborativa, ogni pinza deve adattarsi alle dimensioni del lotto di prodotti. Zoo.dev permette di generare flange adattatrici parametriche in pochi secondi partendo dalle quote dell'oggetto da manipolare.
Progettazione rapida di piastre antivibrazione, supporti per sensori LiDAR e gusci aerodinamici alleggeriti, testando decine di geometrie alternative prima di congelare il design finale.
I progettisti di officina utilizzano prompt parametrici per generare blocchi di posizionamento rapido per maschere di foratura o saldatura TIG, risparmiando fino all'80% del tempo dedicato al disegno dei dispositivi ausiliari.
Modelli di Licenza, Costi API e Proprietà del Modello
| Piano | Prezzo Mensile | Chiamate Text-to-CAD | Export STEP / API | Destinazione d'Uso |
|---|---|---|---|---|
| Free Hobby | $0 | 15 generazioni / mese | Incluso (download manuale) | Studenti, maker, studio personale di KCL |
| Pro Engineer | $29 / utente | 300 generazioni / mese | Accesso API prioritario | Studi di progettazione, ingegneri freelance |
| Enterprise Cloud | Su preventivo | Illimitate / Volume API | SLA garantito, cluster GPU privato | Aziende manifatturiere, portali e-commerce B2B |
Con i piani Pro ed Enterprise di Zoo.dev, il codice KCL e i file STEP generati rimangono di esclusiva proprietà intellettuale del cliente. I dati non vengono utilizzati per riaddestrare modelli pubblici.
Laboratori Pratici: 3 Esercizi Passo Passo
- Accedi all'editor web di Zoo.dev su zoo.dev/editor.
- Definisci le variabili: d_ext = 40, d_int = 25, length = 80, flange_d = 80.
- Esegui l'estrusione del cilindro primario e del foro coassiale tramite booleana cut().
- Crea la flangia sul piano Z=80 e posiziona i fori tramite coordinate polari o cartesiane.
- Esporta il file in formato STEP e verificalo in un visualizzatore 3D.
- Formula il prompt dettagliato nell'interfaccia AI specificando spessore 4mm e foro centrale M18.
- Analizza lo script KCL generato automaticamente da Zoo.dev.
- Modifica i fori circolari di fissaggio base trasformandoli in asole lunghe 20mm per consentire la regolazione orizzontale.
- Aggiungi nervature di irrigidimento laterali per prevenire flessioni vibrazionali.
- Installa l'SDK: pip install kittycad.
- Configura la chiave d'autenticazione ZOO_API_TOKEN.
- Implementa un ciclo che sostituisca i parametri in un template KCL.
- Esegui il batch export e salva i file in una cartella locale catalogata per data e matricola pezzo.
Glossario Tecnico & Test di Certificazione Competenze
Esito Valutazione Formativa Ufficiale
| # | Domanda | Risposta Selezionata | Esito |
|---|
Complimenti! Certificazione Conseguita
Hai superato il test di competenza su Zoo.dev, KCL e modellazione B-Rep con esito positivo (punteggio superiore o uguale al 70%). Puoi scaricare il tuo attestato formale firmato dal docente.