Convex hull in build123d v0.11.0 -- ConvexPolyhedra
▲ 15 r/build123d+1 crossposts

Convex hull in build123d v0.11.0 -- ConvexPolyhedra

build123d v0.11.0 was just released yesterday. One of the new features is ConvexPolyhedron which enables creating faceted solids (this is feature parity with OpenSCAD's hull). I believe this makes build123d the ONLY BREP based CAD system with this feature. There's a classic OpenSCAD hull example from hackaday which I remade in the latest release of build123d. Of course because build123d is a BREP based CAD, you have real fillets, which means you can eliminate the stress concentration where the two stand legs meet.

Screenshot with and without fillet and code:

from build123d import *

foot = Pos(X=50)*Rectangle(20,20)
foot2 = Pos(X=-50)*Rectangle(20,20)
post = Pos(Y=50,Z=100)*Box(25,25,20)

def tess(shape):
    return shape.tessellate(0.3,0.3)[0]

hull1 = ConvexPolyhedron([*tess(foot),*tess(post)])
hull2 = ConvexPolyhedron([*tess(foot2),*tess(post)])
stand = Part() + [hull1,hull2]

stress_edges = stand.edges().group_by(Axis.Z)[-5]

stand2 = Pos(X=130)*fillet(stress_edges,20)
u/Jern123d — 13 days ago
▲ 18 r/build123d+1 crossposts

Release v0.11.0

Changelog and release notes are available here: https://github.com/gumyr/build123d/releases/tag/v0.11.0 Thank you to all the contributors who created issues and contributed PRs!

This was an absolutely huge release -- a ton of new functionality has been added along with many bugfixes and improvements to the documentation. About 440 commits were made in this release alone, which is a significant portion of the 2.8k or so in build123d total. I am especially thankful for the improvements to intersection as well as the great work on ConstrainedArcs / ConstrainedLines. Other new functionality in this release includes ConvexPolyhedron, BSpline, ParabolicCenterArc, and HyberbolicCenterArc.

u/Jern123d — 14 days ago