SolidCraft
CAD 3D parametrico open source in Rust che esporta assiemi di robot in URDF
Licenza
Apache 2.0, MIT
Panoramica
SolidCraft è un'applicazione CAD 3D parametrica open source scritta in Rust. Si disegnano schizzi con quote e vincoli, si costruiscono solidi da una timeline delle feature e, cambiando un parametro, si ricostruisce l'intero progetto. Funziona come app desktop su Windows, macOS e Linux, nel browser, come strumento a riga di comando headless e come server Model Context Protocol attraverso cui gli agenti di IA possono modellare. Il codice è su GitHub, con doppia licenza MIT o Apache-2.0, ed è mantenuto da Tangency Labs e dai collaboratori; il sito del progetto è solidcraft.io.
Per chi costruisce robot, la parte utile è che copre il percorso da un pezzo a un modello di robot. Gli assiemi supportano giunti, studi di movimento, verifiche di interferenza e proprietà di massa che tengono conto del materiale, e un assieme con giunti si esporta in URDF: ogni componente diventa un link con la sua mesh, la sua massa e la sua inerzia, e ogni giunto un giunto URDF, pronto per ROS, Gazebo, Isaac Sim, PyBullet o MuJoCo. I pezzi escono come STEP (AP242), IGES, 3MF, STL e OBJ per la stampa e la lavorazione meccanica, e file STEP, IGES e FreeCAD o Rhino entrano come solidi su cui costruire.
Il kernel geometrico si basa sui crate truck di RICOS, con licenza Apache-2.0, di cui uno incluso nel repository e modificato, mentre il risolutore dei vincoli degli schizzi è del progetto stesso. L'app desktop, l'app per browser, la CLI e il server MCP eseguono tutti lo stesso registro dei comandi, così uno script, un agente e una persona al mouse producono lo stesso progetto. Il progetto si definisce in fase iniziale ma utilizzabile per pezzi semplici: 75 dei suoi 76 pezzi di riferimento pubblici corrispondono al volume, all'area, al centro di massa e al riquadro di delimitazione calcolati analiticamente o con FreeCAD.
SolidCraft è organizzato in strati di crate Rust: la geometria, il risolutore degli schizzi e il confine del kernel B-rep su truck, il documento con i suoi parametri e la timeline incrementale delle feature, l'input e l'output dei file, e un motore in cui tutto è un comando. Sopra si trovano il front end desktop (egui e wgpu), la solidcraft-cli headless e il server MCP.
La modellazione comprende schizzi (linee, archi, spline e testo, con quote guidate da parametri), feature su una timeline modificabile (estrusione, rivoluzione, sweep, loft, raccordo, smusso, guscio, sformo, fori, filettature, serie, specchio, divisione e combinazione), parametri e configurazioni con espressioni che tengono conto delle unità, lamiera con sviluppi in piano e contorni DXF, e assiemi con giunti, studi di movimento, insiemi di contatto, interferenze e proprietà di massa.
File: esportazione in STEP (AP242 con nomi, colori e struttura dell'assieme), IGES, 3MF, STL e OBJ, e degli assiemi con giunti in URDF con una mesh STL per componente. Importazione di solidi STEP (AP203, AP214, AP242) e IGES, di formati mesh (3MF, STL, OBJ, glTF) e di solidi FreeCAD .FCStd e Rhino .3dm tramite cadmpeg.
Le release escono ogni giorno come installer per Windows, macOS e Linux (AppImage, .deb, .rpm, Flatpak e Snap), una build per FreeBSD e una build web; l'app per browser funziona su solidcraft.io/app senza installazione. solidcraft-cli mcp avvia il server MCP, headless o collegato all'app in esecuzione, così si può osservare un agente mentre lavora; il rover SELENE di 0xlillith è stato modellato interamente in questo modo.
Perché è importante
La maggior parte dei robot nasce come pezzi in un programma CAD, e i programmi a cui ricorre chi costruisce robot sono di solito commerciali, ospitati nel cloud o entrambe le cose. Uno strumento CAD completamente aperto e programmabile tramite script, che esporta un assieme con giunti direttamente in URDF, elimina un passaggio che oggi richiede spesso un convertitore separato come onshape-to-robot, e mantiene i file di progetto in un formato che chiunque può aprire. Poiché gli stessi comandi guidano l'interfaccia, gli script e un server MCP, è anche uno dei primi strumenti CAD che un agente di IA può usare per progettare pezzi di robot dall'inizio alla fine.
Il problema che risolve
Progettare un robot significa modellare pezzi e un assieme, e poi trasformare quell'assieme in un modello di simulazione. Con la maggior parte degli strumenti servono una licenza CAD commerciale e un esportatore separato verso URDF. SolidCraft fa entrambe le cose in un unico programma open source, su desktop, nel browser o in modalità headless, e consente a script e agenti di IA di eseguire le stesse operazioni di una persona.
Punti chiave
- CAD parametrico in Rust: schizzi vincolati, una timeline delle feature modificabile e parametri che ricostruiscono il progetto
- Gli assiemi con giunti si esportano in URDF, con mesh, massa e inerzia di ogni pezzo, per ROS, Gazebo, Isaac Sim, PyBullet e MuJoCo
- In uscita STEP, IGES, 3MF, STL e OBJ; in ingresso file STEP, IGES, mesh, FreeCAD e Rhino
- Un unico insieme di comandi dietro l'app desktop, l'app per browser, la CLI headless e il server MCP per agenti di IA
- Doppia licenza MIT o Apache-2.0; il kernel si basa sui crate truck con licenza Apache-2.0
A chi si rivolge
- Chi costruisce robot e progetta pezzi stampati o lavorati e vuole un'alternativa aperta al CAD commerciale
- Ricercatori e studenti che hanno bisogno di un assieme di robot con giunti in formato URDF per la simulazione
- Sviluppatori che vogliono che un agente di IA o uno script crei e modifichi modelli CAD
Limiti
- Software giovane: prima release pubblica a ottobre 2026, con release quotidiane; il progetto lo descrive come in fase iniziale ma utilizzabile per pezzi semplici
- Nessuna simulazione o analisi delle sollecitazioni e ancora nessun percorso utensile CAM; i disegni 2D sono ancora in sviluppo e oggi si esporta in DXF solo la vista corrente
- Gli installer non sono ancora firmati, quindi Windows e macOS mostrano un avviso al primo avvio
- L'esportazione URDF usa limiti predefiniti di sforzo e velocità dei giunti, a meno che non li si imposti