SolidCraft is een open-source parametrische 3D CAD-applicatie, volledig ontwikkeld in Rust. De software biedt uitgebreide functionaliteiten voor het maken van technische ontwerpen, waaronder:
- Parametrisch modelleren: Gebruikers kunnen schetsen maken met een krachtige constraint-solver en deze omzetten in solids via een bewerkbare tijdlijn.
- Geavanceerde features: De applicatie ondersteunt assemblages, complexe geometrieën (zoals extrude, revolve en loft), en specifieke tools voor plaatwerk (sheet metal).
- Compatibiliteit: SolidCraft is beschikbaar voor Windows, macOS, Linux en via de browser. Het ondersteunt een breed scala aan import- en exportformaten, waaronder STEP, IGES, STL en 3MF.
- Architectuur en Automatisering: De software is opgebouwd uit een gelaagde architectuur (L0-L5). Naast de GUI is er een headless CLI beschikbaar en een MCP-server, waardoor AI-agents het modelleringsproces kunnen automatiseren.
- Hardware-ondersteuning: Er is native ondersteuning voor 3D-muizen (zoals SpaceMouse) voor een efficiëntere navigatie in de 3D-ruimte.
De software is gelicentieerd onder MIT/Apache-2.0 en is ontwikkeld volgens clean-room principes.
SolidCraft: Een open-source parametrische 3D CAD-applicatie
Installatie en Toegang
Desktop
- Windows: Download en start de installer. Er zijn ook versies beschikbaar voor ARM64 en 32-bit PC's, of als een portable zip-bestand dat zonder installatie werkt. Installatie is mogelijk via WinGet:
winget install bherbruck.SolidCraft.
- macOS: Open het disk image en sleep SolidCraft naar de applicatiesmap (ondersteunt zowel Apple Silicon als Intel).
- Linux: Download het AppImage en maak dit uitvoerbaar. Daarnaast zijn er
.deb (Ubuntu, Debian, Mint) en .rpm (Fedora, openSUSE) pakketten beschikbaar, of installatie via Flatpak. Via Snap: sudo snap install solidcraft. Voor ARM64 zijn AppImage, .deb en .rpm beschikbaar.
Let op: De downloads zijn nog niet ondertekend. Op Windows kan SmartScreen een waarschuwing geven; kies in dat geval voor "Meer informatie" en dan "Toch uitvoeren". Op macOS moet u de eerste keer met de rechtermuisknop op SolidCraft in Applicaties klikken en "Open" kiezen.
Web
De applicatie kan direct in de browser worden gebruikt zonder installatie.
Documentatie en Community
- Documentatie: Het SolidCraft-boek (gebruikershandleiding, ontwikkelaarshandleiding en commandoreferentie).
- Community: Gebruikers en bijdragers kunnen communiceren via Discord.
---
Functionaliteiten
Schetsen en Constraints
- Schetsen: Ondersteuning voor schetsen op oorsprongsvlakken, offset-vlakken of vlakke gezichten. Beschikbare elementen zijn onder andere lijnen, rechthoeken, cirkels, bogen, polygonen, slots, ellipsen, fit/control splines, conica en tekst. Daarnaast zijn er functies voor constructiegeometrie, projectie, trimmen, fillets en chamfers.
- Constraints en Solver: De eigen solver van SolidCraft beheert de randvoorwaarden.
- Vaste posities: Punten worden exact geplaatst via constructie (loci-intersecties en rigid-cluster decompositie).
- Numerieke oplossing: Levenberg–Marquardt lost de overige variabelen op; de rang van de Jacobiaan geeft de resterende vrijheidsgraden aan.
- Ondersteunde constraints: Coincident, punt op curve, horizontaal/verticaal, parallel, loodrecht, tangent, kromming (G2), gelijk, concentrisch, collinear, middenpunt, symmetrie en fix.
- Dimensies: Lineair, uitgelijnd, horizontaal, verticaal, punt-naar-lijn, straal, diameter, hoek, boogbreedte, booglengte en slotlengte, aangestuurd door parameters.
- Interactie: Verslepen (dragging) lost de schets per frame op en bouwt het model opnieuw op zodra de actie eindigt.
Parametrische Features
Het model wordt opgebouwd via een parametrische tijdlijn. De tijdlijn wordt incrementeel herbouwd en features kunnen worden bewerkt, onderdrukt, hernoemd, herordend of verwijderd.
Ondersteunde features:
- Extrude, revolve, sweep, loft.
- Fillet/chamfer, shell, draft.
- Gaten, schroefdraad, patterns, mirror, split, combine, move en constructiegeometrie.
Parameters en Assemblages
- Parameters: Ondersteuning voor configuraties met eenheid-bewuste expressies (bijv.
2 * width + 5 mm, angle / 2), geordende regels en materiaaldefinities per rij.
- Assemblages: Ondersteuning voor geneste componenten en occurrences, joints, motion studies, contact sets, interferentie en massa-eigenschappen op basis van materiaal.
Plaatwerk (Sheet Metal)
Functionaliteiten voor plaatwerk omvatten:
- Flanges, hems, fold/unfold/refold.
- Materiaaluitsparingen, flat patterns en behoud van ondiepe prismatische zakken.
- Exacte lijn/boog/cirkel DXF-outlines en buigtabellen.
- Specifieke functies en regels voor plastic behuizingen.
Bestandsbeheer en Import/Export
- Bestandsformaten: Ontwerpc conteneders (
.solidcraft) met lossless binary mesh payloads. Plain JSON wordt ondersteund voor openen, "Opslaan als" en export.
- Export:
- STEP: AP242 met lichaamsnamen, kleuren en componenten als assemblages.
- IGES 5.3: Manifold solid B-reps met namen en kleuren.
- Overig: 3MF, STL (binair/ASCII), OBJ en URDF voor robot-simulatoren.
- DXF: Export van de huidige weergave (Current View) met opties voor verborgen randen en camerastandpunten.
- Import:
- STEP: AP203/AP214/AP242 solids, assemblages, eenheden, namen en kleuren.
- IGES: Manifold solid B-reps of getrimde en begrensde oppervlakken.
- Mesh: 3MF, STL, OBJ en glTF 2.0 importeren als mesh-bodies. De opdracht
mesh.convert kan gesloten constant-section delen reconstrueren als parametrische solids.
- Overig: FreeCAD
.FCStd en Rhino .3dm solids via cadmpeg.
Rendering en Weergave
- Visueel: Opaque oppervlakken kunnen metaalfractie, ruwheid en dielektrische IOR gebruiken in de viewport en CPU-preview PNG's.
- Tessellatie: Gebruik van een eigen tessellatie-planner voor waterdichte meshes. Facets volgen de chord-tolerantie, de facet-hoek en een maximale zijde.
- Prestaties: De planning en evaluatie van de 78 referentie-bodies duurt ongeveer 65 ms, wat 50–65× sneller is dan de vorige mesher.
---
Software-architectuur en Tools
Applicatie-interfaces
- Desktop App (egui + wgpu): Bevat toolbar, workspace tabs, browser, tijdlijn, 3D-viewport met navigatie, schetsgereedschappen, feature-dialogen en een command palette.
- Headless CLI (
solidcraft-cli): Voor het uitvoeren van scripts, metingen (volume, oppervlakte, zwaartepunt), export en rendering van PNG-snapshots.
- MCP Server (
solidcraft-cli mcp): Een Model Context Protocol server die AI-agents in staat stelt om headless of via de app te modelleren en te meten.
Technische Architectuur
De software is opgebouwd in verschillende lagen:
| Laag | Crates | Rol |
| L0 | geom | Vectoren, vlakken, profielen, meshes en hun metingen |
| L1 | sketch, kernel, render | Constraint solver en profielen; de B-rep kernel boundary (truck); weergave-wiskunde en headless scene description |
| L2 | doc | Parameters, expressies, de feature tijdlijn en incrementele evaluatie |
| L3 | io | Ontwerpbestanden, export (STL/OBJ/STEP/3MF), import (STEP/3MF/STL/OBJ/glTF) |
| L4 | engine | De sessie en het command registry (alles is een command) |
| L5 | gpu, ui-egui, mcp | Compute-shader evaluatie van tessellatie-plannen; desktop front-end; MCP server |
3D-muis Ondersteuning
SolidCraft ondersteunt 3D-muizen (zoals 3Dconnexion SpaceNavigator of SpaceMouse) via HID multi-axis controller interfaces.
- Windows: Volgt 3DxWare profielen.
- Linux: Leest via
spacenavd of direct via /dev/hidrawN (vereist udev-regels voor toegang).
- Web: Ondersteuning via de browser (Firefox vereist 3DxWare instellingen).
---
Bouwen en Uitvoeren
Voor ontwikkelaars zijn de volgende Cargo-commando's relevant:
# Desktop app met een voorbeeldonderdeel
cargo run --release -p solidcraft -- --sample
# De command registry via de CLI
cargo run --release -p solidcraft-cli -- commands
# Uitvoeren van een script en export naar STEP
cargo run --release -p solidcraft-cli -- run examples/bracket.json --out bracket.step
# Maken van een snapshot (PNG)
cargo run --release -p solidcraft-cli -- snapshot examples/bracket.json --out bracket.png
# Renderen van een productafbeelding
cargo run --release -p solidcraft-cli -- render examples/render-studio.json --out product.png
# Een STEP-bestand openen als nieuw ontwerp
cargo run --release -p solidcraft -- part.step
# Een geïmporteerd STEP-bestand meten
cargo run --release -p solidcraft-cli -- eval part.step
# CI-taken (fmt, clippy, tests, etc.)
cargo xtask ci
AI-automatisering (MCP)
De solidcraft-cli mcp server maakt het mogelijk voor AI-agents (zoals Claude Code) om tools te gebruiken zoals listcommands, execute, batch, inspectdesign, measure, bodytopology, setparameter, screenshot, export, undo, redo, new_design, open en save.
---
Bijdragen en Licentie
Bijdragen
Gebruikers die bekend zijn met Autodesk Fusion zullen de workflows van SolidCraft herkennen: constrained sketches, solid features, een bewerkbare tijdlijn, parameters en assemblages. Details over het bouwen, testen en de code-structuur staan in CONTRIBUTING.md.
Licentie
SolidCraft is beschikbaar onder de MIT of Apache-2.0 licentie. De software is ontwikkeld volgens "clean-room" regels.
SolidCraft is onafhankelijk en is niet gelieerd aan, gesponsord door of onderschreven door Autodesk. Autodesk en Fusion zijn handelsmerken van Autodesk, Inc.
SolidCraft: Een open-source parametrische 3D CAD-applicatie
Installatie en Toegang
Desktop
- Windows: Download en start de installer. Er zijn ook versies beschikbaar voor ARM64 en 32-bit PC's, of als een portable zip-bestand dat zonder installatie werkt. Installatie is mogelijk via WinGet:
winget install bherbruck.SolidCraft.
- macOS: Open het disk image en sleep SolidCraft naar de applicatiesmap (ondersteunt zowel Apple Silicon als Intel).
- Linux: Download het AppImage en maak dit uitvoerbaar. Daarnaast zijn er
.deb (Ubuntu, Debian, Mint) en .rpm (Fedora, openSUSE) pakketten beschikbaar, of installatie via Flatpak. Via Snap: sudo snap install solidcraft. Voor ARM64 zijn AppImage, .deb en .rpm beschikbaar.
Let op: De downloads zijn nog niet ondertekend. Op Windows kan SmartScreen een waarschuwing geven; kies in dat geval voor "Meer informatie" en dan "Toch uitvoeren". Op macOS moet u de eerste keer met de rechtermuisknop op SolidCraft in Applicaties klikken en "Open" kiezen.
Web
De applicatie kan direct in de browser worden gebruikt zonder installatie.
Documentatie en Community
- Documentatie: Het SolidCraft-boek (gebruikershandleiding, ontwikkelaarshandleiding en commandoreferentie).
- Community: Gebruikers en bijdragers kunnen communiceren via Discord.
---
Functionaliteiten
Schetsen en Constraints
- Schetsen: Ondersteuning voor schetsen op oorsprongsvlakken, offset-vlakken of vlakke gezichten. Beschikbare elementen zijn onder andere lijnen, rechthoeken, cirkels, bogen, polygonen, slots, ellipsen, fit/control splines, conica en tekst. Daarnaast zijn er functies voor constructiegeometrie, projectie, trimmen, fillets en chamfers.
- Constraints en Solver: De eigen solver van SolidCraft beheert de randvoorwaarden.
- Vaste posities: Punten worden exact geplaatst via constructie (loci-intersecties en rigid-cluster decompositie).
- Numerieke oplossing: Levenberg–Marquardt lost de overige variabelen op; de rang van de Jacobiaan geeft de resterende vrijheidsgraden aan.
- Ondersteunde constraints: Coincident, punt op curve, horizontaal/verticaal, parallel, loodrecht, tangent, kromming (G2), gelijk, concentrisch, collinear, middenpunt, symmetrie en fix.
- Dimensies: Lineair, uitgelijnd, horizontaal, verticaal, punt-naar-lijn, straal, diameter, hoek, boogbreedte, booglengte en slotlengte, aangestuurd door parameters.
- Interactie: Verslepen (dragging) lost de schets per frame op en bouwt het model opnieuw op zodra de actie eindigt.
Parametrische Features
Het model wordt opgebouwd via een parametrische tijdlijn. De tijdlijn wordt incrementeel herbouwd en features kunnen worden bewerkt, onderdrukt, hernoemd, herordend of verwijderd.
Ondersteunde features:
- Extrude, revolve, sweep, loft.
- Fillet/chamfer, shell, draft.
- Gaten, schroefdraad, patterns, mirror, split, combine, move en constructiegeometrie.
Parameters en Assemblages
- Parameters: Ondersteuning voor configuraties met eenheid-bewuste expressies (bijv.
2 * width + 5 mm, angle / 2), geordende regels en materiaaldefinities per rij.
- Assemblages: Ondersteuning voor geneste componenten en occurrences, joints, motion studies, contact sets, interferentie en massa-eigenschappen op basis van materiaal.
Plaatwerk (Sheet Metal)
Functionaliteiten voor plaatwerk omvatten:
- Flanges, hems, fold/unfold/refold.
- Materiaaluitsparingen, flat patterns en behoud van ondiepe prismatische zakken.
- Exacte lijn/boog/cirkel DXF-outlines en buigtabellen.
- Specifieke functies en regels voor plastic behuizingen.
Bestandsbeheer en Import/Export
- Bestandsformaten: Ontwerpc conteneders (
.solidcraft) met lossless binary mesh payloads. Plain JSON wordt ondersteund voor openen, "Opslaan als" en export.
- Export:
- STEP: AP242 met lichaamsnamen, kleuren en componenten als assemblages.
- IGES 5.3: Manifold solid B-reps met namen en kleuren.
- Overig: 3MF, STL (binair/ASCII), OBJ en URDF voor robot-simulatoren.
- DXF: Export van de huidige weergave (Current View) met opties voor verborgen randen en camerastandpunten.
- Import:
- STEP: AP203/AP214/AP242 solids, assemblages, eenheden, namen en kleuren.
- IGES: Manifold solid B-reps of getrimde en begrensde oppervlakken.
- Mesh: 3MF, STL, OBJ en glTF 2.0 importeren als mesh-bodies. De opdracht
mesh.convert kan gesloten constant-section delen reconstrueren als parametrische solids.
- Overig: FreeCAD
.FCStd en Rhino .3dm solids via cadmpeg.
Rendering en Weergave
- Visueel: Opaque oppervlakken kunnen metaalfractie, ruwheid en dielektrische IOR gebruiken in de viewport en CPU-preview PNG's.
- Tessellatie: Gebruik van een eigen tessellatie-planner voor waterdichte meshes. Facets volgen de chord-tolerantie, de facet-hoek en een maximale zijde.
- Prestaties: De planning en evaluatie van de 78 referentie-bodies duurt ongeveer 65 ms, wat 50–65× sneller is dan de vorige mesher.
---
Software-architectuur en Tools
Applicatie-interfaces
- Desktop App (egui + wgpu): Bevat toolbar, workspace tabs, browser, tijdlijn, 3D-viewport met navigatie, schetsgereedschappen, feature-dialogen en een command palette.
- Headless CLI (
solidcraft-cli): Voor het uitvoeren van scripts, metingen (volume, oppervlakte, zwaartepunt), export en rendering van PNG-snapshots.
- MCP Server (
solidcraft-cli mcp): Een Model Context Protocol server die AI-agents in staat stelt om headless of via de app te modelleren en te meten.
Technische Architectuur
De software is opgebouwd in verschillende lagen:
| Laag | Crates | Rol |
| L0 | geom | Vectoren, vlakken, profielen, meshes en hun metingen |
| L1 | sketch, kernel, render | Constraint solver en profielen; de B-rep kernel boundary (truck); weergave-wiskunde en headless scene description |
| L2 | doc | Parameters, expressies, de feature tijdlijn en incrementele evaluatie |
| L3 | io | Ontwerpbestanden, export (STL/OBJ/STEP/3MF), import (STEP/3MF/STL/OBJ/glTF) |
| L4 | engine | De sessie en het command registry (alles is een command) |
| L5 | gpu, ui-egui, mcp | Compute-shader evaluatie van tessellatie-plannen; desktop front-end; MCP server |
3D-muis Ondersteuning
SolidCraft ondersteunt 3D-muizen (zoals 3Dconnexion SpaceNavigator of SpaceMouse) via HID multi-axis controller interfaces.
- Windows: Volgt 3DxWare profielen.
- Linux: Leest via
spacenavd of direct via /dev/hidrawN (vereist udev-regels voor toegang).
- Web: Ondersteuning via de browser (Firefox vereist 3DxWare instellingen).
---
Bouwen en Uitvoeren
Voor ontwikkelaars zijn de volgende Cargo-commando's relevant:
# Desktop app met een voorbeeldonderdeel
cargo run --release -p solidcraft -- --sample
# De command registry via de CLI
cargo run --release -p solidcraft-cli -- commands
# Uitvoeren van een script en export naar STEP
cargo run --release -p solidcraft-cli -- run examples/bracket.json --out bracket.step
# Maken van een snapshot (PNG)
cargo run --release -p solidcraft-cli -- snapshot examples/bracket.json --out bracket.png
# Renderen van een productafbeelding
cargo run --release -p solidcraft-cli -- render examples/render-studio.json --out product.png
# Een STEP-bestand openen als nieuw ontwerp
cargo run --release -p solidcraft -- part.step
# Een geïmporteerd STEP-bestand meten
cargo run --release -p solidcraft-cli -- eval part.step
# CI-taken (fmt, clippy, tests, etc.)
cargo xtask ci
AI-automatisering (MCP)
De solidcraft-cli mcp server maakt het mogelijk voor AI-agents (zoals Claude Code) om tools te gebruiken zoals listcommands, execute, batch, inspectdesign, measure, bodytopology, setparameter, screenshot, export, undo, redo, new_design, open en save.
---
Bijdragen en Licentie
Bijdragen
Gebruikers die bekend zijn met Autodesk Fusion zullen de workflows van SolidCraft herkennen: constrained sketches, solid features, een bewerkbare tijdlijn, parameters en assemblages. Details over het bouwen, testen en de code-structuur staan in CONTRIBUTING.md.
Licentie
SolidCraft is beschikbaar onder de MIT of Apache-2.0 licentie. De software is ontwikkeld volgens "clean-room" regels.
SolidCraft is onafhankelijk en is niet gelieerd aan, gesponsord door of onderschreven door Autodesk. Autodesk en Fusion zijn handelsmerken van Autodesk, Inc.