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:UsersLukeAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup
  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:UsersLukeGoogle DriveVirtualBuilt (LJ only)DynamowipLiveDefinitions
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.

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:


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)

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 v15.4.0.zip


  • Special thanks to CAD-Q (http://www.cad-q.com/) 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.

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.

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