Creates a new workset.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.3.0.0 (25.3.0.0)
Syntax
C#
public static Workset Create( Document document, string name )
Parameters
- document Document
- The document in which the new instance is created.
- name String
- The workset name.
Return Value
WorksetReturns the newly created workset.
Exceptions
Exception | Condition |
---|---|
ArgumentException | document is not a workshared document. -or- name is an empty string or contains only whitespace. -or- name cannot include prohibited characters, such as "{, }, [, ], |, ;, less-than sign, greater-than sign, ?, `, ~". -or- The given workset name is already in use. |
ArgumentNullException | A non-optional argument was null |
ModificationForbiddenException | The document is in failure mode: an operation has failed, and Revit requires the user to either cancel the operation or fix the problem (usually by deleting certain elements). -or- The document is being loaded, or is in the midst of another sensitive process. |
ModificationOutsideTransactionException | The document has no open transaction. |
Example
C#
public Workset CreateWorkset(Document document) { Workset newWorkset = null; // Worksets can only be created in a document with worksharing enabled if (document.IsWorkshared) { string worksetName = "New Workset"; // Workset name must not be in use by another workset if (WorksetTable.IsWorksetNameUnique(document, worksetName)) { using (Transaction worksetTransaction = new Transaction(document, "Set preview view id")) { worksetTransaction.Start(); newWorkset = Workset.Create(document, worksetName); worksetTransaction.Commit(); } } } return newWorkset; }
VB
Public Function CreateWorkset(document As Document) As Workset Dim newWorkset As Workset = Nothing ' Worksets can only be created in a document with worksharing enabled If document.IsWorkshared Then Dim worksetName As String = "New Workset" ' Workset name must not be in use by another workset If WorksetTable.IsWorksetNameUnique(document, worksetName) Then Using worksetTransaction As New Transaction(document, "Set preview view id") worksetTransaction.Start() newWorkset = Workset.Create(document, worksetName) worksetTransaction.Commit() End Using End If End If Return newWorkset End Function