Extracting Civil 3D Data Using Navisworks
Recently we recommended the Properties+ addin for Navisworks which was updated to support Navisworks 2019. In addition to consolidating properties that may exist across different tabs in the properties window, it also provides a straightforward and consistent way to extract information from a model viewed in Navisworks. Recently, we used this method to extract element property information from Civil 3D elements so that we could recreate such elements inside of Revit. This method assumes that it is possible to first extract the location information from within the file or element. In our case the location information (x,y,z) is available as data fields of each element (northing, easting, elevation) when exporting the file as a 3D DWF. If your purpose is only to extract information, that is definitely a use case that is easier to implement using Properties+. The workflow was as follows:
- Export to a Navisworks-friendly file – Open the Civil 3D file (or other file that can be exported to a Navisworks supported format). The goal of this step is to use the native application to get either a Navisworks file or a Navisworks supported file. In our case, we found that various export options dropped key data that we were seeking to extract (in our case these elements were Civil 3D structures and appurtenances). In the end, we were able to export a 3D DWF which maintained properties for the elements we were seeking.
- Use Properties+ to customize the information you want to export – A basic function of the Properties+ addin is that you are able to create templates for viewing the properties of elements that you want to see consolidated. In our case, we were seeking Eastings, Northings, Handle, Object ID, etc. Once ready, you are able to use the Navisworks Selection Tree to select multiple objects. When you do the top of the window will show 1/186 (assuming here that you have selected 186 elements). Then you can use the export button to save out a CSV (which can be easily opened in Excel), where the properties you selected will be the columns, and the 186 elements will be individual rows for each element.
- Use Dynamo or other software to translate or recreate the spreadsheet elements in another platform (optional) – Our use case required us to create Revit elements, but the reality is that once you have the spreadsheet with all the information, you could use other platforms and their native API (Rhino/Grasshopper) to transfer the information or create new elements using the properties from the spreadsheet. In our case we created a Dynamo script that would extract the information, use the Northing and Eastings to place the elements and then set all the parameters to the values reported in the spreadsheet. To accomplish this we first created a parametric family with the appropriate shared parameters to match the spreadsheet column headers.
The screenshots in this post illustrate the data extraction process using the Arboleda Mechanical IFC file. A sample template created specifically for this file for Properties+ can be downloaded here. Overall, this is a valuable workflow to extract to a spreadsheet structured data from intelligent models which can be opened in Navisworks.