View.SetWorksharingDisplayMode
Public Class
ArgumentException
ArgumentOutOfRangeException
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)
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
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;}