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 🙂
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.
Each category has a Show Color column with a checkbox; these are project specific and do not transfer.
Revit 2012 Worksharing Display Modes and Transfer Project Standards – The Revit Clinic
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)
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:
With this free addin, you can view a graphical representation or summary of all the elements in your Revit model, based on various different filters. You can then also export a CSV of that data.
We can use this for workset validation, like “are any elements are on the wrong workset?”
- Start Jolsoft ModelSTAT
- Click Elements – Workset
- The resulting graph will show you how many elements on each workset
- Click Export – CSV
- Open the CSV
- You will see a list of workset names, along with a count of how many items exist on each workset
Now, if you actually want to do more specific model interrogation, like finding those elements on the wrong workset, you can use one of these methods:
- My Copy Workset Name to Target Parameter node in Bakery Dynamo package. Copy Workset name to a target parameter and then view it in a Revit Schedule
- Use Kiwicodes Bonus Tools, 3d Views for Worksets tool. If you double click on a workset row, it will show a list of elements on that workset
- Make your own Dynamo node to get the answer you want
Download modelSTAT at:
ModelSTAT | Autodesk Revit | Autodesk Exchange Apps
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.
I have posted about Dima Chiriacov’s dp Stuff addins several times over the years, including this random tree generator post and this one about his Workset Explorer (which is now included in the “Revit Utils” pack).
Here are the links to the updated 2015 dp Stuff addins:
Revit Utils 2015
Revit 2015 Addins Update – Revit Utils 2015 – dp Stuff
It is very easy to buy from the site, just
- Add to Cart,
- Apply any discount codes
- Fill out your details
- Accept the terms
- Proceed to download
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…”
See the code at:
Managing linked worksets | BIM 42
Try changing the Worksharing Update Frequency setting:
(this will only help if you are using workshared projects)
Help: Controlling Worksharing Display Update Frequency
Non-recent comment from Kyle (Autodesk staffer):
Recognizing that Worksets alone were not flexible enough to facilitate productive collaboration in many cases, we implemented Element Borrowing. This enabled the transparent borrowing of elements when a user operation required them to be editable, without the need to explicitly “check out” of the entire Workset that contained them.
So Element Borrowing is really the implementation of Worksharing in modern Revit. Worksets were never deprecated, since many existing users at the time still used them for their original purpose. Even today, we see the pre-Element Borrowing understanding of Worksets discussed and implemented in the market. Ultimately, that’s our fault for not communicating as effectively as possible with the Revit community.
Check out the whole thread:
Some thoughts on Revit Worksets and Worksharing | LinkedIn
A new Revit addin from Dima over at dp stuff can do that – it looks like this:
The tool is pretty straightforward, so I will try to describe just in a few words how it works (the demo video in the beginning of the post shows it as well).
– assuming you already installed the WorksetExplorer, run the tool from dpStuff Utils in Add-on tab.
– the dialog box will open and in the “tree” your elements will be sorted by workset, then by category, then by family, then by type.
– every “branch” will have a name and the amount of elements on it in parentheses.
– once you see something that shouldn’t be on a particular workset then you can select the branch and click “Select Elements” button – that will add elements that belong to this branch to selection.
– now you can send them to the workset they are supposed to be on.
– repeat until all worksets are in good shape.
You can download the WorksetExplorer add-on from our download page or directly from this link.
dp Stuff: WorksetExplorer Revit Add In – What’s On Your Worksets?
Until Revit comes up with some kind of advanced and granular permissions management for workshared files, we are left with a situation that requires best-practice Revit use combined with 100% obedient staff. If you would like to take matters into your own hands in the meantime, you can use this somewhat scary hack to check out worksets using a concealed user name. As with many posts on What Revit Wants – use at your own risk!
- Copy the username into Microsoft Word and change it to a different font in this example the font called AIGDT. (which is just associate symbols to letters).
- Copy the username (AIGDT font) back into Revit and as you can see Revit just shows it as bullets.
- Worksets checked out to that user will appear to others like this:
Image and idea by Navid at:
Locking WorkSet with a hidden user name!