I find it interesting that we can receive a point cloud (laser scan) of a project, which essentially describes the geometry and colour of the whole 3D space, and yet have to re-model everything in Revit elements to make it actually useful in a BIM / FM context.
It reminds me of the early days of document OCR – you could scan a document, but there was no easy way to infer the intelligence (text) of the document. Happily, OCR software improved, and I hope that geometry-from-point-cloud automation will also improve. Bring on the automatic, one-click “Make a Building from my Point Cloud” solution. In the meantime…
This post is about my experience working with point clouds and Revit 2013 on a recent project. I explored various different workflows and add-ins. I will add to this post over time to make it as useful as possible.
On the project in question, we received the following from the surveyor:
Leica TruView data set
RCS point cloud
PTX point cloud
A note on file formats: PTX files keep scanner information (including roto-translation in the head, each point keeps all information XYZIRGB, allowing surface normals to be calculated). Interestingly “Many scan packages including Polyworks, Rapidform, and MeshLab read the PTX format and offer meshing operations that will allow you to create a polygonal mesh from a PTX”. PTS files are simply the point locations and RGB values, each point forming a new row of data in the file. (more here)
We did not receive:
3D geometry or Revit elements of any kind
We knew that:
the surveyor was using a Cyclone 8.0 database (Leica)
There are a number of different workflows available:
native Revit tools (in my case, using Revit 2013)
Scan to BIM add-in by Imaginit / Rand (around $3000 for Standalone license)
Leica Cloudworx for Revit (around $4000)
Visualizing in Navisworks and modelling in Revit
Revit 2012 and the Point Cloud Feature Extraction labs add-in (if you can find it anywhere)
using Point Clouds in the Revit Family environment
Note 1: I initially had problems using a combination of Revit 2013, Scan to BIM and Leica Cloudworx. For example, Wall Region Grow would report “No points found in this area?” However, if you zoom in and click exactly on a visible point from the Cloudworx point cloud, Scan to BIM should be able to pick it up. A representative of Imaginit / Rand reports that Clients often do use both tools together.
Note 2: Note 1 is apparently a known issue. Workaround with 2014 and Recap is to bring the raw format scan into Recap, export it out as a .pcg file. Create a new project inside of recap and bring in that pcg file and save that off as a rcp… that error msg should no longer appear. (Thanks Cheyne Bird, IMAGINiT Australia)
Initial thoughts: Scan to BIM seems to be the better tool for feature extraction and geometry creation, while Leica Cloudworx puts you in direct contact with the original point cloud data – not decimated by Revit.
Revit will consume big amounts of memory when working with large point clouds
Rule of thumb – indexing a 27 gb PTX will result in a 7gb PCG and will take about 7 hours for a mid-range PC.
Indexing 2 x 27 gb PTX using Recap version 1.0 and basically default settings about 6 hours 8gb for new PCG
Working with 2 of these 7gb PCG files in Revit 2013 on XP64 with Scan to BIM will consume about 11gb of RAM easily. You may have to periodically close and re-open Revit, depending on your system specs.
Working on the same point files using Cloudworx will consume about 2gb of RAM, depending on your view settings.
If you are using Revit 2013 and you want to restrict Revit from highlighting (pre selecting) a point cloud, which can be annoying, just place it in a Design Option. It seems that Scan to BIM can still interact with a Point Cloud in a primary option of an option set.
Did you know that Point Clouds when imported to Revit have a Phase Created and a Phase Demolished parameter? Revit respects this when it comes to Phase Filters and Graphic Overrides – keep this in mind if you can’t ‘find’ a point cloud in your project.
You will be working in 3D a lot, and making lots of 3D views cropped to section boxes. I recommend that you set keyboard shortcuts for: Orient to a Plane, and Set Current View as HomeUsing these shortcuts, you can quickly reorient yourself and use the Viewcube properly.
The above workplane shortcuts work well after using the “Set Workplane” tools in the various add-ins. After triggering Orient to a Plan, just click OK. When Revit says -not associated-, it means ‘use the current workplane’. You should also set and use a keyboard shortcut for the Show Workplane button on the Home tab.
When making a new 3D view, the quickest way is to select an existing Section Box and copy it using Revit copy (not Ctrl C) and drop it close to new desired location. It will appear in Project Browser with same name as previous 3D view, but with any digit on the end of the view advanced by 1. This is actually better than using Duplicate View, which adds this silly “Copy of” to the front of the new view name. Note: This new Section Box will also remain selected, so you can adjust the crop before switching to the newly created view
You may wish to turn off “Snap to Remote Objects” in your Revit snaps, these can get in the way when working with Scan to BIM, and Point Clouds generally
To facilitate setting of a Workplane based on already modelled geometry, I made a simple 3 point adaptive component with a surface formed by these 3 points. You can use Set Workplane to pick this triangulated plane and work from there.
Scan to BIM:
I recommend you watch this video to start:
You can also access an archive of webcasts by filling out this form. Workflow (walls):
Crop 3D view with Section Box as much as possible
Use Wall Region Grow tool (3 point click on face)
Adjust wall edge extents
Rinse and repeat
Carving – A quick way to reduce the extent of the wall is to use the Split Tool – rather than trying to find the edge, just Split the wall horizontally or vertically or both, and delete the bit you don’t need.
Sloping / Slanted Walls – You can either use the Wall by Face option on the Wall Region Grow tool, or create an inplace wall out of extrusions by using the Set Workplane tool. The latter is preferred if you want to modify the resulting wall in any way.
Optionally – use the “Work on Wall” button, Select Wall, and use the resulting section to edit wall profile, add windows etc.
Workflow (topography): The topo creation tools in Scan to BIM work great. You essentially get to pick points, choose decimation, and then you get a topo. Easy, right? Well, then you have to clean it up.
Workflow (columns): I suggest you get rid of all column types in the project, and just keep one Round and one Rectangular OOTB column family loaded. If you use Structural Columns, you can schedule them…
Crop 3D view with Section Box as much as possible
Pick appropriate column tool (Round or Rect)
Make a crossing window over column points
Pick correct column type family or load a new one
Click Create Column
Note – you may have a bit more joy if you switch the 3D view to “Top” before selection the column crossing window
For angled columns, you can use the Slanted – End Point Driven option in the Properties Palette. In fact, if you want to tweak column height while in a 3D view, switch to Slanted – End Point Driven, adjust using the end points, and then switch back to vertical…
Crop 3D view with Section Box as much as possible
Determine an approximate height for the floor
Sketch the floor outline, using the height from 2
Select the Slab, and then start the Scan to BIM Adjust Slab tool
Tip – in a 3D view when using the Adjust Slab tool, you may have a better experience if you switch to Wireframe first. This stops model elements from occluding the Analysis Result that shows you the slab deviation.
Personally, I find the use of Floors to be a bit more frustrating than that of Topos. It would be nice to have a Floor tool that works essentially the same as the Topo one – select a bunch of points, decimate them heavily, and use them as the top surface of a Floor element.
Workflow (Curtain Walls and Glazing): This is a simple two point click. Use “Work on Wall” to make a perpendicular wall section of the hosting wall. Then click one corner and then the other of the glazed area. Adjust mullions according to point cloud.
How to get it: To get Scan to BIM, use these links:
To use Cloudworx add-in for Revit, you must have Cyclone installed
I had a GUID conflict for the Revit add-in when installing Cloudworx, I posted the resolution here
I also had a license error. I had to open Cyclone itself and switch it to VIEWER mode. I ended up receiving a trial license.dat, and put this in the appropriate folder.
We received a folder containing the Cyclone databases. The key file is an IMP file. In Cyclone:
Configure – Databases
Select the IMP file
The surveyors database will now be accessible to you
To use this data in Revit: Add-ins, Import ModelSpace View. Then drill down in the Cyclone database until you find the appropriate view. I found one based on a known coordinate system and it was a ‘unified’ view.
You can import multiple point cloud sources.
Cloudworx plugin strips out existing point clouds from the project and replaces it with a database link, that looks like this:
I immediately noticed that navigation (using Revit 2013) was much faster with Cloudworx than with the native PCG files.
As you zoom in and out, Cloudworx will ‘throw away’ or add points to keep the view relevant to your context (as well as maintaining graphic performance). Use the Rendering options on the Cloudworx ribbon to set your desired view (such as True Colour).
When you save the Revit project containing the Cloudworx DB link, you will be prompted to save a .cwprj file. Make sure you do this. After closing and re-opening Revit, the Cloudworx data will be gone. You use the Open option from the Cloudworx add-in to recover your previous work (view links, view settings etc).
Workflow: Once you have imported the Cloudworx database, the essential workflow seems to be:
Clip a view to the elements you want to model
Use the Workplane command from the add-in (this make a new workplane from surrounding points and sets it current)
Make a new in-place family, with geometry (typically extrusions) based on this workplane
Rinse and repeat
What’s it for: Cloudworx doesn’t have anywhere near the sophisticated geometry creation tools included in Scan to BIM. However, it does provide a facility for clipping point clouds, visualizing them, saving view states and setting workplanes. In terms of exploring the Point Cloud, it is actually the superior tool. You just can’t make anything “Revit” from it.
Introductions by Andrea Fournier, Instruction by Michael Harvey and David Langley
This class is an in-depth look at the CloudWorx for Revit software. Follow along with the instructors with the supplied database to practice each of the concepts. Items that the class covers are slicing, clipping, limit box, drafting walls, drafting floors, drafting pipes, and many more.
You need to register before accessing the training…
Videos: Playlist of LTC3D videos embedded below. Of particular interest:
video showing Edgewise workflow (automated pipe creation)
video showing the clipping of points in Recap, then import to AutoCAD using PTSIN, then Import to family environment. This allows creation of component families using point data (alternative method would be to make an in-place family in the project environment and then save to RFA).
Using Cloudworx Plugin: 9.The next stage is to bring in the point cloud from a Model Space. From the Add-Ins tabs choose Import MS View, fill in the correct settings for the Connection String and Coordinate Systems. Note that Cloudworx is automatically defaulting to the internal units of Revit (Feet) but that it is correctly applying a scale factor.via Point Clouds in Revit – BIM Toolbox
Creating Geometry (snapping): Controlling visibility: Control the visibility of the point cloud on the Imported Categories tab of the Visibility/Graphics Overrides dialog, as well as on a per-element basis. You can switch the visibility of the point cloud on or off, but you cannot change graphical settings, such as Lines, Patterns, or Halftone.
Creating geometry: A snapping feature simplifies model creation based on point cloud data. Geometry creation or modification tools in Revit (such as wall, line, grid, rotate, move, etc.) can snap to implicit planar surfaces that are dynamically detected in the point cloud. Revit only detects planes that are perpendicular to the current work plane (in plan, section, or 3D) and only in a small vicinity of the cursor. However, after the work plane is detected, it is used as a global reference until the view is zoomed in or out. via the Revit 2013 wiki at Using Point Cloud Files in a Project – WikiHelp
Interesting – this kind of turns the point cloud technology upside down… It goes something like this:
to site survey hardware (set out the building)
then laser scan the as constructed
compare points of the as built model for quality control
The part I’m trying to get my head around is this – these aren’t really point clouds, but rather, they are setout points of Revit BIM 3D elements for construction use. Perhaps the word ‘point’ is going to be more popular than the word ‘BIM’ this year 🙂
For some time, I have been looking for a way to get 3D geometry from any format, make it into a nice, Revit-friendly SAT and then use it in massing or visualizations. Can Memento help me with this? Answer – not really.
What it can do:
Import and Export formats: OBJ and RCM (Recap)
allows users to easily (?) fix meshes for digital use or fabrication
fix topology or texture issues (holes, spikes, tunnels, particles, etc.) prior to downstream use
It is an interesting add-in for Revit that can import point data into the conceptual environment. It was written to “narrow the gap between computational concept design, terrestrial laser scanning and Building Information Modeling.”
Some info: GreenSpider conveniently parses ASCII text files representing 3D vertexes, whether generated by computational modeling software or terrestrial laser scanning equipment.
Once installed through this installer package on Windows-based pc’s, GreenSpider 2.1 can be accessed in Revit mass modeling environment. … GSpoints and GScurves. The first one simply imports vertex point cloud as reference points in mass modeling environment, while the second traces a spline interpolation among imported points sorted through a TSP process, in order to build surfaces after recursive .GSP imports.
… Decimated laser scanner point clouds are imported this way in Revit as many times as needed (using a reset function every time in Translator module), and generated curves can be used to originate surfaces very close to their real geometry.
Very cool tip from Ben Malone – he shows you how to use AdPointCloudIndexer.exe from a command line (outside of Revit) to prepare point clouds for practical use. A typical 2013 location for this utility is: C:Program FilesAutodeskRevit Architecture 2013ProgramAdPointCloudIndexer.exe
Have you ever been frustrated by Revit when editing the end point of a spline? You try to drag the end point – and instead the entire line gets dragged or scaled!
The problem? You need to Tab-select the actual endpoint after selecting the Spline itself. But you know what? Revit seems to give you no visual cues that you have selected the End Control Point rather than the ‘end point of the entire spline’.
Here is the three ways to modify the spline using the spline end point:
1) Move entire line Single-click on the end point and drag in one motion RESULT – entire line gets moved (Press & Drag must be enabled)
2) Scale entire line between endpoints Select the spline, then select and drag one of the spline endpoints. RESULT – entire line gets scaled
3) Move the end control point only Select the spline, mouse over one of the endpoints, hit Tab, then press and drag the point. RESULT – only end control point is moved, rest of spline remains
Given the big difference between 2) and 3), you would assume that Revit would tell you which one it is going to do, correct? Wrong. The status bar shows the same thing prior to both commands – “Drag Line End”. The tooltip shows the same thing regardless of whether you have pressed Tab or not – “Drag Line End”.
However, if you have incredibly good vision, there is one difference. Have a look at the image below:
If the inner dot is highlighted, Press and Drag will Scale the spline, if the outer ring of the point is highlighted, Press and Drag will move the Control Point only.
I think the way this works currently is a bit counter-intuitive. Hopefully it will get cleaned up in a future update or new release.