Boolean union failed

In the attached file I have a read and blue solid. When I to to add them together I get “Boolean union failed” with no clue why it failed. For some reason I have a number of pieces that will not add to the blue solid.

How does one diagnose this kind of problem?

Problem 4.3dm (222.8 KB)


Rhino’s union fails when faces do not overlap (just touch). Even really small areas of other wise overlapping objects. I added some bulk to create some added overlap in the problem area and it worked.


But I am missing it. I have been adding bulk all over (but it has to be in places that will not show) and getting any luck. Sadly this solid is causing problems with every solid that I need to join to it. I am getting no clue as to where the specific problem is.

Hope this helps. I also used Solids, Merge all faces command on both objects after filling in the problem area. That’s an essential command to run on unioned objects. It should be a built part of the boolean commands.

1 Like

The reason for failure is simply that your tolerance setting is wrong. If you intersect the two objects (always something to check when a boolean doesn’t work), you will get two curves but if you look at them you will see that there is a curve segment running between two edges that shouldn’t be there. The curves are open curves. For a boolean to work, they need to be closed.

Tightening your tolerance to 0.001 helps somewhat - you will be able to perform your boolean union but if you look at the intersection curve there is still something going on. With a tolerance of 0.0001 you get clean intersection curves.

Thanks a bunch. Had I stumbled across tolerance would certainly have tried increasing it rather than making it smaller to ever greater frustration. I set it to 0.0001 as you suggested and it corrected a number of addition problems.

I have been collecting all my migration notes and have added this to my list.

I also encountered the problem of getting an error about manifold-edges. In the videos I see there is a check edge command but apparently the Mac version is missing the manifold edge check.

That said, I discovered that making the tolerance smaller adversely affected adding some parts. I have attached one example here.
Problem 5.3dm (512.2 KB)

Would it be normal to change the tolerance or does the fact that this requires a low tolerance indicate a part problem that I do not see?

Oddly, similar jagged parts add only with low tolerance but the ones here require high tolerance.

Well, you shouldn’t be changing tolerances mid-project because some object will have edges built to the previous tolerance whereas new objects will be calculated to the new tolerances.

In your problem 5 file, for example, the orange object has issues. I just ran intersect on both and saw that the resulting curve was open. I’m not sure how this was made but it looks like some input geometry might have been created with bigger tolerances than what the file is set to now.