SUnion not working with coplanar breps

Hi,
Can someone help me with this problem with SUnion? SUnion is not working. And when I bake the solids in Rhino, the solidUnion command in Rhino is working either. But all the solids seem valid solids.

Cheers, Bas


SUnion_Not_Working.gh (56.3 KB)

it might be a matter of tolerance or distance between your initial curves, because by adding a tiny bit to the extrusion height makes it work:

Hi @Bas_Goris1 ,

It is important to know that coplanar breps cannot be joined since some mathematical errors appear. Taking this premisse into account, the solid union command uses a tolerance in order to avoid this. As @inno mentioned, increasing the extrusion length you might be able to join all breps in one.

On the other hand, some users of this forum develop a solid union command using as input a tolerance through python and C#. That may be helpful for you!

Regards!

That would be a solution. Do you know if an example is available on this forum?

It seems the tolerance problem already appears on de Offset function. With a Rhino tolerance of 0.01 instead of 0.001 units, the Offset function is working fine.

Hi @Bas_Goris1

I have created that component in Python since I cannot find it in the forum.

SUnion_Not_Working.gh (41.9 KB)

Anyway, You must be aware about the problem you are trying to solve. The probability of finding an error in a boolean union of coplanar breps is so high, so although it works sometimes, the right solution is to know this problem and to avoid having coplanar breps (Increasing the extrusion, etc)

Regards

I think that problem is because of the shape of the input curves. I do not know how they are created but, probably using a Fit curve command may help to solve that problem.

:wink:

I had included an overlap function, but that did not solve the problem. It seems that the problem occurs at the parallel sides of the solids when the overlapping is set on, when looking to the intersection function. See added picture. I will try your newly created python function. Thanks a lot for the effort!


SUnion_Not_Working2.gh (62.3 KB)

1 Like

By the way, the input curves are made by the contour of a solid brep (all within gh)