Boolean Difference Fail

I’m trying to boolean difference the attached ( to parts (subtract green part from blue part). The blue part is a cavity with solid walls enclosing an empty space. The green one is a solid part. Any idea why it fails and how I can make it work?

I wonder if this might have something to do with it: when I turn on a clipping plane and look at a cross section of the parts, the green parts cross section appears solid where it should be, while not so for the blue part. See what I mean?

On a side note, the clipping plane setting does not work for the perspective view unless I switch it to a view other than perspective, create the clipping plane, and then set it back to perspective view. A bug perhaps?


Hi Sam- the first thing to check on with Boolean failures is the curve(s) of intersection between the objects- if those could not be used to trim/split the objects then that is where the problem lies. In this case the intersections are pretty gappy- due, I would say, to surfaces or edges being coincident or very nearly coincident on each part. My guess is that it will be easiest to clean up (Blend across the gaps for the most part I think) the curves from Intersect and use these to trim the surfaces. In other words, a Boolean ‘by hand’.


OK, I see what you mean.

But I’m still wondering why the cross section for the green part looks solid, but not for the blue part. I thought I would try boolean differencing meshed models of the parts, because its going to be a mesh in the end anyway. But that doesn’t work. Perhaps because Rhino doesn’t know which side is inside or outside of the blue cavity part, though I did try flipping it… Any thoughts?


I just realized the blue part isn’t a closed polysurface. I assumed it was because I created it by offsetting a closed polysurface with the solid setting on. I guess something went wrong. I wish there was a way to see where the opening is in objects that are almost closed, but not quite…

Turn on naked edges…? Either with ShowEdges or directly in your display mode if you want then “always on”…


That’s a big help for troubleshooting it, thanks!