As a follow-up to a recent post on Revit Selection, we’re taking a look at simpler, more user-friendly ways to navigate the Revit hierarchy.
The zoomable treemap above is referencing a representative file of the full Revit hierarchy (all elements with a category in this case). The first screen shows all of the categories in the file, and clicking on a designated area zooms into the following tier in accordance with the Revit hierarchy (category, family, type, instance). The vertical toolbar on the right displays parameter data as well as preview images for applicable Revit types, while the circular buttons sort data based on instances, families and parameter count.
This is a demonstrative tool, allowing the user to explore the hierarchy and gain a better understanding of its construction. To create generic hierarchical data, a Python script in Dynamo creates the content in the .json format below:
This data is then referenced in the browser, using D3.js to create the interface. Treemaps are pretty popular these days when it comes to data visualization, and with the help of the D3.js library, we can explore a wide range of options like these for web-based interaction.
So while this is a Revit experiment for us, the design can be applied to any hierarchical data set with the same format. For example, check out this zoomable treemap for the D3.js API, the file we referenced for the Revit interface above.
We plan on making this interface available for all Revit projects with the release of some custom Dynamo nodes. Short term goals here are to explore more opportunities for visualization and interaction with AEC data sets. Long term goals include taming the Revit beast and making it more approachable to all of us.