Account For Voids/Openings In Intersection Test Using BoundingBox.GetElementsIntersect (BimorphNodes)

I am testing the clashes between the bounding box of a linear element against ceiling elements from a linked file. I am using the “BoundingBox.GetElementsIntersect” node from the BimorphNodes Package with the linear element bounding boxes as the boundingBox inputs and ceilings from linked file as the elements input. It all works smoothly and well except it seems to treat a ceiling as a closed plane regardless of any voids/openings in it. For example:

It will result in clash between the bounding box of the linear element and the ceiling even though it passes right through the void. I am aware of the RayBounce method, however because it requires a 3D view and in some ways is less flexible than defining a custom bounding box, I would like to see if its still possible to continue using the BoundingBox.GetElementsIntersect node to make it work. Would a workaround get too messy? Any ideas? Thank you.

Bounding boxes are the complete, globally aligned orthographic cuboid which contains the entire geometry. As such, the ‘void’ doesn’t exist in it. Similarly, two parallel ducts on a 45 degree angle should also intersect.

What you want is geometry not the bounding box, as that will test the physical shape instead of the cuboid containing the element. Keep poking around the BiMorph package, as the node you want exists.

It often makes sense to test for bounding box intersection before full geometry as it has a drastically lighter computational footprint (bounding boxes are defined by two points and if P1 or P2 is between PA and PB we know they intersect, while full geometry requires testing… well a lot more than the math of four points).

Hey Jacob. Thanks for the reply. I am aware of how the BoundingBox is. However, in my example you will see the bounding box is from the linear element NOT the ceiling. The ceiling in this case is the “element” the bounding box is testing against. This is at least how the node sounds like it should behave to me.

Hmmmmm… got a dataset and sample graph?