List of worksets

Is there a way other than using the Archilab node to get a list of all the available worksets on a project?

In DS, only for user created Worksets though. Does this help?
image

4 Likes

There are options, but all of them involve code (design script or python) or packages (Archilab, Clockwork, Bakery…).

6 Likes

Is it possible to get a list of worksets for a project that is not open?

Hi,

Yes, it is possible, but you must open the revit file in the background.

4 Likes

@Ewan_Opie When you say USER CREATED WORKSET, what does this not include?

Revit contains different kinds of Worksets.

  1. User Created
  2. Families
  3. Project Standards
  4. Views

(e.g. Views exists to allow users to own specific views and their content for editing)

User-Created are the only ones which can be created/renamed by the users.

image

To collect all worksets (including non-usercreated ones), you can use this Python code.:slightly_smiling_face:

import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
import Autodesk

clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager

doc = DocumentManager.Instance.CurrentDBDocument

collector = FilteredWorksetCollector(doc)
worksetnames = []
for c in collector:
	worksetnames.append(c.Name)
OUT = collector, worksetnames

image

5 Likes

Thanks! I never realized a view was a workset!

Not so much that it is a workset, but has one. The big reason for this is so that both the view related elements (crop regions, tags, etc) and the detail items drawn in said view can have a means of worksharing.

This can be useful to know: say you’re looking for the view which a detail item was drawn in - check the workset.

1 Like

Hey Jacob,

Can you elaborate on what you mean by “travels with your graph”? I think I know, but I’m not 100% sure. I have a script that creates a bunch of worksets, and I want to assign elements to them. I’m finding that if I use something like the “GetAllWorksets” node, it gets the list before I create the new ones. I can’t figure out how I can get the list of worksets after I create the new ones, so I can assign elements (in this case, Revit links) to those new worksets.

Thanks,
Scott

I would, but I can’t see where I said it so I don’t know the context. Can you post a direct link?

Sure: List of worksets - Dynamo (dynamobim.com)

Went back to the post of yours I replied to… :-/

I think it may have been in reference to the data not necessarily being added to the canvas in the order you would think, unless we specifically control it.

To solve your problem you have options:

  1. Use a different node with some type of input.
  2. Use two graphs instead of one.
  3. Use a different workflow (Worksets really should be created before any elements exist).

Hi All,

I got to know how to get all worksets in a model from below.
Revit Dynamo - Get All Worksets in A Model

Hope this is helpful