Is there an easy way to check if a cylinder-like brep (composed of multiple surfaces) intersects itself anywhere other than the edges of the component surfaces? I don’t need a list of intersections, just a binary “does this thing go through itself” indicator that I can use to test for fitness.
My current strategy looks like deconstruct brep -> test each surface for intersections with each other surface -> for each intersection, reject if it equals one edge of each surface. But that looks like it’s going to be painful and slow.
Any better ways? Sample breps attached (with apologies for size, but they are brep entities with internalised data)
self-interect.gh (1.0 MB)