Conduit Run Lengths

I am a self admitted total newb to Dyanmo but I am hoping you nice folks can help me out with something I want to create. I am looking to be able to select a conduit run and have dynamo extract the overall length of the conduit run and populate a shared or project parameter with the value it extracts so that I can build a tag that will allow me to give the guys in the field run lengths without having to generate a bunch of schedules for small stuff like smurf tube in the deck. Any help or ideas would be greatly appreciated.

1 Like

Some examples of your attempts might help to explain your intent better.

A sample Revit file would help too.

Hi Mike Vikram is right- if you provide some more information and demonstrate an attempt, you most likely get a response. This is a great forum. To get you started- the first bit would be extracting the run lengths- refer below Have a go at trying to work out how to feed the run length data back into the individual conduit parameter

Thanks for the quick response guys I really appreciate it. So I have uploaded a revit file with the parameter that I am trying to populate with the overall run length. I have also included a horrible example of the dynamo script which of course does not work because I have no idea how to get dynamo to extract multiple lengths add them up and then somehow filter that into the set parameter value by name node. Hopefully I have enough info here for you nice folks to help me out but please let me know if there is any other info you need from me to make this more clear. Thanks again for your patience with me being a newb and all.



Run Lengths Attempt conduit run length tag request Run Lengths Attempt

For some reason the revit file did not seem to come with the last upload so I am trying again Run Lengths Attempt

There does not appear to be an easy way to extract the individual parts (conduits, fittings) from the conduit run

As a fudge:

  • you could use the 'comments' parameter.
  • By inserting the length into the comments parameter of the run, the same data gets applies to all the objects in the run. You then use the comments parameter in the tag
  • You'll need to fix up the units.
  • If you really want the data in your parameter, you could copy it from the comments into 'RUN LENGTH'





Hi Guys,

Below is an example on how to get length (conduits,fittings) and then add total length to a parameter. Hope this will clear mike’s issue.

Thanks Guys I appreciate the help.




Are you using any custom nodes in the script you have so kindly provided a snapshot of? I dont seem to have remove empty strings from list as a node in my out of the box dynamo installation.

Remove empty strings is from the bakery package

Hi Mike,

You can also use standard nodes. And also check out Ethos MEP Package. It has got some useful MEP nodes. Good Luck!

Mike, Andrew seems to have provided a fairly straight forward solution above.

It seems to be the most uncomplicated and efficient way to proceed.

The ‘short comings’ can be easily resolved.

If it doesn’t satisfy your requirement, could you please elaborate.

Hi Everyone,

Coming back to this topic i realized that my previous solution is not the correct approach to get Conduit Lengths and Fittings. So i have reorganized with better explanation below. Apologize for any inconvenience.




Thanks Everyone I appreciate all the responses.

KULKUL no need to apologize you are helping me out. I think we are working with some more custom nodes that I am not aware of. I have downloaded Ethos MEP and I do not have element.location or any of the conduit based nodes that you are showing in your snapshot. One other question I am probably going to have after you let me know what packages I need to replicate this would be how are you able to take that script and set it to populate a custom parameter in your conduit bends and straights? I am sure its just a set parameter value by name but seeing how dynamo works I immagine its not as simple as just adding that node. Any help would be greatly appreciated.




1 Like

Mike you can get “Element.Location” from clockwork package. The other nodes “Conduit Fitting Length” & “Total Conduit Length” is the same as math.sum node, “Conduits Length” is curve.length node. I just renamed that nodes for explanation purpose. Let me know if you need further assistance.Good Luck!

Looks good to me- thanks Kulkul I did have a play around with the alternative approach. Even if you add a shared parameter to conduit runs, conduits & fittings- it does not behave in the same way as ‘comments’ i.e setting parameter at the parent level does not flow down to child objects. So to use this approach- it would be necessary to either live with the length in the comments parameter (and adjust tag accordingly), or copy data from comments parameter

I got it to work. Thanks for all of the help guys I appreciate it!

very good, thanks

1 Like

No Prroblem! :+1:

I show how to sling data using Comments in this thread: Conduit Parameter to Conduit Run Parameter via "Comments"

We are currently experimenting with conduit run schedules. We are wanting our schedules to populate our own parameter “From” and “To” and also get the lengths of the entire runs. We have created a custom parameter (To and From) that we have associated to conduits, conduit fittings, and conduit runs. The issue we are running into with the schedule is it will not auto populate with our from and to parameters. The conduit run schedule with see these custom parameters but will not populate. See the attached snap shot of our schedule.

1 Like