lanner 发表于 2003-5-8 10:15:00

求救:关于SelectAtPoint。多谢

我在编程中有这样一个问题:选择通过一个点的所有实体
然后将这些实体放到选择集中
(图中有几条通过(10,10,0)的直线)
程序如下
Sub slectatp()
Dim sp As AcadSelectionSet
Set sp = ThisDrawing.SelectionSets.Add("myss")
Dim pointat(0 To 2) As Double
pointat(0) = 10: pointat(1) = 10: pointat(2) = 0#
myss.SelectAtPoint pointat
MsgBox "select: " & nl & CStr(myss.Count)
myss.hightlight (True)
End Sub

可是程序的运行结果却是
myss.SelectAtPoint pointat 一行有错object required
百思不得原因,希望斑竹帮忙。多谢!!!

efan2000 发表于 2003-5-8 12:52:00

变量有错

声明的选择集的变量是sp,而后面使用的变量却是myss。因为myss没有声明也不是有效的选择集对象,所以在过一点选择时就出错了。

天罡 发表于 2003-5-10 11:48:00

[原创]

Sub select()

Dim sp As AcadSelectionSet

Set sp = ThisDrawing.SelectionSets.Add("myss")

Dim pointat(0 To 2) As Double

pointat(0) = 10: pointat(1) = 10: pointat(2) = 0#

sp.SelectAtPoint pointat

MsgBox "select: " & nl & CStr(sp.Count)



Dim Entry As AcadEntity
i = 10 'red color


For Each Entry In sp

Entry.Color = i

Entry.Update

i = i + 1
Next Entry

sp.Delete' del select

End Sub

可以,我刚才试过!

sunny_8848 发表于 2019-11-1 10:54:26

本帖最后由 sunny_8848 于 2019-11-1 10:55 编辑

天罡 发表于 2003-5-10 11:48
Sub select()

Dim sp As AcadSelectionSet

不知道什么回事,我只能选择通过这点的一个对象,比如同一位置画的两个同样大小圆或者通过这点的圆和线
页: [1]
查看完整版本: 求救:关于SelectAtPoint。多谢