I’am struggling for days with some apparently simple boolean substractions.
i’am using brep.CreateBooleanSubstraction() under rhinocommon using ironpython in grasshopper.
the operation is being a substraction to a sphere of some closed solid, created revolving a curve.
9 or 10 substraction are being applied recursively to each sphere. Each time one brep vs brep. Tolerance used for the method is 1.
Finally a closed mesh object needs to be obtained. I’am using mesh.CreateFromBrep(brep,meshParam)
The process is working fine in 95% percent of the time. But in some cases, strange things happens.
When everything goes ok, the result looks like this:
but there are some cases that some little mosters appears, and rhino is considering them as “valid objects”
the resulting mesh appears like this:
Sometime the brep is closed, and apparently the geometry is visually ok and passed rhino check, but the resulting mesh using mesh.CreateFromBrep(brep,meshParam) with meshParam.JaggedSeam = False and meshParam.ClosedObjectPostProcess = True, gives as result an open mesh.
If I bake the brep and then manually convert to meshes, then all brep are converted to closed Meshes, except those brep that appear like the monster above.
Unfortunately, manual conversion is not a option. I could alternatively add brep objects to the document, use _Mesh command to convert them as long as this is the only secure manner to obtain closed meshes, and finally continue the operation in rhinocommon. But still the moster-like breps are misserably failling when converted to meshes, as shown in the image above.
All this is not making any sense to me. My nerves are almost done. Is this a bug? am I missing something?
Any help would be appreciated.