September 19, 2011

Data What? Using Data Extractions to create a Topo Surface in Revit Architecture

On  a recent tech support day at Ideate, a case was submitted requesting help with creating a topo surface in Revit Architecture from points in an AutoCAD drawing file. There’s no direct way to do this, but there is a very useful AutoCAD tool called Data Extraction that produces a file that Revit can use to create a topo surface.

In Revit Architecture, there are two general methods for creating a topo surface. From the Massing and Site tab’s Toposurface command, users are able to Select Import Instance, or Specify Points File. The import instance is probably the easiest way to generate a topo surface from an AutoCAD drawing, however the drawing must include contour lines that identify elevations on the desired surface. If your file does not include contour lines, they need to be generated or drafted manually, which is not the easiest task in plain AutoCAD. On the other hand, if you have a point file (.CSV or .TXT) that contains point data in X,Y,Z format, option two will work for you. 

NOTE: You can create points manually in Revit, but who wants to click on each point and assign values one by one?

In our customer’s case, their AutoCAD file contained plain AutoCAD point objects (nodes with X, Y, Z coordinates) and nothing else. At this point, they had a couple of options; generate contours manually, then link the file in Revit, or create a point file from the object data and use that instead.

If only there were a way to extract object data automatically in AutoCAD...

The AutoCAD Data Extraction tool allows you to select drawing objects and generate a CSV or TXT file containing object data automatically. In  a series of dialog boxes, Objects, Properties, and File Formats are selected, then the application does the rest for you. Once it’s done, you have a point file that Revit Architecture can use to generate the topo surface.

As easy as that sounds, there are some things to consider to avoid potential errors.
  1. The AutoCAD drawing must be in Decimal format before you extract the object data. Revit Architecture will only process points that are in Decimal Feet, Decimal Inches, Meters, Centimeters or Millimeters. If the file is in a different unit of measure, you may end up with fractions in your point file, which will produce an error in Revit.
  2. The Point File should only have point information in it. Any extra columns or rows should be removed. Do not include any extra information like column headings or point numbers in the file. Since those are not specifically point related, Revit will indicate and incompatible data format when it sees those values. Extra columns and rows can be deleted by the user in Excel or Access once the file has been produced.
  3. Revit must be in a 3D view  for the topo surface to appear. This may be common sense to the frequent Revit users out there, but I’m an AutoCAD/Civil 3D guy so that was news to me. Once I finally read the warning bubble (third time’s a charm) the surface showed up as expected.
  4. Only Revit Architecture has Massing and Site tools. The functionality does not exist in Revit MEP and Revit Structure.
  5. With that said, here’s how it works in the applications, starting with points in an AutoCAD file, ending up with a Topo Surface in Revit Architecture.

AutoCAD 2012 File with AutoCAD (452) Points

Start the Data Extraction command to create a new Data Extraction (.DXE) file
Select Objects or the Entire drawing for the Data Source

Verify the Object type from the Data Source

 Use the Geometry option to specify only X, Y, and Z properties from the points

 Clear any extra columns, and verify Decimal format for the data (drawing Units should be set to Decimal prior to starting the Data Extraction process)

Output .CSV or .TXT file (.MDB for large datasets and database functionality)

Click Finish to complete the process

Once the .DXE and .CSV files are generated, open the .CSV in Excel to verify the exported data. By default, the row identifying the column headings for Position X, Y, and Z are included in the .CSV file. Delete the row since it is not necessary for creating the topo surface in Revit and re-save the file.

In the Revit Architecture file, start the Toposurface command and use the Create from Import --> Specify Points File option

Select the .CSV file created from the Data Extraction and click Open, then verify the Unit format of the point file (to match the unit format of the original AutoCAD drawing) and click OK
 The infamous warning... 
Click the Green Check to complete the Toposurface process and switch to a 3D view (as the warning says) to view the completed Toposurface in your Revit file

If you’re in a situation where you need to create a point file containing  AutoCAD object data, consider the Data Extraction command in AutoCAD.

Matt Miyamoto, P.E.
Infrastructure Solutions Application Specialist

Matt is a licensed Civil Engineer in the state of Hawaii. Matt obtained a BS in Mechanical Engineering from the University of Hawaii at Manoa, and has 7 years of private sector design experience which he applies in his role as an application specialist with Ideate, Inc. His project experience includes residential and commercial site development, private and public sewer, water and drainage systems, harbors improvements, and roadway improvements. While in Hawaii, Matt was involved in multidisciplinary projects for City and County agencies, State Departments, the Army COE and private developers. @MattM_PE

Get it. Know it. Use it.