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

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

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


目前发现只有AcadLWPolyline对象(轻量多段线),可以用1000组码进行过滤选择集。
FilterType(0) = 1000: FilterData(0) = "DGX"
有不同意见的可以跟贴讨论。
页: [1]
查看完整版本: VBA能否通过扩展数据中的组码过滤选择集