TranslateIDs Пример

Sub Example_TranslateIDs()
    'Этот пример создает новый XRecord и переключает установку для TranslateIDs
    
    Dim TrackingDictionary As AcadDictionary, TrackingXRecord As AcadXRecord
    Dim XRecordDataType As Variant, XRecordData As Variant
    Dim ArraySize As Long, iCount As Long
    Dim DataType As Integer, Data As String, msg As String
    
    'Уникальные идентификаторы, чтобы отличить наш XRecordData от другого XRecordData
    Const TYPE_STRING = 1
    Const TAG_DICTIONARY_NAME = "ObjectTrackerDictionary"
    Const TAG_XRECORD_NAME = "ObjectTrackerXRecord"

    'Соединитесь со словарем, в котором мы храним XRecord
    On Error GoTo CREATE
    Set TrackingDictionary = ThisDrawing.Dictionaries(TAG_DICTIONARY_NAME)
    Set TrackingXRecord = TrackingDictionary.GetObject(TAG_XRECORD_NAME)
    On Error GoTo 0
    
    'Получите текущий XRecordData
    TrackingXRecord.GetXRecordData XRecordDataType, XRecordData
    
    'Если мы не имеем массива, cоздаем его
    If VarType(XRecordDataType) And vbArray = vbArray Then
        ArraySize = UBound(XRecordDataType) + 1       ' Получите размер элементов данных
        ArraySize = ArraySize + 1                     ' Увеличение, чтобы держать новые данные
    
        ReDim Preserve XRecordDataType(0 To ArraySize)
        ReDim Preserve XRecordData(0 To ArraySize)
    Else
        ArraySize = 0
        ReDim XRecordDataType(0 To ArraySize) As Integer
        ReDim XRecordData(0 To ArraySize) As Variant
    End If
    
    'Найдите текущее значение TranslateIDs
    Dim currXlate As Boolean
    currXlate = TrackingXRecord.TranslateIDs
    MsgBox "Текущая установка TranslateIDs " & currXlate
    
    'Переключите установку
    TrackingXRecord.TranslateIDs = Not currXlate
    MsgBox "Новая установка для TranslateIDs " & TrackingXRecord.TranslateIDs
    
    'Сбросьте значение
    TrackingXRecord.TranslateIDs = currXlate
    MsgBox "TranslateIDs был сброшен к " & TrackingXRecord.TranslateIDs
    
    Exit Sub

CREATE:
    'Создайте объекты, которые держат XRecordData
    If TrackingDictionary Is Nothing Then  ' Удостоверьтесь, что мы имеем наш объект отслеживания
        Set TrackingDictionary = ThisDrawing.Dictionaries.Add(TAG_DICTIONARY_NAME)
        Set TrackingXRecord = TrackingDictionary.AddXRecord(TAG_XRECORD_NAME)
    End If
    
    Resume
End Sub
Сайт управляется системой uCoz