In our previous tutorial Create Structural Framing Opening for Horizontal Ducts in Revit 2016 using Dynamo 0.9.2 we saw how to create openings for ductwork in structural framing which coexist in the same file.
In today’s tutorial I have created another workflow and I will show how to create the openings but with the ductwork file inserted in the structure file as a link.
First we will use the Python Script node to get all the ducts elements from the link then we will pass those elements to the “Geometry.Intersects” Node. The intersection between two geometries is another geometry so we need to allocate the center of the intersection geometry thus we use the “Solid.Centroid” Node.
After we will got the intersection points we shall identify the duct and the beam that create each successful intersection.
Once we have the beam corresponding to each duct we will use a plane that is parallel to the beam and centered in the intersection point to get the boundaries of the intersection by get the intersection between the plane and the duct. As now we have the boundaries we can create the opening from them.

The Dynamo workflow file can be downloaded from here.
The sample Revit files can be downloaded from the following links:
Hi Mustafa,
Thanks for the demo and files. We actually require something exactly like this on a job but instead of ducts we i need it for pipes that are penetrating beams/structural framing. Would you be able to demonstrate and provide a dynamo file?
Thanks in advance.
Regards,
Sead
OK let me see, I’ll prepare something and notify you.
How did you go. Did you get a chance to get this working?
i have a problem in a node points.DeconstructPoint,node show unresolved..so i must to do for fix this problem..can you show for me..thanks alot!