Kind of a weird issue, but I have a few Closed Breps that I’m unioning within GH. However, GH returns Invalid Brep
.

But when I bake the Breps, a Union within Rhino works fine. What could be the issue?
File:

brep_diagnose.gh (13.9 KB)

Ps, when doing a Solid Difference
within GH of the ring and the legs, it does the opposite and make a Solid of both Breps???
The horizontal edges of the three straight breps are coplanar with the upper and lower surface of the ring.
Boolean operations are likely to fail when parts are coplanar. You can drag the edge away from the surface and everything works just fine.
brep.gh (44.9 KB)
1 Like
Gosh Martin, that’s an obscure fix for sure. It looks like what you did was scale down, by a tiny bit, the width and height of the straight legs. This means there will be a slight mismatch between the edges:
This strikes me as not very nice. Is there some other way to get around this?
1 Like
No I did not scale anything. I moved the short edge along the axis / long edge of the straight part.
1 Like
I was surprised when I exported both your Closed Brep and the original 4 parts as STL files for 3D printing. Naturally your result imported fine - no errors. But because the original parts created an Invalid Brep I was expecting some number of errors with their un-joined STL file.
But there were none - no errors at all. So it seems your comment about the coplanar edges, even though they are internal, is the real issue for SUnion.
Interestingly enough…
feeding the 4 parts through BrepJoin first and then SUnion produces a closed Brep.
2 Likes