I had a client that needed condos surveyed and a BIM created. This was for the exterior deck replacement. I decided to capture the exterior with my Matterport camera at the golden hour. It was perfect because this side of the condos was shaded from the sun at the time.

I purchased the matterpak so that I could have a pointcloud to import into Revit.

I realized that there was a great deal of grade information that the client could probably use. I created a Toposurface and soon realized that Revit does not pick points with elevation data; it will only pick the xy location. I realized that Revit allows you to import points into a Toposurface from a .txt file with comma delimited points.

Here is the workflow:

1. Using Cloudcompare (opensource software), open the .xyz file.
2. Using the Segment tool, clip out everything but the grade. Then delete the pointcloud that contains the unwanted data.
3. What you have left is pointcloud of just the grade that contains a rather large number of points. Using the 'Subsample a pointcloud' tool. Method: Random, Remaining Points: 1500. When complete you may not really be able to make out what the pointcloud is, but the grade info is still there.
4. Select File>Save. Change the File Type to: ASCII cloud (*.txt....). Give it a name.txt and save location. The next dialog box, 'Save ASCII file', Use: separator: comma, Order [ASC] point, color, SF(s), Normal. Then 'OK'
5. In Revit, Create a Toposurface. Select 'Create from Import'. Select 'Specify Points File'. Change the file type selector to 'Comma Delimited Text (*.txt)'. Select your file and confirm. The 'Format' Dialog Box: One unit in the file equal one: METERS. Select 'OK'
6. You may need to delete stray points, for me it was trees and misc items. You can also "Simplify Surface".
7. Move the surface to the correct elevation and location relative to your model.