I’ve been making some headway on a script to insert a pipe sleeve at any pipe penetration of a fire rated wall from a linked model. I’ve been able to get it to automatically select the linked model and all of the walls in it, then filter it down to only show the Fire rated walls. Next I select all of the horizontal pipes in my model, then I find any intersections of those elements. Then I insert the pipe sleeve at that point.
But I’ve hit a roadblock; I can’t seem to figure out how to get the pipe sleeve to rotate to the same orientation of the pipe. I’m also trying to get the pipe size and wall width and apply them to the sleeve. I have been able to pull the orientation of the pipes but I have not been able to get the angles to properly assign to the sleeves.
Can you show where you’re getting the pipe orientation? From there you usually have to compare the pipe direction (vector) with the zero rotation angle (usually the positive x-axis) to find the angle of rotation. The nice thing about this case is your pipe sleeve is probably non-directional and only needs to be aligned to the correct angle so you shouldn’t have to mess with positive/negative values.
As for getting pipe size and wall width, you’ll probably need to use a Geometry.DoesIntersect node as well. That way you can filter out which pipe intersects which wall and get the parameters that way.
Guys, I used the above code to create vertical penetrations, place a sleeve family and get the coordinates of the sleeve positions. It is working fine when I have the Revit link model set as “origin to origin”. When I’m working in a project using shared coordinates however, the code does not work. Particularly the node “Revit Element Clash Detection v1”
I found a version 2 of the node “Revit Element Clash Detection” in the bakery nodes, it seems to be exactly what I was looking for, but for some reason it doesn’t work as well. When I right click on that and “edit custom node” it shows another custom node “Element Geometry with Try”. But this one doesn’t seem to be loaded. And I have no idea where I can get it.
Hello, I’m really new to the Dynamo stuff. The company I work on are using MEP Fabrication Pipework; and we just trying to do a simple task by putting sleeves to a generic wall. I found this post really helpful; I tried to reverse engineer your Dynamo script by changing the Categories to MEP Fabrication Pipework, Load in generic sleeves family and set the family type in the Dynamo, linking a rvt file with just a basic generic wall (no Error) but failed big time; no sleeves are added… Will you be kindly enough to share your thought please. I appreciated it.
Thanks Jona… this will be really helpful for us. I need one more help. We have done piping in Autoplant 3D and building in revit. So if i run dynamo code, pipe is not detected as it is autoplant modelled pipe. Can u help me in converting plant 3d pipe to revit pipe.
It’s a long shot but were you able to solve your issue. I have the similar problem. After link file is moved from origin sleeves are still placed in it’s original location. Is there anyway to make dynamo refer to actual link location?
I am facing the same issue. I am trying to insert sleeves at the clashing point of ‘Floor’ and ‘Pipe’ But I am using MEP Fabrication Pipework and not Revit Pipe which is why the ‘Clash Detection Node’ is returning a null value. Probably a long shot, but has anyone figured out how we can use the same script/logic for MEP Fabrication Pipework?