Saturday, March 9, 2013

An Epic Thread on Revit Worksets and Worksharing

63 comments on this Linked in thread may be to much to digest on a weekend but worth a look .

Some thoughts on Revit Worksets and Worksharing

The different thoughts of respected and experienced users on this subject may be an eye-opener for some.

If not only for this read the comment by Kyle Bernhard, he is the Product Line Manager, Building Design Suite for Autodesk. A good Insight form the Factories and the past of this feature .

here his reply.

1. The Role of Worksets in Modern Revit

In order to understand how Worksets fit into Revit today, you need to understand how they got there in the first place.
Worksets were our our first foray into the realm of true Worksharing in Revit (one model, multiple users). Initially, you had to make a whole Workset editable to make any changes, effectively locking out the rest of the team from making any changes to those elements. The Visibility control functionality for Worksets was implemented as means to help identify what Elements were on what Workset.
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.
With their original use usurped by Element Borrowing, Worksets today are mainly a means to apply an additional Classification of Elements in the model. There are certainly lower-frequency use cases where they are still used as originally designed, but that is the exception rather than the rule.
So, it's not the least bit surprising to see all sorts of different uses for them out in the market, given Revit's horizontal nature these days, and the needs to classify thing on a model.

2. Worksets, Visibility, and Memory

Turning off the visibility of a Workset in a View does not unload it from memory. It's the same thing as toggling a Category in a View -> Those hidden Elements, and their 3D faces visible in the current View Extents, aren't parsed by the graphics system, resulting in View loading and manipulation improvements.

3. Worksets and Memory

Revit loads all elements in a model into memory at load, at least in a serialized form, regardless of whether their Workset is loaded. We do this because we need to know their relationships to other Elements during Model Regeneration, in case they need to be updated as a result of a change in other model Elements. If such a circumstance occurs, they get fully "parsed" into memory and modified as the change propagates. The only way to completely unload Elements, as astutely pointed out earlier in the thread, is to place them in a linked model and unload that model.
Unloading a Workset effectively ensures that the Elements it contains are never fully loaded into Memory, unless Model Regeneration requires them to do so. It's kind of like a master switch next to the toggles we have for visibility in each individual View in the model.

4. The Future of Worksets

I really can't publicly go into any significant detail on where we are headed with Worksets - or Worksharing, visibility control, scheduling control, and the many other uses they have today - but I can say that we consider this a critical piece of Revit functionality, and one that's not fundamentally flawed in a significant way. Yes, as many have articulated, there are areas for improvement, and those improvements are part of the many areas we consider as we chart the future path of the product.

No comments:

Post a Comment