Pipe Network Crossings

Looking for some open source code to help expedite gathering all utility crossings for all pipe networks in a drawing, organizing it by labeling, and exporting to a table. Thanks in advance for any hlep.

Hi @jeremy.jaeger7L5J8,

Welcome! Sorry for the delayed response. Attached is a script to get you started. It will identify all pipe crossings and label them with MText. A few notes:

  • You’ll need the Civil 3D Toolkit package to work with pipes if you don’t have it already.
  • I tested this with two different pipe networks, so it should work with more than that.
  • I didn’t test with curved pipe segments, so you might want to try that if it is necessary for your situation.
  • I didn’t add nodes to export to an Excel spreadsheet, but the data is all there so you can easily add a few nodes to the end.

Hope it helps!

PipeCrossings.dyn (120.3 KB)


This is a great start Zachri. Thank you for the help. Just starting out. Are you using the latest version of the Civil3DToolkit?

Yes, v1.1.9.

Great, thank you Zachri Do yo know how to get the distance between the upper and lower outer walls of the pipes? i don’t see a node to get the elevation at a x, y & z point for pipes.

Outvert at Start and End or you could extract the solids of the pipes involved, calculate the closest points and retrieve the distance

1 Like

My thoughts exactly Cesar. I am working with Andrew Milford of Autodesk on this as well. He sent me a script that I think will be beneficial but this forum is not allowing me to post it to the thread.

i think you have to change the extension of the file to txt to post it.

My goal is to be able to identify the crossing pipes and if the minimum cover cannot be accomplished then proceed to place a concrete encasement of the pipe. Since it will have the location of the crossing, and thickness and slope of the pipe, the solid can be created and export out to cad. with a label identifying it. Also, to reflect it in the profile.

Sure, I added a few nodes to get the distance between the solids. If the solids intersect, then it labels it with “Clash”. Otherwise it labels the separation distance.

PipeCrossings.dyn (160.2 KB)

1 Like

PipeCrossings.txt (195.5 KB) Sorry for the long take respond. I have been very busy on other things and vacation time.

Thank you Zachri, the script works very well. I added the ability to create a solid to at the intersection, oriented with the pipe and export the solid to cad. Now i am stuck trying to extract the Z value at the intersection to move the solid at the center of the pipe but i don’t see how. because right now its 0. My main gold is to create a solid at the intersection on the sanitary pie that represents the concrete encasement and since is a solid with the correct elevation i can project it to the profile as well.

See response here.


Thanks to Zachri Jensen… here is my pipe crossing script.
PipeConflict_CivilEnvoy.dyn (278.7 KB)

This is a blog post discussing the script.


Wow thanks for sharing!

thank you so much! this is exactly what I needed!

would it also be possible to add the elevations of the crossing pipes (i.e. the bottom of the top pipe and the top of the bottom pipe)?


It is possible to carry out this evaluation with pipes that correspond to ShortCuts?