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.18.2: a patch release that puts back what the new ribbon interface in 0.18.0 lost, with import, modeling and sketch fixes that were ready alongside. Thanks to everyone who reported them.
Fixes for the new interface
- Parameters and Configurations are on the Model, Sheet Metal and Sketch tabs again, as well as Manage; Parameters opens without switching tabs (#3937).
- Sheet Metal is a tab in every document again, with New Sketch first and Convert to Sheet Metal in the Create menu (#3937, #3946). The Surface tab leads with New Sketch too (#3964).
- Finish Sketch is back at the bottom of the sketch palette as a full-width button (#3937), and on the Sketch tab it sits right after the last sketch panel instead of alone at the far right (#3958).
- Browser: long names end in "…" inside the card, with the full name in the tooltip (#3940).
- Solve Sketch no longer shows up in command search: sketches solve themselves after every edit (#3940).
Sketching
- Esc Esc finishes the sketch: two quick presses of Escape (within 0.4 s) finish it; with a tool out, the first press puts the tool down. A double Escape on a sketch you added nothing to removes it in one undo step, so no blank sketch is left behind. A single Escape still never leaves the sketch (#3950).
- Symmetry about a line pairs line ends by their mirror image, so a rectangle's opposite sides no longer collapse to zero height or get refused (#3029).
- 2-tangent circle starts from the circle that touches both curves instead of the click, so it no longer moves your curves or fails on fixed ones (#3210).
Import and modeling
- STEP import: a cone bounded only by its base circle reaches its point instead of coming in as a flat disc (#3871); a void written with its shell flag the other way round, as SOLIDWORKS does, reads as a cavity instead of adding its volume (#3872). A new regression sweep checks 17 parts of known shape from the step-conformance corpus on every change (#3880, #3901).
- IGES import: a B-spline curve over a tiny knot span keeps the faces it bounds (#3886); groups and subfigure instances come in as nested components, and imported parts take their product names instead of Body1 (#1609).
- Boolean: a small hole in a large body's face stays a hole when the face is divided (#2580).
- Loft: sections turning past 90 degrees no longer build a folded solid (#3452); a circle lofted to a non-star-shaped profile, such as a comb, goes round once (#3670).
- Extrude from a face rounded by fillets joins, and cuts whose walls only touch work, instead of failing after minutes (#2041).
- Pattern and mirror of a join that merged its targets keep working (#3387).
- Fillet and chamfer previews follow a radius or distance as it's dragged or typed (#3150).
Also new and fixed
- Document tabs: right-click a tab to close it, the others or all (#3152).
- Ribbon tooltips give a two-sentence help for the main tools (#3089).
- English (UK) is a language in Preferences (#2502).
- Move ▸ Point to Point can pick the origin point, in the view or in the browser (#3718).
- MCP: a failed
batchwithrollback: truerestores the original document, even afterfile.new(#3288). - File menu: Export STL… and Export 3MF… replace Save as mesh…, and command search finds mesh export by
stl,3mforprint(#3873). - Recovery: every open design tab is autosaved on its own; switching to a clean tab no longer deletes another tab's recovery copy (#2952).
Compatibility
0.18.2 writes design file format 28, the same as 0.17, 0.18.0 and 0.18.1.
Thanks
Thank you to everyone who contributed to this release: @asd417, @bluecmd, @CamWight, @dahakbuilds, @denelson1-dot, @flukejones, @jeremymiribung-blip, @JZiegener, @phanoob, @plexi32, @raykholo and @rlartot.
Install
Upgrading from 0.7 or earlier. 0.8 changed the Linux app ID to ai.storyteller.solidcraft:
flatpak update offers to replace the old app, and the .deb, .rpm and AppImage remove the old
menu entry.
Upgrading from 0.5 or earlier. 0.6 renamed SolveCraft to SolidCraft and made the zip
container the default save format. .solvecraft designs, old settings folders and
SOLVECRAFT_* variables are still picked up, and solvecraft-cli still forwards to
solidcraft-cli. Want plain JSON? Use File ▸ Save As JSON… or --save design.json. On
macOS, replace SolveCraft.app with SolidCraft.app. Details:
compatibility notes.
Documentation, the browser app and the Flatpak feed use the SolidCraft project Pages URLs.
Which file?
- Windows:
SolidCraft-0.18.2-windows-x64.exeruns as is. Or install the.msi, or unzip the-portable.zip(x64, x86 and arm64). - macOS 11+ (Apple silicon and Intel): open the
.dmgand dragSolidCraft.apponto Applications. The CLI is insolidcraft-cli-0.18.2-macos-universal.zip. - Linux (x86_64 and aarch64, glibc 2.35+): the
.AppImage(chmod +x, then run it), the.debor.rpm, the.flatpak(flatpak install --user <file>), the.snap(sudo snap install --dangerous <file>, orsudo snap install solidcraftfrom the Snap Store), or the.tar.gz. - FreeBSD:
tar -xzf solidcraft-0.18.2-freebsd-x86_64.tar.gz --strip-components 1 -C /usr/local. - Web:
solidcraft-web-0.18.2.zipis a static site to host yourself. SHA256SUMS.txt:sha256sum -c SHA256SUMS.txt --ignore-missing.- Files without a version in the name (
solidcraft-windows-x64.msi,solidcraft-linux-x86_64.AppImage, …) are the same packages under fixed names, for download links that always fetch the latest release.
For Flatpak feed installation and updates, add Flathub for the required runtime before installing SolidCraft; keep both remotes in the same user installation:
:::sh
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --user --if-not-exists solidcraft https://docs.solidcraft.io/flatpak/solidcraft.flatpakrepo
flatpak install --user solidcraft ai.storyteller.solidcraft
flatpak run ai.storyteller.solidcraft
A remote added from the old bherbruck.github.io address no longer finds updates: run
flatpak remote-modify --user --url=https://docs.solidcraft.io/flatpak/repo/ solidcraft, then
flatpak update --user.
Flatpak installs from 0.7 or earlier use the old ID ai.storyteller.solvecraft: flatpak update --user
offers to replace it with ai.storyteller.solidcraft, and settings move along.
Single-file .flatpak bundles include the runtime repository address; missing runtimes
still need an internet connection. Linux installation details.
The builds aren't signed yet. On macOS, right-click SolidCraft.app in Applications and choose
Open the first time (or run xattr -dr com.apple.quarantine /Applications/SolidCraft.app).
On Windows, SmartScreen may say "Windows protected your PC": More info, then Run anyway.
Licences are built in (Help ▸ About ▸ Licences, solidcraft-cli licences); the packages also
install THIRD-PARTY-LICENSES.txt.