So, you have an ESRI Shapfile with contour data in it and you want to create a surface from it. How is this done? Well, honestly, it really isn’t too terribly hard. There are, however, some gotchas you have to be aware of when using the easy method. Part 2 in this series will cover a more involved way of accomplishing this but will give you a much better surface.

Creating Surface

First off, displaying the contours in your drawing, this part is super easy. Simply drag your .shp file from Windows Explorer into you drawing area and it will connect to the .shp file and display it’s contents.

Importing a Shapefile

Importing a Shapefile

This part isn’t necessary but it is a nice way to compare the surface you get from the data you have.

Now, let’s actually create the surface. On the home tab of the Civil 3D Workspace on the ribbon, expand out the Surfaces pulldown and choose “Create Surface from GIS Data”.

Create Surface from GIS Data

Create Surface from GIS Data

This will open up another of the famous Civil 3D Wizards. The first tab allows you to set the properties of your new surface, such as the name, description, style, etc. I recommend not using a style that displays a lot of data. Typically, GIS files have a TON of data in them! You don’t want to unnecessarily overtax your system.

Object Options

Object Options

On the next tab, Connect to Data, you’ll choose the type of data you want to connect to and then the actual data source. Depending on the data type, options within the dialog will become available. In this example, I’m connecting to a shapefile so I choose that option and then browse to the file. Don’t forget to click on the Login button at the bottom (not sure why you need to login to a shapefile but you do).

Connect to Data

Connect to Data

the Schema and Coordinates section simply allows you to choose the data you want to bring in and assign it a coordinate system (if it doesn’t already have one). In this case, I simply toggled on the only data that was available. If you are using something other then a shapefile, you might have additional options here.

Schema and Coordinates

Schema and Coordinates

The Geospatial Query section allows you to choose the area of the data source that you want to create the surface from. In most cases, you don’t want to create a surface from the entire shapefile as that is just overkill. Choose the method you want to select the area and then define the area (it’s pretty straight forward). At the bottom of the dialog, you’ll see two options, Inside and Crossing. In most cases, I’ve found the Crossing option to work better. If you choose Inside, it will only select the objects that are completely inside the area of interest and ignore any that extend beyond it. Since most contours are very long, they’ll extend beyond your boundary and they won’t be selected so make sure to choose the Crossing option.

Geospatial Query

Geospatial Query

Finally, the Data Mapping section. This if one of the most important parts of the dialog. A shapefile is 2d file. This means the lines within the shapefile only have X,Y values, no Z values. The elevation of the contours are then assigned to the objects as a data field. You’ll need to tell Civil 3D which field within the shapefile represents the elevations of the contours.

Data Mapping

Data Mapping

Clicking Finish, Civil 3D then creates the surface, adds the data to it, and displays it in your drawing.

Surface Created

Surface Created

Surface Issues

Now that the surface is created, you should be aware of some issues with creating a surface using this method. First thing, not all the points from your contours are used in creating the surface. There is an automatic weeding being applied to the data that you have no ability to control.

Data Points Weeded Out

Data Points Weeded Out

Whenever you have a surface created from contour data, there is the possibility that flat areas can be created. Civil 3D has the ability to minimize these flat areas. When creating a surface from a shapefile, Civil 3D automatically applies the Minimize Flat Areas edit to your surface but, you can change the settings in this command. Add the problem, you can’t go back and change the settings later, remove the edit to add it back in, or do anything with it. You are stuck with it the way it is. See THIS post for information about the flat areas and what you settings you should use. When creating a surface from a shapefile, the “Swap Edges” option is not used and therefore, creates a less then desirable surface.

Missing Contours

Missing Contours

Ok, so the contours aren’t really missing, they should just follow the data better. In other words, there should be contours in the areas that I’ve pointed out in the image.

For an alternative method of creating the surface from a shapefile, stay tuned for Part 2.

In PART 1 of this series of posts, I showed you how to create a surface in Civil 3D from a shapefile that contained contour data. I also showed you some of the issues with using that command. In this post, I’ll show you how an alternative method for creating a surface from a shapefile. There are pros and cons to this method compared with the previous method:

  • Pros
    • Allows you to use all the data in the shapefile as needed.
    • Gives you control over the weeding and suplementing factors for the surface creation.
    • Allows you to use the correct options for minimizing flat areas.
  • Cons
    • There are a lot of steps to this process.
    • It potentially creates a much larger surface (data wise)

There are a lot of steps to this process so rather then detailing each step like I normally do, I’m going to summarize the steps here and then, if you need more detailed information, you can watch the included video.

  1. Import the shapefile into a drawing as AutoCAD entities (create object data from the shapefile data).
  2. Save the file as a new drawing and close it.
  3. Create a new drawing and attach the drawing with the contours to it via the Map Explorer in the Map Task Pane.
  4. Query the contours from the old drawing into the new drawing altering the elevations of the polylines to the elevation from the shapefile.
  5. Create a new surface.
  6. Add a dataclip boundary to the surface.
  7. Add the contours to the surface as contour data (make sure you toggle on all four minimize flat area options).

And that’s it! This will create a much better surface from your data but it definitely takes a lot longer to do.

<If you don’t like reading, there’s a video at the bottom of the post.>

I’ve been playing around with InfraWorks for a bit now and I’ve always meant to but never got around to figuring out the Style Rules until now. All I’ve seen with regards to the rules is how to randomize your display. Well, I don’t want to randomize it, I want it to be very specific! I want my offroad roads to look like offroad roads, I want my highways to look like highways, and I want my local roads to look like local roads. Well, read on and see how it’s done! It’s actually a lot easier then I expected.

This is what I’m getting, all the roads look the same:

What I Get

What I Get

And this is what I want, the roads stylized based on their classification:

What I Want

What I Want

First of all, you need a data source with information in it that you’ll use to stylize the InfraWorks objects. In the example I’m using, I downloaded the data from the GIS department for Loveland, Colorado. To get a quick idea of the data that’s in the shape file for the roads, I attached it to a Civil 3D drawing (just drag the .shp file into the Civil 3D drawing) and opened the data table. This particular data source has a field called ROAD_CLASS. Some of the values for ROAD_CLASS are: RAMP, LOCAL, HWY, CLCTR-MINOR, etc.

Road Classification Data Field

Road Classification Data Field

This is the data that I want to use to determine the style of the road. I’ve broken the process up into three steps, adding the data to the model, creating the style rule, and applying the style rule.

Adding the Data to the Model

I’m not going to get into how to add the shapefile to the model here, what I’m going to discuss is how to get that particular piece of data from the shapefile and add it to each road in the model. When configuring the data source (this can be done when it’s added or after the fact if needed), you’ll need to tell InfraWorks to include the piece of data you need. In this example, I’m going to add it to the description of the road. On the Common tab of the Data Source Configuration, simply hit the pull down to add the ROAD_CLASS field to the description of the roads.

Adding GIS Data Fields to InfraWorks Objects

Adding GIS Data Fields to InfraWorks Objects

Note: If you want to add the data to a different property, you can do this on the Table tab of the Data source Configuration dialog box.

Close and refresh and now we are ready to create the Style Rules.

Creating the Style Rule

Now, we want the style of these roads to be determined from the description so, let’s create a Style Rule. To open the Style Rules, select the big orange I in the top left of your model (I’m using 2014 R4 for this), select the button just to the right of it, “Create and manage your model”, and then select Style Rules.

Open the Style Rules Panel

Open the Style Rules Panel

In the Styles Rules, select the tab on the left for the feature you want to add the rules to (in this case I’m going to choose Roads) and then add the new rule by selecting the green plus. Give the rule a name (I’m using the roadway classification here) and then click OK.

Add a Rule

Add a Rule

Once the rule is added, double click on it to edit the rule. In the Rule Editor, you can change the name of the rule and add a description to the rule if you would like. The important part here are the “Expression:” and “Styles:” sections.

Rule Editor

Rule Editor

In the “Expressions:” section, select the Edit button to edit the expression (sounds obvious, doesn’t it?). In the Create Filter Expression dialog box, double click the property you want to filter on (in this case expand out Common and choose Description). This will add that property to the expression. Now, I only want this rule to be applied to the roads with a specific description so, type an equals sign “=” in the expression after DESCRIPTION. Finally, add the property to the expression. If you know it, you can just type it. If you want to select one of the properties that is in the data source, on the right hand side, find the property and then double click on the value to add it to the description.

Create the Expression

Create the Expression

After hitting OK, you’ll be back in the Rule Editor. In the “Styles:” section, simply add the styles you want this rule to apply. If you want them all to be the same, simply add the one style you want. If you want them to vary, you can add multiple styles and then adjust the probability to force one style to be added more often then another.

Completed Rule

Completed Rule

Now continue the process until you’ve added a rule for each roadway type you have.

Rules Created

Rules Created

Applying the Style Rule

This is the easiest part, once the Style Rule has been created, all you need to do is click on the Run Rules button at the bottom of the panel.

Run the Rules

Run the Rules

There are also options to export and import the Rule Styles so you don’t have to recreate them every time you need to do this.

Now get out there and have fun playing around with InfraWorks!

Infraworks. Wow. What a great program. I love this thing, I truly do. If Autodesk keeps up development on this, it’s going to rock the industry. The problem with it as it stands today is, there are four different versions of it. That’s right, four.

Infraworks – Comes with the Infrastructure Design Suite Premium
Autodesk InfraWorks 360 Pro – Available to lease
Autodesk Roadway Design for Infraworks 360 Pro – Available to lease
Infrastructure Design Suite Ultimate – This pretty much tells you what it is.

So, what’s the difference? In short, if you want ALL the tools, you’ll need the Autodesk Roadway Design for Infraworks 360 Pro. It has tools that the Ultimate Design Suite doesn’t have, such as Sight distance analysis and Documentation services. The Documentation services is a cloud service that will allow you to create plan and profile drawings in Civil 3D without needing to open, or even install, Civil 3D (sounds pretty cool to me).

You can find a matrix that shows what each version has HERE. In case the website has changed, I’ve printed a page of the Autodesk website and included it HERE for you to download.

A while back, I did a post about bringing DEM data into AutoCAD Civil 3D (you can read it HERE if you are interested). In the comments, people have asked several questions and have had some issues. One of the issues is, you have to know what coordinate system the DEM file is using. Another is that, no matter what coordinate system you are using, the DEM comes in as though the elevations where in meters (and will then convert those meters to feet).

Well, all that’s about to change. If you have the Autodesk Infrastructure Design Suite (Premium or Ultimate) then you also have Autodesk Infrastructure Modeler (AIM). You can use AIM as a DEM to Civil 3D surface converter. Simply import your DEM file into AIM, export to a .imx file, and then import that into Civil 3D.

Open up AIM and create a new project. Give it a name and a place to save it. Keep the coordinate system as LL84 (there’s no need to change it) and leave everything else the way it is.

Create a new project

Once the project is created, import the DEM file into AIM. This is done through the Data Sources panel. Expand out the different data sources and choose “Raster” as the data source. Browse to your DEM file, open it, and then Refresh the data. You will now have a beautiful surface in your model.

Import DEM as Raster

Refresh DEM

Now that the DEM is added to your model, export it out to Civil 3D via the .imx file. In the application menu of AIM (that’s the purple I in the top left corner of the application), choose the Export menu and then “Export to IMX”. In the Export to IMX dialog box, choose to export the entire model, and give it a file name. AIM will choose an appropriate coordinate system so just leave that alone. Depending on the size of the DEM file, this could take a few minutes.

Export to IMX

Once the .imx file is created, open Civil 3D. To import the .imx file, it’s important to remember to assign a coordinate system to your drawing. If you aren’t sure how to do this, click HERE. Once in Civil 3D choose the Import IMX command (it’s on the Import panel of the Home tab of the ribbon or type IMX_IMPORT at the command line). Simply browse to the .imx file and bring it in. Because both the .imx file and your drawing have coordinate systems assigned, the DEM file comes in at the correct location and at the correct elevation. You may want to change the name of the surface as well as the style but, you now have a beautiful DEM file in your drawing and you didn’t ever have to know what coordinate system it was using!

Import the .imx file into Civil 3D

And if anyone is wondering, the DEM file I used while creating this blog post created a surface in Civil 3D with almost 4 million points.

Surface Properties

I’ve been playing around with Autodesk Infrastructure Modeler (AIM) quite a bit and I’ve been liking it A LOT! It’s SO easy to bring all that GIS data into your model and make it look really good.

One thing that will really help out your model is bringing in 3D models of some of the more recognizable buildings and features of the area you are modeling. For example, here is the City of Denver with the building outlines modeled as buildings and the height of the buildings captured from the GIS data:

Mile High Stadium Building Outline

As you can see, centered in the image is Mile High Stadium and, well, it really doesn’t look like that AT ALL! So, what can you do? There is a ton of free 3D models out there on the internet, one of the best resources I’ve found is the Google Sketchup Warehouse. You can find all sorts of free 3D models there in the Sketchup format. In fact, HERE is a 3D model of Mile High Stadium. Simply save the file to your hard drive.

Next thing we want to do is bring it into AIM (Autodesk Infrastructure Modeler). The easiest way to do that is bring it first into 3ds Max Design. If you are using AIM, most likely you have one of the Autodesk design suites (and if you are reading this blog, most likely it’s the Autodesk Infrastructure Design Suite). The Premium version of the Infrastructure Design Suite comes with both AIM as well as 3ds Max Design so you are golden if you have that. Open up 3ds Max Design and close the opening welcome screen. You probably have never used 3ds Max Design before, don’t worry, what we are doing is easy.

Within 3ds Max, on the Application Menu (that’s the big green M in the top left corner of the application) choose the IMPORT (Import  non-native file formats into 3ds Max.) command

Import Model into 3ds Max Design

Now browse to the file you downloaded from the Google Sketchup Warehouse and you’ll see the another dialog box. The only thing you’ll want checked on is “Split Objects by Layer”

Import Sketchup File Settings

After importing, you’ll see your model in 3ds Max

Model Imported into 3ds Max Design

In our case, I don’t want to use the background image of the model, just the model itself so I can select it and hit the delete key on my keyboard (alternatively, you could just not select it in the next step). Now that 3ds Max has imported the file, I want to send it out to AIM, and that’s the easy part. In the Application Menu of 3ds Max (same place we went to import the model), there is a Send To menu and one of the options under that is Send to AIM. This will send whatever you have selected in 3ds Max so select your model, and run the command.

Send to AIM

MAKE SURE YOU AREN’T IN THE MIDDLE OF A COMMAND WITHIN AIM PRIOR TO DOING THIS!!!!!!!

You’ll be switched back over to AIM where you will then be asked to configure the data source that you are importing from 3ds Max. You’ll want to do a minimum of two things here. First, assign “Type” to the data source (in my example I chose Buildings because, well, it’s a building). Second, you’ll want to specify the location. Most likely when specifying the location you’ll want to use the “Interactive Placing…” option. This allows you to place it in your model wherever you choose. When it’s where you want it, just double click and you are done.

Configure Data Source

And now you’ll be able to see your 3D model in AIM and it will cast shadows and just look really awesome!

Here’s the Space Shuttle being carried by a 747 over Mile High

Space Shuttle over Mile High Stadium

Note from Brian: There’s some new functionality in the 2015 release regarding images. Check it out HERE.

I’m constantly amazed at how many people import data from Google Earth into Civil 3D and then complain about how horrible the data is. There are two primary issues that I’ve seen when importing data from Google Earth. First of all, the imagery is inconsistent at best. The guys over at Being Civil wrote up a nice post about this issue HERE if you are interested (also, the images come in black and white). The surface data that you bring in is very limited. Sure, you can pick anywhere you want but you are limited to importing 5,000 points and, if you have a large area, that’s not very much data at all (I recently downloaded a DEM file with over 2.5 million points, now THAT’S data!). So, instead of relying on Google Earth, go out and get the data yourself! You’ll be much happier with the results.

For those of you with projects in the United States there is an amazing resource that I was familiar with but never really investigated much, the USGS Seamless Data Warehouse (I was playing around with the Autodesk Infrastructure Modeler and looking for data). You can find it at seamless.usgs.gov. Here you can browse a map to find your project location and download orthoimagery (i.e. aerial images) as well as surfaces (DEM files). You’ll need to create an account to download the data but it’s free.

Using the Seamless Viewer

When you get to seamless.usgs.gov, on the left hand side, there is a panel and on this panel, is a link to the Seamless Viewer (you can access it HERE if you like). It looks a little something like this:

Seamless Viewer Link

Once you click on this, it will take you to a map showing the entire United States (well, most of North America actually). Draw a rectangle around where your project is (you’ll see the state boundaries so use that as a guide and zoom in on the state the project is in). Once at the state level, you’ll probably need some assistance locating your project area. On the right hand side of the map, you can change what is being displayed in the map. By default (at least for me) all it showed was the digital elevation data. That really didn’t help me find the area I was looking for (Colorado is a big state, not as big as Texas of course, but still big) so I toggled on a few options to help me locate my project. The ones that seemed to help me the most were the Orthoimagery, the Transportation, and the Places (Names). As you can see in the following images, it makes a huge difference.

Before Editing the Display Options

After Editing the Display Options

Once you get zoomed in on the area of interest, you need to tell the Seamless servers what it is you want to download. On the right side of the map where the Display options are located, switch from Display to Download.

Download Options

In this case, I chose to download the NAIP (National Agriculture Imagery Program) Orthoimagery as well as the 1/3 second DEM from the National /Elevation Dataset. Once you’ve set what it is you want to download, you need to specify what part of the map that you want the data for. To do this, use the tools on the left side. I chose the “Define Rectangular Download Area” option.

Download Selections

A new window will pop up with links to download each file. The files you’ll get are simple .zip files. Once you unzip them you’ll get a ton of data. For the DEM, the files you need are the ones that end in .adf. Just keep all these files in one location and you can then create a surface from them in Civil 3D. The images will have a lot of files as well but really the only ones you need are the .tif file and the .tfw file. The .tif file is the actual image itself and the .tfw file is the world file. The world file lets Civil 3D properly locate it in your drawing. And honestly, I don’t think you really need the .tfw file as .tif files can have coordinate information embedded into them (aka GeoTIFF). I would still just leave them together to be safe.

Download Files

Using the Data in Civil 3D

Once you have the data, you need to add it into Civil 3D. First thing you want to do before adding in this data is to make sure your drawing has a coordinate system assigned to it. If you aren’t familiar with this, simply right click on the drawing name on the settings tab of the Prospector and choose Edit Drawing Settings. On the Units and Zone tab, assign an appropriate coordinate system to your drawing. If you aren’t sure what to use here, check with your surveyor on the project.

Coordinate System in Civil 3D

To bring the DEM file into Civil 3D, create a surface and add the DEM file as data. I’m not going to get into the details in the post as I’ve already talked about how to bring DEM files in to Civil 3D. You can read it HERE if you like. When you add the DEM file, use the coordinate system code LL83. Also make sure you read the comments as you’ll need create the surface in a metric drawing and use LandXML to bring it into a drawing that is in imperial units.

To bring the images into Civil 3D, use the Map Image Insert command MAPIINSERT (yes, two I’s in there). This will bring the images in georeferenced.

Conclusion

Sure this process takes longer then importing from Google Earth but think of it this way, “You get what you pay for”. In this case, you’re paying with time. Importing from Google Earth is fast but you get very poor data. Getting the data yourself takes a bit longer but you get MUCH better results. Check out this example, in the following image you can see where four of the images downloaded from the Seamless server line up and it’s REALLY close to being exactly matched up (I can’t see any offset or other error personally). Compare that with what you get out of Google Earth.

Image Overlap

If anyone has data sources similar to this for other countries, comment here so others can find them.