GetXData Пример

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