I remember back in the days, when it was my responsibility to make sure that models were in good shape at the end of the week. Each week, I would go into my model, create a set of Views, each named after the workset, and isolate only that workset’s contents in the view. That process allowed me to quickly inspect the contents of each workset, and move stuff around.
It mattered because, we had visibility filters setup by worksets, and our consultants would turn off certain worksets that they didn’t care about. So for example we would have a workset called “furniture”, and our Structural Engineering consultants, would kill that workset in all of their views. Problem was that if by accident a load bearing wall appeared on that workset, and was automatically made invisible in Structural models. The more annoying thing was when I had some diagrammatic Floor Plans, that I didn’t want to see furniture in, but, you know, Furniture was all over the worksets, and turning off that one “furniture” workset never worked. It was such a hassle.
Anyways, I wrote myself a plugin for Revit to quickly generate these views, and isolate each workset’s contents so that I can flick through them, and move stuff around if needed. Here’s a Dynamo version of that. It’s quite simple, but surprisingly required a hefty amount of custom nodes to create:
The above workflow is really simple. We first get all Worksets, and attempt to create a new 3D View from the Workset’s name. Once we have that, we go into each View, and turn on/off certain worksets. By turning on/off I mean changing their visibility settings like this:
So the goal, is to only set one Workset to “Show”, and all others to “Hide”. That’s what we do here:
The result is that we get a set of views matching our set of worksets like so:
As always, all of the custom nodes can be found on the Package Manager:
All download files for this post are available on my Patreon page. Please follow the link below.