Revit 2025 API
ViewSet |
Sets the worksharing display mode for this view.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public void SetWorksharingDisplayMode( WorksharingDisplayMode displayMode )
Public Sub SetWorksharingDisplayMode ( displayMode As WorksharingDisplayMode )
public: void SetWorksharingDisplayMode( WorksharingDisplayMode displayMode )
member SetWorksharingDisplayMode : displayMode : WorksharingDisplayMode -> unit
Parameters
- displayMode WorksharingDisplayMode
- The desired display mode. "Off" will turn off all worksharing display modes.
| 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 |
Turning on a worksharing display mode will disable other temporary view modes such as
reveal hidden elements and temporary hide/isolate.
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; }
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
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
See Also