Quiz – which version of Revit was the last one to include ‘in product’ indexing of point clouds?

Answer – Revit 2018 included AdPointCloudIndexer.exe, which could be used to index an array of raw point cloud formats into Recap

Raw formats that could be processed by AdPointCloudIndexer.exe

If a raw format was selected (up to Revit 2018) would prompt to index the file:

You could choose some settings and Start Indexing:

Then you would have to restart the process and Insert -> Point Cloud and choose the newly indexed RCS.

Image below shows existence of AdPointCloudIndexer.exe in the Program FilesAutodeskRevit location:

The modern-day solution is of course to use Recap.

This post from The Building Coder also offers some insight into the history.

It is extremely easy to reduce the size of a point cloud dataset using Recap. “Decimation” is the process of discarding points from the data to improve performance and reduce disk usage.

With the release of point cloud support in Revizto, you can now bring a point cloud into the Revizto platform in a number of ways:

  • Export from Navisworks
  • Export from Revit
  • Import points directly in RCP or RCS format

Once the reality capture model has been added to Revizto, you sync it to the cloud. From there, you can download and view the point cloud on your iPad, and of course you can start creating issues that relate to the captured condition on site. You can even overlay 2D drawings onto the reality capture data.

The decimation process is very easy :

  1. Open your Recap file (add scans and index first if necessary)
  2. Click Export
  3. Give your file a name

  4. Click the settings button
  5. Move the slider to adjust your point decimation – you might use around 50mm decimation for a lot of site applications.

  6. Save the file

There are other considerations, such as:

  • How can you set up coordinate systems to work with Revit, Navisworks and Revizto?

These will be considered in more detail in another post.

Going back in time, there was 123D Catch and related processing engines. Basically, it was a tool that took photos and turned them into something real in 3D. There was also something called Remake.

Now, we have Recap Photo, which basically does the same things. Over time, the processing engines have improved. Recap Photo is part of your Recap Pro licence, and now integrated into your Recap Pro install. It looks something like this when you install the latest version of Recap (I downloaded the web installer from manage.autodesk.com):

Once installed, you can start the standalone ReCap Photo app:

 

Features of ReCap Photo include:

  • A new photogrammetry engine that can process up to 1,000 photos, a 4x improvement from the previous maximum of 250 photos (note: using the cloud service consumes Autodesk Cloud Credits)
  • The ability to set GPCs (Ground Control Points, survey points) in any coordinate system.
  • New functionality to support vertical and nadir photos (photos taken by drones and UAVs at 90 degrees above the site)
  • View your 3D photo-textured mesh
  • View the geolocated orthographic view, zoom in and out, and add measurements, tags, and annotations.
  • Share the project, including its additional metadata (measurements, tags, annotations), with anyone.
  • Merge laser scan point clouds with UAV-based point clouds.

From this post http://blogs.autodesk.com/recap/introducing-recap-photo/

There are a whole lot of paid and open source tools out there for photogrammetry (turning photos into 3D models), and it is easy to get lost. I found a very detailed post by Jesse over at We Did Stuff. While it is a pretty old post, it still has lots of little tips along the way and if you are starting out with some photogrammetry workflows (like in Recap Photo), then this post is worth a read.

 

Here is a short excerpt:

Read the whole post:

http://wedidstuff.heavyimage.com/index.php/2013/07/12/open-source-photogrammetry-workflow/

Oh, and while we are talking about open source point cloud tools, have you had a look at CloudCompare?

 

Revit doesn’t like big numbers. There, I said it.

So when dealing with ‘world’ coordinates in a point cloud, sometimes things just don’t work too well. I thought I had this all solved recently by using the DXF, Center-to-Center, Acquire Coordinates workflow. However, I discovered that somewhere along the line, Revit still does break down with the large coordinates. I think this is happening in between Recap and the Revit point cloud rendering engine. I was getting something that looked like this:

As you can see, the shared coordinate system is very large. In this situation, you can’t even move the point cloud into the correct location in Revit, it jumps in large increments when moving. Interestingly, Navisworks and AutoCAD both handle these large coordinates ok – appending the same data does not have the error shown above. So…

How do we fix this and make Revit happy?

Basically, we do a temporary truncation of the source data, get it into Revit, and then reinstate the appropriate coordinate system.

To truncate the data, have a look at your source point cloud information. In my case, I could identify 4 leading digits for the X and Y coordinates that were not significant:

Using EmEditor (which handles large text files very well), and its Vertical Selection feature, I was able to delete the 2781 and 6181 digits from my source data.

In effect, this transformed everything by 278100m and 6121000m. Keep these numbers in mind for future reference…

simplified.png

Ok, with the simplified source data in hand, I followed these steps:

  1. Index a new RCP in Recap using the simplified data
  2. Open surveyor DXF file in AutoCAD and manually Move all the geometry. Move the objects by the values above (278100, 6121000) towards the origin. Save As – a new DWG file with modified coordinates.
  3. Link this modified DWG into Revit, Center-to-Center
  4. Acquire Coordinates from it
  5. Link the Point Cloud RCP By Shared Coordinates
  6. Everything lines up now that the large coordinate shift error has been avoided!
  7. Link in the original DXF and align it with the modified temporary DWG we were using
  8. You may need to temporarily neutralize coordinates (here or here), and…
  9. Now you can Acquire Coordinates from the original DXF and you will have reinstated the ‘world coordinates’, but the Revit point cloud rendering engine is now much happier.

Hope this helps you if you face a similar problem 🙂

Previous post:
What Revit Wants: Using a DXF to Locate a Point Cloud in Revit with Very Large Coordinates

I got a virtual tap on the shoulder from Brian Nickel over at The Revit Saver today. He said he had been “searching for an answer like this for a year or two, and the guy posted it two days ago overseas! Talk about a neat workflow!

What are we talking about?

Basically, it is an inventive way to use the mesh tools in Memento, which can consume images, make meshes, and export them to Recap. From there, we can easily get that into Revit for quick site context investigations. The actual implications of this workflow are pretty big… hypothetically, it allows you to use any good series of images to automatically make some 3d geometry and bring it into the Revit environment for further modelling.

Funnily enough, this workflow is just a logical extension of the stated aims of Memento, namely images to meshes as a ‘great companion to ReCap’:

Here’s how arnebjelland describes the workflow from Google Maps to Revit (via Photoshop, Memento and Revit), In short:

  • open google maps in full screen and find your building site
  • rotate the view around your site meanwhile you press «print screen» as often as you wish
  • with dropbox installed, the «print screens» should be perfectly downloaded automatically
  • you should crop your photos to get rid of unwanted text/labels. You can do this by making an «action» in Photoshop and then choose «File» – «Scripts» – «Image Processor» to crop every photos in a folder
  • then you make a mesh in Memento with your cropped photos and export it in RCP
  • import it into Revit and enjoy

Screencast (Brian Nickel):

Images (Brian Nickel):

Steps from arnebjelland at:
Combining Google Maps, photogrammetry and pointcloud into Revit | Digital story of an architect

Heads-up from Brian Nickel at:
The Revit Saver: Combining Google Maps, Photogrammetry and Pointcloud Data into Revit 2016

We often work with consultants using Tekla Structures, but we only recently came across the issue of trying to import point clouds into Tekla. The officially recommended workflow is:
Leica / Trimble scanner — Trimble Real Works — Landxml — Tekla Structures

But what if we don’t have Real Works? Basically, we want to create geometry from point cloud (which we can make into a massive list of XYZ values in a text file). Sounds like an easy job for Dynamo… and in a way, it is.

Here is what worked for me:

  1. Import the source point cloud to Recap, decimate to 100mm grids, and remove all values except X,Y,Z (screencast below). This took me from about 19 million points down to about half a million
  2. Export from Recap to PTS format.
  3. Remove first line in the PTS file using Notepad++ (if necessary). The output should look something like this:

    Here is the Screencast:

    Note: steps 1 to 3 should essentially create a 3 field space delimited XYZ text file with no Intensity, RGB or Normals (sometimes called NEZ by survey people)

  4. Load some family called PointCloud.rfa with a Type called Point (can be adaptive or not)
  5. Use a Dynamo definition to place a given family at each location.
    One of my main concerns was scalability.. How many points / instances can Dynamo and Revit handle here? Initially, I used a method where the definition itself threw away a lot of points in a totally arbitrary manner, using a series of DropItemAtIndex nodes. This got me from about 500000 to about 120000 points, and this worked ok. I ended up modifying the node to allow for a number of ‘drops’ (from 0 to 4). Each drop throws away every second point… Finally, as I was getting all the points anyway, I thought it would be nice to have a Topography creation option. The published package can either create families at each point, make a topography, or both.
  6. Once you have generated the geometry you want from the point cloud, then Export to DWG or DXF
  7. Transmit to consultant

Here is a little readme:
When you first load the package, you should set up the entry data types as per below:

If your text file is space-delimited (as mine was), make sure the delimiter string field actual has a Space in it.

Also, set the two booleans to False (meaning that no families or topos will be created) for the first Run, and set the drops to 4. The “Number of points” output node will give you an idea of how many points are in play at that particular drop level, like this:

If you are running on ‘normal’ system hardware, you probably should keep it to around 50000 geometry creation points if possible. On my Surface Pro 3, it could work with the 30000 points no worries, and my workstation could handle 120000 ok. So, once you have a reasonable number in that output box, you can set the go and place instances and / or make a Topo options to True. I think Revit may struggle with huge points on a Topo, but I was able to place the family instances (with a small crosshair or 3D sphere at the origin) and then export to DWG.

Keep in mind this is a very arbitrary and lossy method – point clouds were never really meant to be wrestled into geometry like this. However, it may help you in certain situations. The Dynamo node has been published but it is very beta at the moment, so of course the usual disclaimer applies: “use at your own risk”.

Package is called Place Family Instances or Make Topography by Point Cloud.

Sample point family for download
 
A note on coordinates and rounding:
This tool currently uses project coordinates. A future revision may offer shared coordinate translation. In the meantime, you could use some reference geometry at project base point and run this tool in an new empty, linked file, then move it into place in project. Related discussion:

Also, it appears that rounding is occurring to 3 decimal places, which is not ideal. Again, this may be fixed in future.

Endnote:
I tried lots of other methods, including POINTSIN and IMPORTXYZ lisp routines in AutoCAD, but oftentimes the dataset was too big, or the input data was not what the routine was expecting.
Some other methods I attempted are below, but they weren’t too successful…
Also tried:

  1. Import points to Civil3D
  2. Convert Civil COGO points to vanilla AutoCAD blocks
  3. Use blocks to generate geometry

Using Civil3D to Convert Points to LandXML for Import to Tekla Structures
Another possibility:

  1. Points into Civil3D (as Drawing Objects in a Surface)
  2. Export Surface to LandXML

BIM360 Revit 2015 Add-in link:
http://download.autodesk.com/SWDLDDLM/Updates/BIM360Addin/2015/4.35.1209/B3AddinRvt.msi   

Recap 1.4.2.2_to_1.4.2.8 link:
http://download.autodesk.com/SWDLDDLM/Updates/ReCap/1.4.2.8/AutodeskReCap_1.4.2.2_to_1.4.2.8_SP_x64.msp

If you forget to close Revit before trying to install the Glue update, you might get this error. Just close Revit, remove the BIM360 addin and then reinstall it.

    

If you are suffering “Autodesk University Excitement Fade”, maybe my tweets about the AU Extension in Australia might help get you back in the mood for learnin’…