laoliu09 发表于 2005-1-5 08:17:00

求救啊!?

我想在一个图元周围选择其他图元,但又不包括图元本身,有什么方法可以实现呢?

yaopx0782 发表于 2005-1-5 10:14:00

用窗选,然后remove即可。

laoliu09 发表于 2005-1-5 11:54:00

我不是这个意思!我是问怎样除开那个图元,例如:我要搜索某一点周围一定范围内的其它点,但不包括这点!怎样实现呢?谢了!

yulijin608 发表于 2005-1-5 13:33:00

Sub test()
                       Dim pt As AcadPoint
                       Dim point As Variant
                       Dim minCorner As Variant
                       Dim maxCorner As Variant
                       Dim size As Double
                       Dim entry As AcadEntity
                       Dim item(0) As AcadEntity
                       Dim sset1 As AcadSelectionSet
                       Dim sset2 As AcadSelectionSet
                       Dim FType(0) As Integer
                       Dim FData(0) As Variant
                       
                       FType(0) = 0: FData(0) = "Point"
                       point = ThisDrawing.Utility.GetPoint()
                       Set sset1 = ThisDrawing.SelectionSets.Add("Point1")
                       sset1.SelectAtPoint point, FType, FData
                       Set item(0) = sset1(0)
                       
                       size = 10
                       minCorner = point: minCorner(0) = minCorner(0) - size: minCorner(1) = minCorner(1) - size
                       maxCorner = point: maxCorner(0) = maxCorner(0) + size: maxCorner(1) = maxCorner(1) + size
                       Set sset2 = ThisDrawing.SelectionSets.Add("Point2")
                       sset2.Select acSelectionSetCrossing, minCorner, maxCorner, FType, FData
                       MsgBox sset2.Count
                       sset2.RemoveItems item
                       MsgBox sset2.Count
                       
                       ThisDrawing.SelectionSets.item("Point1").Delete
                       ThisDrawing.SelectionSets.item("Point2").Delete
End Sub

laoliu09 发表于 2005-1-5 22:28:00

sset2.RemoveItems item这个方法需要的是索引参数吗?哪我怎么知道要移除点的索引号?如果是对象参数的话,那到底是单一对象或是对象数组?这个方法的参数类型是什么啊?到底需要什么参数啊?

yulijin608 发表于 2005-1-6 08:36:00

object.RemoveItems Objects
Object
,
使用该方法的对象。
Objects
Variant[变体] (对象数组); 仅用于输入
要删除的对象数组。
在4楼的程序中Dim item(0) As AcadEntity 就是个对象数组,你要选择一点P1周围的其他点,那你一定可以得到P1这个点,然后set       item(0)=P1,最后调用sset2.RemoveItems item就OK了.

laoliu09 发表于 2005-1-6 17:06:00

对!thank you!
页: [1]
查看完整版本: 求救啊!?