Solid Intersection fail - Boolean Intersection set is empty

I’m trying to find the overlap between multiple breps using the Solid Intersection block. In the example attached I have Box and 2 Spheres, one of which overlaps with the box. The Solid Intersection block returns the error “Boolean Intersection set is empty”. I’m guessing that the overlap is not being detected for some reason. Converting the shapes to meshes and using the Mesh Intersection block gives the result I would expect. I’ve read posts from a few others having similar issues, but nothing as simple as this example. Am I miss understanding something here?

Solid Intersection Fail.gh (12.9 KB)

Solid intersection is working ok. Maybe with an unexpected and counter-intuitive logic, but it is useable.

Both “Breps A” and “Breps B” are lists.
In your case A have 1 solid and B have 2 solids.

What the component is doing is the intersetion of all the components of A with all the components of B, so:
A0 ∩ ( B0 ∩ B1 )
In your situation B0 and B1 does not intersect, and so the result is empty.

For you to have some output you’ll need to graft B, so it will do A0 ∩ B0 and then separately A0 ∩ B1
2020-02-29 12_09_25-Grasshopper - Solid Intersection Fail_

I don’t know if this should be adressed as bug or not… the rhino command works with sets too, but behave differently.

Meshes are behaving differently maybe because disjointed meshes can still be joined into a single mesh object, so maybe at the start of the calculation every mesh in B is “fused” into a single one.

2 Likes

Counter-intuitive is right. I’ve discovered that swapping my inputs will also work without the graft (for this data set). There is definitely something asymmetric happening inside the block.
Thanks for your help.

I’m having some issues with the Solid Intersection block once again, so thought to continue this thread rather than start anew. I’m getting the same “Boolean intersection set is empty” error.

I’m trying to find the overlapping areas between two sets of similar objects derived from sections through a torroid. One set of input objects (Breps A) has been flattened, I need to maintain the tree structure of the other input objects in the result (Breps B). I want to see all the intersections of each object in Breps B with any of the objects in Breps A.

image

The Solid Intersection block is not returning the expected intersections. One of the data-tree branches has a list of 2 Breps, and these are not showing any results.

I think there may be a solution involving the Cross Reference block but i haven’t been able to work it out so far. Any help would be greatly appreciated (Again!).

Solid Intersection Fail with Data Tree.gh (49.2 KB)

Indeed, I find that Solid Intersection is not symmetric, which is contrary to the spirit of boolean intersection.

…and also a nuisance to get some job done with Grasshopper.