Floor Opening Family updated with Linked Intersected Element Size

Hi, I have been working on a Dynamo script that will populate opening families at the intersection of linked project model element with the floor element. Currently, I can place the opening families at the intersections, but ideally I would like to have them automatically resized accordingly per size of each intersection. I was wondering if someone can guide me into the right direction to push intersection size data to opening families?

I have attached the current script based on Dynamo 2.0.3. using Spring nodes, SteamNodes, Clockwork, Rhythm packages…

I appreciate any help-

Thank you so much,


OpeningFamiliesAtPenetrations_2.0.3.5.dyn (40.5 KB) FloorOpening_Rectangular01face2017.rfa (540 KB) FloorOpening_Round01face2017.rfa (332 KB)

Opening “size” is dependent on a lot of factors. Does the clashing object already have a nominal size? Does the object clash perpendicular to the floor or is it at an angle? Do you need to include a tolerance? What shape is the opening?

There are many ways to do this but it mostly boils down to either 1) getting the “size” from the clashing object itself or 2) getting the bounding box of the clash. A bounding box will usually be less precise but is much simpler and works the same for all objects.

Thank you for your feedback, @Nick_Boyts. I appreciate it.

For right now, I am working for the vertical intersections at selected floor element, and they are perpendicular to the floor.
For the testing project, I am going after pipe elements first using round opening families.
How can I extract the “size” from the intersection geometry?

You wouldn’t use the intersection geometry. You would check the element geometries for an intersection and then filter the intersecting elements. That way you can pull the diameter directly from the pipe element.

Thank you again, @Nick_Boyts. As you have suggested, I have used the element intersection to get the list of pipes and pulled diameters’ data to set the opening family diameters. However, I was wondering how I can assign the diameters to each opening family? I get all the same diameter values for the families…

Currently, I have it at just taking maximum size value to setting opening sizes as it doesn’t need to be accurate for clashing detection purposes.
Please let me know if someone has a better idea to match the sizes of the intersections when populating opening families.

Thank you,