SetXData Пример

Sub Example_SetXdata()
    'Этот пример создает линию и прикрепляет расширенные данные на эту линию.
    
    'Создайте линию
    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

    'Инициализируйте все значения xdata. Отметьте, что первые данные в 
    'списке должны быть именем приложения и сначала должен быть datatype код 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) = "Это - тест на xdata"

    DataType(2) = 1003: Data(2) = "0"                  
    DataType(3) = 1040: Data(3) = 1.23479137438413E+40  ' real
    DataType(4) = 1041: Data(4) = 1237324938            ' расстояние
    DataType(5) = 1070: Data(5) = 32767                 ' Целое число на 16 битов
    DataType(6) = 1071: Data(6) = 32767                 ' Целое число на 32 бита
    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мировая пространственная позиция
    
    'Прикрепите xdata на линию
    lineObj.SetXData DataType, Data
    
    'Возвратите xdata для линии
    Dim xdataOut As Variant
    Dim xtypeOut As Variant
    lineObj.GetXData "", xtypeOut, xdataOut
    
End Sub
Сайт управляется системой uCoz