| SelectAtPoint 方法 (ActiveX) 选取通过给定点的对象并将其放入选择集中。 支持的平台:仅限 Windows 签名VBA: object.SelectAtPoint Point, FilterType, FilterData 
 返回值 (RetVal)无返回值。 言论此方法支持过滤机制。 PICKBOX 系统变量会影响对象选择。 有关更多选择模式选项,请参见 、 和 方法。SelectSelectByPolygonSelectOnScreen 例子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可视化 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)
) | 
 |Archiver|CAD开发者社区
( 苏ICP备2022047690号-1   苏公网安备32011402011833)
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1   苏公网安备32011402011833)
GMT+8, 2025-10-31 10:13
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.