IFC Exporter for Revit 2013 (v2.13):
IFC Export Alternate UI for Revit 2013 (v1.13):
IFC Exporter for Revit 2014 (v3.5):
IFC Export Alternate UI for Revit 2014 (v2.5):
What’s new for IFC Exporter for Revit v2.13/v3.5:
– Initialize GUIDOptions so that GUIDUtil.CreateGUID(element) can be used outside of the exporter code.
– Remove filterView argument from many functions; used cached value instead.
– Various minor optimizations to slightly improve the time to export.
New Functionality
– (R2014 only) IFC4: Allow export of 0 thickness material layers.
– (R2014 only) IFC4: Export IfcFootingType (IFC2x3: use IfcTypeObject instead) for wall-based footings only.
– Allow export schedules as custom property sets.  The name of the schedule is the property set name; the column names are the IFC parameter names.
– Allow export of solid models, which allow for mixing Brep and extrusion geometries for an entity.  This can result in smaller IFC files.
– Export IfcCurtainWallType (IFC2x2: use IfcTypeObject instead).
– Export the currently selected non-primary design option when exporting in current view only mode.
– Use the base level parameter of an element to determine which level to associate the element to; use geometric containment only for cases where this is no base level.
Bug Fixes
– Don’t export some extraneous local placements.
– Don’t export type if instance isn’t exported for family.
– Fix Pset_CoveringCommon: Thickness -> TotalThickness
– Generic rework of how instance and type properties are assigned to IFC entities.  If an exported entity has a related type object, then the entity will have the instance properties assigned, and the type object the type properties.  If there is no type object, the exported entity will contain both instance and type properties.  This should also remove any repetition of exported property sets.
– Look at all “ZoneName X” shared parameters for a room even if some have no value.  This still assumes that they are sequential (i.e., if there is no “ZoneName 4” shared parameter at all, “ZoneName 5” will not be processed).
– Prevent export of IfcPolyLoops with less than 3 vertices.
– Properly scale all known Revit parameter types to the units specified for the IFC file.  Note that there are potentially many Revit parameter types that map to one unit type (e.g., PipeSize, WireSize, and Length are both length parameters); we do not create different units for each of these, but instead use the main unit type.
– Respect visibility options of curtain wall panels and mullions when exporting in current view only mode.
– Use category id as default for IfcCoverings for ceilings, floors, and roofs.
What’s new for IFC Export Alternate UI for Revit v1.13/v2.5:
New Functionality
– Add UI version number to title of the IFC Export dialog box.
– Add option to export schedules as custom property sets.  The name of the schedule is the property set name; the column names are the IFC parameter names.
– Add option to export solid models, which allow for mixing BRep and extrusion geometries for an entity.  This can result in smaller IFC files.
– Remove option to disable surface styles on export.
– Remove option to export advanced swept solids.

via email

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

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:

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


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

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

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

Leica Download links:
Cloudworx Plugin PDF:
Actual Plugin:

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?

You may also be interested in Edgewise for Plant

In Windows 7, I constantly used Shift+right click to access the Copy as Path option.

To enable this in Windows XP, you can use:
Path Copy Copy 

This works on 64-bit (x64) Windows XP too.

I tried some other tools (like PathCopyEx), but Path Copy Copy seems more reliable.  In the settings, you should enable the “Add quotes around copied paths” option:

Are you interested in Tekla to Revit (and back) interoperability?  Then check out:
Tekla-Revit Interoperability Forum | LinkedIn

Various plug-ins and workflows are available which may help you coordinate the two systems effectively.

One such workflow focuses on using BCF plugins to coordinate and transmit Comments:

  • Identify an issue in your model / linked model
  • highlight and comment in the plugin tool
  • send tiny file to dropbox /shared server / email
  • fellow consultant opens comment which zooms to correct location in Revit / Tekla Structures and can immediately take action. 

From Highlight and comment directly from Revit into Tekla Structures (and back again) | LinkedIn

Google Translate

Another nice workaround by Philip Chan – if you want to change one of Revit’s built-in Type Parameters (derived from a Family Template, such as Door Fire Rating) to an Instance Parameter, you just have to take the Family on a little round trip to a more flexible Family Category.

For example:

  1. New Door based on Door Family Template
  2. Switch to Generic Model Type
  3. Change built-in Type Parameter for Fire Rating to Instance
  4. Switch back to Door Category

You can read Philip’s whole post at:
Phil-osophy in BIM: Hacking System Parameters in Door Family

These fractals can both be drawn by emulating a pen: we keep track of the direction the pen is facing, and we can make the pen draw lines of a certain length in its current direction. We can turn the pen, and we can draw with the pen. These can be emulated with Transformations: turning applies a rotation to the pen’s transformation, and drawing adds a translation (and the end point of the draw operation can be stored as an XYZ for creating line geometry later).

Read the whole post:
Steellworks: Dynamo Fractals

Following the release of BIMForum’s LOD spec, there has been a bit of a blog discussion happening, involving at least the following three posts:

practical BIM: LOD, are we there yet
…using BIM for the creation of construction documentation is a valid use, and one that needs to be encouraged

All Things BIM: LOD Reply: PracticalBIM
The simple answer starts with an equation:

Deliverables = Model + x

In this equation, x refers to anything else that might accompany a model being offered as a project deliverable. This might include drawings, specifications, napkin sketches, and so on. The LOD Specification addresses ONLY the “model” part of the equation – it does not serve as a guide to complete project deliverables in current work flows.

BIM Fix Blog: Developing LOD (Level of Development)
LOD should never be seen as the design is complete, or “design sign off”.  Just because an element is; e.g. LOD 300, does not mean it will not change. We are in a design and construction environment. Design changes, coordination, rationalisation, value engineering & preferred construction methods, will all influence the element’s size, shape, location, and orientation. Design sign-off will continue to have the traditional design stage mile-stone approvals (e.g. Design Development and Construction Documentation)


Great tip from Philip Chan.  Basically:

  1. Make a Material Take-off / Multi Category
  2. Add the Material: As Paint parameter
  3. Filter by this parameter = Yes (now the schedule is only showing painted surfaces)
From here, you can right click on a row in the Schedule and click “Show” – this will open a relevant view and highlight the element that is hosting the Split Face.  Nice!

Here’s his workflow:
Next window allows me to add fields to my schedule, I then notice there is a field/parameter called “Material: as paint”. Sounds like something suitable in this occasion.

As I move on to the filter tab, something interesting shows up…
I can now set the “Material: as paint” to equal to “Yes”, which means I tell Revit that this schedule only look for the “Paint” surface on all walls; the next filter rule, I can even set it to a specific material to be included in this schedule.

The last thing is to tell Revit to calculate total area for this particular material.

Once this is done. Volia! I can now let Revit to keep track on all my “paint” surface.


“new ability to import and visualize massive datasets captured from reality as point clouds. If you are a modeler, you can view point clouds in true color in the 3ds Max viewport, interactively adjust the extent of the cloud displayed, and create new geometry in context by snapping to point cloud vertices.”

Coming 30 September 2013

Read more: