Pressure networks to shape files

I have created dry utility networks for electrical Medium voltage, low voltage, telephone etc using pressure network pipes. I need to convert these to shape files to make it visible in infraworks. Please help.

I saw another dynamo script to convert pressure networks into feature lines but it does not convert all the pressure pipes to feature lines.

If you are talking about Civil3D objects i would recommend the Civil3DToolkit package.

yes. refering to civil 3d object. I am able to convert pressure pipes to polycurves and then explode them to shape files. but some curves are not accurate and able to convert only one pipe at a time.

I used this code for converting pipe to feature line… then exploded to export as shape file.

Hi @Josen-Jose,

Lots of questions here:

  1. Are you wanting to export information for the fittings and appurtenances (assuming your networks have them), or are you wanting the curves that represent the pipes to join at each node? I ask because if you have fittings and appurtenances, the pipes do not share a common end point.

  2. Are you wanting to export 2D geometry with embedded 3D information (invert, slope, etc.) or actual 3D geometry?

  3. Are you also wanting to automate the export process to SHP files?

If all you’re looking for is to get the pipes into InfraWorks for visualization purposes (i.e. you don’t really need the data), you can add the DWG as an “AutoCAD DWG (3D Objects)” data source.

thankyo @mzjensen for your response.

  1. I am only trying to export Civil 3d Pressure (straight & curved) pipes without any fittings (bends, Tees, etc). The straight & cuved pipes represent LV, MV, Telephone cables and hence have curves and straight paths & also common nodes.

  2. logically I just need to replace pipes with poly lines / polycurves which is I guess shape files. Eventually Infraworks will be able to read these shape files to generate the 3D pipe geometry . So to answer the 2nd question … i guess I just need to extract 3d geometry.

  3. automatic export process to shp file will definitely be a awesome feature.

Thanks again

I have tried this method… but it does not assure good results.

Use the PressurePipe.Curve node from the Civil 3D Toolkit to get the curves (lines and arcs) for the pipes. Then you could either add those to model space as feature lines and then explode them (which will create tessellated 3D polylines) or just tessellate them first in Dynamo and create 3D polylines directly using Polyline3D.ByPoints. It doesn’t matter when you do the tessellation, but it will have to happen at some point in the process because InfraWorks can’t handle true curved pipes anyway.

You could look at my code here to try and automate the MAPEXPORT process.

I haven’t tried this, but another option might be to use the PressurePipe.Curve2D node to get 2D lines and arcs, and then include the start and end elevations in the shapefile export (probably via OD data). Then map those values to the start and end elevations for the features in the InfraWorks data source settings. Then the tessellation would be handled directly in InfraWorks.


Currently I am working in a script to export pressure networks (geometry and data) to shapefile file.
Pressurepipes is previously converted to AutoCAd 2D lines/arcs without elevation (z=0), fittings/appurtenances is previouly converted to AutoCad points with elevation data (z<>0).

All data is reading from part properties (Content Catalog Editor) then attached to te lines/arcs/points like OD tables.

Finally I want to export it (mapexport command)

I have some questions. I will ask one at a time. First one:

I use the PressurePipe.Curve2D node (Civil3DToolkit) to obtain the Dynamo 2D geometry (arcs for curved pipes, lines for straight pipes). Then I use Object.ByGeometry node (Dynamo default nodes) and Arc.ByGeometry node (Civil3DToolkit) respectly, to obtain AutoCad Lines/Arcs from Dynamo geometry.

So far everything seems to be going well, but arcs of length zero with center point 0,0,0 are created !!!

I tried to get around this with a visual script node but had no good results.

Maybe this will help you clarify the issue.

Here I leave the files to review:

PipeNetwork2Shp.dwg (1.4 MB)

PressPipe2Shp.dyn (97.5 KB)

Can you use PressurePipe.Curve

can you just draw PressurePipe
Then connect them with FeatureLine.ByPolyCurve

Thanks @hosneyalaa,

What you suggest works but it is not the best solution. it take more time to run, and then I need to explode two times the featurelines to obtain lines and arcs (Mapexport command does not accept featurelines, but it does accept lines, arcs and polylines.)

Using Civil3DToolkit Arc.ByGeometry node works, but some Arcs with zero length and 0,0,0 central point are created too!!! Then I need to delete it (not an elegant solution). I don’t understand what I’m doing wrong.

I also tried to make a DesignScript node whit some conditional statement and for loop to filter the objects that will then pass through the Arc.ByGeometry node, but no arcs was created!!! What is wrong with my code???

Can someone check my designscript node and tell me what I’m doing wrong please?

thanks for your help