Skip to content

WorksharingDisplaySettings.RemoveUsers

Public Class

Removes users from the list of displayed users and permanently discards any customization of the graphics. Note that a user cannot be removed if he or she owns any elements.

Namespace: Autodesk.Revit.DB

Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

Syntax

public void RemoveUsers(
Document document,
ICollection<string> usersToRemove,
out ICollection<string> usersActuallyRemoved
)

Parameters

document Document

The document containing this.

usersToRemoveICollection.String.

The usernames of the users to remove.

usersActuallyRemovedICollection.String..

The users that were successfully removed. Note that you cannot remove users who currently own any elements.

Exceptions

Exception

Condition


ArgumentNullException

A non-optional argument was null


Remarks

Note that default graphic overrides will be applied to any elements owned by these users if they take ownership of any elements or worksets while they are removed. Note also that the list of removed users will be shared by all users of the central model and will remove all customizations by all users.

Example

public void RemoveAndRestoreUsers(Document doc)
{
// get or create a WorksharingDisplaySettings current active document
WorksharingDisplaySettings displaySettings = WorksharingDisplaySettings.GetOrCreateWorksharingDisplaySettings(doc);
// get all users with GraphicOverrides
ICollection<String> users = displaySettings.GetAllUsersWithGraphicOverrides();
// remove the users from the display settings (they will not have graphic overrides anymore)
ICollection<String> outUserList;
displaySettings.RemoveUsers(doc, users, out outUserList);
// show the current list of removed users
ICollection<String> removedUsers = displaySettings.GetRemovedUsers();
String message = "Current list of removed users: ";
if (removedUsers.Count > 0 )
{
foreach (String user in removedUsers)
{
message += "\n" + user;
}
}
else
{
message = "[Empty]";
}
TaskDialog.Show("Users Removed", message);
// restore the previously removed users
int number = displaySettings.RestoreUsers(outUserList);
// again, show the current list of removed users
// it should not contain the users that were restored
removedUsers = displaySettings.GetRemovedUsers();
message = "Current list of removed users: ";
if (removedUsers.Count > 0 )
{
foreach (String user in removedUsers)
{
message += "\n" + user;
}
}
else
{
message = "[Empty]";
}
TaskDialog.Show("Removed Users Restored", message);
}