# Solid diffrerence problem

**URL:** <https://discourse.mcneel.com/t/solid-diffrerence-problem/78589>\
**Category:** Grasshopper\
**Created:** [February 10, 2019, 12:56pm UTC](https://discourse.mcneel.com/t/solid-diffrerence-problem/78589 "2019-02-10T12:56:44Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![Balazs](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/balazs/32/493129_2.png) [@Balazs](https://discourse.mcneel.com/u/Balazs)\
**Post date:** [February 10, 2019, 12:56pm UTC](https://discourse.mcneel.com/t/solid-diffrerence-problem/78589/1 "2019-02-10T12:56:44Z")

</div>

I have three breps. Two small and one large. I want to make solid diffrence of the large and the two small.  
In theory if I union the two first and then make a soild difference should be identicanal to the one of I make a solid diference of the large and the two small ones on by one. Actually this is not the case. If I union the two small first the solid differnce does not work. Why?

 ![sdiff](https://global.discourse-cdn.com/mcneel/original/3X/f/e/fe1cefcd49cad8b93d8a3f50a8ffc30acbfb14e0.jpeg)  
[solid diff problem.3dm](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/1/c/1c18410e5dfb1ad4dfe6549de11de52253bd48fb.3dm) (120.0 KB)  
[sdiff prolem.gh](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/d/8/d84154eb4a417fe0af6ad7283e47ee9d457bea81.gh) (8.4 KB)

---

<div class="post-metadata">

**Author:** ![HS\_Kim](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/hs_kim/32/473975_2.png) [@HS\_Kim](https://discourse.mcneel.com/u/HS_Kim)\
**Post date:** [February 10, 2019, 1:32pm UTC](https://discourse.mcneel.com/t/solid-diffrerence-problem/78589/2 "2019-02-10T13:32:18Z")

</div>

Looks like another common rhino tolerance problem.  
Try to change your rhino unit absolute tolerance from 0.001 to 0.01.

 ![Canvas%20at%2022%3B26%3B45](https://global.discourse-cdn.com/mcneel/original/3X/b/b/bb9972725ccc5dff744cd10c65d4552d29be909b.png)  
[solid diff problem\_re.3dm](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/0/1/0175d59f2b8243e678a572f625f8c029e675be62.3dm) (163.0 KB)  
[sdiff prolem\_re.gh](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/8/8/88885c1abbf6f28572f13e92bc8ec74a9d73449b.gh) (7.4 KB)

---

<div class="post-metadata">

**Author:** ![Balazs](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/balazs/32/493129_2.png) [@Balazs](https://discourse.mcneel.com/u/Balazs)\
**Post date:** [February 10, 2019, 2:13pm UTC](https://discourse.mcneel.com/t/solid-diffrerence-problem/78589/3 "2019-02-10T14:13:27Z")

</div>

Hi Kim, Thanks for the reply. Where can I access this settting? Acaully I work in Rhino 5.

---

<div class="post-metadata">

**Author:** ![HS\_Kim](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/hs_kim/32/473975_2.png) [@HS\_Kim](https://discourse.mcneel.com/u/HS_Kim)\
**Post date:** [February 10, 2019, 2:19pm UTC](https://discourse.mcneel.com/t/solid-diffrerence-problem/78589/4 "2019-02-10T14:19:16Z")

</div>

![capture-20190210-231607](https://global.discourse-cdn.com/mcneel/original/3X/2/5/25fb2cb772b1b005d7c21a1f393f750b8f3fae96.png)

---

<div class="post-metadata">

**Author:** ![Balazs](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/balazs/32/493129_2.png) [@Balazs](https://discourse.mcneel.com/u/Balazs)\
**Post date:** [February 10, 2019, 4:31pm UTC](https://discourse.mcneel.com/t/solid-diffrerence-problem/78589/5 "2019-02-10T16:31:08Z")

</div>

Actually chnaging the tolrence from 0.001 to 0.01 did not help for me.

---

<div class="post-metadata">

**Author:** ![HS\_Kim](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/hs_kim/32/473975_2.png) [@HS\_Kim](https://discourse.mcneel.com/u/HS_Kim)\
**Post date:** [February 10, 2019, 4:37pm UTC](https://discourse.mcneel.com/t/solid-diffrerence-problem/78589/6 "2019-02-10T16:37:28Z")

</div>

F5–\>Recompute  
 ![F5](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/5/8/58af96a5ef14b0adefed3fef1739bfbeeca6a122.png)

---

<div class="post-metadata">

**Author:** ![Balazs](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/balazs/32/493129_2.png) [@Balazs](https://discourse.mcneel.com/u/Balazs)\
**Post date:** [February 10, 2019, 5:27pm UTC](https://discourse.mcneel.com/t/solid-diffrerence-problem/78589/7 "2019-02-10T17:27:15Z")

</div>

I am doing it on Rhino 5. maybe that is why did not help. Your definition is identical to mine isnt it?

---

<div class="post-metadata">

**Author:** ![HS\_Kim](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/hs_kim/32/473975_2.png) [@HS\_Kim](https://discourse.mcneel.com/u/HS_Kim)\
**Post date:** [February 10, 2019, 5:44pm UTC](https://discourse.mcneel.com/t/solid-diffrerence-problem/78589/8 "2019-02-10T17:44:31Z")

</div>

No problem with R5 on my machine.

 ![Canvas%20at%2002%3B42%3B20](https://global.discourse-cdn.com/mcneel/original/3X/1/3/13d7125381bd09ef311cf166bfa73c1a24b950b3.png)  
[solid diff problem\_reR5.3dm](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/8/d/8d25f95978f47ceb616cc231a5a08337e85ef18a.3dm) (148.0 KB)  
[sdiff prolem\_reR5.gh](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/5/1/51a309d4eb9db4978828ba6e0c4d06a63b9f417f.gh) (8.1 KB)

---

<div class="post-metadata">

**Author:** ![Balazs](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/balazs/32/493129_2.png) [@Balazs](https://discourse.mcneel.com/u/Balazs)\
**Post date:** [February 12, 2019, 2:47pm UTC](https://discourse.mcneel.com/t/solid-diffrerence-problem/78589/9 "2019-02-12T14:47:36Z")

</div>

Actually this a small part of a large difintion. I have just dicovered if I lower the tolerence it is causing problems on other part of my definition. I am using **solid intersections** in other parts of definition. If I lower the value those part which worked OK until now they fail. Any other solution?

---

<div class="post-metadata">

**Author:** ![Baris](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/baris/32/772765_2.png) [@Baris](https://discourse.mcneel.com/u/Baris)\
**Post date:** [February 12, 2019, 2:51pm UTC](https://discourse.mcneel.com/t/solid-diffrerence-problem/78589/10 "2019-02-12T14:51:58Z")

</div>

You could use it in the script component with a different tolerance setting : [https://developer.rhino3d.com/api/RhinoCommon/html/M\_Rhino\_Geometry\_Brep\_CreateBooleanDifference.htm](https://developer.rhino3d.com/api/RhinoCommon/html/M_Rhino_Geometry_Brep_CreateBooleanDifference.htm)

---

<div class="post-metadata">

**Author:** ![Balazs](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/balazs/32/493129_2.png) [@Balazs](https://discourse.mcneel.com/u/Balazs)\
**Post date:** [February 12, 2019, 2:54pm UTC](https://discourse.mcneel.com/t/solid-diffrerence-problem/78589/11 "2019-02-12T14:54:03Z")

</div>

That sounds promising however unfortuntally I am just an architect using widgets only. Programing is not not option for me.

---

<div class="post-metadata">

**Author:** ![Balazs](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/balazs/32/493129_2.png) [@Balazs](https://discourse.mcneel.com/u/Balazs)\
**Post date:** [February 12, 2019, 2:58pm UTC](https://discourse.mcneel.com/t/solid-diffrerence-problem/78589/12 "2019-02-12T14:58:44Z")

</div>

the solution could be that I make the solid differnce one by one, but I dint know how my small parts will occur. To solve this a recusrsive approach is needed sint it?

---

<div class="post-metadata">

**Author:** ![HS\_Kim](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/hs_kim/32/473975_2.png) [@HS\_Kim](https://discourse.mcneel.com/u/HS_Kim)\
**Post date:** [February 12, 2019, 3:09pm UTC](https://discourse.mcneel.com/t/solid-diffrerence-problem/78589/13 "2019-02-12T15:09:17Z")

</div>

Rhino is still vulnerable to Boolean operations between geometries whose faces or edges match.  
If you still have difficulties working with a change in the tolerance setting, you can change the size of your geometries slightly and eliminate the matching part to make the Boolean operation easier.

---

<div class="post-metadata">

**Author:** ![Baris](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/baris/32/772765_2.png) [@Baris](https://discourse.mcneel.com/u/Baris)\
**Post date:** [February 12, 2019, 3:12pm UTC](https://discourse.mcneel.com/t/solid-diffrerence-problem/78589/14 "2019-02-12T15:12:45Z")

</div>

not sure if it helps:[sdiff prolem\_reR5\_tol.gh](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/c/a/ca5af6a40409497168e8e539ada0dba77913a2d4.gh) (10.4 KB)
