# Boolean operations fail with this couple of closed objects

**URL:** <https://discourse.mcneel.com/t/boolean-operations-fail-with-this-couple-of-closed-objects/194822>\
**Category:** Rhino\
**Tags:** windows, boolean\
**Created:** [November 13, 2024, 9:38pm UTC](https://discourse.mcneel.com/t/boolean-operations-fail-with-this-couple-of-closed-objects/194822 "2024-11-13T21:38:25Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![mutarq](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/mutarq/32/721547_2.png) [@mutarq](https://discourse.mcneel.com/u/mutarq)\
**Post date:** [November 13, 2024, 9:38pm UTC](https://discourse.mcneel.com/t/boolean-operations-fail-with-this-couple-of-closed-objects/194822/1 "2024-11-13T21:38:25Z")

</div>

Hi there!..

Does anybody has an explanation on why any boolean operation fail to work in this couple of simple objects?

I solved the issue with long workaround (objectintersection + trim + join)

It is worth mentioning that this fail operation is something that happend to one student, And my long workaroung didn’t help to demonstrate that Rhino is very friendly ☹

Thank you very much for your attention

[PIEZA.3dm](https://discourse.mcneel.com/uploads/short-url/qoLGpvrNDCThhoIVoMf6KAIThuL.3dm) (318.2 KB)

 ![Captura de pantalla 2024-11-13 151432](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/0/e/6/0e644c3f70adb3527be98223d720cda758e8b9e0.jpeg)

---

<div class="post-metadata">

**Author:** ![martinsiegrist](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/martinsiegrist/32/498369_2.png) [@martinsiegrist](https://discourse.mcneel.com/u/martinsiegrist)\
**Post date:** [November 13, 2024, 9:52pm UTC](https://discourse.mcneel.com/t/boolean-operations-fail-with-this-couple-of-closed-objects/194822/2 "2024-11-13T21:52:30Z")

</div>

Tangency and edges problem…

---

<div class="post-metadata">

**Author:** ![Tom\_P](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/tom_p/32/766520_2.png) [@Tom\_P](https://discourse.mcneel.com/u/Tom_P)\
**Post date:** [November 13, 2024, 10:22pm UTC](https://discourse.mcneel.com/t/boolean-operations-fail-with-this-couple-of-closed-objects/194822/3 "2024-11-13T22:22:42Z")

</div>

for the upper rounded cylinder  
**\_DivideAlongCreases**  
(split at Tangents = yes,  
split at kinks = yes)  
then **\_booleanDifference** works here (mac, Version 8 (8.14.24317.14002, 2024-11-12))

---

<div class="post-metadata">

**Author:** ![mutarq](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/mutarq/32/721547_2.png) [@mutarq](https://discourse.mcneel.com/u/mutarq)\
**Post date:** [November 14, 2024, 12:17am UTC](https://discourse.mcneel.com/t/boolean-operations-fail-with-this-couple-of-closed-objects/194822/4 "2024-11-14T00:17:38Z")

</div>

thank you… for that workaround too… but the question actually is why is the reason of the failure of the boolean… I think there are no problems of tangency or edges… (being able to actually make without any problem a \_Intersect or even that workaround… but not being able to make a boolean, is something I would like to understand the reason)

---

<div class="post-metadata">

**Author:** ![jim](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/jim/32/570126_2.png) [@jim](https://discourse.mcneel.com/u/jim)\
**Post date:** [November 14, 2024, 12:44am UTC](https://discourse.mcneel.com/t/boolean-operations-fail-with-this-couple-of-closed-objects/194822/5 "2024-11-14T00:44:19Z")

</div>

> [@mutarq](#):
>
> Does anybody has an explanation on why any boolean operation fail to work in this couple of simple objects?

The short answer is that is a bug. The boolean operation is supposed to do exactly what you did manually.

> [@mutarq](#):
>
> I solved the issue with long workaround (objectintersection + trim + join)

A)That is not a very long workaround. Takes only a few seconds

B) You should be teaching your students to use trim and join before you teach them to do booleans. That way the student can understand what the boolean operation is doing (or in this case supposed to be doing). There are many situations where booleans will fail and there are many situations where users spend lots of wasted time setting things up for a boolean needlessly because they have no clue how booleans work.

---

<div class="post-metadata">

**Author:** ![martinsiegrist](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/martinsiegrist/32/498369_2.png) [@martinsiegrist](https://discourse.mcneel.com/u/martinsiegrist)\
**Post date:** [November 14, 2024, 7:25am UTC](https://discourse.mcneel.com/t/boolean-operations-fail-with-this-couple-of-closed-objects/194822/6 "2024-11-14T07:25:15Z")

</div>

Move one of the two objects up or down by a millimeter or whatever units you’re working with.

Does the boolean operation work now?

---

<div class="post-metadata">

**Author:** ![Joshua\_Kennedy](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/joshua_kennedy/32/486545_2.png) [@Joshua\_Kennedy](https://discourse.mcneel.com/u/Joshua_Kennedy)\
**Post date:** [November 14, 2024, 8:18am UTC](https://discourse.mcneel.com/t/boolean-operations-fail-with-this-couple-of-closed-objects/194822/7 "2024-11-14T08:18:18Z")

</div>

You’re right that this boolean should work. I opened an issue [here](https://mcneel.myjetbrains.com/youtrack/issue/RH-84763/Boolean-difference-fails). If you run Intersect on the two parts you get one open curve as a result. There’s a real small gap between the start/end about 5x document tolerance. Booleans are pretty sensitive to problems like that but I think in this case it’s something we can work around.

---

<div class="post-metadata">

**Author:** ![martinsiegrist](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/martinsiegrist/32/498369_2.png) [@martinsiegrist](https://discourse.mcneel.com/u/martinsiegrist)\
**Post date:** [November 14, 2024, 9:52am UTC](https://discourse.mcneel.com/t/boolean-operations-fail-with-this-couple-of-closed-objects/194822/8 "2024-11-14T09:52:31Z")

</div>

> [@mutarq](#):
>
> I think there are no problems of tangency or edges…

I just now opened your file and moved the lower cylinder 0.01 down. And the boolean union works.

I also think the union should work in the original position but the lower cylinder surface is coincident / tangent to the cylindrical part of the vertical cylinder. This often causes problems.

---

<div class="post-metadata">

**Author:** ![mutarq](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/mutarq/32/721547_2.png) [@mutarq](https://discourse.mcneel.com/u/mutarq)\
**Post date:** [November 14, 2024, 5:33pm UTC](https://discourse.mcneel.com/t/boolean-operations-fail-with-this-couple-of-closed-objects/194822/9 "2024-11-14T17:33:10Z")

</div>

Thank you for the time looking at this… Hopefully the problem gets adressed by Mcneel. I’ll more careful with those “tangent coincidencies”

---

<div class="post-metadata">

**Author:** ![mutarq](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/mutarq/32/721547_2.png) [@mutarq](https://discourse.mcneel.com/u/mutarq)\
**Post date:** [November 14, 2024, 5:34pm UTC](https://discourse.mcneel.com/t/boolean-operations-fail-with-this-couple-of-closed-objects/194822/10 "2024-11-14T17:34:42Z")

</div>

Thank you for the time looking at this, Hopefully the issue ill help to improve future revisions of booleans…

---

<div class="post-metadata">

**Author:** ![mutarq](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/mutarq/32/721547_2.png) [@mutarq](https://discourse.mcneel.com/u/mutarq)\
**Post date:** [November 14, 2024, 5:40pm UTC](https://discourse.mcneel.com/t/boolean-operations-fail-with-this-couple-of-closed-objects/194822/11 "2024-11-14T17:40:13Z")

</div>

thank you for the confimation… it is a bug… and the advice… I agree too…

the complain is mostly adressed to mcneel, as this kind of simple fails affect the “affidability perception” on any new user.
