david.xw 发表于 2007-9-18 10:11:00

[求助]用选择集过滤扩展数据的问题

本帖最后由 作者 于 2007-9-18 10:29:36 编辑

以下是插入XData数据的例子,请问我如何用"test"字串,过滤组码1000中"This is my test"的字串来选择这条线?
   







也就是说只有扩展数据组码1000只包括有"test"字串,我就可以选择这条线.
   







或是说扩展数据组码不用1000用别的(我用组码-3时,不行,出错)?

Sub Example_GetXData()
    ' This example creates a line and attaches extended data to that line.
   
    ' Create the line
    Dim lineObj As AcadLine
    Dim startPt(0 To 2) As Double, endPt(0 To 2) As Double
    startPt(0) = 1#: startPt(1) = 1#: startPt(2) = 0#
    endPt(0) = 5#: endPt(1) = 5#: endPt(2) = 0#
    Set lineObj = ThisDrawing.ModelSpace.AddLine(startPt, endPt)
    ZoomAll
    ' Initialize all the xdata values. Note that first data in the list should be
    ' application name and first datatype code should be 1001
    Dim DataType(0 To 9) As Integer
    Dim Data(0 To 9) As Variant
    Dim reals3(0 To 2) As Double
    Dim worldPos(0 To 2) As Double
   
   
   
    DataType(0) = 1001: Data(0) = "Test_Application"
    DataType(1) = 1000: Data(1) = "This is my test"
   
    DataType(2) = 1003: Data(2) = "0"                   ' layer
    DataType(3) = 1040: Data(3) = 1.23479137438413E+40' real
    DataType(4) = 1041: Data(4) = 1237324938            ' distance
    DataType(5) = 1070: Data(5) = 32767               ' 16 bit Integer
    DataType(6) = 1071: Data(6) = 32767               ' 32 bit Integer
    DataType(7) = 1042: Data(7) = 10                  ' scaleFactor
    reals3(0) = -2.95: reals3(1) = 100: reals3(2) = -20
    DataType(8) = 1010: Data(8) = reals3                ' real
   
    worldPos(0) = 4: worldPos(1) = 400.99999999: worldPos(2) = 2.798989
    DataType(9) = 1011: Data(9) = worldPos            ' world space position
   
    ' Attach the xdata to the line
    lineObj.SetXData DataType, Data
   
    ' Return the xdata for the line
    Dim xdataOut As Variant
    Dim xtypeOut As Variant
    lineObj.GetXData "", xtypeOut, xdataOut
   
End Sub








lz5921 发表于 2007-9-29 19:48:00

我最近也遇到这个问题,期待高手解决!!
页: [1]
查看完整版本: [求助]用选择集过滤扩展数据的问题