Selects an object passing through a given point and places it into a selection set.
Supported platforms: Windows only
VBA:
object.SelectAtPoint Point, FilterType, FilterData
Type: SelectionSet
The object this method applies to.
Access: Input-only
Type: Variant (three-element array of doubles)
The 3D UCS coordinates specifying the point to use for the selection.
Access: Input-only; optional
Type: Variant
A DXF group code specifying the type of filter to use.
Access: Input-only; optional
Type: Variant
The value to filter on.
No return value.
This method supports the filtering mechanism.
The PICKBOX system variable affects object selection.
For more selection mode options, see the Select, SelectByPolygon, and SelectOnScreen methods.
VBA:
Sub Example_SelectAtPoint() ' This example adds objects to a selection set by identifying a point. ' At first all objects at the point are added to the selection set. Then ' only circle objects at the point are added to the selection set. ' Create the selection set Dim ssetObj As AcadSelectionSet Set ssetObj = ThisDrawing.SelectionSets.Add("TEST_SSET1") ' Add to the selection set all the objects that lie at point(6.8,9.4,0) Dim point(0 To 2) As Double point(0) = 6.8: point(1) = 9.4: point(2) = 0 ssetObj.SelectAtPoint point ' Add to the selection set all the Circles that lie at point (6.8,9.4,0) Dim gpCode(0) As Integer Dim dataValue(0) As Variant gpCode(0) = 0 dataValue(0) = "Circle" Dim groupCode As Variant, dataCode As Variant groupCode = gpCode dataCode = dataValue ssetObj.SelectAtPoint point, groupCode, dataCode End Sub
Visual LISP:
(vl-load-com) (defun c:Example_SelectAtPoint() ;; This example adds objects to a selection set by identifying a point. ;; At first all objects at the point are added to the selection set. Then ;; only circle objects at the point are added to the selection set. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Create the selection set (setq ssetObj (vla-Add (vla-get-SelectionSets doc) "TEST_SSET1")) ;; Add to the selection set all the objects that lie at point(6.8,9.4,0) (setq point (vlax-3d-point 6.8 9.4 0)) (vla-SelectAtPoint ssetObj point) (alert (strcat "Objects selected: " (itoa (vla-get-Count ssetObj)))) (vla-Clear ssetObj) ;; Add to the selection set all the Circles that lie at point (6.8,9.4,0) (setq gpCode (vlax-make-safearray vlax-vbInteger '(0 . 0))) (vlax-safearray-put-element gpCode 0 0) (setq dataValue (vlax-make-safearray vlax-vbVariant '(0 . 0))) (vlax-safearray-put-element dataValue 0 "Circle") (vla-SelectAtPoint ssetObj point gpCode dataValue) (alert (strcat "Objects selected: " (itoa (vla-get-Count ssetObj)))) (vla-Delete ssetObj) )