Sunday, July 5, 2015

Podcasts for BIM and the Built Environment

2015 may be remembered as 'the year the BIM podcast became a reality' (among other things, I'm sure :)

Here is a list of recently established but active podcasts related to BIM and the Built Environment. I have provided RSS links, and will update this list as more become available:

BIMThoughts - BIMThoughts is podcast about BIM technology and techniques.

Podcast | Designalyze

Autodesk Launches Podcast Channel to Explore the Future of the Built Environment

Wednesday, July 1, 2015

Improved Revit to Excel Linking, Reading and Writing through Dynamo with new bumblebee package

Konrad Sobon has released a very cool and powerful new node package for Dynamo called Bumblebee. I did some very basic beta testing on some of his code a while back, and it looked promising then. It has some more polish now and it will certainly help us get the Revit to Excel connection "buzzzzzing" nicely through Dynamo :-)

It supports some nice things like writing to multiple sheets at once, offset to specific Cell entries, and writing to multiple locations in the same sheet. Most of this is accomplished through the BB Data node:

There is even some handy documentation already in place:
For specific instructions on how to use each one of the components and what is possible to achieve with each one of them you can refer to Bumblebee Primer: BB Primer

Read more at Konrad's post:
bumblebee – dynamo and excel interop | archi-lab

Tuesday, June 30, 2015

Download Free Revit Journal Cleaner for Revit 2016

Dante van Wettum has again updated and released his excellent free utility to cleanup all the bits and pieces Revit leaves behind. You can download Revit Journal Cleaner 2 here:

Sunday, June 28, 2015

Keeping Custom Dynamo Nodes in Sync

We have been told that Dynamo core code can eventually support network sharing of custom node definitions. In the meantime, how can you share custom nodes between a few different pcs and laptops, keeping them all in sync?

There are a few ways to do this:
  1. Packages and package management
    The main issue here is that if you are working on IP related code or just generally don't want to publish your nodes to the world, there will always be some left over 'private' custom nodes in your definitions folder that you still may want to sync with other pcs, leaving us with...
  2. Shared cloud definition folder with live update to local definitions folder
The second way can be done with FreeFileSync and its partner, RealTimeSync. RealTimeSync is automatically included when you install FreeFileSync. How do we set it up?

Let's say we have a few workstations and we want to share Dynamo definitions between them:
  1. Set up a shared cloud folder called LiveDefinitions between users of these pcs (Google Drive or Dropbox or similar).
  2. Then, set up a sync process that mirrors that cloud version to your local Dynamo definitions folder, in my case:
 It might look something like this:
 In the above example, I also set up a versioning folder to catch any conflicts.

The RealTimeSync can be set up as follows:
  1. Launch FreeFileSync and create a Mirror sync between these folders (that's in the image above)
  2. Save this as a ffs_batch file
  3. Open that file in RealTimeSync
  4. Save as a ffs_real file
  5. Right-click and Copy this ffs_real file in Windows Explorer
  6. Paste shortcut into your Windows Startup folder, such as:
    C:\Users\Luke\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
  7. Double click the shortcut in Startup and check that it runs ok. It should automatically place a red RealTimeSync icon in your task bar that polls the source folder periodically for changes. If you ever want to stop the sync, just right-click on that red icon to stop the sync running. To disable automatic startup, just delete the shortcut from the startup menu.
The final piece: make sure you save all of you custom definitions directly to the LiveDefinitions folder. In the example above, I should save all of my custom .dyf files to this folder after creating them:
C:\Users\Luke\Google Drive\VirtualBuilt (LJ only)\Dynamo\wip\LiveDefinitions
Even if I just right-click and edit a custom node in Dynamo, I will have to go Save As to the above folder to make this system work.

Google Drive will sync that file up, and then RealTimeSync will push it into the required Dynamo folder.

This way, the point of truth for all of your custom definitions is in the cloud, and these are downloaded and overwritten into your local Dynamo definitions folder (the one that Dynamo uses).

Use this idea with care :-) As always make a backup of everything first, and also remember that often simply closing and re-opening Dynamo can help to refresh the dependencies and correct some problems.

Friday, June 26, 2015

Use AutoCAD to Generate Hatch Boundary of Revit Filled Regions

You can use HATCHGENERATEBOUNDARY in AutoCAD to recreate the boundary of a Filled Region that you exported to DWG.

You may be asking "why!" Well, if you have a bunch of Filled Regions and their sketch lines are all set to Invisible Lines, this may be one of the quickest ways to get a visible, printable outline of those filled regions in Revit

Here's a quick video:

OmniClass and MasterFormat Keynote files available for download

If you aren't using Keynotes in Revit, you probably should be. They are often one of those 'hidden gems' that people discover after using Revit for years...

In any case, @theoryshaw has kindly published OmniClass and MasterFormat keynote text files for download at: 

Thanks Ryan  :)

Some other goodies can be found at:

(you will need to login to AUGI)

Thursday, June 25, 2015

IFC for Revit version 15.4 released

Update: this version added some comprehension of IfcElementAssembly. What this means is that your converted IFC may end up with a subelement, and then a duplicate of it inside an IfcElementAssembly. If you are trying to do 1:1 item count comparison between Revit and Tekla BimSight, you will have to selected and hide or delete the IfcElementAssembly components.

You can use this filter to isolate them and then delete select them to delete:

Significant improvements added thanks to CADQ (see release info below).

Get version 15.4 for Revit 2015 here:

Also 16.1 is available for Revit 2016:

15.4 Release Info:
We have upgraded the 2015 Open source IFC project to version 15.4.0.
Changes include:

(15.4.0) IFC for Revit 2014 v15.4.0.msi
IFC for Revit 2015 Source


  • Special thanks to CAD-Q ( for their contribution of this improvement to the Open Source. Their contributions will be marked with (CADQ) below.
  • The installer has been updated to once again work with Revit LT.
New Export Functionality:

  • (CADQ) Ability to export only schedules whose titles include "PSet", "IFC" or "Common".
  • (CADQ) Added option to use the active view to generate the exported geometry. Note that this can have unexpected effects if used in a non-3D view.
  • (CADQ) Added an export progress report to the status bar, similar to how Link IFC displays progress.
  • (CADQ) Allow export of multiple loaded exportable projects. Note that for phasing, the list of available phases will be based on the current project only. If a phase other than the default phase is chosen, it will be used for all projects assuming that they have the same phase with the same element id. If multiple projects are chosen, default names will be used for the created files in the chosen folder.
  • (CADQ) Split walls and columns by level now also splits duct segments by level.
  • (CADQ) The "Advanced" tab tessellation level of detail controls now also apply to pipe fittings. In addition, instead of being a checkbox, there are now four options: "Extra Low", "Low", "Medium" and "High". The default setting is Low, which is slightly higher than the previous setting.
  • (CADQ) When splitting elements by level, if the splitting operation fails, use the original solid.
  • Added a setup for the IFC4 Design Transfer View MVD. This is still a work in progress and is intended for advanced users to experiment with. The bulk of the new functionality is around using the IfcAdvancedBRep to generate non-faceted geometry and topology on export.
  • Added support for properties with friction loss and linear velocity units, both for standard Revit properties and user defined property sets.
  • All properties for PSet_ZoneCommon are prepended with "Zone" to distinguish them from Room properties. See the wiki for more information.
Export Bug Fixes:

  • (CADQ) IFC2x3: PSet_ZoneCommon now correctly exports "GrossAreaPlanned" and "NetAreaPlanned" properties (instead of the IFC4 GrossPlannedArea and NetPlannedArea).
  • Allow export of IfcElectricDistributionPoint (IFC2x3) and IfcElectricDistributionBoard (IFC4) entity types.
  • Allow export of DirectShapes in certain categories that were previously ignored.
  • Allow export of some infill elements in host objects. Infill elements are created when a host object has an opening that is not in the currently exported phase.
  • Exporting schedules as property sets will now include room elements.
  • Fix orientation of some floors exported as containers.
  • IFC2x3: Allow export of type properties for elements whose corresponding IFC entity doesn't have a type in user-defined property sets assigned to "IfcElementType".
  • Significantly improve the export of walls with openings in the corners. Both the wall profile and the opening geometry have been improved to reflect user intent, and fewer clip planes are used.
  • Switch between the IFC4 IfcBurner/IfcBurnerType and IfcSpaceHeater/IfcSpaceHeaterType and their IFC2x3 counterparts depending on the schema version.
New Import Functionality:

  • Always reload a linked IFC file if the importer version is different than the one used to originally link the IFC file.
  • Better handling of IFC color information when scaling is involved.
  • Create the log file earlier, allowing for logging of more general failures.
  • If the default log file is locked, create a log file with a temporary name in the same directory.
  • Log an error if no template file could be found to generate an IFC file.
  • Log an error if the IFC file contains a zero length vectors used in local coordinate systems.
  • Process IfcPresentationLayerAssignment for grids.
  • Store IfcProject, IfcSite and IfcBuilding parameters and GUIDs in Revit Project Information if no element was created for them.
Import Bug Fixes:

  • Correctly rotate projects whose true north deviates from project north.
  • Correct unit scaling and symbol display for friction loss, linear velocity, luminous efficacy, thermal transmittance, and volumetric flow rate.
  • Include units when displaying material thicknesses in the IfcMaterialList parameter and in some log messages.
  • Import extruded geometry whose profile is a single, unbounded, closed curve (e.g., a fule circle or ellipse).
  • Improve creation of geometry in cases where a Solid couldn't be created, and we reverted to Mesh geometry instead.
  • Improve material assignment for geometries where the material was attached to the first argument of a Boolean operation.
  • Properly scale IfcVertexPoint input.
  • Stop displaying irrelevant property sets in the IfcPropertySetList parameter.

Wednesday, June 24, 2015

Quick Unifi Tip: Automatic Update before opening Revit

Unifi 1.6 is out today, with support for Revit 2016. If you want to automatically update Unifi before you open Revit, simply add a Unifi shortcut to Windows Startup, like this:

Note: depending on your currently installed version, it may be more appropriate to launch from:

The next time you open Revit, Unifi will already be nice and updated and ready to go.

If you are wondering "What is Unifi anyway?", check out my review at this link.

Monday, June 22, 2015

Revit 2016 New Features eBook

CADLearning have allowed free access to a fairly info-packed ebook. Interestingly, it reads more as a 236 page 'Introduction to everything about Revit'. Its a pretty detailed document, and the "new" 2016 features seem to be only occasionally mentioned. But its well worth a look...

Check it out at:

A few pages to check out:
  • Page 50 for Reveal Constraints
  • Page 65 for Adaptive point orientation
  • Page 142 for Fabrication Parts
  • Page 176 for Selection Boxes


What's New in Navisworks 2016 - 7 minute presentation

Direct link to video:


Wednesday, June 17, 2015

Special Text in Revit Dialog Boxes

When saving a group in Revit, the text "Same as group name" is special. Even if you have put in a file path or typed something else in that Filename area, if you then go in and type Same as group name, the resulting RVT group will still adopt the name of the group you have just saved.

This is just one example of 'special text' used in Revit dialogs.

Monday, June 15, 2015

Get a Discount on your Revizto Annual Subscription

To get 5% off your Revizto annual purchase, use this code:

  1. Go to the purchase page
  2. Add the desired number of annual subscriptions
  3. Type the code LUKEJH and press Ok
  4. The discounted price should appear

Link to purchase page

Select All Elements in Revit using List of Category Names

Cooking in the Bakery today:

From here we could export a list of Element IDs to CSV, make a Selection Set by Elements using Clockwork, or use one of the Select in Revit nodes.

As you can see, to make a string list in a code block, you need to enclose list in curly brackets, divide with commas and use quotation marks around the entries themselves. More about code blocks at:

Wednesday, June 10, 2015

Present, Discuss, Share and Collaborate using Your BIM Models in Realtime, Globally and Instantly

Update use this code to get a discount on your Revizto annual purchase:

Oh, and across devices too. You might say "hey, I've heard of Revizto before". Someone tweeted today ""Even if we could get the model into a game engine, it would be difficult to navigate." We can. It isn't."

Revizto has been providing smooth, great-looking visualizations of your Revit model for a while now. It has some very cool features, like Oculus Rift support (fun!) But its not just about the game-smooth graphics anymore.. I'm excited about something else...

Firstly, the big picture: what does Revizto do? Well, it shares your 3D model with others via the cloud, which is pretty normal these days. But over the past few months (and especially the last few days), it has added collaboration features that make it an extremely useful tool for BIM teams. Some of these are:
  • intelligent issue tracking
  • sheet and 3D collaboration attached to the same issue
  • issue reporting
  • enhanced Navisworks export, which includes overridden colours (meaning it can be useful for services visualizations where you use the Appearance Profiler in Navis)

If you like videos, maybe start here:

Revizto bridges some obvious gaps in current Autodesk interoperability scenarios, as it allows you to easily:
  • create and share viewpoints between Revit, Navisworks and AutoCAD
  • go straight to the 3D viewpoint of an issue in whatever model you have open (using the Issue Tracker addins)
Also, compared to various other collaboration services, it is relatively inexpensive, especially given the level of functionality it provides.

So how do we get started with Revizto? Here's a quick few steps:
  1. Download and install the 30 day trial with addins
  2. Open a Revit model, or a federated Navisworks model, and upload to Revizto using the addin
  3. Choose a project name
  4. After upload is complete and your model is open in Revizto, share it with others
  5. Start collaborating! Make an issue with + sign in the top bar, then type some words, assign it to someone, start a conversation about that issue.

Once an issue is created, you can easily switch between multiple different representations:

You can also quickly create or export issues to BCF. It uses the bcfzip format, so imagery and viewpoint information is all included.

Issues can be quickly tagged to create custom lists of related issues too.

A few beginner-style tips:
  • The Viewer is different to the Editor. The Editor is mostly used to create and upload projects.
  • Go to hamburger (top left) Objects to be able to turn off and select items in the model
  • You can see the room names in the Map mode (little compass arrow in top of Viewer). When you scroll down to any level you can see all of the rooms, and by clicking to any part of the room you it will take you there in 3D
    Grids and Rooms visible in 3D Map view
  • The recommended workflow is to use a combined, federated model in Navisworks or Revit and then export to Revizto, rather than trying to federate models in Revizto itself

What’s New in 3.4:
  • Collaboration on 2D sheets, now you will be able to mark up on top of 2D sheet and see them in 3D and all your issues made in 3D will be visible on 2D sheet
  • Ability to see the 2D sheet on top of the 3D
  • Invitation in the Viewer, now you can accept invitations to projects you have been invited to right from the Viewer
  • Revision control, now you will be able to see all your versions of the files you have synced to the cloud right from the Editor and open and review them and/or revert to the version you choose and make it master file for everyone.
  • You can see what have been updated in the project gallery in the Viewer and open the latest version
  • Great enhancements in export from Navisworks
  • ArchiCad support, now you will be able to export from ArchiCad your files and benefit Revizto collaboration
  • Grid visibility in Revizto, now you will be able to see the grid in the Viewer in 2D Map View.
  • Ability to set self-luminous material to any object in the scene to be visible in the Viewer and in the Editor after you bake the light maps

Some more general info and screenshots below:
Manual Introduction • Revizto Editor User Manual

What is it again?
Revizto is a tool that transforms heavy-weight 3D data into navigable lightweight scene in one click. The resulting scene can be opened with free Revizto Viewer on PC, Mac, iPad and Android tablets or in any web browser with Unity plugin. Revizto Workspace allows users to upload their projects to cloud storage and access them from any point of the globe. Revizto works with the most architectural and 3D-modelling software (Revit, SketchUp and any software that supports FBX export). 

Installation screenshot (addins):

Platform includes:

To conclude: give the latest version a go, and feel free to comment with your thoughts.

Update use this code to get a discount on your Revizto annual purchase:

Navisworks Manage 2016 Service Pack 2

Most of these are bug fixes, and some BIM360 Glue integration performance improvements. Details and direct links below:
Autodesk Navisworks 2016 Service pack 2 delivers user experience and stability improvements to the Autodesk BIM 360 integration. Service pack 2 also addresses problems identified in other parts of Autodesk Navisworks 2016. Service Pack 2 also includes all of the updates from Service Pack 1. Service Pack 2 can be installed on either the original version or the Service Pack 1 version of Autodesk Navisworks 2016.

Autodesk_Navisworks_2016_Service_Pack_2_Multilingual_Freedom_64bit.msp (msp - 78Mb)
Autodesk_Navisworks_2016_Service_Pack_2_Multilingual_Manage_64bit.msp (msp - 101Mb)
Autodesk_Navisworks_2016_Service_Pack_2_Multilingual_Simulate_64bit.msp (msp - 101Mb)

Autodesk Navisworks 2016 Service Pack 2 Feature readme.pdf (pdf - 422Kb)
Autodesk Navisworks 2016 Service Pack 2 Installation readme.pdf (pdf - 308Kb)


Double-click to go directly to linked cell in Excel

Something you might find very useful in BIM world, where Excel currently thrives and will continue to do so for the foreseeable(?) future. You need to adjust this option:

And then if a cell references G33, and you double-click on it, it will take you straight to G33.

Better Sketchup to Revit Conversion via FormIt

Check out this excellent forum post by Tobias Hathorn, in which he describes the best workflow for Sketchup to Revit conversion via FormIt 360. Interestingly, the major steps are:
  1. Install Revit addin
  2. Use addin to convert SKP to format for Formit
  3. Import to FormIt Web
  4. Export Locally
  5. Use the same Revit addin to convert the FormIt 360 Sketch to RVT
Some more detail here, reproduced from the post:

The one 'gotcha' (which should be kind of obvious)... if the model is poorly constructed geometrically in SketchUp, then that same geometry will come down the pipe into FormIt and eventually into Revit... 

Another comment about size - you'll get better results componentizing your SketchUp import - doing a blanket conversion of your entire existing SketchUp model will take longer and be a MUCH bigger memory footprint.

Here are the steps for SketchUp conversion...
  • Go to the SketchUp Warehouse - browse to a great looking catalog - LINK
  • Download the files you want locally onto the hard drive
  • Get the free FormIt Converter Plugin for Revit 2015 - LINK
  • Install the Plugin and restart Revit 2015
  • Go to the Add-Ins tab, FormIt 360 Conversion panel and choose Convert SketchUp Files from the drop down menu
  • Navigate to the folder with the SKP files in them
  • Then navigate to where I want the FormIt 360 files to be (can also go to A360
Here are the steps for FormIt categorization...
  • Start FormIt Web - LINK
  • Import (or Link through the Content Library) the converted SKP's - place the content in your FormIt scene...
  • Double click to edit the furniture group - you can push and pull the geometry as if you were in SketchUp!
  • While in Edit Group mode - set the name and category (Furniture) in the properties panel. Finish editing the group.
  • Save the FormIt file and download it locally (to your downloads folder) by clicking 'Export Locally as FormIt 360 Sketch'
Here are the steps for FormIt to Revit conversion...
  • Open Revit 2015 - Click New file - choose the template you'd like to use for the design model
  • Go to the Add-ins tab and choose "Convert FormIt 360 Sketch to RVT'
  • Navigate to the downloads folder and choose the FormIt sketch you exported locally
  • Click through any warnings and now you have Revit versions of SketchUp files!
  • The FormIt elements have the same categorization you set in FormIt
  • and you can double click to edit the families as you would normal Revit geometry
Thanks Tobias!

Original post:

Tuesday, June 9, 2015

Free Form Element does not show Visibility Settings in Contextual Ribbon - Workaround

Have you ever exploded a SAT or DWG in the Family Environment, and then gone looking for the Visibility Settings ribbon button for one of the resulting freeform elements? Its not there:

But, as you can see from the image above, you can still access these settings by using the Properties Palette - Visibility/Graphics button.

Thursday, June 4, 2015

Collect Elements in Rooms Across Linked Files, and Write Room Data Directly to Elements or List to Excel

Its a long-winded title, but its only one Dynamo node... Just added to the Bakery package, called Collect Elements in Rooms and Show Detailed List. Basically, it takes a list of Rooms and a list of Elements and then tells you which Rooms those Elements are in. It also works across linked files, so you can have a fixture model, link in the Architectural containing Rooms, and use those to do the comparison.

Once we have the Room that an element lives in (mostly thanks to Konrad's work on Family.InRoom, which I have altered a little bit here), we can do lots of things. I used a Cycle and LaceShortest to get a 1:1 list of Room:Element. This makes it easier to do things with the resulting combined lists. Like, one of the outputs of the node is a detailed 6 index list, which can be directly exported to Excel. The list in Excel can then be filtered by Room. You can choose two parameters from Rooms, two from the Elements, and it also gives you the Element Ids of both:

I could have added headers to the list in Dynamo, but I didn't do it for this first version (yet):

We can also take a parameter from a Room (like Room Name or Room Number) and then write it directly into a parameter in the Elements, like this:

This shows the Mark parameter populated with Room Name:
Or, we can take two parameters from linked Architectural rooms, and drive two Shared Parameters in every element in the current model. I ran the following node to set parameters for about 2500 elements in just a couple of minutes:

Or, we can use another Bakery node to do a wildcard search and collect elements from one Category across multiple links, and then check against these:

While this is a basic implementation at this stage (and no doubt there may be some hiccups), it demonstrates a powerful concept: to be able to take a mixture of linked Rooms and/or linked Elements and determine their relationship, then export that data or use it to instantly drive other parameters in Revit.

Goooo Dynamo!

Wednesday, June 3, 2015

How to Check for Inplace Families, the Dynamo Way

I've added this checking node to the Bakery package. Much of the credit goes to Andreas Dieckmann for the Family.IsInPlace node in the Clockwork package:

You may also be interested in copying a non-schedulable property to another parameter for a list of elements. This Bakery node works for things like Workset too: