Sets the worksharing display mode for this view.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.3.0.0 (25.3.0.0)
Syntax
C#
public void SetWorksharingDisplayMode( WorksharingDisplayMode displayMode )
Parameters
- displayMode WorksharingDisplayMode
- The desired display mode. "Off" will turn off all worksharing display modes.
Exceptions
Exception | Condition |
---|---|
ArgumentException | This View does not support the requested worksharing display mode. |
ArgumentOutOfRangeException | A value passed for an enumeration argument is not a member of that enumeration |
Remarks
Turning on a worksharing display mode will disable other temporary view modes such as reveal hidden elements and temporary hide/isolate.Example
C#
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { View activeView = commandData.View; Document doc = activeView.Document; // Prepare settings Color red = new Color(0xFF, 0x00, 0x00); WorksharingDisplayGraphicSettings settingsToApply = new WorksharingDisplayGraphicSettings(true, red); // Toggle mode based on the current mode using (Transaction t = new Transaction(doc, "Toggle display mode")) { t.Start(); WorksharingDisplaySettings settings = WorksharingDisplaySettings.GetOrCreateWorksharingDisplaySettings(doc); switch (activeView.GetWorksharingDisplayMode()) { case WorksharingDisplayMode.Off: activeView.SetWorksharingDisplayMode(WorksharingDisplayMode.CheckoutStatus); settings.SetGraphicOverrides(CheckoutStatus.OwnedByOtherUser, settingsToApply); break; case WorksharingDisplayMode.CheckoutStatus: activeView.SetWorksharingDisplayMode(WorksharingDisplayMode.ModelUpdates); settings.SetGraphicOverrides(ModelUpdatesStatus.UpdatedInCentral, settingsToApply); break; case WorksharingDisplayMode.ModelUpdates: activeView.SetWorksharingDisplayMode(WorksharingDisplayMode.Owners); settings.SetGraphicOverrides("Target user", settingsToApply); break; case WorksharingDisplayMode.Owners: activeView.SetWorksharingDisplayMode(WorksharingDisplayMode.Worksets); settings.SetGraphicOverrides(doc.GetWorksetTable().GetActiveWorksetId(), settingsToApply); break; case WorksharingDisplayMode.Worksets: activeView.SetWorksharingDisplayMode(WorksharingDisplayMode.Off); break; } t.Commit(); } return Result.Succeeded; }
VB
Public Function Execute(commandData As ExternalCommandData, ByRef message As String, elements As ElementSet) As Result Implements IExternalCommand.Execute Dim activeView As View = commandData.View Dim doc As Document = activeView.Document ' Prepare settings Dim red As New Color(&HFF, &H0, &H0) Dim settingsToApply As New WorksharingDisplayGraphicSettings(True, red) ' Toggle mode based on the current mode Using t As New Transaction(doc, "Toggle display mode") t.Start() Dim settings As WorksharingDisplaySettings = WorksharingDisplaySettings.GetOrCreateWorksharingDisplaySettings(doc) Select Case activeView.GetWorksharingDisplayMode() Case WorksharingDisplayMode.Off activeView.SetWorksharingDisplayMode(WorksharingDisplayMode.CheckoutStatus) settings.SetGraphicOverrides(CheckoutStatus.OwnedByOtherUser, settingsToApply) Exit Select Case WorksharingDisplayMode.CheckoutStatus activeView.SetWorksharingDisplayMode(WorksharingDisplayMode.ModelUpdates) settings.SetGraphicOverrides(ModelUpdatesStatus.UpdatedInCentral, settingsToApply) Exit Select Case WorksharingDisplayMode.ModelUpdates activeView.SetWorksharingDisplayMode(WorksharingDisplayMode.Owners) settings.SetGraphicOverrides("Target user", settingsToApply) Exit Select Case WorksharingDisplayMode.Owners activeView.SetWorksharingDisplayMode(WorksharingDisplayMode.Worksets) settings.SetGraphicOverrides(doc.GetWorksetTable().GetActiveWorksetId(), settingsToApply) Exit Select Case WorksharingDisplayMode.Worksets activeView.SetWorksharingDisplayMode(WorksharingDisplayMode.Off) Exit Select End Select t.Commit() End Using Return Result.Succeeded End Function