Structure drop height

@mzjensen, yet another incredible example of your data structure management magic, I don’t know how you can think like that. I’m not sure this gets all the way to the bottom getting inverts and calculating the “drop” so I’ve added onto Zach’s great work. I haven’t rigorously tested it but see if this helps.
GetConnectedPipes v1 KM.dyn (100.6 KB)


I figured getting the connected pipes and their directions was half the battle and that someone else could pick it up from there. Glad you could jump in and finish it out!


Thanks for saving some fun for me lol

1 Like

Realized that absolute value functions of the inverts might be necessary if you are below sea level.

1 Like

Wow guys @mzjensen @KirkWM thanks for the input! It really is above and beyond anything I was hoping for and is majorly appreciated!

I’ve just tested the script and it seems to be going ok until it gets to the output of the start structures where it is looking for a pipe node rather than a list.

1 Like

Make sure the input is a single pipe network and not a list of pipe networks with one item. Otherwise you’d need to change the levels on a lot of the nodes.


That solves that problem, I had mistyped the name of the network, as test1 rather than Test1


1 Like

Hopefully the last couple of questions:

I have changed it to minimum drop height. Is it possible to have multiple minimum drop height options depending on pipe diameter i.e.

  • 150 diameter would be minimum drop 0.9m,
  • 225 diameter would be 1.3m
  • 300 diameter would be 1.55m

I tried to do this but could not get it to ignore a minimum drop height of zero. I have added the inlet pipe diameters to the dictionary but not quite sure how to relate this to the minimum drop height?

GetConnectedPipes v2.dyn (114.9 KB)

As an engineer, I’m curious as to where this guidance/standard is being drawn from and I would like to read more about it.

1 Like

The minimum heights come from the assembly of the parts physically required to build each drop.

Can you be a little more specific? And perhaps what manufacture makes the parts?

Sure, so in the UK, to achieve a drop manhole of a pipe external to a manhole (structure) you need 5 parts:

  • 45° Equal Junction
  • Double socket coupling
  • 45° Bend
  • Pipe - length to suit
  • 90° Bend

The minimum drop height is the total height of actually being able to put these parts together as indicated below (labelled as minimum backdrop depth below).

They are made by a manufacturer in the UK called Polypipe.

Ah this all makes more sense now. Yeah this is a good check. I could see this script also creating property set data noting, for each manhole, how many drop connections each has for easier quantification later. Thanks for sharing.

1 Like

No problem, sorry it wasn’t very clear.

That is a very good point on quantification.

If I can get the script to work, it should be able to do the checks for any manhole to make sure it is buildable and also quantifiable. The later plan for the script is to get it to generate manhole penetration diagrams with the data collected and thus create a new manhole schedule to replace the lacking standard civil 3d one.

1 Like

Time to revive this old post!

1 Like

@mzjensen it is indeed! Work has started on it…don’t have anything to present as of yet, still getting my head round the layout and positioning of text. Watch this space…

Hopefully this adds a bit more context to it. Is it possible to have a conditional with multiple inputs / outputs?


Here’s a conditional for what you show above.

drop == 0.15 ? 0.9
: drop == 0.3 ? 1.55
: drop == 0.225 ? 1.3
: null;

Thanks @mzjensen I now get the list to give me the manholes that dont achieve the minimum drop depth.

When I use the DocumentExtensions.SetStyle node it comes up with a warning.

Warning: DocumentExtensions.SetStyle expects argument type(s) (Autodesk.AutoCAD.DynamoNodes.Object, string), but was called with (string[], string).

Not quite sure what the issue is?

The message says it all: the node is expecting an object for the first input but it is being provided a string. So if you’re trying to change the style of a pipe or structure, you need to input the actual pipe or structure objects and not their names.