RTV Tools

Wednesday, August 28, 2013

Creating Revit Geometry from Point Clouds (Points to BIM workflows)

Update:
I am enjoying using inverted background (black) when working with Revit and point clouds.

Also, you MUST use this add-in by Harry:
What Revit Wants: 3D Section Box crop add-in WITH automatic rotation - Boost Your BIM



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:
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.

General Tips:
  • 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):
  1. Crop 3D view with Section Box as much as possible
  2. Use Wall Region Grow tool (3 point click on face)
  3. Adjust wall edge extents
  4. 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...
  1. Crop 3D view with Section Box as much as possible
  2. Pick appropriate column tool (Round or Rect)
  3. Make a crossing window over column points
  4. Pick correct column type family or load a new one
  5. 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...

Workflow (floors):
  1. Crop 3D view with Section Box as much as possible
  2. Determine an approximate height for the floor
  3. Sketch the floor outline, using the height from 2
  4. Select the Slab, and then start the Scan to BIM Adjust Slab tool
  5. Select points
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:

Scan To BIM (Standalone)

Scan To BIM (Network)


Cloudworx / Cyclone:
Installation notes:
  • 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:
  1. Configure - Databases
  2. Add...
  3. Select the IMP file
  4. 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:
  1. Clip a view to the elements you want to model
  2. Use the Workplane command from the add-in (this make a new workplane from surrounding points and sets it current)
  3. Make a new in-place family, with geometry (typically extrusions) based on this workplane
  4. 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.

Leica Cloudworx Training
HDS - Training
Category:Civil/Survey
Module Name:CloudWorx for Revit
Instructor/Presenter:Introductions by Andrea Fournier, Instruction by Michael Harvey and David Langley
Description: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...

Heads-up for this training:
revit | POINT CLOUD GURU

Using Points In Families
In videos below, the following workflow is described:
  1. Clip points in Recap
  2. Save as PTS file.   Optionally, compress to LAS using this workflow.
  3. Use a LISP tool like PointsIn or PTSIN to import Point Cloud to a AutoCAD DWG file.  Optionally, place a block element at each point to allow easy snapping in Revit.
  4. Import the DWG to a Revit Family of your choice
  5. Do your modelling, and save and load your Family into the Project.  Recommended - delete the source DWG and purge the Family to decrease overhead.
PointsIn is available at:
Survey Points Import and Create Free AutoLISP (LISP) for AutoCAD

Direct:
http://www.hawsedc.com/gnu/pointsin-v1.0.8.zip

Also, the PTSIN lisp is available at:
FreeCADapps Freeware, Shareware and Evaluation Software

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).



Cadalyst and Leica Geosystems Webcast: Point Clouds for Revit Modeling | Cadalyst


Example Scan to BIM project:


Using Navis to visualize point clouds?


Note on using Navis:


Overview of Recap Studio:
Can export PCG from RCS to downgrade 2014 points to Revit 2013...
via BIM blog.ca: Don't recreate... ReCap

Discussion - getting a license for Cloudworx, and a comparison between Cloudworx and native point cloud
Laser Scanning Forum Ltd • View topic - Leica CloudWorx for Revit

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


Scan to BIM workflows PDF:
This is a pre Revit 2012 workflow and uses AutoCAD as middle man quite heavily... it also recommends Scan to BIM:
GORUG Presentation April 5th - Andre Carvalho

AU2011:
Laser Scanning to BIM: If You Look at It Long Enough You Might Model Something

Converting a PTS to LAS for easy import into Revit or Civil3D:
The LAS format is lighter than PTS, convert using free point.zip
via
Civil 3D GURU CONVERGENCE: PTS to LAS POINTCLOUDS in CIVIL 3D



Leica Download links:
Cloudworx Plugin PDF:
 http://hds.leica-geosystems.com/downloads123/hds/hds/cloudworx/brochures-datasheet/Leica_CloudWorx_for_Revit_DAT_en.pdf
Actual Plugin:
http://hds.leica-geosystems.com/downloads123/hds/hds/cloudworx/pc_software/CloudWorxForRevit103.exe

All downloads:
Cyclone Downloads - Leica Geosystems - HDS

Cyclone 8.0 Downloads - Leica Geosystems - HDS
Direct: http://hds.leica-geosystems.com/downloads123/hds/hds/cyclone/pc_software/CycloneSetup803-x64.exe

Leica TruView direct download: http://hds.leica-geosystems.com/hds/en/TruViewSetup30.zip



More tips:
the portion of the point cloud visible between the bottom extent and the cut plane is visible.Visibility of Point Clouds - WikiHelp

Once indexed, be sure to link in each PCG file using the "Auto - Origin to Last Placed" option in the "Link Point Cloud" dialogBest Practices - Working with Multiple Point Clouds in Revit - WikiHelp


Other stuff:

It goes without saying that you can't interrupt a point indexing process in Revit - you will probably end up with a corrupt point file, as per:



PS.  Why do I have this feeling that this might be my most visited post this year?



Update:
You may also be interested in Edgewise for Plant
http://www.clearedge3d.com/products/edgewise-plant/#ewpvideo

5 comments:

  1. The Autodesk 2014 product line (Revit, Navisworks, Autocadm etc 2014) all have a NEW point cloud engine compared to 2013 products, which SIGNIFICANTLY changes the capacity from a limit of 2 billion points, to over 20 billion points! that in combination with ReCap (free) and the Recap RCS/RCP files in the products, file sizes are small, RAM usage is low, usability is hugely improved! I'd love to see you to add to this topic, and review ReCap along with 2014 products. (Revit 2013 did not read ReCap RCS/RCP files.)

    ReplyDelete
  2. Great article Luke! You really put a lot of time into this one and it shows.

    ReplyDelete
  3. Interesting article. Thank you!
    In addition to the Build in functionality of Revit we are also using VirtuSurv for Revit from kubit. Their approach is to work with scanimages which are linked to Revit.
    http://www.youtube.com/watch?v=VRahU5W2bP0&feature=c4-overview-vl&list=PLC3EBF1ED1CB96DE5

    ReplyDelete
  4. Found a point cloud for revit here:

    http://www.libak.dk/pointclouds/pointcloud1.rcs

    ReplyDelete
  5. Interesting And Very Informative Post it is. I Like this Post.

    ReplyDelete