– 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:
– 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.
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
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.
New Door based on Door Family Template
Switch to Generic Model Type
Change built-in Type Parameter for Fire Rating to Instance
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).
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.
And: 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)
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.”