I’d like to boolean two sets of complex curves. All curves are closed, disjoint, non self-intersecting, and co-planar. But there can be dozens of them. Is there a fast and automatic way to do this outside of grasshopper?
So far I’ve:
- developed a workaround using extrusions and solid boolean operations, but haven’t turned it into a script yet.
- I’ve found Clipper’s
BooleanPolylinefunction - this showcases the functionality I’d like to have, but lacks full nurbs curve support.
For boolean union I can use
_curveboolean _pause _allregions.
For boolean difference I do:
_ExtrudeCrv _Solid=yeswith distance 1 for set A, and 0.5 for set B. Creates two sets A’ and B’ of solids.*
_BooleanDifferenceto create a set of solids C’ = A’ - B’.
- Create plane P in the construction plane, containing the projection o C’
_IntersectP and C’. Gives result C = A - B.
Intersection is similar.
I think the intermediate shape is rather fun! However I’d like to make the technique less manual. This message is to check if it’s already done. Thanks!
*) I use a 0.5 extrusion height for B’ in order to avoid the
boolean difference failed error, which happens if any solid in B’ fully contains some solid in A’.