Structure drop height

Hi All,

Hoping for some assistance again…

I have created a script (.dyn attached) to check the drop height of a structure between the high level inlet and low level outlet using the nodes Structure.PipeUpperTopDepth and Structure.PipeLowestBottomDepth.

It works very well, except the Structure.PipeUpperTopDepth node is from the top of the top pipe, rather than the invert of the pipe.

The pipe diameter would vary, is it possible to make an allowance for the pipe diameter?

I couldn’t see a pipe diameter node for a structure.

Thanks in advance!

drop.dyn (24.5 KB)

There should be a Pipe.InnerDiameterOrWidth node. Or Pipe.OuterDiameterOrWidth if you need to account for wall thickness.

@mzjensen Yes I seen that one, but that is under pipe nodes rather than structure nodes. Is it possible to link them together, i.e. the pipe diameter and depths will only relate to a specific structure. For example on a specific structure, I need to calculate the depth from the invert level to invert level between inlet and outlet. If I was able to use Structure.PipeUpperTopDepth minus Pipe.OuterDiameterOrWidth, then minus Structure.PipeLowestBottomDepth. This would give me the drop height.

I see. So basically you need a way to get the connected pipes for each structure and whether they are incoming or outgoing. This should help with that.

GetConnectedPipes.dyn (49.2 KB)



@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…