本帖最后由 作者 于 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
|