Checkout
|
Exception is thrown when too many elements are requested for checkout
System
Object
System Exception
Autodesk.Revit.Exceptions ApplicationException
Autodesk.Revit.Exceptions CentralModelException
Autodesk.Revit.Exceptions CheckoutElementsRequestTooLargeException
System Exception
Autodesk.Revit.Exceptions ApplicationException
Autodesk.Revit.Exceptions CentralModelException
Autodesk.Revit.Exceptions CheckoutElementsRequestTooLargeException
Namespace: Autodesk.Revit.Exceptions
Assembly: RevitAPI (in RevitAPI.dll) Version: 27.0.4.0 (27.0.4.0)
The CheckoutElementsRequestTooLargeException type exposes the following members.
| Name | Description | |
|---|---|---|
|
|
Data |
Gets a collection of key/value pairs that provide additional user-defined information about the exception.
(Inherited from Exception ) |
|
|
FunctionId |
The information of the function throwing the exception.
(Inherited from ApplicationException ) |
|
|
HelpLink |
Gets or sets a link to the help file associated with this exception.
(Inherited from Exception ) |
|
|
HResult |
Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.
(Inherited from Exception ) |
|
|
InnerException |
Gets the
Exception
instance that caused the current exception.
(Inherited from Exception ) |
|
|
Message |
Gets a message that describes the current exception.
(Inherited from Exception ) |
|
|
Source |
Gets or sets the name of the application or the object that causes the error.
(Inherited from Exception ) |
|
|
StackTrace |
Gets a string representation of the immediate frames on the call stack.
(Inherited from Exception ) |
|
|
TargetSite |
Gets the method that throws the current exception.
(Inherited from Exception ) |
| Name | Description | |
|---|---|---|
|
|
Equals |
Determines whether the specified object is equal to the current object.
(Inherited from Object ) |
|
|
GetBaseException |
When overridden in a derived class, returns the
Exception
that is the root cause of one or more subsequent exceptions.
(Inherited from Exception ) |
|
|
GetHashCode |
Serves as the default hash function.
(Inherited from Object ) |
|
|
GetObjectData |
Retrieves data needed to serialize the target object.
(Overrides CentralModelException GetObjectData(SerializationInfo, StreamingContext) ) |
|
|
GetType |
Gets the runtime type of the current instance.
(Inherited from Exception ) |
|
|
ToString |
Creates and returns a string representation of the current exception.
(Inherited from Exception ) |
C#
void HandleCheckoutElementsRequestTooLargeException(Document doc)
{
FilteredElementCollector collector = new FilteredElementCollector(doc);
ICollection<ElementId> rooms = collector.WherePasses(new RoomFilter()).ToElementIds();
try
{
ICollection<ElementId> checkoutelements = WorksharingUtils.CheckoutElements(doc, rooms);
}
catch (Autodesk.Revit.Exceptions.CheckoutElementsRequestTooLargeException)
{
IEnumerable<WorksetId> worksets = rooms.Select(elemId => doc.GetWorksetId(elemId)).Distinct();
TaskDialog dlg = new TaskDialog("Elements can't be checked out")
{
MainInstruction = $"You are trying to check out a large number of elements. Instead check out the following {worksets.Count()} worksets:",
MainContent = string.Join(", ", worksets),
};
dlg.Show();
TransactWithCentralOptions twcOptions = new TransactWithCentralOptions();
ISet<WorksetId> worksetsCheckedout = WorksharingUtils.CheckoutWorksets(doc, worksets.ToHashSet(), twcOptions);
TaskDialog.Show(
title: "Worksets are checked out",
mainInstruction: $"{worksetsCheckedout.Count} worksets are checked out.");
}
}