Extract revision cloud data from Revit using Dynamo and Python.
OOTB Revit Revision Schedule Limitations
Revit can schedule the following revision parameters in a title block family. However, instance parameters (Mark and Comments), sheet numbers, and sheet names are not supported out-of-the-box.
Expanding on OOTB Functionality
Dynamo and Python can expand on OOTB functionality to generate an itemized list of revisions including previously unavailable instance parameters, sheet numbers, and sheet names. The definition and code in this post will extract the following.
Mark (For example, RFI 001) [Instance Parameter]
Comments [Instance Parameter]
Dynamo Definition: Part 1
Part 1 of the definition collects all revision clouds and sheets within the active document and sends that information to a Python node.
The Python code filters through sheets and views-on-sheets, looking for revision clouds. It collects the revision cloud element, associated sheet, and referencing view.
Notes on the Python code:
Element collection was optimized to run as fast as possible using .OfCategory(). On a large benchmark project (1400+ revision clouds), the process currently takes around 4 minutes to complete.
Revisions on Sheets and Revisions in Views on Sheets can be enabled separately on IN and IN. Consider having your team place all revisions on sheets and turn off Revisions in Views on Sheets to increase speed.
The code above was designed to collect only visible revisions. If the revision cloud is not visible on the sheet (printed set), it will not be collected.
The Sheet Issues/Revisions dialog in Revit can pre-filter your output by revision sequence (delta). Sequences set to Cloud and Tag or Tag will export. Sequences set to None are not visible and will not export.
Dynamo Definition: Part 2
Part 2 of the definition extracts the relevant parameter values, builds an itemized list, sorts the list, and writes it to Excel.
Simple, efficient output of Revit revision cloud data.
The Dynamo graph writes directly to the Revision Data tab in Excel. Using a Pivot Table, the raw data is converted to a user friendly format.
Post updated to reflect Version 0.6 on 25 Feb 2016.
Update: 05 Mar 2020
I’m often asked if it would be possible to utilize .OwnerViewId to pull sheet information directly from revision clouds. While this appears to work at the surface level, we will run into issues with Legends and Dependent Views. If your project utilizes revision clouds in views, the longer element collection route described above still makes the most sense. .OwnerViewId is, however, a viable solution if you are certain your project only has revisions on sheets.
On large projects with heavy geometry, it is possible to run into long sheet generation times. In those instances, temporarily unloading User-Created worksets will significantly reduce run time. (Revision clouds are automatically placed on a view workset separate from user-created geometry.)
/AK at 22:12 UTC
Are you looking for a way to send support in return for a positive outcome? Thank you! Visit /support to learn more.