Skip to content

Selection.PickElementsByRectangle(String)

Public Class

Prompts the user to select multiple elements by drawing a rectangle while showing a custom status prompt string.

Namespace: Autodesk.Revit.UI.Selection

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

Syntax

public IList<Element> PickElementsByRectangle(
string statusPrompt
)

Parameters

statusPromptString

The message shown on the status bar.

Return Value

IList. Element.

A collection of elements selected by the user.

Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance.

Exceptions

Exception

Condition


ArgumentNullException

Thrown when the statusPrompt is ..


OperationCanceledException

Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.


ForbiddenForDynamicUpdateException

Thrown if this method is called during dynamic update.


Remarks

Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.

The selection will not be automatically added to the active selection buffer.

Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.

Example

// Use the rectangle picking tool to identify model elements to select.
IList<Element> pickedElements = uidoc.Selection.PickElementsByRectangle("Select by rectangle");
if (pickedElements.Count > 0)
{
// Collect Ids of all picked elements
IList<ElementId> idsToSelect = new List<ElementId>(pickedElements.Count);
foreach (Element element in pickedElements)
{
idsToSelect.Add(element.Id);
}
// Update the current selection
uidoc.Selection.SetElementIds(idsToSelect);
TaskDialog.Show("Revit", string.Format("{0} elements added to Selection.", idsToSelect.Count));
}