Boolean union not working as expected

Hello, im trying to follow this tutorial, and im stuck at 9:24. After the boolean union it should look the same but be a single object, but as you can see on the photo it doesn’t work that way. The only thing i did different than the tutorial is I used a smaller, and a round stone instead.
How do i solve the problem, and how did it happen in the first place?


file (1.5 MB)

1 Like

The edge of the hemispherical part is basically coincident with the ring. This can be a problem for boolean unions.

One way to solve the problem is moving the ring up a tiny bit

Another solution is to change the tolerance form 0.001 to 0.0001

boolean-union.3dm (2.5 MB)

I tried it and it worked. Thank you so much for your help, I would never have figured it out on my own.

1 Like

Hi @martinsiegrist and @R3551N,

It’s good to know these problems can be solved by perturbing the input geometry slightly, but it should work without having to do this—it’s a bug. I created a YT issue: link.

Best,
Sam

1 Like

first:
_DivideAlongCreases
(split at both, tangents and kinks)
then
_booleanunion

will also do the trick.

maybe this helps for debugging @sfp

it s the lower ring that causes the issue.

some edges of the cap of the outer elements touch the pseudo-torus in nearly parallel manner.

… good luck debug

Tom

1 Like

The Union will also work if you _Explode the four pins, then _Rebuild the bent cylinder parts (to same parameters) and (re)_Join them with the caps.

Perhaps more pertinently, the intersection between the hoop and the pin touches the edge shared between cap and cylinder. However it does not split the cap and it still touches the edge after rebuilding the cylinder. Why splitting the original cylinder is a mess and splitting the rebuilt one isn’t, I have no idea, but @martinsiegrist’s solution of reducing the tolerance to 0.0001 means that the intersection no longer touches the edge and that makes the original surface split cleanly. As you say, good luck with the debug!

1 Like