Creat Pipe profiles For all network by Dynamo

I am looking for a dynamo to create network profiles, I have the network as a civil 3D imported from shape files I also made an Excel sheet for all branches from the upstream to the Downstream, That is all my input.
The idea is to create the alignments according to the defined as per the arranged Excel as a first step then to create the auto profiles for all net work.

I have seen similar on Linked In in this link:
https://www.linkedin.com/posts/ahmed-nada-9089871b7_civil3d-dynamo-automation-ugcPost-7115762313982279680-CDRe?utm_source=share&utm_medium=member_android
I hope I can similar or better Dynamo in this amazing forum, this is very helpful and really looking for support
I have uploaded the network and Excel as examples in this link since I can not upload the files
https://www.mediafire.com/folder/qlqxrjuzaqc0u/Dynamo
Thank you

1 Like

@T2Ahmed

@mzjensen
would you please support me - I have seen your helpful topics, and I hope you can create and share them with me. Appreciate your feedback and help.

Hi and Welcome to the forum.

This is a wonderful forum and a great community but you can’t just tell someone to create a script for you.

First you need to try out by yourself and then share what you have done. We have all been new to Dynamo and learn by search and share, both knowledge and our script.

1 Like

@patrick.ericson
Thank you
in the packages installed, did not find the nodes to create alignment from the parts, would you please assist in finding the nodes?

1 Like

@mohammad.azzamFYTSE

Yes, I found out that it can be a little bit tricky with pipe networks and create something so it will be created in the correct order. Sometimes the water and Sewage designers add a structure in the middle of the network ad it can make the creation of alignment/polylines go bananas.

The plan is

  1. Get Pipes from the Pipe Network
  2. Extract Pipe.StartPoint and Pipe.EndPoint to get X and Y for the pipe
  3. Use the Pipe.StartInvert and Pipe.Endinvert to get Z-value for the pipe
  4. Create Points based on the X,Y and Z-values
    5 . Create lines based on the points and join them in to a polycurve
  5. Create a Polyline based on that polycurve which you send in to a alignment

A good start for you to learn Dynamo is to get the pipe networks in the drawing. There is a node in Civil 3D toolkit for that called PipeNetworks, after that you can filter out the pipes from the network from the same package.

The reason I do like this and not extract the structures is because I found out that if I create lines in dynamo based on Pipe.StartInvert and Pipe.EndInvert and join them I will not have to deal with that the designers has created structures in different order or has added structures during the design.

Please try out this by your self and then share some screenshots and we will take from there.

1 Like

Btw, Camber, C3DToolkit and Arkance packages is a good start.

1 Like

You need some time
To practice and search the forum to use notes

can you start

alingment-pipe.dyn (29.3 KB)

1 Like

Just wanted to say a big thank you for sharing this. I really appreciate it. It’s true that it takes some time and practice to make the most out of the forum and explore all the features, especially when it comes to utilizing nodes effectively.

Regarding the graph you shared, I understand that it creates a 3D polyline between the selected start and end structures, excluding the last structure. However, I think I’ll experiment with creating a 3D polyline all the way to the end. Then, I’ll make use of the nodes in the civil3d toolkit to convert the polyline into an alignment.

Once again, I really appreciate your help. Let me know if you have any other tips or suggestions!

1 Like

@saifumk8

Perfect! Its working. Thank you

Hey everyone!

I have a quick question regarding the same program we discussed earlier. This time, I’m having trouble creating a list.

So, here’s the situation: I have an end structure list and I’m trying to add each item to another list that contains multiple sublists. What I want is for each end structure to populate at the end of each sublist.

I’ve tried using the “List.AdditemToEnd” node, but it creates a new list with all the end structures instead of placing them at the end of each sublist.

If any of you have any ideas or tips on how to tackle this, I would really appreciate it.

Looking forward to your suggestions.
Thanks in advance!


Alignment for Pipe Network from Excel_02.dyn (519.4 KB)
@hosneyalaa @patrick.ericson @mzjensen

Finally I managed to fix the list by using below python script.

AllStr = IN[0]
EndStr = IN[1]
NewList =

i = 0

for x in AllStr:
(AllStr[i]).append(EndStr[i])
i = i + 1

OUT = AllStr