github tangency-labs/solidcraft v0.40.0-rc.1
SolidCraft v0.40.0-rc.1

pre-release4 hours ago

This is a pre-release, for people who choose to test it. Designs saved in it use format 49 and may not open in stable 0.30.1 or older versions, so keep a copy of anything you care about before you save it here. It replaces SolidCraft's geometry kernel with solidcore.

The stable release is still 0.30.1. This pre-release isn't offered by the in-app update check, and solidcraft.io/app and the Flatpak feed stay on their current builds.

SolidCraft is open-source parametric 3D CAD in Rust: sketch, constrain, extrude, and change a parameter to watch the timeline rebuild. Website · documentation · Discord · roadmap.

Report problems

Open an issue with the design if you can, and say that you're on 0.40.0-rc.1. Report an Issue in the app fills in the details for you. Geometry that builds wrong, or a design that rebuilds differently than it did in 0.30.1, is what we most want to hear about.

New geometry kernel

Modeling now runs on solidcore, a pure-Rust kernel, and it's the only kernel in this build. Booleans, fillets, shells and threads all go through it. There's no setting to go back.

  • Earlier designs rebuild their timeline on solidcore when they open. A design can come out a little differently, with different face or edge counts, and a feature that no longer builds reports an error.
  • Fillets may be slower than in 0.30.1 (reported by @jyviko).
  • We haven't measured speed or quality against 0.30.1 across designs, so this release makes no claim about either.

Known problems

31 tests in the test suite are on a known-failing list, each with its reason. What that means in use:

  • Variable-radius fillets may fail on solidcore. A round from r 2 to r 5 along a box edge fails, including through the Fillet dialog, a linear variable fillet in our reference designs fails, and a radius law with a corner in it is refused.
  • Other fillet cases: a taper that closes to a point, and a round ending in an earlier round, fail. A later round at a corner where earlier rounds meet builds a different corner than the test expects, and a vertical edge after separate bottom rounds can be refused as smooth.
  • Shells and chamfers: a 2 mm shell of a box with every edge rounded r 1.5 fails, and so do some shells on a filleted part. A chamfer at a ball cut's rim makes no change instead of explaining why.
  • Thicken: one reference design with a boundary loop thicken doesn't load (it fails at that step).
  • Holes: a 40 mm hole that touches a plate's edge at one point splits the plate into 2 bodies.
  • Meshes: planar faces get more triangles than before, so an exported STL of a box has 124 triangles rather than 12.
  • Changes from 0.30.1 that aren't in this build, because they relied on the display mesh and their exact replacements aren't written yet:
    • Extrude Cut To the far side of a curved wall (#8634).
    • Cosmetic tap markings looking for their cylinder only in nearby bodies, so they can be slower (#10303).
  • Not fixed yet: selecting a joining extrude in the timeline can still light round walls an earlier feature made. The fix merged to main relied on the display mesh, so it was left out of this build (#11286).

Changed

  • Extrude: once a face or profile is picked, clicking a face out of that plane makes it the "to" target instead of a second thing to extrude. Click into the Profiles box first to add it as a profile (#11201).
  • Browser: component placements start closed, and opening one leaves the placements inside it closed (#9658).
  • Preferences › Appearance has a new layout with a theme carousel and live previews. The settings and defaults are the same (#10580).
  • Older designs: a design saved by 0.24.0 or earlier opens with the bodies it was built with, so its later sketches, holes and moves find what they name (#10379).

New

  • Joint dialog: Find Limits fills Minimum and Maximum from where the moving parts first touch another part (#7047).
  • Keep model keys out of sketches is a new option in Preferences › Shortcuts, off by default (#7675).

Fixed

  • Sketch Break: breaking at a shared corner separates the curves that meet there (#7950).
  • Sketch Line: starting a line on an existing curve, or on its midpoint, keeps your first click (#11184).
  • Sketch Offset: instances stepped inward from an arc stop where the arc runs out instead of turning back (#11068).
  • Countersink: one next to a wall no longer notches the wall above the hole's face (#8261).
  • Pattern and Mirror: a hole placed by edge distances can be copied (#8231).
  • Joints: in a large assembly with many closed loops, a new joint moves into place instead of staying in conflict (#11146).
  • Sheet metal: material joined in the plane of a panel stays in the flat pattern and its DXF (#6855). Holes and cuts skip sheets they can't reach, which saves time in designs with many sheet parts (#10226, #10301).
  • Tapped holes read only the bodies along the drill line (#10227).
  • Agent chat: when a desktop launcher picks a Node too old for an adapter, it looks for a compatible one and retries (#11255).
  • macOS update: the update window says to quit SolidCraft before replacing it (#7886).
  • Translations: new messages for 16 languages, and a consistent Arabic word for component.

Compatibility

0.40.0-rc.1 writes design file format 49 (0.30.1 writes 48). Format 49 adds 16 changes, including faces and edges saved in their NURBS form, ball patches, G4 continuity, pipe threads, thread ends and hand, Repair Part, and what a join makes of pieces that only touch. 0.40.0-rc.1 reads earlier format numbers, but 0.30.1 and earlier refuse a design saved by it.

If you script SolidCraft and are coming from 0.30.0 or older: in parameters.list, parameters.add and parameters.change, value is millimeters or degrees in every reply, the number in the parameter's own unit is in display_value, and reported numbers are rounded (#10812).

Downloads

The files are the same kinds as in stable: .exe, .msi and portable .zip for Windows; .dmg for macOS; .AppImage, .deb, .rpm, .flatpak, .snap, .tar.gz and Arch packages for Linux; a .tar.gz for FreeBSD; and solidcraft-web-0.40.0-rc.1.zip, a static site to host yourself. Check them with sha256sum -c SHA256SUMS.txt --ignore-missing.

The macOS app is signed with a Developer ID and notarized. The Windows files are signed with a self-signed test certificate that Windows doesn't trust, so Windows may warn you. The other packages are unsigned.

Thanks

Thanks to 17 contributors.

Don't miss a new solidcraft release

NewReleases is sending notifications on new releases.