Rotate Pipe Flange to be perpendicular to pipe

Hi all,

I have run a series of tests to isolate the vertical pipes in my project. For this test I have only 1.
I then use the “Element.Location” node to get access to the curve that makes up the pipe. From there, i measure 6000mm along the curve and place a point (This will be used to place the pipe fitting).
Then I get the vector of the curve of the pipe which I want to use to rotate the pipe fitting to match the direction of the pipe.
I place a family using the point, and then i rotate it using the “Vector.AngleAboutAxis” node to get the degree input for the “FamilyInstance.SetRotation” node.
No matter what I do however, I cannot get the fitting to rotate to match the curve of the pipe… Interestingly, I have used this exact method with another script and it works perfectly.
If anyone could assist me with this I would really appreciate it, I don’t know if it is something small or if I am just doing it wrong? Any guidance would be great!

Thank you!

Have you had the chance to look through the MEPover package? It contains nodes intended for placement of fittings/accessories, including proper attachment of the component to the pipe/duct.

For your graph, FamilyInstance.SetRotation node only seems to have an angle input (no plane or normal vector reference), so you aren’t actually controlling which direction the rotation occurs, just the angle of it.

Hi Robert,

Thanks for the response, I see you posted on my other query too, but I will keep it to this thread.

Here is an updated version of the MEPFitting scenario. I have matched the number of pipes with the number of points, but the node still does not place anything down. I have also checked that the connector of the family is set to “Fitting”, which I saw as being one of the requirements. Would you be able to help me take this forward?
Thanks again for your time!

Sorry, to answer your question I have looked at the MEPover package, but I couldn’t seem to find anything to help me apart from this MEPFitting node.

I believe you don’t need the @L2 as that’s handled by the node. (I’m checking off an old fire damper script that functions similarly).

Hi Robert,

I tried it without the list level and it returns 2 Null values.

Images for verification. The family type used is Pipe Accessory - Valve - Breaks Into.
I also tried testing this on a Pipe Fitting - Union, it places the fitting and splits the pipe but does not maintain system connectivity.

Maybe check the family?

Hi Robert,

Thank you so much for your time again. Nothing I try is working, think I’m going to have to continue along the FamilyInstance.ByPoint path. I’m not too concerned about the system information at the moment, so it’s not the end of the world. Now just need to figure out the rotation of the fitting.

Thanks again.

Would it be possible for you to assist me with this query? I am really struggling to find the inputs that this node requires to work. I have also tried it with no list levels assigned, I still receive only nulls. Any ideas?