Problem - boolean

Hi Guys,

I’m having a problem trying to run boolean union in these two solids, which apparently are ok. I’ve made some tests, but nothing works.
Does anyone know where is the problem and how can I solve it?


ring.3dm (2.0 MB)

The mysteries of Rhino. Try lowering although negligible (-0.02 type) the polysurface smaller one in the center, and you’ll see that it works. Eventually the end it is a very small and imperceptible shift

1 Like


boolean operations with adjacent coplanar surfaces and polysurfaces should be avoided in general. The ring has a self intersection, i´ve marked in the attachement below. Both problems prevent the boolean union to work as expected. To get this done, explode and do the surface intersections manually, then trim split with the intersection curves on one side, mirror and join to get a solid ring.

ring_cg.3dm (1.4 MB)


1 Like

Thanks Davide! The boolean worked! Thank you very much (:slightly_smiling:

Hi Clement. Thank you for your instructions, but I never did the surface intersections manually. After run intersect, I tried to split the surface using the curves I got from intersect, but nothing happened…

Hi Tantiane,

yes a regular intersection between both ring halfes gave faulty curves, which can be one indicator why the boolean will also fail. Before doing the intersections, i extracted the inner ring surfaces which where overlapping and kept only one untrimmed version of them. Then i did tthe intersections, face by face but only with those which intersect clearly. The curves are on a seperate red layer in the file. These where used to trim first, then i just had to close one half using the inner ring surface, then mirror and join.


1 Like

@Tatiane_Lima as well as following @clement advice regarding the self intersecting section I would also suggest you look at modifying your work flow for this type of ring.

If you design both sides with varying degrees of smaller than required inside diameters then you will avoid a lot of these type of boolean union problems. The variance does not have to be that great.

Then you can boolean union them together more easily……

…then finally boolean difference away the inside to size.

Personally I try to avoid boolean functions as much as I can. I find trim, splitting etc and then joining works better for me.

Thank you so much for that and for spending your time with my topic! Next time I’ll follow your hint :wink: