Flexible Duct/Pipe Control Points extraction


I hope everyone is doing well. I just want to ask if, is there a node that can collect the flexible duct or pipe control points?

My aim is to:

  1. collect the points (point location)
  2. create a curve using the points
  3. smoothen the curve bends
  4. place new flexible components using the smoothed curve.

I am lost in taking the control points from existing flexible components.

Thanks in advance everyone ^^…

I don’t know if it can be done with the help of any available nodes, but I do know that it can be done through Python because flex ducts have a property called Points and it has both get and set methods. I can also look it up easily using Revit Lookup. So I’m sure it can be done. Unfortunately, I’m new to doing things in Revit with Python, so I don’t know how to do it. I have attached screenshots for the Property and Revit Lookup.

1 Like

I tried collecting the points by what little I know and was successful. I only did it for one duct but I’m sure you can replicate it for as many ducts as you want. Here’s the dyn and a screenshot:
FlexDuct Points.dyn (6 KB)


bro @SrijanGautam ,

Thank you for sharing your idea ^^… i will try it out ^^… i have limited knowledge in python scripting also… but you have explained it very well… ^^

Bro @SrijanGautam ,

I tried your graph. But do you have an idea on how to convert Autodesk.Revit.DB.XYZ type entities to point format usable in creating polycurves or Nurbs? Thanks bro…

You need to output the Python XYZ elements to Dynamo Points using the .ToPoints() method.

Might need to make sure to also import the Protogeomery module for that. Do a search on this forum, the topic has come up multiple times.

1 Like

bro @Bjorn_Keulemans1 ,

Thank you for your reply ^^… i will check it out…