请教关于选择集过滤的问题
要在选择集中过滤出内容为“A“的文本,我的程序如下,不知道为何出错,请执教Sub test()
Dim Myss As AcadSelectionSet
Set Myss = ThisDrawing.SelectionSets.Add("Myss")
Dim Mode As Integer
Mode = acSelectionSetWindow
Dim Point1, point2 As Variant
Point1 = ThisDrawing.Utility.GetPoint(, "Select the first point")
point2 = ThisDrawing.Utility.GetCorner(Point1, "Select second point")
Dim gpCode(0 To 2) As Integer
Dim DataValue(0 To 2) As Variant
gpCode(0) = 0
DataValue(0) = "Text"
gpCode(1) = -4
DataValue(1) = "="
gpCode(2) = 1
DataValue(2) = "A"
Myss.Select acSelectionSetWindow, Point1, point2, gpCode, DataValue
End Sub
是不是实体对象的公共组码不对呀,能提供完整的DXF组码吗?谢先!
过滤机制的用法有误
选择内容为"A"的单行文字,可以不使用逻辑运算符。下面的条件就够了。Dim gpCode(0 To 1) As Integer
Dim DataValue(0 To 1) As Variant
gpCode(0) = 0
DataValue(0) = "Text"
gpCode(1) = 1
DataValue(1) = "A"
多谢,再问一个菜鸟问题
选择结束后,如何释放选择集。比如我现在的程序执行一遍后,再执行的话,就出现错误提示:the named selection set exists谢先!
使用Delete方法删除它
不过,也可以在程序开始时检查它是否存在,如果存在就引用,再用Clear清空选择集内的实体,不存在就新创建一个。当然使用Delete方法也可以。多谢
光想着delete方法是选择集连同实体一起删除,先清空的话,就没问题了。不知道自己在想什么。
页:
[1]