Boolen difference issue

I’m still fairly new to Rhino and in an early learning phase. So I hope I’m not asking a totally silly question. But I’m really stuck here…

I have 2 solids. One generated with a lofted an the offset surface, and a simple solid box.

  1. I can subtract the box from the lofted solid:

  2. However, when I’m moving down the box by 10mm, the difference operation fails

    The error massage is just: Boolean difference failed

  3. When I’m moving the box further down, then the difference operation fails because the solids do not intersect. This of course makes perfect sense again.

Can anyone explain me, why the second boolean difference fails? What Am I getting wrong?

Thanks for any hint,

I have Rhino Version 7 (7.10.21256.17002, 2021-09-13), on Intel Mac v11.6

Hi @rolfb
Without having the actual file, it’s gonna be an educated guess - but there’s a couple of things to consider:
a) Is the loft object closed, with no naked edges? If not, make sure that it is.
b) When moving the box down, is the bottom of the loft (if it has one, ref. a) coadjacent with the bottom of the box? Sometimes coadjacent surfaces will screw booleans up.
If you haven’t already, take a look HERE for some general pointers on booleans.
HTH, Jakob

Hi Normand,
Thank you very much for for your answers!

to a): Well, I don’t know. But I’m assuming that the loft object has to be closed - otherwise the first boolean operation would not have worked. Is this a valid assumption?

to b): Yes, it is true that parts of the loft are coadjacent with the box. So this might explain the issue. But then - what should I do now?


Hi @rolfb

a) Well, no necesarily! Booleans only need the intersecting parts to be “closed”. You can boolean an open surface and a closed surface (or two open ones) if the intersection line is continious.
b) The easy answer is to boolean just a wee bit of the bottom first, so that the two surfaces don’t precisely overlap. This is true in general for booleans: It’s better to leave just a little bit of geometry intersecting, so that you have a clear intersection. If booleans fail, you can always run the Intersect command to see where the line is “broken” - that’s usually where the problem is.

1 Like

Me again,
Yes, Jakob, you were right!

When I shift the box down by a hundreth of a milimeter the difference operation works again.

Ok, I have to keep that in mind.

Anyway, thank you very much for your help!
cheers, Rolf

1 Like