· via Hacker News – Front Page (native)
SolidCraft: open-source parametric CAD in Rust with browser and MCP support
A Show HN project called SolidCraft brings parametric 3D CAD to pure Rust, with desktop and browser builds, a custom constraint solver, and an MCP server that lets AI agents model and measure parts.
SolidCraft, a parametric 3D CAD application written entirely in Rust, has reached the front page of Hacker News as a Show HN post. According to the project's GitHub repository, it covers the full sketch, constrain and build loop of parametric modelling, runs on Windows, macOS and Linux desktops as well as in the browser, and ships a headless CLI with an MCP server so AI agents can model parts on their own.
Sketch-driven modelling with a homegrown solver
The README describes a workflow that will feel familiar to anyone who has used commercial parametric CAD. Users sketch on origin planes, offset planes or planar faces using lines, circles, arcs, polygons, slots, ellipses, splines, conics and text, then constrain the geometry. Solids are built from a feature timeline containing extrude, revolve, sweep, loft, fillet and chamfer, shell, draft, holes, threads, patterns, mirror, split, combine and move operations. The timeline rebuilds incrementally, and individual features can be edited, suppressed, renamed, reordered or deleted. In the demonstration build shown in the README, a Raspberry Pi 4 case with an M2.5 standoff pattern, port cut-outs and vent slots regenerates completely when a single height parameter changes from 24 mm to 32 mm.
The constraint solver is the project's own. Points that constraints pin down relative to known geometry are placed exactly, using loci intersections and rigid-cluster decomposition in the tradition of Owen (1991) and Fudos–Hoffmann (1997); the remainder are solved with Levenberg–Marquardt, and the rank of the solver's Jacobian exposes the leftover degrees of freedom. Supported constraints include coincident, point-on-curve, parallel, perpendicular, tangent, curvature (G2), equal, concentric, collinear, midpoint, symmetry and fix, alongside parameter-driven linear, radial, diameter, angle and arc dimensions. Over-constraining edits are rejected, and geometry turns black once fully constrained. Dragging resolves the sketch every frame and rebuilds the model once, when the drag ends.
Assemblies, sheet metal and file exchange
Beyond single parts, SolidCraft handles assemblies with nested components, joints, motion studies, contact sets, interference checks and material-aware mass properties. A sheet-metal module covers flanges, hems, fold, unfold and refold, flat patterns, bend tables and DXF output of exact line, arc and circle outlines. Parameters accept unit-aware expressions such as 2 * width + 5 mm, with ordered rules, configurations and per-row materials and appearances.
Interoperability is broad for a young project: designs export to STEP (AP242, with names, colours and assemblies, and revolved faces emitted as native analytic surfaces), IGES 5.3, 3MF, STL and OBJ. STEP and IGES files import as base features that later features can build on, mesh formats import as mesh bodies, and a Convert Mesh command reconstructs supported closed constant-section parts as parametric solids. Native designs use a .solidcraft container with lossless binary mesh payloads, with plain JSON still available.
Desktop, browser and agent runtimes
The desktop application is built with egui and wgpu and includes a command palette plus a JSON-lines control channel that external agents and tests can drive. A web version runs in the browser with no installation, and the project's CI task list includes a wasm step. Downloads cover Windows installers, macOS disk images, AppImages, .deb and .rpm packages, Flatpak, Snap, ARM64 builds and a portable zip. The builds are not yet signed, so Windows and macOS users have to bypass security warnings on first run.
The headless CLI runs command scripts, measures volume, area and centre of mass, exports files, renders PNG snapshots and replays reference recipes. Its mcp subcommand starts an MCP server through which AI agents can model, measure and inspect parts either headlessly or inside the running desktop app.
How finished is it
The project positions itself as being at an early stage but capable of handling simple parts. Of 76 public reference parts, 75 reproduce their analytic or FreeCAD-computed volume, area, centre of mass and bounding box, with the single mismatch tracked as a bug. The README is careful to note that these checks do not establish complete geometric or workflow equivalence, and open work is tracked in GitHub issues.
Why it matters
Parametric CAD has been one of the harder categories for open source to crack, and a from-scratch Rust implementation that already validates its geometry against independently computed references is a notable data point. The choice of Rust buys more than performance: the same codebase reaches the browser via WebAssembly and runs on ARM boards. The MCP server is the more unusual bet. If AI agents can genuinely sketch, constrain and measure models through a documented protocol, CAD becomes another scriptable surface for automation, and SolidCraft is positioning itself early for exactly that shift.
- #cad
- #rust
- #open-source
- #mcp
- #3d-modeling