SetOpenWorksetsConfiguration Method


Sets the object used to configure the worksets to open when the model is opened.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
Since: 2014

Syntax

C#
public void SetOpenWorksetsConfiguration(
	WorksetConfiguration openConfiguration
)
Visual Basic
Public Sub SetOpenWorksetsConfiguration ( _
	openConfiguration As WorksetConfiguration _
)
Visual C++
public:
void SetOpenWorksetsConfiguration(
	WorksetConfiguration^ openConfiguration
)

Parameters

openConfiguration
Type: Autodesk.Revit.DB WorksetConfiguration
The options. If a null reference ( Nothing in Visual Basic) , all user-created worksets will be opened.

Remarks

These options are ignored for non-workshared models.

Examples

Copy C#
Document OpenDocumentWithWorksets(Application app, ModelPath projectPath)
{
    Document doc = null;
    try
    {
        // Get info on all the user worksets in the project prior to opening
        IList<WorksetPreview> worksets = WorksharingUtils.GetUserWorksetInfo(projectPath);
        IList<WorksetId> worksetIds = new List<WorksetId>();
        // Find two predetermined worksets
        foreach (WorksetPreview worksetPrev in worksets)
        {
            if (worksetPrev.Name.CompareTo("Workset1") == 0 ||
                worksetPrev.Name.CompareTo("Workset2") == 0)
            {
                worksetIds.Add(worksetPrev.Id);
            }
        }

        OpenOptions openOptions = new OpenOptions();
        // Setup config to close all worksets by default
        WorksetConfiguration openConfig = new WorksetConfiguration(WorksetConfigurationOption.CloseAllWorksets);
        // Set list of worksets for opening 
        openConfig.Open(worksetIds);
        openOptions.SetOpenWorksetsConfiguration(openConfig);
        doc = app.OpenDocumentFile(projectPath, openOptions);
    }
    catch (Exception e)
    {
        TaskDialog.Show("Open File Failed", e.Message);
    }

    return doc;
}
Copy VB.NET
Private Function OpenDocumentWithWorksets(app As Application, projectPath As ModelPath) As Document
    Dim doc As Document = Nothing
    Try
        ' Get info on all the user worksets in the project prior to opening
        Dim worksets As IList(Of WorksetPreview) = WorksharingUtils.GetUserWorksetInfo(projectPath)
        Dim worksetIds As IList(Of WorksetId) = New List(Of WorksetId)()
        ' Find two predetermined worksets
        For Each worksetPrev As WorksetPreview In worksets
            If worksetPrev.Name.CompareTo("Workset1") = 0 OrElse worksetPrev.Name.CompareTo("Workset2") = 0 Then
                worksetIds.Add(worksetPrev.Id)
            End If
        Next

        Dim openOptions As New OpenOptions()
        ' Setup config to close all worksets by default
        Dim openConfig As New WorksetConfiguration(WorksetConfigurationOption.CloseAllWorksets)
        ' Set list of worksets for opening 
        openConfig.Open(worksetIds)
        openOptions.SetOpenWorksetsConfiguration(openConfig)
        doc = app.OpenDocumentFile(projectPath, openOptions)
    Catch e As Exception
        TaskDialog.Show("Open File Failed", e.Message)
    End Try

    Return doc
End Function

See Also

ArchiLabs

Stop fighting Revit automation.

Build repeatable BIM design and documentation workflows with scripts, data, and AI in one place, without wrestling brittle one-off automations.

Try ArchiLabs →