I saw a question like this on the forum so I had a quick go at it (see image below). Basically it checks what Family Types are placed against those loaded into the project, and then deletes unplaced component Families using SteamNodes Tool.Eraser:

Post flight family list:

Future versions of this could start looking at system families / types using similar methodology.

BIM breeds information. In many cases, we probably generate too much Bimformation. It can become difficult to manage and analyse all of it. When it comes to content specifically, Unifi have already provided a brilliant solution for storing, distributing and accessing your Revit and BIM content, and it comes with lots of nice features.

But what about Reporting and Analysis? What is the point of a cloud content repository, without a cloud web app? Why can’t we manage our content outside of Revit, and make it useful and accessible to everyone in our company?

Happily, Unifi have developed a new portal web app that aims to do all of those things. And, it looks really really nice so far 🙂

But what is it, how does it work, and how can it help you manage your content more efficiently? Steve Germano, Chief Development Officer at INVIEW labs, has given me a sneak Alpha peek, prior to its imminent release next week at AU2015. The word is that it will be going live to Beta next Monday… shhhh 🙂

When it launches officially, you should be able to find it here:

So, what can the Unifi app do? After logging in, the left sidebar provides links to a number of main screens:


This is a one-page summary of all of the other portal pages. It gives you a quick overview of Unifi and general content use in your firm. Keep in mind that this portal is gathering live data from all of the users of Unifi across your entire firm. You may have hundreds of users in many offices worldwide, and all of the interesting information comes together here, in one place. Also, there are lots more data visualizations coming in 2016…


Here you can see recent popular searches across your company content, along with a Top 10 of recent downloads. These metrics are invaluable for being able to determine what content is most utilised by those working at your firm. What’s your Most Popular Family? This type of information has previously been a matter of rumour, but now we have real data to back it up.




Analytics – Reports: This piece isn’t quite ready for the wild yet, but specific reports will be able to be generated and accessed from the web app in coming updates.

On this page, you can see what content has been requested and the recent uploads that have occurred:


Also, it allows you to manage content requests and submissions, such as:

  • Batch and Single file upload review and
  • Approve / Reject
  • Content Request review process workflow


This area of the site is still under construction, but a recent ‘leak’ from Unifi has already revealed that they are going to allow inter-company sharing of Libraries. This is a huge deal! Rather than hoarding content in our individual silos, we could establish a more open approach. And maybe this provides a new way for professional content creators to deliver good content to a large audience of consumers. I noticed that Aaron Maller already expressed interest… this could provide a way for guys like him to share and maintain a quality set of content for small-medium offices, possibly with a reasonable price tag attached?

This Library sharing has been born out of real-world demand, and here is what Steve has to say about it:
This is completely new to our industry, the ability to share a library of BIM content with a partner/consultant for a project use can raise the consistency of data in BIM models across the world. One of our biggest beneficiaries of this feature is building owners directly, who will take their inhouse libraries and share them with consultants across the globe who are working on delivering designs for their properties. This enhances the total usable data across their portfolio, seamlessly, efficiently, and at global scale.


You will also be able to move content from library to library.

I have to admit, this seemingly simple feature is to me one of the most powerful things we have seen in Revit content management in recent years. It essentially allows you to manage and add intelligence to your content without having to be in the Revit environment. It also allows you to browse your content using all of the nice, intelligent tags that Unifi has automatically added for you. Imagine spending some of your time directly adding tags to content, which is in effect making your entire content database more intelligent, with benefits to all downstream users.

Available functions:

  • Search across tags
  • Batch apply tags
  • Edit tags
  • Remove tags
  • Merge tags
  • Rename tags etc.


Consider this scenario:
you could be sitting on a bus or train wondering if your firm has a specific piece of content. You start browsing using the Unifi Portal, and you click through a few tags trying to find the content that you want. Then, you decide to check out the Notifications to see if anyone else has requested this piece of content recently – perhaps it is already under construction by one of the professional family creators at your firm? You can see that a similar piece of content has almost reached completion, so you go home happy, knowing that the exact family you need should be built and ready in the morning for you

So, here is my current Favourite Features in the Unifi web app:

  • Ability to view a one page snapshot of the content utilization in your entire firm
  • Ability to share content libraries between companies (more details at AU2015…)
  • Batch edit tags for your Revit library from anywhere in a web browser!

Also, some more cool stuff coming in 2016:

  • User Management (batch utility) – adding in the ability to add/remove users from user groups with the same intuitive interface
  • Licensing – New payment portal and processing
  • Project Data!

Personally, I have enjoyed working along with Unifi for a while now, so sometimes I take for granted that people know who Unifi is and what they are about. If you are new to Unifi, and if you want to know more about recent developments, this little Q and A provided by Unifi may help…

Unifi mission statement: The essential platform to organize, analyze, and distribute the worlds Revit data.

Why did we build the Unifi web app?
To provide a web app that would be globally accessible from any device. Our customers have consistently requested to have instant access to workflow task alerts and other realtime analytics that may need their attention. The Unifi web app provides a home for an abundance of analytics, reports, and batch utilities.

What type of analytics and reports are available in the Unifi web app?
At the time of launching the beta we are providing usage analytics on every piece of content, by every user, in every library, across your entire firm. You will be able to visualize not only usage, but user ratings on your content which is one of the key indicators to quality across your library. On almost every page there is a “Reports” section with a list of various reports you can view. The intent is to provide slices of commonly requested data analytics that will be useful to firms. Want to know which content is rated the lowest across a particular library, or see which employees are actively rating and providing feedback on content, or which library of content is being used most, there is a report for it.

Each report can be easily customized in the web app so you can drill down to see just the exact data you would like to. Interoperability is also important to our customers and is why we have provided formatted exporting and printing capabilities for reports.

We currently have around 40 premade reports planned to roll out early 2016 to all customers, and will be taking requests during the beta period.

Who can access the Unifi web app?
Currently the app is limited to only the Company Administrators in a firm. As the Beta period progresses access for Library Admins and normal Users will be added. We have plans to add value for normal level users around the areas of content discovery and other project related data and analytics.

How does the Library Sharing feature work?
“Collaborative” Library sharing is the ability for two Unifi companies to share a library amongst their teams. This feature has been a high request from various customers who would like to collaborate for specific projects with their partner design firms. We also have building owners who want to own their own core library of content to maintain consistency in the data they will receive from their various building designs. Library sharing allows them to share their library of core Revit content with various design teams for easy access and use amongst their design projects. Unifi provides them the ability to maintain consistent data from their portfolio of properties which can be mined and used for the operational phases of the building. There are many use cases for this sharing type and we are currently exploring the value of this feature with several various stakeholders within the BIM lifecycle.

There are two other Library sharing types coming to the portal soon. In addition to “Collaborative”, firms will be able to share a library as “Patron/Client which has a limited permission set, and also a “Public” library where any firm can discover and subscribe to a published Public library. Lots more about this coming in 2016!

What else is planned for the Unifi web app?
A library analysis tool – We need to provide better tools for our customers during the initial setup phase of a firm implementing Unifi. The first thing every customer wants to do is “purge” their existing library by manually going through and evaluating thousands of families. This is a lengthy time consuming process. We believe we can assist this process by providing an automated QA tool directly in our cloud.

More batch tools – Batch file renaming utility, Batch moving content from library to library, and a batch user management utility. We understand that in order to properly manage dozens of offices, personnel, and their access to tens of thousands of pieces of content you need the right tools to do so and we plan to make those tools intuitive and a joy to use.

The “stage 2” of our platform maturation includes several other large scale value adds for our existing customer, and new markets which will all in some form or fashion be integrated into the Unifi web app. There’s a lot of exciting projects planned!

To summarize, the Unifi team is very excited to start providing the necessary tools, analytics, and access for design firms to organize, analyze and distribute their Revit content globally in an effort to make Unifi an essential tool for every Revit user.

Learn more soon at AU2015


To do this, we can leverage a nice feature of the builtin Copy/Monitor feature. Its extremely simple, and here are the steps:

  1. Go to a 3D view and Isolate the Columns Category (so you can just see the Columns you want to split)
  2. Select all of them and Save a Selection (this is so we can cleanup later)
  3. Go to Collaborate tab and click Copy/Monitor – Use Current Project
  4. Options – Columns tab, tick “Split Columns by Levels”, Ok


  5. Click Copy, tick Multiple, Select all the Columns, then click the little Finish button
  6. Click the big Finish button
  7. If you want to delete the old ones, load the Saved Selection from step 2 and press Delete
  8. Done!

It would be nice if there was a “Split Pipes by Level” box hiding somewhere 🙂


Every now and then, you may find that a package upgrade causes some of your nodes to stop working. This may be because nodes have been removed from the package that you were using. You can use the two DYNs here to quickly check for missing dependencies:

Step 1
This will find dependencies from a selected package or definitions folder and export them to Excel:

Step 2
This will read the Excel file back in, and compare with node names in your Packages folder (may take a while):

Both of these dyns can be run in standalone / sandbox mode.

If there are missing nodes, they should appear in the pink box. You could then go to DynamoPackages website, download previous version that had the dyf you want, and then copy the contents of that dyf into your own custom node.

If you are using multiple instances of Revit, against one Central file, using different ‘pseudo’ usernames, you may have run into trouble because Autodesk single sign on (SSO) always keeps you logged out in that situation. As soon as you log in, all your Revit usernames get switched back to your SSO username.

Okay, so how can we work around this? Basically, by using psexec to launch Revit using another Windows user. This allows us to have SSO running in one ‘Windows user’ and SSO logged out in the other.


  1. Ensure you have psexec available
  2. Make a CMD with this text (for Revit 2015):
    psexec -u OtherWindowsUsername -p OtherWindowsUserPassword -d -i “C:\Program Files\Autodesk\Revit 2015\Revit.exe” /language ENU
  3. Open Revit in current user and sign out of A360
  4. Run this CMD file, and in the new instance of Revit you can sign back into A360

The workaround and outcome is shown in the image below:

 As usual, there may be complications with this method (such as access to different network resources etc), so please use at your own risk 🙂

XML files are everywhere. And in the BIM world, we have to deal with a range of different xml file schemas, such as BCF, Navisworks Clash Reports and Viewpoints, and so forth. Hiding inside these XMLs there is some very useful information. For example, BCF files often have Element IDs in the viewpoint.bcfv component, and Navisworks XML files often have point XYZ values. Can we easily get access to this information for use in Dynamo, and then in Revit?

Yes, we can! There were one or two ways to do this in Dynamo before, but here is my take on it…

Dynamo ships with IronPython, which in turn ships with an XML handler called ElementTree. I have created some basic nodes that give us access to ElementTree functions in Dynamo. Along the way, I learnt a bit about encoding and character sets. It turns out that Navisworks often inserts tricky characters into the XML (like the diameter symbol), so as a workaround (for now) I do a string encoding roundtrip to get rid of these problematic characters. In the same node, I create the ElementTree object: this is a special object that essentially represents structured information about the XML data. The initial import looks like this:

Once we have this ElementTree object in hand, we can start to do some interesting things, like:
Iterate through tree to get individual XML elements


and Show a hierarchical representation:

With the individual elements, we can Get Attribute names and values, and the Get the children of those elements:

Obviously, you can immediately do some nice lookups against these lists in Dynamo, depending what information you want. However, on large XMLs this can be quite slow. Happily, ElementTree provides some basic XPATH support, which looks a bit like this:

With the XPATH support and an understanding of the xml hierarchy, I have created a node to do XPATH calls straight to the ElementTree object:

Now that we can ‘snip’ out useful information from the XML, we can do interesting things with it, like make some points:

When it comes to BCF, its a little bit more challenging. I haven’t figured out how to unpack the bcfzip directly to memory (yet), so we have do that manual step first. Once we have a ‘folder’ from the BCFZIP, we can get the bcfv files from inside it and then get information from them, like this:

So, in the latest Bakery package are the nodes needed to read a variety of XML files, get information from them, and do some useful things with that information. It was a learning experience for me, and I hope its useful to you 🙂


Sometimes you have a set of DWFs that you would like to work with in Revit. For example, you might have DWFs of site equipment, fences and trucks that would be useful for site modelling in Revit. Here is one way to get those dwfs into a more Revit-friendly format…

Note: You need to have iConstruct with their Smart IFC Exporter for this workflow

Phase 1
Create a container NWD for DWF files, so that you can fix rotation and coordinates:

  1. Append DWFs
  2. Save as rotator.nwd
  3. Append to an NWF
  4. Adjust units, 90 degree rotation about 1-0-0 axis as per this link:
  5. Save as container.nwf

Phase 2
Steps to convert DWF to IFC with colours and object selectability:

  1. Open two Navisworks 2016 instances
  2. Open the rotator.nwd from above in one instance
  3. Append any DWFs you would like to convert
  4. Adjust their Units and Transform until they look right
  5. Save the rotator.nwd
  6. Open the container.nwf
  7. Refresh to reload the rotator if necessary
  8. Now, hide everything but ‘shell’ elements using a search like this:
  9. Save the search set for Item Type = Shell
  10. Set up an iConstruct IFC config…

    Type a Name
    Press Building button
    Expand to IfcBuildingElementProxy, userdefined
    Choose search set for Item Type = Shell from above


  11. Should look like this…

  12. Close config dialog
  13. Go to Smart IFC Export and choose the export config you just saved
  14. Fill out next dialog and press ok
  15. Choose target IFC location
  16. Wait for Navisworks to export the IFC

Phase 3 – into Revit
After IFC is created, open Revit. Ensure you have latest IFC updates installed, then open the the IFC. Wait for Revit to complete importing… For the most part, you should get a pretty good looking result. One exception is where the DWF had one ‘shell’ with multiple materials, like this:

In any case, now you have a bunch of ‘Revit elements’ (yes, I use the term loosely) that can be made into Model Groups. They aren’t in families, but you can make them into little rvts to load as links. I realise there are some limitations in this workflow, but in some cases there is no other way…

If you are interested in more to do with DWF conversions, check out these links:

What Revit Wants: How to Convert a DWF to Editable Format, or How to Export from Navisworks and Keep Modelling in BIM
What Revit Wants: Convert DWF to DWG using free tools

Future post: hope to see some Dynamo method to consume DWFs and create DirectShapes in Revit 🙂

If you want to edit Revit view filters, you may be frustrated by the fact that the view Filter Edit Dialog box is sorted ‘historically’ – most recently created at the end of the list:


While we can‘t ‘sort’ this list in Revit 2015, we can use the first (alphabetical) list to directly access a Filter by using the Edit button:

Yet another one of these little things where it helps if you know What Revit Wants…

It can be pretty hard to track what is visible in a big federated model, and even harder to figure out when something has been changed or updated. Until now…

Check this little node out:

This gets five pieces of information and writes each of them to a View instance parameter. Currently, it works in the context of the currently active view in Revit. The information acquired is as follows:

  • current date / time
  • worksets currently opened
  • RVT links that are visible in the view
  • the file sizes of those links
  • the date modified for those links

The ‘list items’ are converted to a string with line breaks. Then when it is referenced in a Label in a View Title family (on the far right of image above), it basically shows up as a list.

Future applications of this can easily include reading the link status from the view parameter (by converting the string back to a list), comparing it to current link status, and then immediately showing what models have been updated and need to be reloaded…

Ever wanted to bulk duplicate views from one level to another level? There are various addins and ways to do this, but it is also relatively simple in Dynamo:

  1. Get views using Dynamo definition, and
  2. Get view element IDs and send them to clipboard
  3. Close Dynamo
  4. Select by ID… Paste the IDs
  5. Copy (Ctrl + C)
  6. Paste – Aligned to Selected Level

Using some Bakery nodes, the Dynamo definition would look something like this:

Associated links:
RevitAPI: How to resize cropbox of view? – AEC DevBlog
Copying Views Selected in Projec… – Autodesk Community
2012 Filtering for all instances, of all types, of a particular family.

Copying Views
RevitCat: Copying Views Between Revit Projects