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:

LaagCratesRol
L0geomVectoren, vlakken, profielen, meshes en hun metingen
L1sketch, kernel, renderConstraint solver en profielen; de B-rep kernel boundary (truck); weergave-wiskunde en headless scene description
L2docParameters, expressies, de feature tijdlijn en incrementele evaluatie
L3ioOntwerpbestanden, export (STL/OBJ/STEP/3MF), import (STEP/3MF/STL/OBJ/glTF)
L4engineDe sessie en het command registry (alles is een command)
L5gpu, ui-egui, mcpCompute-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.