Revit 2025 API
SelectionPick |
Prompts the user to pick a point on the active work plane using specified snap settings 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 XYZ PickPoint( ObjectSnapTypes snapSettings, string statusPrompt )
Public Function PickPoint ( snapSettings As ObjectSnapTypes, statusPrompt As String ) As XYZ
public: XYZ^ PickPoint( ObjectSnapTypes snapSettings, String^ statusPrompt )
member PickPoint : snapSettings : ObjectSnapTypes * statusPrompt : string -> XYZ
Parameters
- snapSettings ObjectSnapTypes
- Specifies the object snap types for this pick. Multiple object snap types can be combined with "|"
- statusPrompt String
- Specifies the message shown on the status bar.
Return Value
XYZThe point picked by user.
Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance.

Exception | Condition |
---|---|
ArgumentNullException | Thrown when the argument statusPrompt is . |
InvalidOperationException | Thrown when no work plane set in current view. |
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. |

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.
Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.

public void PickPoint(UIDocument uidoc) { ObjectSnapTypes snapTypes = ObjectSnapTypes.Endpoints | ObjectSnapTypes.Intersections; XYZ point = uidoc.Selection.PickPoint(snapTypes, "Select an end point or intersection"); string strCoords = "Selected point is " + point.ToString(); TaskDialog.Show("Revit", strCoords); }
Public Sub PickPoint(uidoc As UIDocument) Dim snapTypes As ObjectSnapTypes = ObjectSnapTypes.Endpoints Or ObjectSnapTypes.Intersections Dim point As XYZ = uidoc.Selection.PickPoint(snapTypes, "Select an end point or intersection") Dim strCoords As String = "Selected point is " & point.ToString() TaskDialog.Show("Revit", strCoords) End Sub
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
See Also