Connect Pipe Start and End to Structures (Using Civil3DToolkit Nodes)

I have an example of a pipe network that has pipes and structures placed, but they are currently unconnected. I am working on a program that will leverage dynamo to connect the Pipe Start and Pipe End to the corresponding structure at those same location interfaces. The tricky thing about this scenario is that because there are several pipeline branches in this network, it’s not as simple as just adding a list of pipes and structures to the Pipe.ConnectStartToStructure node (some of the structures have multiple pipes connected).

I will attach the files I am working on, but I am hoping to set some help in generating the list of structures that correspond to each pipe start point (some structures will be repeated in the list). If there is a better way of achieving my goal for this program I am open to ideas. Thanks!

JJH_ConnectPipesStructures.dyn (19.2 KB)

Update: it is saying the DWG I am attempting to include with this post is too large. I will include a snippet of what the pipe network looks like. The pipe network itself is not important as long as it has multiple branches.

How are the pipes and structures being created? Are they done with Dynamo as well? And if so, what is the source of the data for the points/lines? Usually when I’m building an automated network like this, I am either starting with COGO points or an Excel spreadsheet (or both). Whatever the case, you’ll need the point data (i.e. northing, easting, and elevation) for each pipe and structure so that you can establish which pipes connect to which structures. The other piece of information that is necessary to know is the direction of the pipes (i.e. which vertex is the start and which is the end) so that you can establish what is the start structure and what is the end structure for each pipe.

So basically you have to define the network topology somehow. Like I said, I’ve found that it’s easier to manage all of that in Excel so that the data being fed to Dynamo is in a clean, structured format. For the structures, the minimum info you’d need is:

  • Name
  • Northing, easting elevation
  • Part info (parts list, part family, part size)

And then for the pipes:

  • Start structure
  • End structure
  • Part info (part list, part family, part size)
  • Start and end inverts (or crowns, centerline, whatever)

Then the workflow is:

  • Create structures by points
  • Create pipes by lines/arcs (not PolyCurves)
  • Connect pipes to structures
1 Like

What you have described as the workflow is another program that we have set up for dynamo. On our projects, we often start by drawing simple polylines to represent utilities, and then once the design is starting to progress those polylines are converted into alignments and pipe networks.

I have a dynamo program that takes polylines and creates alignments and a pipe network from the polylines. The only issue I am still working through is that the network pipes and structures are not connected when created (even though the start and end points of the pipes coincide with the structures).

I believe that I have all the necessary info available to connect the pipes and structures, I am just having issues getting the connection node to work properly (because the structure list that inputs into the node needs to have a few structures repeated where more than one pipe connects to a structure).

Part Catalog Test Drawing 04.dwg (899.4 KB)

JJH_CreatePipeNetworkFromPoly.dyn (133.5 KB)

In order to get this program to run correctly you might need to adjust the string for your PartSize so that it calls a part size in one of your parts lists. Also, when selecting the polylines for alignment and pipe network creation, make sure to start from low to high. I have added some text to show you the order to select them in. This ensures that everything is created in order. I checked this program and drawing and everything created fine for me so hopefully it will work for you. I am now looking for help getting the pipes and structures created after using this program. Thanks

Has anyone had a chance to take a look at this program/situation. I am hoping to have a way to connect the pipes to structures correctly in a pipe network with multiple branches.

Hi all,

I too had this issue at my company and I started sketching and writting down the workflow:

1 - Filter for pipe that had null Start/End structure;
2 - Get the points (X,Y) from the null structure pipe’s Start/End;
3 - Find nearest structure to points;
4 - Connect pipe’s Start/End to structure.

I am currently at step 3 and shall now try out step 4.

@hestingjj @Tiago.Caldeira I put this together real quick for you to try, let me know how it works. It assumes that the pipe start/end points are at least within the bounding box of a structure. If they are outside of that, then a different approach would be needed.

ConnectPipesToStructures.dyn (64.0 KB)


Hi @mzjensen

Your graph works fine, though I have one comment.
Whenever the pipe connects to the structure, the sump elevation is changed to whatever the rules are. The workaround might be to get the structure’s sump elevation, early at the graph, and then reassign the elevations at the end.

Anyway, thanks a lot Zachri!

Yes, that would be a great improvement. I have had some issues in past graphs with the node for setting the structure sump, but I’m not sure if it was an isolated issue. Anyway, I left it off of this graph because of that reliability issue.

1 Like