Grasshopper Bug? Boolean set is empty?

Hi all. This days I was searching for a solution to extract the contours from some BREPs (full thread here: External Internal Contours? - Grasshopper - McNeel Forum) and after finally having a working solution I realized that there can be a bug into the Solid Union component of Grasshopper?

I do have four identical parts, from which ones only one of them it is working with the Solid Union, the other three parts are throwing the Boolean set is empty error and I can’t find any reason for this behavior.

I do upgraded rhino to the latest version and I am using it into a Windows11 machine.

Boolean union set is empty.gh (11.7 KB)

Boolean union set is empty.3dm (3.0 MB)

I think the reason for the fail here is that you are flattening half a cylinder. The attached could be a solution to solve this:
Boolean union set is empty_simplify.gh (18.0 KB)

1 Like

The question it is why it is working with one of the parts and not with the other three parts that are a copy of the working one? I am missing something?

Your method it is working partially. I do not need the small parts (in red scribbles), only the inside/outside contours of the parts for CNC fabrication.

Your file tolerance is 0.1 and boolean operations of coplanar / coincident / colinear geometry is usually problematic…

I lowered the tolerance in the search to find what it is the cause of the boolean union error. I thought that maybe the tolerance it is too high.

flattening in this step will make it work

I think you are lucky that the other one does work. You are creating some stacked control points with the flattening. You’ll see that the boolean in Rhino also fails.

1 Like

At least for some of your objects, Mesh Shadow can be used to create the outlines…

Boolean union set is empty.gh (20.7 KB)

1 Like

This solution was discussed in the previous thread, unfortunately it is resulting in line segments. The circles and arcs are segmented, not a desirable result.

1 Like

Why don’t you get the outline of a part before creating holes and other details?

Sorry, I don’t really understand your question.

flattening… projecting the halves of the cylinders to the XY plane…

Did you create these parts? If so, you could extract the outline before the cylinders are removed from the parts.

You can get rid of stacked points by extracting the edges of the projected surfaces and simplifying those before doing any boolean operations.

Boolean union set is empty.gh (13.5 KB)

1 Like