Wednesday, June 01, 2016

Convert 3DPolyline Elevations to Surface Plus Height

So lets say you get some 3D Polylines with an elevation value of a pole height, so lets say around 6’, but not constant. You want to then take the 3D Polylines and then create duplicate 3D Polylines with elevation of a surface plus the elevation of the varying 3D Polyline. If the 3D Polylines had a constant elevation it would be easy to just project to surface and then move the 3D Polylines up the required distance. If the elevations are variable it makes it a harder program to solve.

First of my preference would be to solve this through programming an app, which wouldn’t be too difficult. But in this case I don’t have the 3 or 4 hours required to create the program. So in this case I’m going to do this just using Civil 3D surfaces and 3D Polylines.

The first step is to create a 3D Polyline at 0 elevation that encompasses the entire project area. This will then be used in a surface that I’m going to call Zero. In the drawing I’ll also have an EG-100 Elev surface with a 3D Polyline set to an elevation of 100, so I can check the elevations easily.

No take the 3D Polylines with pole heights and add it to a new surface. I’m calling mine Orig3DPolys. Now this surface has the wrong elevation that I need to do the math on. In order to the elevations I need to create a volume surface and compare it to the Zero surface. This will convert my elevations from positive to negative (and from negative to positive if required). I’m going to call it Orig3DPolysInverse.

Now I need to add this volume surface to a TIN surface by pasting it in. I’m calling this surface Orig3DPolysInverse-ToTIN. This will allow me to then create a new volume surface since you can’t directly use a volume surface in another volume surface.

I can then create another volume surface to get the elevation difference between the Orig3DPolysInverse to the EG-100 Elev surface. This will give me the surface plus the height of the EG surface. I’m going to call it New3DPolys. I can then add in some surface labels to check my math and I can see everything works out well.


The last step is to project the copy of the original 3D Polylines to the New3DPolys surface.

Here is a picture of my surfaces:


Here is a link to the file if you want to double check my steps:


Blog Widget by LinkWithin