Adding flange when splitting Ducts

Hello,

I created a Dynamo script that splits ducts, but when splitting, it does not add a flange between the split ducts.

Could someone help me finish this script? I don’t have much experience with Dynamo, but I’ve divided it so that it first detects if the duct has a height, as I don’t want circular ducts to be selected. Then it filters by size, and so on.

1 Like

@sergio.dos-santos-ca ,

i have a similar script and it does it automaticly. I think you can set it anywhere else, something like auto routing, Ducttype settings regarding connection.

How to split horizontal a pipe/duct curve? - Revit API - pyRevit Forums

Hello @Draxl_Andreas,

I just managed to make the script work.

Thank you for the reply :slight_smile:

1 Like

The problem I see with the script Is that It loses connection to other connected elements.

I normally use genius loci split tool and will keep the system, another could be MEPFitting.ByPointsAndCurve from mepover, works great as well…PS your flange family lives in the ductserie----openmep should have nodes as well

Would It be able to see your script on how you used Genius loci?

something here maybe

Revit_gw1M6msJ7O

1 Like

Thank you very much. I tried using the same method, but the code block doesn’t seem to work. Another question: how would it know where to split? For example, I need it to split every 1500 mm.

Then try as here in line b, 1500..a..1500

This Is what I get. Can you spot the error?

no not reallyy…works great here, which revit version are you in ? i think Autodesk.Curve.Length(lst) in your version maybe

try here

Home.dyn (16.3 KB)

I made a change to the code block:

a = Autodesk.Curve.Length(Geometry);
b = 0..a..1500;

It worked like this. I will now try to create a rule so that circular ducts are not cut — then the script will be perfect.

I appreciate your help :slightly_smiling_face:

1 Like

you are welcome…and another way instead of Curve.PointAtSegmentLength…

I’m trying to filter rectangular ducts, but when I use List.FilterByBooleanMask with a true/false list, it doesn’t filter correctly. The output is a mix of false and true values.

it shoudnt :wink: but you will need show us the graph with all nodes pinned…

Taille means size.

yeah thats not the best way sort for rect vs round ducts imo.., thats why i just use paramereter exist from clockwork a fast way imo.., but many ways to do that, we could find the shape itself..

I still have the same problem, haha.

I have three ducts—one of them is circular, but it intersects with one circular and one rectangular duct.

isnt that right the output is rect and in is round…not sure i understand then

It’s what it’s supposed to do, but it mixed one of the round ducts into the ‘In’ output.

To clarify, I have 2 rect ducts and one round.