明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 896|回复: 1

VBA能否通过扩展数据中的组码过滤选择集

[复制链接]
发表于 2015-8-6 12:31:59 | 显示全部楼层 |阅读模式
本帖最后由 jikasurvey 于 2015-8-6 13:15 编辑

我为对象添加了一些扩展数据,想通过护展数据的组码来过滤选择集,不知道能不能实现
程序代表码大概是这样:

Sub SelExtendData()    Dim spt(2) As Double, ept(2) As Double
    Dim aLine As AcadLine
    spt(0) = 0: spt(1) = 0
    ept(0) = 10: ept(1) = 10
    Set aLine = ThisDrawing.ModelSpace.AddLine(spt, ept)
    Dim xDataType(1) As Integer
    Dim xDataValue(1) As Variant
    xDataType(0) = 1001: xDataValue(0) = "Jika"
    xDataType(1) = 1000: xDataValue(1) = "DGX"
    aLine.SetXData xDataType, xDataValue

    Dim sSet As AcadSelectionSet
    Dim FilterType(0) As Integer
    Dim FilterData(0) As Variant

    FilterType(0) = 1001: FilterData(0) = "jika"       ’这一句组码可以生成选择集
    Set sSet = CreateSelection("aa")                       'CreateSelection(''aa")是一个自定义的创建选择集函数
    sSet.Select acSelectionSetAll, , , FilterType, FilterData
    MsgBox sSet.Count
    sSet.Delete
End Sub

我的问题是想通过 FilterType(0) = 1000: FilterData(0) = "DGX" 这一句或其他方式定义选择集

有没有高手遇到过这样的问题,麻烦给个合理的定义选择集过滤条的方法,谢谢!


 楼主| 发表于 2015-8-7 10:20:04 | 显示全部楼层
本帖最后由 jikasurvey 于 2015-8-7 10:21 编辑

目前发现只有AcadLWPolyline对象(轻量多段线),可以用1000组码进行过滤选择集。
FilterType(0) = 1000: FilterData(0) = "DGX"

有不同意见的可以跟贴讨论。

点评

好像的确如此!  发表于 2015-8-7 11:26
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 10:09 , Processed in 0.143646 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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