Why boolean union fails?

Why boolean union fails? I want to unite all geometry in one, except the plan that the half ring stays on.
What are thr problems there, and what is they way of solving them? Thanks!
Boolean.3dm (1.1 MB)

We are working on improving this. Here is what we can do now, but it will be a while before it is available since the changes need a lot of testing. BooleanWorks.3dm (1.0 MB)

1 Like

I understand that you booleaned with an improved boolean script? Or is there a trick someway? Also can you give me some advices about how to deal with this? Thank you very much for the help!

When you intersect all the objects with each other you will see that Rhino produces a few open curves. This is where Rhino has problems finding out how to correctly split and join surfaces.

If you boolean union all but the lower bridge object, you will get a single closed object. When you then boolean union the final object, Rhino tells you that the working tolerance had to be doubled to work. If you can live with that, I guess that is a solution. Else you will have to explode your objects, manually trim or split surfaces with each other and join. Note that it would be easier if you had surfaces that intersected each other by some amount instead of just touching.

Where the surface of your shoulders and the under rail meet there is no overlap. They share the same space. You need to be joining not Boolean Union.

Extract the three surfaces that make each side, join them up and then hide them.

Next delete the two surfaces that share the same space.

Reshow the sides that you hid and then join them back up together. You should get a Closed solid.

Once that is done the setting will boolean to the shank to form a solid.