How to connect multiple pipes and fittings using OpenMEP (Revit + Dynamo)

Hi everyone,

I’m looking for a workflow using the OpenMEP package to connect imported domestic water pipes and fittings together in Revit via Dynamo, after importing pipe geometry/data from Civil 3D Pressure Network into Revit.

Specifically, I need to:

  • Connect main pipes to branch pipes (pipe-to-pipe connections),

  • Place/connect MEP fittings such as tees, elbows, unions/couplings, etc.,

  • Ensure the connections are made through connectors so that Revit recognizes them as a proper MEP system (not just geometry alignment).

At the moment, I haven’t found a clear approach to implement this, so I would really appreciate any suggestions on the best logic/workflow (e.g., connector matching, nearest-connector pairing, tolerance rules, tee insertion logic, etc.).

Additionally, I’m trying to find the OpenMEP documentation/manual previously shared by the author (chuongmep), but the old download link seems to be broken. If anyone still has that documentation file, could you please share it with me for reference?

Thank you very much for your help.

Best regards,

Hello!

Did you try with this nodes? Sending connectors or pipes? Share your sample file, so we can help you better.

2 Likes

CONNECT PIPES AT ENDS.dyn (59.3 KB)

This could be a good way to start to tackle this problem.

1 Like

Hi Vladimir, thanks for your suggestion — I really appreciate it. I tested the node you recommended and it works well in Revit 2025. However, it only processes individual fittings one at a time, while my issue involves an entire system with multiple pipes and fittings that need to be connected together (as I shared in the topic above). I haven’t yet found a clear approach to handle the whole network. Do you have any additional suggestions I could try? Thank you!

Hi Simon_WBCIE. Could you please elaborate a bit more on the workflow idea “CONNECT PIPES AT ENDS”? I would also like to understand how it could be applied to the issue I mentioned in the topic above, Thanks

Creating Tees Dynamo Player.dyn (8.1 KB)

I suggest you use a Hybrid Automated / Manual Process using Dynamo Player. To quickly select pipes and then generate pipe fittings. This example creates Tees and needs the MEPOver Package installed. Figuring how to do it all with Dynamo would be hard for list management. using dynamo player to speed up a manual process might be the fastest way to get the job done.

We can get connector’s points and group them by distance. See attached DYN.

MEP.dyn (45.9 KB)

Hi,

Check out this topic, it might be useful to you.

Hi Simon_WBCIE, thanks for your response and for your suggestions on this topic!

Hi c.poupin, thanks for sharing this helpful information!

Hi Vladimir, thank you for this idea — it’s truly great. I tried running the DYN file you shared, but it seems there is an issue with the “ꟿ Geometry.GroupByDistance” node, as it returns “null” values. I have checked the Spring Nodes package version and confirmed that it matches my Revit version, but the node is still returning “null”. I’m attaching the DYN file below — could you please help me troubleshoot this issue? Thank you very much, and have a great day!

MEP_TOPIC.dyn (49.7 KB)

Hi can be done with ootb as well i guess, just a little bit longer way

Hi sovitek, thanks for this idea — I really appreciate it. Could you please elaborate a bit more on this approach?

Hi Vladimir, the “ꟿ Geometry.GroupByDistance” node in my Revit 2025 Dynamo is now working, and the DYN file you sent runs perfectly. The previous “null” issue may have been caused by a conflict between packages.

This DYN file works well when the pipes have a 0% slope. However, when the pipes have a slope, Dynamo sometimes generates fittings and sometimes does not. I tried manually trimming two pipe segments using the Trim command, and the fitting was created correctly in that case.

Could you suggest a few possible approaches to handle this situation? Thank you very much!

yeah i just use geometry distance to..instead of spring node for pair the connectors up, baciclly the same same…but another way i prefer, it is pair the mepcurves up instead connectors…but the result is the same :wink: PS if you open mep and in 26 i dont think it works the package isnt updated for that…OpenMEP Package Feedback Thread - #48 by chuongmep

2 Likes

Hi sovitek, could you give me some suggestions if using MEPCurves? I would be very happy if you could share an example in a DYN file (I am using Dynamo in Revit 2025).

I tested a few cases: connecting by connectors did not work, but connecting by MEPCurves worked fine (it behaves similarly to using the Trim command). I still don’t fully understand why that happens.

My main issue is that these pipes are imported from Civil, so they have slopes. The slope causes the Z coordinates of the connectors to be non-coplanar. I’m not sure whether that exceeds Revit’s tolerance for automatically creating fittings.

I’m not very experienced with Dynamo yet, so I would greatly appreciate your help. Thank you very much!

try pull the curves on plane first we have ootb nodes for that, connect them and then set the slope, maybe

1 Like

Thanks, I’ll look into this further.