When working with a large project, you may often close all or most Worksets for performance reasons.
Did you know that objects still show in Schedules when the Workset is closed? And even if the Visible in all views checkbox is unticked?
Additionally, the Schedules dialog does not give us an easy method to filter by Workset. Sometimes this results in some weird workarounds like using Dynamo to copy the Workset name to a parameter in each element (yes, I have seen this on real projects).
But what happens if we try Highlight in Model now, with these elements on closed worksets?
Interestingly, Revit will immediately and transparently open the Workset that the object resides on. This happens even if Revit can’t find the object in a view (such as because the Workset is set to be invisible in all views). You will not be warned or asked about this ‘open Workset’ action.
This automatic action does not create an entry in the Undo list, and therefore you must manually open the Worksets dialog and close the Workset yourself.
I’ll leave it up to you to decide if this is desired functionality or not? But it is definitely something to be aware of when working with Revit Schedules, Closed Worksets, and the Highlight in Model button.
In Revit, each Link is bound to both a Type and an Instance. So you can have one Link ‘Type’ – relating to a single RVT file that is linked into the project. But it can be placed multiple times in the project, thus having multiple instances. In workshared projects, the Type and the Instance can belong to different Worksets.
Did you know you can use Linked Views to display two identical copies of the same linked model in different ways?
To add control, you should create 3 worksets – 1 for the Type, and 1 for each Instance, as shown below:
Then, set up two different Linked Views in that linked model. In this particular case, I want to use a model converted from ArchiCAD to a single Revit file. But I want to be able to separately load and display the Site objects, and the Building objects. So I have an Link Instance for each, and linked views for each. The whole rig can be seen in the image below.
Using the worksets, I can separately Load / Unload each Instance (closing a Workset unloads any Link instances on that Workset from memory). And using the Linked Views and Overrides for the Instance, I can display each instance as I like. I can also load both instances and show both in a ‘combined’ view.
Final note: Link Instances can be located in different positions in the Host model, and they can have different Shared Coordinates. Using the methods above, you have a lot of flexibility to be able to use a single linked Revit model in many different ways…
There is no immediately easy way to override the colour of an entire Revit Link. Of course, you can set up a View Template and override all of the individual subcategories, but that can get time consuming when working with many links…
Worksharing Display Mode gives us a quick way of visualising Worksets. What if we put each Revit Link on its own Workset? Then if we set Worksharing Display Mode to Worksets, these Links are overridden with the Workset colours selected in the dialog:
Unfortunately, the Worksharing Display Mode setting is a temporary override (notice the border around the view?), and it will be switched off when we close and open the file. However, the colour choices will be retained. Is there a way we can quickly ‘turn on’ the Worksharing Display Mode for all views in the document? Perhaps this could be done just prior to printing, or at the start of an editing session?
Enter… you guessed it… Dynamo.
I made a node to Enumerate Worksharing Display Modes available, and another one to Set Worksharing Display Mode for View. Finally, I adapted the archi-lab Get All Views node into a List All Views node. Now, we can set them in one click:
And a Screencast:
Each time you print, you will be prompted to “Leave the mode on and print…“, but the colour override will print fine 🙂
Update: Colours will transfer using Transfer Project Standards, as per: Transfer Project Standards
If you populate a project with the desired worksets, usernames, and colors you can automatically transfer most of this data over to another project. Under Manage > Transfer Project Standards, there is a new option for Worksharing Display Settings.
Keep in mind this will not transfer over workset names from one project to another.
It will however transfer over workset colors, should the same name workset appear in both projects.
It is pretty difficult to change the Workset of Pipe Insulation. The Properties Palette allows you to change them one at a time (but not multiple), while the method I posted about previously can change multiple Pipe Insulations to a different Workset, but it didn’t have a nice filtering mechanism.
Enter Dynamo… I made a custom node that takes a list of Pipe Insulations and gives you the Host Pipe element:
Then, I packaged this up in another node that collects all Pipe Insulations, checks their Workset, finds their Host Pipe, and then saves those Pipes to a SelectionSet:
So, if you have Pipe Insulations on the wrong workset: 1. Install Bakery package in Dynamo 2. Run definition as in image above 3. Close Dynamo 4. Load the Saved Selection 5. Group these Pipes (which groups the Insulations too) 6. Change workset (it will have already adopted the current workset) 7. Ungroup 8. Done
Thanks to Konrad and Andreas for archi-lab and Clockwork packages respectively. I get a few comments about my Bakery package having a lot of dependencies, but I like the fact that I just need to install Bakery and I get archi-lab, Clockwork, Lunchbox etc. Its like a rough and ready deployment solution…
Oh, one more thing. You may notice in recent versions (like 0.8.2 RC) that there is now some custom path management for Dynamo resources:
Insulation in Revit can be incredibly difficult to work with. It can be difficult to select the insulation individually, but you can select them by using a specific schedule (ie. Pipe Insulation Schedule) and then using the Highlight in Model ribbon button. However, once selected, you still can’t change the Workset (it is grayed out). And it seems that the Workset is set by whatever Workset was current when the Pipe Insulation was created (this issue seems to affect upgraded models, but it may occur in other situations). Some people have ‘solved’ this by going through and removing and then remaking all of the Insulation! But that is not What Revit Wants, not by a long way…
So, you might think “we can Group them and then change the Workset“. Also not possible – you can’t group Pipe Insulation without selecting its host Pipe. But guess what? When you select a host pipe and Group it, it will automatically add the insulation to the group too…
See where we are heading? If we want to change all Pipes and Pipe Insulations to one specific Workset, let’s do it this way:
Make a Pipe Schedule
Select all Pipes with Highlight in Model
Group them (takes a while on 10000+ items). Now we have a massive group, let’s…
Change the Workset of the Group
Finally, Ungroup the massive group. Done! (Note: you will observe that the members of the group include Pipe Insulation, even though you didn’t explicitly add them)
Warning: be wary of the impact of grouping and ungrouping items in your particular project model. In most cases, it shouldn’t hurt too many things, but it would be advisable to test this process on a smaller set of your sample data first.
Slightly related tip – You can use Multicategory Schedules to Select Objects on Certain Categories Let’s make a Multicategory Schedule, and then filter it to show only Pipes and Pipe Insulation (using some ‘greater than’ and ‘does not equal’ filters). Then, Select them all with Highlight in Model.
dp Stuff have updated their very cool Revit addins to work with Revit 2015, and happily I have three prizes to giveaway:
Free Revit Utils 2015 and Randomizer 2015 pack
Half-price Revit Utils 2015 and Randomizer 2015 pack
25% off Revit Utils 2015 and Randomizer 2015 pack
To enter the competition, scroll down to the Comments on this post and write your response to this question (don’t worry if your entry doesn’t appear straight away, it will 🙂 …
Name one challenge you have faced while using Revit. How did you overcome it?
The deadline for this competition is Tuesday 10 March 2015. After this date, I will review the comments and then give the prizes to the entries that I think are the most original, thought-provoking, outside-of-the-box and interesting 🙂 Results will be announced in a comment on 11 March, and I will reply to the winners individually.
When working with multiple linked files, you can utilize the ability of Revit to close Worksets in Linked Files, and in some cases this is a good visibility shortcut. Along these lines Simon over at BIM42 has written “a few line of code for set up every Scope Box, and Reference plane to the correct workset…”