Friday, July 31, 2015

Export Shared Parameters from Sheet Label in Titleblock

We've talked about exporting shared parameters before, but when you are editing a Titleblock (that you have inherited from somewhere) you may find that the Family Types dialog does not list all of the parameters that may already be in use in Labels in that Titleblock family.

So, how do we export those parameters? Easy:
  1. Select a Label
  2. Click Edit Label
  3. In the dialog that appears, select the parameter you want to export in the list on the left
  4. Click the tiny pencil and paper button
  5. Click Export. Done!

IFC for Revit 2015 (v15.5) and IFC for Revit 2016 (v16.2) released

via email:

... updates to IFC for Revit 2015 and IFC for Revit 2016, which you can get to using the links below:

IFC for Revit 2015 (v15.5):

IFC for Revit 2016 (v16.2):

Updates from the previous version are listed below. Please upgrade to the newest version!

1. IFC Exporter for Revit 2013 and IFC Exporter for Revit 2014 will no longer be getting regular updates.
2. IFC for Revit 2015 and 2016 includes export, import and the alternate export UI. There is no need for separate installs of each.
3. This update will work for both Revit and Revit LT.

What’s new for IFC for Revit 2015 v15.5.0 and IFC for Revit 2016 v16.2.0:

- This is the IFC2x3 Coordination View import certified version of Revit for Link IFC, as seen on At the time of this writing, it incorrectly lists "Autodesk Revit Architecture" as being import certified instead of "Autodesk Revit".

- Both Link and Export will use the IFC4 Addendum 1 schema instead of the IFC4 schema if the IFC4_ADD1.EXP is loaded in the EDM sub-folder of your Revit executable folder.

New Export Functionality:

- Allow setting of IfcBuildingStorey element composition type via IfcElementCompositionType shared parameter for levels.
- IFC4: handle elliptical edges for IFC4 Design Transfer View export.
- Support export of volumes as liters (a.k.a cubic decimeters)
- Support export of volumetric flow rates as liters per second (a.k.a. cubic decimeters per second).

New Export UI Functionality:

- Better progress messages in the status bar.
- Remove list of "Current Options" from the starting UI dialog; only display the IFC Schema and MVD as "IFC Version"
- Remove path from "Projects to Export" list; the path is now a tooltip.

Export Bug Fixes:

- Correctly toggle between SLIDING_TO_LEFT / SLIDING_TO_RIGHT for flipped doors.
- Use the element type "Function" parameter when setting the "IsExternal" common property for all element types, not just wall types.

New Import Functionality:

- Add "IfcElement HasPorts Name" and "IfcElement HasPorts IfcGUID" parameters to show port information for elements. There will be multiple shared parameters created if the element has multiple ports.
- Add support for more thermal transmittance units.
- Entities that are decomposed by IfcBuildingElementPart will now be visible if either the top level category or the Parts category is enabled by default.
- If attempting to create an IfcShellBasedSurfaceModel as a Solid results in any dropped faces, import it as a Mesh instead.
- (2016 only) If processing an IfcBooleanResult entity results in a failed Revit Boolean operation, try again by slightly shifting (by 1mm) the second of the two geometries in the operation.
- Improve import of IfcSweptDiskSolid when the geometric description of the entity would create a self-intersecting surface. In this case, create the minimum number of solids possible to import as much as the geometry as possible.
- Read in IfcSystems that aren't associated to the building via a IfcRelServicesBuildings relation.
- Read in IfcPropertyBoundedValues (including support for IFC4 version).
- Support import of volumes as liters.
- Support import of volumetric flow rates as liters per second.

Import Bug Fixes:

- Add a message to the log file if we skip importing an IfcProduct that neither has geometry nor is decomposed by other entities.
- Fix a potential crash if a file contains a large number of elements in system joined by ports.
- Improve log message when an entity can't be imported because it has no geometry.
- Improve log message when an entity can't create all of the facets of its tessellated geometric representation.
- Move some MEP entities from Generic Models category to the appropriate categories by default.

Tuesday, July 28, 2015

How to Copy Dependent Floor Plans from one Revit Project to another RVT

In Revit, you cannot easily transfer Dependent views from one Revit project to another. Here's one way you might workaround this issue:
  1. Make them Independent by using Duplicate with Detailing (resultant duplicate is Independent), you can do this for a batch of Dependent Views using Bonus Tools. Or you can do it slowly, one by one, using the right click and Convert to Independent option.
  2. Select those new independent views and save as selection set with Dynamo (see image below). Load the selection Set and Ctrl+C. Note: this method allows you to Copy all of the required plan Views directly to Clipboard, without having to select Crop Regions as would normally be required...
  3. Paste Aligned - Selected Levels into the target model
  4. Copy View Templates if necessary, you can use this method for individual templates
  5. Reapply any View Templates as necessary
Note: applied Scope Boxes should automatically be copied with the views

Monday, July 27, 2015

Set Visible RVT Link Instances to a View Parameter in Revit

Here's how:
  1. Make a View parameter (Text) in Revit that will hold the list of RVT Links that are visible in a given view
  2. Install Dynamo and my Bakery package
  3. Go to the required View
  4. Set up your definition as below and run it:

This will create a list and convert it to a single string with a line break between each entry, meaning that the resulting view Label in your View Title needs to account for it to 'grow' (vertical align to Top or Bottom as required).

 This will need to be run each time you want to 'update' the visible Revit link parameter.

Tuesday, July 21, 2015

Revit 2016 Service Pack 2

Download links:
Release Notes

As can be seen in release notes below, most of these are "Improves stability..." fixes.

  Improves stability when creating dimensions.*
  Improves stability when editing families*.
  Improves placement of the site on Open IFC if the site is located away from the origin, or rotated.
  Improves data integrity of a schedule instance on a sheet with the schedule view.*
  Corrects the name of the Default Structural Area Reinforcement Schedule.*
  Improves stability when attempting to use the Selection Box tool in Reveal Constraints mode.*
  Improves stability when upgrading a model containing corrupt families.*
  Improves stability when upgrading projects which may have some corruption.*
  Improves stability when opening or upgrading a Revit 2015 project which contains stairs.*
  Corrects an issue causing view filter names to be automatically appended when workshared models are synced.
  Improves stability when editing selection sets in a workshared model.*
  Improves data integrity of Project Address for upgraded projects.*
  Improves stability when selecting a viewport with the Select by ID tool.*
  Improves stability when canceling out of the view templates dialog.*
  Improves stability when deleting an element which may have an invalid ID.*
  Improves stability when using the Options dialog to log into A360 from a workshared central file.*

  Improves stability when editing stacked wall types*.
  Improves stability when cutting rooms to the clipboard.*
  Improves stability when clicking Edit Preview in the wall structure dialog.*
  Improves stability when editing the structure of walls.*

  Improves placement fidelity with wire tags when upgrading a project.*
  Improves stability when no panel schedule template is assigned as the default.*
  Improves connection consistency of taps.
  Improves visual fidelity of lighting fixtures within a copied group after the original group is modified.*
  Improves stability when using Mechanical Settings.*
  Improves stability when upgrading a project that contains user-created pipe types.*

 Analytical Model
  Improves stability when opening a project which contains a Structural Isolated Foundation with an invalid analytical model defined as a column.*  
  Improves stability when placing a slanted column or a beam based on a Generic Model Line Based family.*  
  Improves stability after reloading an annotation symbol family used as a symbolic representation of brace elements on plan views.*  
  Improves stability when selecting a viewer element associated with Graphical Column Schedule.*  

  Improves stability when using Dynamo and the function: Select Divided Surface Families.*  
  Improves stability when DimensionSegment ValueOverride API is called when the dimension value was not overridden.*
  Improves error handling with element's methods/properties.*
  Improves consistency of UIApplication.PostCommand for pre-selection.*
  Improves error handling with ElementCategoryFilter.*
  Improves stability when editing families which use external resources for keynotes.*
  Adds a validator to the Rotate Tap API to guard against creating invalid models.
  Improves error handling with UIDocument.PromptToPlaceViewOnSheet() function.
  Improves consistency of the RebarContainer element.*

Revit 2015 Update Release 9 UR9 for download

Links for Revit 2015 UR9 for R2:
Download link
Enhancements List

Download link for Revit 2015 UR9 not for R2:
Download link

Enhancements List (plain text):
Improvements made in Update Release 9
 Revit 2015 build: 20150702_1515
 Revit 2015 R2 build: 20150704_0715

Autodesk® Revit® Platform 2015 Updates
 Improves stability when deleting an element which contained an invalid partition ID.*
 Improves visual fidelity when exporting to DWF.*
 Improves data consistency between a schedule view and a schedule instance on a sheet.*
 Improves stability while upgrading Revit 2012 projects.*
 Improves stability while editing families.*
 Improves stability when using the Options dialog to log into A360 from a workshared central file.*

Autodesk® Revit® MEP 2015 Updates
 Improves stability when upgrading a project that contains user-created pipe types.*

Autodesk® Revit® Structure 2015 Updates
 Improves stability while when placing a slanted column or a beam based on a Generic Model Line based family.*
 Improves stability when reloading an annotation symbol family used as a symbolic representation of brace elements on plan views.*

Autodesk® Revit® API 2015 Updates
 Improves stability while when editing families which use external resources for keynotes.*

Friday, July 17, 2015

Free Revit Door Families for download including Nested Panels and Nested Frames - highly parametric!

Aaron Maller, aka twiceroadsfool, has been sharing his Revit door family package on RevitForum for the past few years. If you haven't seen it yet, you can check out his post in the thread here:

In the thread, he gives instructions on how the door families work, and a link to download the 179mb zip package:
First important part. The way they work is you only place the ones that say DOOR at the beginning of their name, obviously.
Download Link for the v4 Doors, a sample file with the doors in them, and the Door Schedule accompanying them, is here:

Thanks for sharing Aaron!

Older posts:
Doors for download, Nested Panels and Nested Frames..

Heads-up via

Thursday, July 16, 2015

Using ModelSTAT to Check for Revit Model Problems

With this free addin, you can view a graphical representation or summary of all the elements in your Revit model, based on various different filters. You can then also export a CSV of that data.

We can use this for workset validation, like "are any elements are on the wrong workset?"

Here's how:
  1. Start Jolsoft ModelSTAT
  2. Click Elements - Workset
  3. The resulting graph will show you how many elements on each workset
  4. Click Export - CSV
  5. Open the CSV
  6. You will see a list of workset names, along with a count of how many items exist on each workset
Now, if you actually want to do more specific model interrogation, like finding those elements on the wrong workset, you can use one of these methods:
  1.  My Copy Workset Name to Target Parameter node in Bakery Dynamo package. Copy Workset name to a target parameter and then view it in a Revit Schedule
  2. Use Kiwicodes Bonus Tools, 3d Views for Worksets tool. If you double click on a workset row, it will show a list of elements on that workset
  3. Make your own Dynamo node to get the answer you want

Download modelSTAT at:
ModelSTAT | Autodesk Revit | Autodesk Exchange Apps

Monday, July 13, 2015

Automatically Import Data From Multiple Excel Files into one Worksheet With Power Query

Let's say you have a set of Excel files and you want to feed that information into one Excel file, to allow you to do summaries or produce Charts. How would you go about it? Here is one way:

Install Power Query from:

Use this function (copied from link below) to import multiple XLSX to one sheet.

 //Define function parameters  
 (#"Directory containing Excel files to combine" as text,   
 optional #"Name of each Excel object to combine" as text,   
 optional #"Use first rows as headers" as logical) =>  
   //If the optional Excel object name parameter is not set, then default to Sheet1  
   ExcelName = if #"Name of each Excel object to combine" = null   
         then "Sheet1"   
         else #"Name of each Excel object to combine",  
   //If the optional Use first rows as headers parameter is not set, then default to true  
   UseFirstRowsAsHeaders = if #"Use first rows as headers"= null   
               then true   
               else #"Use first rows as headers",  
   //Get a list of all the files in the folder specified  
   Source = Folder.Files(#"Directory containing Excel files to combine"),  
   //Filter these to only get Excel files  
   OnlyGetExcelFiles = Table.SelectRows(Source,   
                each ([Extension] = ".xlsx")   
                or ([Extension] = ".xls")),  
   //Find the full path of each file  
   FullPath = Table.CombineColumns(  
           OnlyGetExcelFiles ,  
           {"Folder Path", "Name"},  
           Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged"),  
   //Get a list containing each file path  
   ExcelFiles = Table.Column(FullPath, "Merged"),  
   //Define a function to get the data from the specified name in each Excel workbook  
   GetExcelContents = (FileName as text) =>  
    //Connect to the workbook  
    Source = Excel.Workbook(File.Contents(FileName), UseFirstRowsAsHeaders),  
    //Get a table of data from the name specified  
    //If the name doesn't exist catch the error and return null  
    ExcelData = try Source{[Item=ExcelName]}[Data]   
               otherwise try Source{[Name=ExcelName]}[Data]   
               otherwise null  
   //Call the above function for each Excel file  
   ReadAllWorkbooks = List.Transform(ExcelFiles, each GetExcelContents(_)),  
   //Remove any null values resulting from errors  
   IgnoreNulls = List.RemoveNulls(ReadAllWorkbooks),  
   //Combine the data from each workbook into a single table  
   CombineData = Table.Combine(IgnoreNulls)  

Here are some of the steps to get the function into Excel:

Read more at:
Combining Data From Multiple Excel Workbooks With Power Query–The Easy Way! | Chris Webb's BI Blog

Diagnosing Room Not Placed or Unenclosed Problems in Revit

Did you know you can use a Revit Room schedule to quickly tell if a Room is Not Placed or Unenclosed. Here's the clues:

 Unenclosed will still show Highlight in Model in ribbon:

 Not Placed will not show Highlight in Model:

If you add Area column you will see a description of the problem:

Thursday, July 9, 2015

IFC Resources for download: "Making IFC Work For Your Business"

I recently had the pleasure of presenting at the 1st Build SA event of the year. Overall, it was a very informative event that packed heaps of useful content into a half-day of presentations, labs and discussions of real world case studies.

You can get tickets for BuildSA Event 02 - Documentation and Deliverables Part 1 here at this link.

And... here are the downloads from my session on IFC interoperability and conversions:
Speaker Handout
Hands on resources for Lab

(The one missing piece that you don't get access to is the larger resource download package. If you want to get hold of some of these extra goodies, may I suggest that you attend Build SA Session 2 as per link above? )

Embedded slides:

Embedded handout:

Tuesday, July 7, 2015

Visibility Override for Specific Tag Type

Did you know you can override the lineweights and colors of a Generic Annotation or Tag and its Leaders in Revit? You can use Visibility / Graphics annotation tab like this:

But what if you have two Tags that are of the same category, say Detail Item Tags, but you want to override them differently? You can't use a normal model-based filter, as these generally do not act on annotations. However, you can use a selection-based filter...

  1. Ensure you are using a unique Type of Tag, then right-click, Select All Instances, In Entire Project
  2. Save Selection, and choose an obvious name
  3. Go to your view filters (in the relevant View Template if necessary) and add the Filter you named in step 2
  4. You can now freely override those Tag elements separately to any existing overrides

Now, keep in mind that you need to manually update this selection-based filter. You might make it part of your printing workflow to do steps 1 and 2 above immediately prior to printing, thus updating the saved selection set to be in line with the current status of your model.

123D Apps now Available for Windows Phones and Tablets

Cool! My Lumia 930 and Surface Pro 3 will be all happy now :)

The 123D family recently expanded to include 123D Catch and 123D Sculpt+ for the Windows Store. 123D Catch is also now available for Windows Phone through the Windows Phone Store. 
This breaks new ground on the Windows mobile platforms for 123D and broadens the availability of these powerful, free apps for anyone with a Windows device. 

For those new to the apps, 123D Catch uses the camera on your phone or tablet to shoot photographs around something, then upload the photos to the cloud where they are turned into a realistic 3D model. 

123D Sculpt+ is a digital sculpting application for tablets, allowing beginners to get into digital 3D sculpting and professionals to do their work on the go.

Read more / via:
123D Captures Windows Phones and Tablets - 123D Blog

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)