From Photos to Point Clouds and Topo in Revit

This is a follow up to my previous post on using 123D Catch. That post focused on using merely four photographs (taken from a moving car) of Zion National Park to create a 3D model. The focus of this post is what I explored afterwards: ways to use the 3D model created from photogrammetry for something useful (semi-useful at least).

My wish was to bring the geometry into Revit. In this case, I wanted to explore using the 3D model to create a topographical surface for a “site” in Revit Structure. 123D Catch allows you to save as a .LAS file which is essentially a point cloud file among many other formats. In Revit, you can then link this file using the Link Point Cloud button available in 2012 and the system will prompt you to index the file to create a .PCG file that the software can use. This wasn’t very useful as I wanted to use the point cloud information to create the topography, and not as a modeling reference which is the normal workflow using point clouds. So to summarize, there is no direct way to create topography from a point cloud file (that I know of, at least free).

PCG file imported into Revit, cool but not useful for our purposes

Thus, I explored a few options. First I tried to use AutoCAD to run a LISP routine to create a circle around each point, but quickly figured out that was a dead end due to the excessive number of points (that is after all why point cloud formats exist) and also the multiple number of conversion steps necessary.

The successful route for me was to use the LAS2TXT command line application (.exe) from LASTools, which is free, to create x, y, z coordinates from the LAS file. Then opening up and massaging the format in Excel I saved out a .csv file. In Revit, you are then able to create a topographical surface using this csv of x, y, z coordinates. The result is shown below, and represents a possibility for future use as the technology becomes more refined.

You will note that there are some strange edges that are created due to the excessive number of points (created from the original mesh) at particular locations. These can be cleaned up somewhat by editing the surface and getting rid of some of the points. There are also scaling issues, but the possibility of getting complex geometry modeled easily is very exciting. One thing that would be useful is the ability to simplify the surface/reduce the number of points (I envision a slider where one could qualitatively explore a good trade-off for accuracy and number of points). I am sure someone out there is probably working on this.

Surface slightly cleaned by adding a few 0 elevation points at key locations. Look at all those points!
Lazy topo result

In the interest of Open BIM I am also sharing my data files and hope that you do the same when you find something that benefits the BIM community.

Sample Files

While you are at it, you must check this other post from Free Geography Tools that also explores cool application of this technology as well as this other post about the Accuracy of Autodesk 123D Catch.

** Update 01/27/2012 ** The ability to create topography from a point cloud is now a trivial exercise by using the Point Cloud Feature Extraction tools released at Autodesk Labs.

Follow Edwin on Twitter / Follow SummitAEC on Twitter

Edwin Guerra


Edwin is a BIM Consultant focusing on Building Performance and Structural Design with Summit Technologies, a leading provider of BIM consulting services based in Vancouver, BC. Edwin’s extensive knowledge of Revit, Dynamo, Navisworks, Bluebeam, Ecotect, Green Building Studio and Autodesk Vasari, is complemented by a passion for Green Building Design.

5 Responses to From Photos to Point Clouds and Topo in Revit

  1. Some thoutghts our team kicked around:

    1) Nice job

    2) You didn’t use enough photos. You used only 4 photos from 3 observation locations. You need to use more like 10 to 40 photos from a large number of unique locations and vantage points to get much higher accuracy.

    3) You need to provide a reference distance. The default values have nothing to do with real world measurements: they are all relative unitless measurements relative to each other with no absolute scale. It can’t tell if the photos are of a doll-sized-house or a full-sized-house: they look the same in a photo. You need to provide a single absolute measurement to make all the relative measurements accurate. The defaults are meaningless relative numbers.

  2. Scott, thank you and your team for your comments. I have to admit I didn't take my pictures with a plan to use 123D Catch. Otherwise, I would have certainly taken more pictures. Hence the limited number of photos and observation locations. I am very impressed that it was able to compute such a detailed scene from only four pictures. As you state, the computed scene results are unitless, so I exported what I had into the .LAS file without using a reference measurement. Regardless, when bringing the manipulated .csv into Revit, meters seemed to give an approximately realistic scale to the meaningless relative numbers. This was merely a demonstration and exploration of the interfacing of 123D Catch and Revit. Thanks again.

Leave a reply

Summit Technologies 2015
Vancouver: 604.568.8324 | Calgary: 403.648.9272 | Edmonton: 780.936.8008