Flex Pipe Creation (or duct)

I have a desire to create flex pipe from a centerline (created by a nurbs curve) in dynamo. In the design world I can just use pipe with any angle fittings but when it comes time to actually install the pipe in the ground I will have to lay down flex piping in certain areas. For ease of workflow I have created a pipe system (sloping at X percent) and want to take the centerline of the existing pipe and convert it to flex pipe. I used dynamo to create a centerline of the existing pipe, divide the centerline into equal segments, get the start point of the segments, and generate a nurbs curve from the control points. If there is any better way please help!

Hi Nathan,
Did you get any where with creating a flex pipe with dynamo ?
Im looking to do the same and finding it hard to find information on flex pipes.

I made a custom node for this in my package ‘MEPover’ that will take in a list of points and create a flex pipe or duct. The more points you supply, the more control points the flex pipe or duct will get.
In the picture below you can see the inputs it needs:


Hi @T_Pover ,

I’m working with Revit 2017 and I want to place a flex pipe on a line for create a floor heating pipes, but when I inser the points into the node, it seems to go in loop. Revit continue to update, but dynamo look likes crashed.

Do you have any idea?

If you supply some screenshots showing what goes into every port on the node then I might be able to help.

For the script, I repeated yours.
I selected two lines from the model, then joined in a curve and divided by #n but, since I insert the points list into the node, it crash (actually it continues to load/refresh, but nothing happen).

Seems to work fine for me:

1 Like


we have begun to use the Flex pipe to model in mc conduit in our electrical model.

I have began to use your node with creating the flex pipe and it seems to be working pretty good. I can get geometry to populate but wondering about a few other things. So here is our work flow.

we model in our lighting box assembly in and give it a unique identifier
we then sequence the boxes to revit understands what the order of connection is (routing)
we then use dynamo to export those lighting boxes (conduit fittings) with various information to excel
then in excel it maniuplates the xyz of our box and adds more points based on criteria we have
then i import it back in as flex pipe geometry. This works outstanding and draws content in.

The questions that I have for you is these:

How can i get information from my lighting box assembly (conduit fitting) to be pushed into the flex pipe after the geometry has been created? How can i get that imported geometry to understand that it relates to the box that is was generated from (flex pipe parameters will mimic the box parameters, example: mc type, circuit color, etc? Currently we just tag the box and drag it over the flex but that isn’t really tagging the flex (its a cheater way) I would much rather tag all of the flex pipes.

Also i noticed that when this script is ran more than once it keeps dumping geometry on top of each other, is there a way to eliminate any geometry importing if there is something in revit already or maybe a paramater equals “built”?

I am impressed with what this can do and want to push it further.

Any help would be excellent!

Hi Don,

I guess that you will somehow have to get the information of the lighting boxes into your script for creating the flex pipes. Perhaps you could export the ElementId of these lighting boxes to excel as well and then use those for retrieving them again in your script for creating the flex pipes. That way you could retrieve the corresponding parameters into you script and then write those into your flex pipes.

I don’t know if this can be applied to your scripts in the way as they are set up, but this is the first workflow that comes to mind.

With kind regards,