jikasurvey 发表于 2015-8-6 12:31:59

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

本帖最后由 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" 这一句或其他方式定义选择集

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


jikasurvey 发表于 2015-8-7 10:20:04

本帖最后由 jikasurvey 于 2015-8-7 10:21 编辑

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

有不同意见的可以跟贴讨论。
页: [1]
查看完整版本: VBA能否通过扩展数据中的组码过滤选择集