Тема: получить значения из таблицы объектных данных

использую AutoCAD Map 2009,
помогите, пожалуйста, разобраться как программно получать значения из таблицы объектных данных

в документ добавлена таблица объектных данных (меню: Карта\Данные объекта\Определить данные объекта...)
в форме свойств объектов, появилась группа по имени созданнй таблицы, содержащая поля этой таблицы
для части объектов заполнены значения

как теперь используя объектную модель AutoCAD считывать эти дополнительные свойства объектов?

Sub f1()
    Dim plineObj As AcadEntity
    Dim ExtDic As AcadDictionary
    
    Set plineObj = ThisDrawing.ModelSpace.Item(0)
    Set ExtDic = plineObj.GetExtensionDictionary
    
    MsgBox ExtDic.Count ' здесь получаю верное число приcоединенных таблиц
    
    ' создана таблица "t01" (id целочисленное, txt строковое)
    MsgBox ExtDic.GetObject("t01") ' здесь Run-time error "Ключ не найден"
    ' в форме свойств объектов, группа полей этой таблицы называется почему-то "OD:t01"
    ' MsgBox ExtDic.GetObject("OD:t01") ' та же ошибка
End Sub

Re: получить значения из таблицы объектных данных

Посмотри метод GetXdata в Хэлпе

~'J'~

Re: получить значения из таблицы объектных данных

fixo пишет:

Посмотри метод GetXdata в Хэлпе

пробовал следующие варианты:

Sub f1()
Dim plineObj As AcadEntity
Dim dic As AcadDictionary
Dim RecObj As AcadXRecord

Set plineObj = ThisDrawing.ModelSpace.Item(0)

Dim xdataOut(0 To 1) As Variant
Dim xtypeOut(0 To 1) As Variant

' вариант1
Set dic = plineObj.GetExtensionDictionary
dic.GetXData "", xtypeOut, xdataOut
MsgBox xdataOut(0) ' зачение пусто
MsgBox xdataOut(1) ' зачение пусто

'вариант2
Set dic = ThisDrawing.Dictionaries(0)
dic.GetXData "", xdataOut, xdataOut
MsgBox xdataOut(0) ' зачение пусто
MsgBox xdataOut(1) ' зачение пусто

' вариант3a, мне кажется более правильный, но тоже не срабатывает
Set dic = ThisDrawing.Dictionaries(0)
Set RecObj = dic.GetObject("t01") ' ключ не найден

' вариант3b
Set dic = plineObj.GetExtensionDictionary
Set RecObj = dic.GetObject("t01") ' ключ не найден

'Dim DataType As Integer, DataVal As String
'dic.GetXRecordData "", DataType, DataVal
'MsgBox DataVal

End Sub

Re: получить значения из таблицы объектных данных

Приведи код который используется для
записи расширенных данных объекта
Скорей всего косяк именно там

~'J'~

Re: получить значения из таблицы объектных данных

после того как в документ добавлена таблица объектных данных:
"t01" (id целочисленное, txt символьное) - в форме свойств графических примитивов появляется группа "OD:t01" с полями данной таблицы:
получить значения из таблицы объектных данных
в соответствующие поля значения и вводятся вручную.

Обращаю внимание! речь идет именно о "таблице объектных данных"
создаются такие таблицы в AutoCAD Map 2009 из меню:
Карта\Данные объекта\Определить данные объекта...
Карта\Данные объекта\Подключить данные объекта...

может это и не расширенные данные?

Re: получить значения из таблицы объектных данных

К сожалению ничего не знаю о MAP...

Так что тут я пас

~'J'~