明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1643|回复: 4

请教关于选择集过滤的问题

[复制链接]
发表于 2003-6-6 13:16:00 | 显示全部楼层 |阅读模式
要在选择集中过滤出内容为“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组码吗?谢先!
发表于 2003-6-6 13:28:00 | 显示全部楼层

过滤机制的用法有误

选择内容为"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"
 楼主| 发表于 2003-6-6 13:51:00 | 显示全部楼层

多谢,再问一个菜鸟问题

选择结束后,如何释放选择集。比如我现在的程序执行一遍后,再执行的话,就出现错误提示:the named selection set exists
谢先!
发表于 2003-6-6 14:03:00 | 显示全部楼层

使用Delete方法删除它

不过,也可以在程序开始时检查它是否存在,如果存在就引用,再用Clear清空选择集内的实体,不存在就新创建一个。当然使用Delete方法也可以。
 楼主| 发表于 2003-6-6 14:09:00 | 显示全部楼层

多谢

光想着delete方法是选择集连同实体一起删除,先清空的话,就没问题了。不知道自己在想什么。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 16:46 , Processed in 0.189784 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表