Dynamo for pipeing?

Somebody recently asked me if we can use dynamo to create pipeing layout provided the room it should not cross through,also we need to have a priority for pipeing that determines how straight the certain pipes are compared to the rest.

Though I have not used dynamo for many MEP projects,I dont actually know how possible is it to do this in dynamo but,taking this as a challange i started to think off and looking for any leads/ideas

what I have in mind is this:
1.create different paths and find shortest distance between point A-B
2.if clashes with those rooms choose shortest but one and so on untill there is no clash
3.with those curves create pipes.

This is kind of a very basic work plan,has anyone worked on something similar?

Look into the path of travel nodes in Revit 2020.1 (with the separate Dynamo update).

Look into building a temporary mass of your ‘no fly zones’ prior to doing the shortest path routing, end the transaction, and delete said masses after the POT is created.

After you get the POT and delete the temp mass, and pull the POT geometry into Dynamo. Then use a Curve.ApproximateWithLinesAndArcs to reduce the POT into a path the pipe can travel, or a POP (path of pipe). Place your pipes accordingly, likely via MEPover.

For your automatic clash resolution, you shouldn’t need it if POT worked and was configured correctly. If it wasn’t, well then you likely will want to review the clashes on a 1 by 1 basis due to the complexity of which way and how you can shift each pipe. I am not a fan of ‘auto’ solving these as the rules are too elaborate to easily decode.

hi @JacobSmall thanks for your help I have started to build the workflow and wanted to know if you cqan think of any ways to make the path with only horizontal and vertical lines,the nodes from space planning package helps to create path but have lines that are angled too.

You’ll have to break those down into the X and Y components, but that won’t necessarily ‘not clash’ after rerouting.

Yea exactly and i couldn’t think of any better solution now,hope somebody comes with a idea to help.!

Thanks @JacobSmall,
Here is my final script in action…!
feeling great…!