Exception is thrown when too many elements are requested for checkout
Namespace: Autodesk.Revit.Exceptions
Assembly: RevitAPI (in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
Since: 2021
Syntax
C# |
---|
|
Visual Basic |
---|
|
Visual C++ |
---|
|
Examples

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.");
}
}
Inheritance Hierarchy
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