SolidCraft is open-source parametric 3D CAD in Rust: sketch, constrain, extrude, and change a parameter to watch the timeline rebuild. Website · documentation · try it in the browser · Discord · issues.
Why 0.16: a minor release with Italian and Polish, a more capable agent chat (pop-out window, file and picture attachments), smoother sketching, boundary surfaces through curve networks, custom colour themes, many modelling fixes, and a new design file format (27). If you're on 0.14.0 or older, download this one by hand: the in-app update check in those versions doesn't follow the move to tangency-labs. From 0.15.0 on it does (#2141).
New
- Sketch: fillet and chamfer show a live preview of the rounded corner (#2044); dragging moves only what the constraints need, not the whole sketch (#2060); open and untied profile ends are marked (#2001); a dimension shows its name, and double-clicking another dimension puts its name into the expression (#1548).
- Modelling: Boundary Surface through loops of three or four curves and through curve networks (#2129); an extrude taper works together with a start offset (#2313); a single hole follows its sketch point (#2336); Offset Plane opens at 0 mm (#2338); Rectangular Pattern has its own drag arrow for the second direction's spacing (#2463); extruding many profiles at once is much faster (#2064).
- Agent chat: pop it out into its own window and dock it back (#1745); attach files and pictures to a message (#1744), shown in the shared picture viewer in any format (#2554); Send stays in view for long messages (#2225).
- Look and feel: custom colour themes from theme files, with Gruvbox built in (#2405); hidden items grey out in the browser, and folders keep their own visibility (#2308); the toolbar fills the available width (#2109); plastic dialogs show units on their fields (#2107).
- Navigation: Preferences ▸ reverse horizontal pan (#2047); with Orbit around: point under the cursor, orbiting over empty space pivots about the view centre (#2142); 3D mice on macOS through the 3Dconnexion driver (#1815).
- Browser app: self-host it with Docker; the image is published to ghcr.io (#2033).
- Languages: Italian and Polish, plus Spanish (Spain), French, Japanese and Chinese updates (#1941, #2032, #2101, #2203, #2092).
Fixed
- Booleans and extrudes: a cut keeps a body that was joined from separate pieces as one body (#2247, #2540); an extrude side drawn as collinear pieces is one face (#1949); rib extensions on curved bases join (#2082); Rib/Web grows along the sketch normal (#2057); a revolve profile that returns to the axis along a curve, and cuts with it (#1866); sweeps close circular tools before cutting a torus (#2010); face names keep their history when a prism boolean meets stacked cylinder pieces (#2205).
- Assemblies: joint origins resolve by the named face and keep a hole's end and the turn (#2187); Save As to a new name keeps an assembly's warm caches (#2120).
- STEP: trims and spline projection in some STEP files (#2043).
- Sketch: an arc's sweep box no longer covers its end-point pick (#2242).
- Viewport and app: a surface the GPU fails to reconfigure is retried instead of crashing (#1966); the grid no longer flips walls at 45° with Grid follows the view on (#2050); no per-frame mesh copies in the timeline (#1907); choosing a font in Preferences no longer collapses the window (#2221); a design with very large item numbers no longer crashes when a group is added (#1589).
- Browser app: a launch behind an expired sign-in shows the sign-in page instead of the kept build (#2151).
Compatibility
Designs saved by 0.16.0 use file format 27 and don't open in 0.15.x or earlier. Older designs open and rebuild as before.
Thanks
Thank you to everyone who contributed to this release: @0xlillith, @acbrazzl, @amolinari-autotex, @CamWight, @carlymx, @crono2250, @cyryllo, @DuBearte, @fkirill, @fugazister, @H1D, @HiroKenEz, @Ian-cmd-ops, @jeremymiribung-blip, @jijinbei, @jyviko, @Karl-VonRichter, @Koschtetnix, @lasselian, @Loohi, @martinpalsson, @morelandjo, @moritzuehling, @N3MI-DG, @n0tfr3shm1lk, @Nathan-Dane, @NecroKote, @nofuturekid, @NOWN-DEV, @onembyte, @pablopeza, @Rec0iL, @rlartot, @rpromas, @spuder, @SychPL, @Vittuu and @yutyan0119.