Incomplete intersection


This is one example of occasional incomplete intersections that I’ve seen both in Rhino and using Rhinocommon which baffles me slightly, since I would (granted, with my human brain) consider this to be a fairly rudimentary intersection - fairly simple horizontal and vertical surfaces.

Here’s the 3dm file: IncompleteIntersect.3dm (1.1 MB)

Can anyone explain the issue behind incomplete (simple?) intersections like these?

And would this be fixed in newer versions of Rhino & Rhinocommon?



that is one crappy surface you have there. i have no idea how you managed it that parts are folding in on each other you have boarders duplicating, you have to clean that up. use curveboolean on the duped boarder then planar surface, that should work again.

:grinning: I’m assuming the crappy surface you’re referring to is the smaller planar brep? It was created programmatically using Rhinocommon, it’s an exploded surface that was part of a closed polysurface.

Thanks for the tips - I’ll look into incorporating that into my code.

What checks are you performing that signals to you that parts are folding in on each other? Can this be done using any Rhinocommon (v5) calls?

If you use the “Technical” shader you’ll find that the surface is quite strange… :

Also, the surface can be shrinked significantly (the corner points far off the boundaries of the surface, not critical, I only noticed that).

// Rolf

ic, well something happened there, when you use SolidPtOn and zoom in in that area, one solid point is moved slightly away causing the rendermesh to freak and overlap. the surface itself might not be folded but that will most likely be part of why intersect does not work. i guess its not the only issue, but at this point i will not scrutinize it any further, its clear that something is with your scripted surface rather than rhino having a bug.

Bildschirmfoto 2021-02-08 um 11.13.26

Thanks for that, your clues led me to discover that the surface was created from an exploding a polysurface that was extruded from an closed curve which was the result of joining curves that overlapped each other (if that makes sense).

rhino usually has some alarm bells ringing when you extrude such curves, for example while extruding you should fail with this message reporting

One input was not extruded because it would have made an invalid surface.

or when managed to bypass it while extruding and you try to cap such surfaces

Unable to cap one object. The openings did not have closed, planar loops of edges.

maybe it would be possible to incorporate a detection of such sort into your script. in case you are prone to further produce crappy curves of course :smiley: