
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)