I have 15 cubes that represent round pipe/duct wall penetrations. And 6 sleeves already placed. I’m trying to get the coordinates of the remaining 9 cubes not containing sleeves. I can also get the coords of both sets of elements, but am having trouble separating the points not from the list of total points.
Any help would be much appreciated,
I assume you are looking for elements which are not colliding with the sleeve penetrations.
The easiest thing to do would be just to select them using the “Select Model Elements” node.
If you want to automate your workflow, you might be able to run a collision of all elements (I assume they have different categories and names and can be filtered) which are relevant. You will need bimorph nodes and have to run the collisions twice since the output is only list A.
Then you can find the set difference to filter out the collisions.
Actually, I’m trying to place the cube at all penetrations that have not been sleeved yet. We missed a few on the last projects and I don’t want to miss any next time.
Thanks for your help,
Hello @michaelbPBH34 ,
can you update you script a little bit, as i have shown,
point to remember
- one Bounding box for each geometry, not a combine one bounding box for all the geometry
- Lacing of “Bounding Box Contains” - cross product,
- checking if any true in the list consider as true otherwise false.
Exactly as I had understood it.
My suggestion was a kind of “reverse intersections” method. If the element collides with a sleeve, remove it from the list.
Not sure how this would work for an individual pipe which runs through multiple walls…
Otherwise, there is also a boundingbox → cuboid node which could then be used with the geometry.intersects node. I’ve used the geometry intersection many times to consolidate elements with ID numbers. (I am very well versed in exchanging openings between MEP and structural models…I spend at least half of my time dealing with this type of planning and these exchanges.)
I really recommend using the bimorph nodes and spring nodes for running collisions and collecting model elements from linked file (respectively.)
I finally got it to work with all the above suggestions. Thanks to m.owens, honeyjain619 for your help!