Brep.CreateBooleanUnion() fails on two simple solids while the Rhino6 command succeeds

I’m puzzled by Brep.CreateBooleanUnion() not working on two solid/closed breps and returning NULL. I’m using Rhino’s GlobalTolerance as a parameter, and the two solids are perfectly touching way beyond that tolerance.

However, using the Rhino6 Boolean Union command on the same breps/solids/polysurfaces works flawlessly without any problems.

Both breps are valid, closed, normals facing outwards, etc, etc. I am out of ideas here… :frowning:

Hi @lungenstrudel,

Please provide a working code sample and some geometry that is not working for you.


– Dale

Hi @dale, unfortunately i cannot disclose the original geometry, such that i’d have to come up with a generic example, which might be hard because in some cases it does work, in others it doesn’t.

I’ll come up with something if i find the time, however, decreasing the tolerance in my code worked for me, such that the urgency was decreased a little, even though i am not sure that i know what’s going on … :wink:

I was actually just thinking that maybe this could ring a bell somewhere, using the same tolerance for Rhino command and comparable SDK-method, with the Rhino-command working and the SDK method not.

Cheers, Heinz