The 2018 versions of the Autodesk programs have been out for a while now. You have a point cloud and you need to create a surface from it. Well, if you have the AEC collection, you have two options, 1) Create the surface in Civil 3D or 2) Create the surface in InfraWorks. Which one should you use?

I was working with a client recently that had this very same dilemma so I decided to do a little testing to see how well each option does creating the surfaces. To give a little bit of background on the data set, the point cloud contains around 90 million points and is an agricultural field with a stream running through the middle of it.


Overall Point Cloud in ReCap

This dataset is kind of unique as it has areas that are very flat and fairly consistent as well as areas that vary quite a bit. Creating a single surface in Civil 3D from 90 million points would take a massive amount of time (if it was even possible) so I decided to test this on a smaller scale. I cut out a couple portions of the point cloud, one in the area of the field and one in the area of the stream.

Let’s get to creating the surfaces. I created the surfaces for both areas using both Civil 3D and InfraWorks. In both programs, I maxed out the settings to get the best possible surfaces.

Creating The Surface in InfraWorks

How is this done in InfraWorks? First, I created a new model and imported the ReCap file. Once the point cloud is in the model, I used the command, “Point Cloud Terrain”. This can be found on the “Build, manage, and analyze your infrastructure model” section (Big Orange “I”), and then the “Create and manage your model” (Q-bert looking button).


Point Cloud Terrain Command

The settings I used for generating the terrain can be seen in the following image. I basically set them to give me the best possible terrain I could get from the data. Once I created the surface, I then imported the surface into Civil 3D.


InfraWorks Point Cloud Terrain Settings

Creating the Surface in Civil 3D

To create a surface in Civil 3D 2018, just like with InfraWorks, you must first import the point cloud. On the Insert tab of the ribbon, you can simply attach the ReCap file. Once the point cloud is in the drawing, select it and, on the contextual ribbon tab, choose the command, “Create Surface from Point Cloud”.


Command to Create Surface from Point Cloud in Civil 3D

Just like with InfraWorks, I created these surfaces so they would max out the data that was available. In the command, I did not change the settings for the number of points being used or the area to use (I had already cropped out smaller areas from the overall point cloud in ReCap). The only settings I changed that would affect the data was on the  Non-Ground Point Filtering section, where I changed it to use the Kriging interpolation filter method.


Filter Method set to Kriging Interpolation

How do they compare?

To compare them, I brought the two surfaces for each area into a drawing and then created a volume surface between them. This allowed me to see what the elevation differences were between the two surfaces. I then did an elevation analysis on the volume surface so I can see where these differences are.

The Field

The first one I did was for the area of the field.


Comparison of Surfaces in the Field

If you look at the numbers, you can see that over 96% of the surfaces are within 0.1′ of each other and over 99.8% are within 0.2′. This is really good! If I zoom in on the area of the contours (they are 1′ contours by the way, you can see a little bit more detail.


Field Contours

The blue contours are from the surface created in Civil 3D whereas the red contours are from the surface created in InfraWorks. One final comparison, lets look at the data density of the two surfaces. How many points are in each of these surfaces?

  • Civil 3D Surface – 356,420 points
  • InfraWorks Surface – 9,993 points

To be fair, I could have decreased the number of points as I was creating the Civil 3D surface but, I maxed out the settings in InfraWorks.

The Stream

I repeated the process for the area around the stream.


Comparison of Surfaces at the Stream

As you can see, the numbers aren’t quite as good here. In fact, there are areas that are off by up to 8′. I did a similar comparison based on these numbers and found that almost 97% of the surface was within 2′ and almost 99% was within 4′. This isn’t a fair comparison so I reran the analysis using basically the same numbers as for the field (0.1′ increments) but I lumped everything beyond 0.4′ into the same category. This is what I found:


Surface Comparison with 0.1′ Increments

Once again, I ran the numbers and found that 83% was within 0.1′ and 89% was within 0.2′. A little concerning was the fact that over 6.7% was more than 0.4′ off.

Let’s go ahead and zoom in on the contours (again, the blue contours are the Civil 3D surface and the red contours are the InfraWorks surface). I displayed it with and without the volume surface because it was difficult to see all the contours at times.


Stream Contours

The comparison in size between the two surfaces are:

  • Civil 3D Surface: 773,732 points
  • InfraWorks Surface: 24,474 points

I don’t know how to increase the accuracy of the surface created from InfraWorks any more than it is.

Final Thoughts

Based on the results I’ve received here, which method would I use? Well, if the area is fairly flat and consistent (the field in this example), I would probably go with the InfraWorks surface. If there is a lot of inconsistencies in the data (the stream in this example), I would probably go with the Civil 3D surface.

Remember, you can create an overall surface in InfraWorks, create surfaces in Civil 3D for those areas that it’s needed, and then paste them all together at the end.

What are your thoughts? Have you had much experience with surfaces from point clouds in InfraWorks, Civil 3D, something else all together? Did I get something wrong? Let me know what you think in the comments!


This came up in the discussion groups today, a user has a set of points that he needs to create a surface from but the points also have a depth value. He wants to create an additional surface below the original surface but at the depth below as recorded in the point (the depth is not constant, it changes for each point). For example, point 1 is at elevation 100 and has a depth of .55′, point 2 is at elevation 101 and has a depth of .48. The elevations of the first surface would be 100 at point 1 and 101 at point 2. The elevations of the second surface would be 99.45 at point 1 and 100.52 at point 2.

To do this, we’ll need to import the points twice (I would recommend doing this in two separate drawings and then data referencing the surfaces together), once at the original elevation and once at the adjusted elevation. Importing the original points is not a big deal and you can find all sorts of information on how to do this online so I’ll skip it here.

To do the elevation adjustment, we’ll need to know something about the point file. In the example I’m using here, I have a .txt file that is comma delimited and looks like the following:
1,5000, 5000,100,GND,-.55

The format of this is very common, PNEZD (Point, Northing, Easting, Elevation, Description) but it has the added value of depth to it. We need to create a new Point File Format to import this data. On the settings tab of the prospector, expand out Points, right click on Point File Formats, and choose New. The format type you want is User Point File.


New Point File Format

After you choose In the new point file format, you’ll need to name the format, set up the columns to match the data that you have, and indicate how the file is delimited (a comma in this example). The PNEZD part is pretty straight forward (if you aren’t sure about it, check out one of the other point file formats that come with Civil 3D) but we need to add a column for the depth. The depth will depend on the how the data was collected. In my example, I have a negative sign indicating that the value is to go down so I’ll use the Z+ value. If the value is listed positive and you want it to go down, you’ll need to choose the Z- value.



Point File Format Settings

Now that we’ve done this, we can import the points. In order for the point elevations to be adjusted, we need to tell Civil 3D to actually adjust the elevations. On the Import Points dialog box, down towards the bottom in the advanced options section, there is an option to do elevation adjustments if possible. Makes sure this is toggled on and your points will come in at the adjusted elevations.


Import Points Settings

The following image shows the results of bringing in the same point file once using the elevation adjustment (on the right) and a second time bringing it in without the elevation adjustment (on the left):

Imported Points.png

With (right) and Without (left) Elevations Adjustments

Hope this helps out and let me know how you are using this. I would really like to know what you’re doing with it!

So, you like to use the Bearing and Distance command while drafting in Civil 3D you say? Well, you might want to be aware of a little inconsistency in the command depending on how you run it.

Rick Ellis over at Cadapult Software Solutions (the author of the Civil 3D book we use here at CAD-1) pointed this out to me and I thought it would warrant a blog post. Thanks Rick!

So, here’s the problem, two lines drawn from the same location using the Bearing and Distance transparent command end up with different bearings depending on how you run the Bearing and Distance command.

Different Results, Same Input

Different Results, Same Input

So, what did I do differently? Well, the bottom line I drew using the Bearing and Distance command by typing ‘BD at the command line (don’t forget the apostrophe). The top line I drew it using the Bearing and Distance command from the Transparent Commands Toolbar (by default on the right side of your drawing area).

This will make more sense if I explain what it is I typed. I start the line command and snap to the center of the circle. I then invoke the Bearing and Distance transparent command using one of the methods listed above (repeat with the other method). I then type “1” for the quadrant, “45.4545” for the bearing, and “100.00” for the distance.

Same input different results

Same input different results

That’s great and all but, which one is wrong? Well, technically, they are both right, they’re just different. When ‘BD is typed at the command line, and you input 45.4545 for the bearing, it sees that as 45o45’45”. when you use the Bearing and Distance command from the toolbar, you are actually using the ‘_BD command and it returns a bearing of 45.4545o which, as you can see in the video, works out to be about 45o27’16”. Neither is wrong, they’re just different.

Here is a video with commentary that I made if you want some additional clarification:

So, you want to bring a surface from Civil 3D into Revit? It’s pretty easy, provided you have both Civil 3D and Revit Structure. What? You don’t have them both? You only have Civil 3D? Are you sure? Recently, anyone that had Civil 3D on subscription was automatically upgraded to the Infrastructure Design Suite Premium and, guess what, it has Revit Structure! So most likely, unless you specifically opted out of the upgrade, you have access to Revit Structure.

Please read this entire post as there is some very important information near the end. First, I’ll tell you how to Import the Surface and then I’ll tell you about the Limitations and Issues.

Import the Surface

The Bridge Modeling Tools have been around for a while now. If you haven’t installed them yet, go to the subscription website and download them. You’ll need both of them, one for Revit Structure and one for Civil 3D.

After you have installed them, simply open the drawing that has the surface in Civil 3D and then open the file in Revit Structure you want to bring the surface into. In Revit, there is a little bit of setup you need to do (if you’re a Revit person, you probably already know this stuff). Go to your “default 3D view” (that’s the “doghouse” on the quick access toolbar) and edit the Visibility/Graphic Overrides.

Setting Up Revit

Setting Up Revit

In the Visibility/Graphics Overrides, turn on the display of the Topography.

Topography Options

Topography Options

This will allow you to see the surface when you bring it in. Once Revit is set up (I’m sure there are some settings I’m not aware of and I’m sure a Revit Guru will correct me on this), go to the Extensions tab, expand out the Civil Structures tool and choose “Integration with AutoCAD Civil 3D”.

Integrate with Civil 3D

Integration with Civil 3D

If you have more than one drawing open in Civil 3D, you’ll need to choose the drawing with the surface in it, the surface(s) in the drawing you want to import, and then have it import the surface into Revit.

Import Settings

Import Settings

After hitting OK, you then have some options when importing the surface, such as the material that will be assigned to the surface and the limits of the surface (if you don’t want the entire thing).

Terrain Definition

Terrain Definition

Once done, you’ll have a surface in Revit that you can do whatever you want to with it.

Surface in Revit

Surface in Revit

Limitations and Issues

This tool is really, I mean REALLY cool! A few years ago, one of my coworkers (Brian Mackey) and I worked up a technique to do this very thing and believe me, it wasn’t this easy. This is easy but, you need to know what it does. If I take this surface in Revit and I compare it to the surface in Civil 3D (I’ve stylized it in C3D to be similar to what we see in Revit) you’ll see they are quite different.

Civil 3D vs. Revit

Civil 3D vs. Revit

As you can see, the limits of the surface from Civil 3D aren’t honored in Revit. In fact, the only thing that comes through in Revit is the surface points. If you have added any breaklines or boundaries to the surface in Civil 3D, Revit doesn’t recognize those. For you civil folks, to get a feel for what Revit is doing, basically extract the surface points from a surface and then add them to a new surface and that’s what you will have in Revit. This is still better than what we had though so it’s definitely an improvement. If this is important to you, file a support request with Autodesk so they know and perhaps they will adjust the way the tool works (the method Brian Mackey and I developed has the same issue by the way).


Yes, we’ve all heard it before, Civil 3D makes contours that sometimes look like the recording of an earthquake on a Seismometer:

Seismometer Recording

Seismometer Recording

Really, it’s not the fault of Civil 3D, it’s the data. Add the same data to any other civil design program and you’ll get the same results. This seems to crop up quite a bit when you have cross grades. In the following image you can see that there are two roads going opposite directions and this is where the jagged contours are coming from:

Jagged Contours

Jagged Contours

No contractor would build it this way so, let’s see what our options are.

Option 1: Smooth the Contours

You can smooth the contours of the surface. In the style the surface is using, you can toggle on the option to smooth the contours. This is a great way to make a drawing “look pretty”. It will take the contours and smooth them out. This is only editing the display of the surface. If you have a profile through this area, smoothing contours does nothing to the profile because we aren’t smoothing the surface, we are smoothing the display of the surface.

To smooth the contours, go into the style the surface is using and, on the contours tab, toggle the option to smooth the contours to True. Once you have this toggled on, you can select the type of smoothing you want to apply to the surface as well as how aggressive you want the contour smoothing to be. Play around with these settings and see what looks best for you. There isn’t a correct setting for this because your goal, when smoothing contours, is to make the contours look pretty.

Contour Smoothing Options

Contour Smoothing Options

And here is the same area of that surface with the contour smoothing option set to True, the Smoothing Type set to “Add Vertices” and the contour smoothing maxed out.

Surface with Smoothed Contours

Surface with Smoothed Contours

There are some things to be concerned with when smoothing contours, you are sacrificing the accuracy of the contours to make them “look pretty”. If you have a spot elevation that happens to fall very close to a contour or perhaps a point that was used in the surface creation that’s really close to the contour elevation, you might see some discrepancies. In the following image, I placed a spot elevation and snapped to the contour and you can see it’s not the exact same elevation as the contour:

Smoothed Contours Labeled

Smoothed Contours Labeled

Another issue with smoothing contours is you might end up with contours that cross each other. You’ll see this sort of thing primarily where you have some really steep areas such as retaining walls.

Crossing Contours

Crossing Contours

Anyone that’s done any amount of surface modeling knows this is not allowed.

The last issue that I’m aware of with smoothing your contours is, it’s all or nothing. You can’t smooth just a portion of the contours of your surface. This is because it’s a part of the style.

Option 2: Smooth the Surface

The other option is to smooth the surface directly. This is an edit that is done to the surface and is found in the same place you can raise/lower the surface or paste in another surface.

Smooth Surface Command

Smooth Surface Command

There are two options when smoothing surfaces, “Natural neighbor interpolation” and “Kriging”. I’m not going to go into detail on how the different methods work or what settings to use. You’ll need to read the HELP FILE and do your own research to find out which method works best for your situation. In this example, I’m going to use the natural neighbor interpolation method.

Smothing Options

Smothing Options

So, how does this differ from smoothing the contours? Well, when you smooth contours, you are smoothing the display of the surface. When you smooth the surface, you are actually editing the surface and not just the display. Here is an image of the surface with the smoothing edit applied to it:

Smoothed Surface

Smoothed Surface

As you can see, the contours look much different then when the contour smoothing was applied. If you take a look at the triangles of the surface, you can get a better idea of what happened here (I did a 5′ grid in this example):

Smoothed Surface Triangles

Smoothed Surface Triangles

A couple things to note here, I didn’t smooth the entire surface, just the  area that needed it. Second, any data that was added to the surface was not modified in any way at all. If there are points, or breaklines, or corridors, or gradings, they are preserved (including the triangulation along the breaklines). This only affects the way the triangulation in the areas between data are calculated. Basically, instead of doing a straight grade between one point and the next, it rounds it out.

Something to be aware of, this can add a LOT of data to your surface and can make it very slow to work with so play around with the settings and get the results you want without adding too many points to the surface.

Hopefully this helps out when someone is complaining about your ugly contours!

Civil 3D uses a Triangulated Irregular Network (TIN)  for surface models, just like every other piece of civil engineering software that I’m aware of. There a  couple of major limitation to a TIN that you should be aware of. First, every single horizontal location (i.e. every x,y coordinate) can have only one elevation. This means no vertical faces and no overhangs or undercuts. The other limitation is since it’s made up of a bunch of triangles, you can’t have curves in your surface. If you have curved data that you want to add to your surface, you must approximate this with straight line segments, and this is where the mid-ordinate distance comes into play.

What the Mid Ordinate Distance Is

When you add data to your surface, one of the options is the mid-ordinate distance. What the heck is the mid-ordinate distance? Well, it’s the distance from the midpoint of a curve to the midpoint of the arc.

Mid Ordinate Distance

Mid Ordinate Distance

When you add something like a curve to your surface as a breakline, boundary, or contour; the surface cannot follow the curve so it uses the Mid Ordinate Distance to approximate the curve. Basically what happens is C3D will start at the end of the curve and draw a line to another point on the curve so the mid ordinate distance between those two points on the curve equal what is set in the dialog box.

Mid Ordinate Calculated

Mid Ordinate Calculated

As you can see in the image, there is a little bit left over at the end, when you add this to a surface, you don’t want that little bit left over so Civil 3D then evenly distributes the number of points added to the feature along it. This will result in a final Mid Ordinate Distance slightly less then what was calculated.

Mid Ordinates Distributed Along Curve

Mid Ordinates Distributed Along Curve

So, instead of adding just the ends of the curve to the surface, the Mid Ordinate Distance allows us to determine how many points along the curve we want to add.

What Should You Set It To?

Now that you know what it is, what should it be set to? In the default template, it’s value is set to 1 drawing unit (1′ in the imperial template and 1m in the metric template). Is this value too big? Too small? Or just right? Let’s think of this in a different way. Don’t think of it in the abstract Mid Ordinate Distance way, think of it instead as “How far away from my data should I allow my surface to be created?” If you set the Mid Ordinate Distance to 1′, then the triangle of your surface can be up to 1′ away from the actual data. It’s your call, is this acceptable or not?

Here’s how I like to figure out an acceptable Mid Ordinate Distance. What is the smallest distance between any two breaklines you’ll have in your surface? Are you modeling a haul road for a mine? Or are you modeling curb and gutter for a commercial parking lot? In my experience (primarily land development) I use a lot of curb and gutter. When I model the flow line and the top face of curb in a standard curb and gutter, that’s a horizontal distance of 2″. Take that smallest distance and cut it in half to get your desired Mid Ordinate Distance, in this case 1″. Since 1″ is about 0.08333 I will typically us 0.1′.

Can I Change the Default?

Well, of course you can! Ok, let me rephrase that, if you are using Civil 3D 2010 or later you can. On your toolspace, go to the Settings tab and expand out Surface and Commands:

Command Settings Location

Command Settings Location

As shown in the image, there are three commands (at least that I know of) that can have the Mid Ordinate Distance set, AddSurfaceBoundaries, AddSurfaceBreaklines, and AddSurfaceContours. Right click on the command you want to change and choose Edit Command Settings. In the command settings, expand out “Add data options” and change the “Default mid-ordinate distance” setting.

Mid Ordinate Distance Defaults

Mid Ordinate Distance Defaults

Hopefully this will help you understand what’s going on with this setting and, have a Merry Christmas!

So, Civil 3D 2013 is just around the corner and I wanted to let you all know a few of my favorite things in this release.


Well, I can’t really comment on the performance yet as I haven’t had much chance to push the software around but, if you listen to those in the know, they’ve made some serious improvements to the performance.


There are some major improvements to the survey tools in this release. In fact, there is an entire new tab on the ribbon for your survey tools. What’s the big thing? Querying your survey database. One of the things I’ve always found awkward about the survey database is the disconnect between it and the drawing. With this release you can query your survey database and add the results of the query directly to a surface. If you add additional data to the survey database that matches the query, when you rebuild your surface, it will update (in my testing, the surfaces wasn’t marked as out of data if the survey database changed).

Survey Query

Survey Query Ribbon Tab

Now that’s pretty cool and really useful for surveyors but, there is also the ability to create a line label, WITHOUT A LINE! How many times have I been asked if you can do this? I’ve lost count and now I’ll be able to say, YES!

Line Between Two Points Label

Basically this tool creates a phantom line that is labeled. Grab the label and you can adjust the points it’s labeling between.


I’m an engineer. Why did I get into engineering? I wanted to drive trains. Three years into college and I realize that I won’t be driving any trains (I was wondering what statics had to do with trains) but now with Civil 3D 2013, I can design rail lines. There are new alignment types and settings (I’ve seen many times on the discussion groups people asking about Degree of Curvature and now we have it). Honestly, I’ve not done much with the rail tools in 2013 so I’ll leave that for someone else to write up (at least for now).

Rail Cant

The corridor creation has a new dialog box that makes it a bit easier. It’s a small improvement but hey, I’ll take anything they’ll give me. The assemblies have had some very nice improvements. When you add a subassembly to another subassembly, it will detect the correct side that it’s on for you so you don’t have to constantly change the sides as you are creating the assembly. Additionally, you can replace an existing subassembly in an assembly as well as insert a subassembly between two subassemblies.

Insert Subassemblies


The Volume Dashboard Extension is now a part of the program. If you have checked out this great tool, check out the write up I did on it earlier HERE.

One thing that I always struggled with is when you need to cut out one surface at the limit of another surface. Not a difficult task but if you change these surfaces, the process for adding the boundary again is very manual in nature. Now you can simply add one surface as a hide boundary to another surface (be careful not to get into a circular reference issue).

Surface as Hide Boundary

Pressure Networks

Yup, you heard me. You can now model pressure networks in Civil 3D 2013. There is a brand new type of object, a Pressure Network. It has it’s own parts lists and everything. Bends, tees, crosses, valves, etc are all available for you to add to your network. This is a pretty big addition to Civil 3D and I haven’t had a lot of time to get down and dirty with this yet so stay tuned for more posts on this topic as I learn the ins and outs of this.

Hopefully you’ve seen something here that makes you go, “Oooh! I can use that!”