© 2010 Autodesk
Introduction to Revit 2011 API
User Selection
Snap Types
§Ability to define snap types for selection
§
§
§
§
§
§
§
§Ability to set the active workplane
§View.SketchPlane()
§
§
§
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);
}
With this API, we also have the ability to define the snap settings (or types) during selection. PickPoint() method also has 2 overloads with ObjectSnapTypes parameter which is used to specify the snap types used for selection.

We can also set the active work-plane with the View.SketchPlane() so that we have control on the point that we having the user select, thus, enhancing the UI experience using the API.