Тема: Какая функция Лисп из выражения: <Имя объекта: 7f729c03c70> возвращает Handle?

Переменная в программе Лисп получила значение: <Имя объекта: 7f729c03c70>
С помощью каких функций ЛИСП можно получить из этой строки Handle (смесь букв и цифр в конце строки)?

Re: Какая функция Лисп из выражения: <Имя объекта: 7f729c03c70> возвращает Handle?

AkimovMB5 пишет:

Переменная в программе Лисп получила значение: <Имя объекта: 7f729c03c70>
С помощью каких функций ЛИСП можно получить из этой строки Handle (смесь букв и цифр в конце строки)?

Если эта переменная ent, то:

(cdr (assoc 5 (entget ent)))
Спасибо сказали: AkimovMB51

Re: Какая функция Лисп из выражения: <Имя объекта: 7f729c03c70> возвращает Handle?

Вообще я пытаюсь получить имя стиля выделенной таблицы на чертеже и сделать это имя активным с помощью вот этой функции:
(while (setq el (car (entsel "\n Выбери объект:")))
;entsel выдает имя объекта и все остальное, car - Извлекает первый элемент из списка: имя объекта
;команды которые должны выполняться в цикле пока не будет пустой ввод
  (setq dan (entget el));получает список с характеристиками примитива
  (setq name0 (assoc 0 dan)) ;получаем имя объекта
  (setq name (cdr name0))
  (princ name)
;;;  (alert (strcat "Был выбран " name))
  (princ (strcat "Был выбран " name))
  (setq cLayer0 (assoc 8 dan)) ;получаем имя объекта
  (setq cLayer (cdr cLayer0))
  (setq cLWeight0 (assoc 370 dan)) ;получаем текущий вес линии
  (setq cLWeight (cdr cLWeight0))
  (setq cLType0 (assoc 6 dan)) ;получаем текущий тип линии
  (setq cLType (cdr cLType0)) 
  (setq cLTypeScale0 (assoc 48 dan)) ;получаем текущий масштаб типа линии
  (setq cLTypeScale (cdr cLTypeScale0))
  (setq cColor0 (assoc 62 dan)) ;получаем текущий цвет
  (setq cColor (cdr cColor0))
  (setq cThick0 (assoc 39 dan)) ;получаем текующую толщину
  (setq cThick (cdr cThick0))
 
;Назначим текущим слой выбранного объекта (setvar "clayer" <имя слоя>)
  (setvar "clayer" cLayer)
  (princ (strcat (chr 10) "Был назначен текущий слой " (chr 34) cLayer (chr 34)))
;Назначим текущий вес линий
  (cond ((eq cLWeight nil)
        (setvar "CELWEIGHT" -1)
        (princ (strcat (chr 10) "Был назначен текущий вес линий " (chr 34) "ПоСлою" (chr 34)))
        )
    ((eq cLWeight -2)
        (setvar "CELWEIGHT" -2)
        (princ (strcat (chr 10) "Был назначен текущий вес линий " (chr 34) "ПоБлоку" (chr 34)))
        )
    ((eq cLWeight -3)
        (setvar "CELWEIGHT" -3)
        (princ (strcat (chr 10) "Был назначен текущий вес линий " (chr 34) "ПоУмолчанию" (chr 34)))
        )
    (t
        (setvar "CELWEIGHT" cLWeight)
        (princ (strcat (chr 10) "Был назначен текущий вес линий " (chr 34) (rtos (/ cLWeight 100.0)) (chr 34)))
    )
   )
;Назначим текущий тип линии
  (cond ((eq cLType nil)
        (setvar "CELTYPE" "ByLayer")
        (princ (strcat (chr 10) "Был назначен текущий тип линий " (chr 34) "ПоСлою" (chr 34)))
        )
    (t
        (setvar "CELTYPE" cLType)
        (princ (strcat (chr 10) "Был назначен текущий тип линий " (chr 34) cLType (chr 34)))
    )
   )
;Назначим текущий масштаб типа линии
  (cond ((eq cLTypeScale nil)
        (setvar "CELTSCALE" 1)
        (princ (strcat (chr 10) "Был назначен текущий масштаб типа линий " (chr 34) "1" (chr 34)))
        )
    (t
        (setvar "CELTSCALE" cLTypeScale)
        (princ (strcat (chr 10) "Был назначен текущий масштаб типа линий " (chr 34) (rtos cLTypeScale) (chr 34)))
    )
   )
;Назначим ткущий цвет чертежа
  (cond ((eq cColor nil)
        (setvar "CECOLOR" "ByLayer")
        (princ (strcat (chr 10) "Был назначен текущий цвет " (chr 34) "ПоСлою" (chr 34)))
        )
    ((eq cColor 0)
        (setvar "CECOLOR" "ByBlock")
        (princ (strcat (chr 10) "Был назначен текущий цвет " (chr 34) "ПоБлоку" (chr 34)))
        )
    (t
        (setvar "CECOLOR" (rtos cColor))
        (princ (strcat (chr 10) "Был назначен текущий цвет " (chr 34) (rtos cColor) (chr 34)))
    )
   )
;Назначаем текущую толщину
  (cond ((eq cThick nil)
        (setvar "THICKNESS" 0)
        (princ (strcat (chr 10) "Была назначена текущая толщина " (chr 34) "0" (chr 34)))
        )
    (t
        (setvar "THICKNESS" cThick)
        (princ (strcat (chr 10) "Была назначена текущая толщина " (chr 34) (rtos cThick) (chr 34)))
    )
   )
;Назначим особые свойства для сложных объектов
  (setq TypeObj (strcase name))
  (cond
    ((eq TypeObj "ACAD_TABLE")
        (setq StyleTable0 (assoc 342 dan))
        (setq StyleTable00 (entget (cdr StyleTable0)))
        (setq StyleTable000 (assoc 330 StyleTable00))
         (dictsearch DicStyleType "ACAD_TABLESTYLE")
        (setvar "CTABLESTYLE" (rtos StyleTable))
        (princ (strcat (chr 10) "Был назначен текущий стиль таблиц " (chr 34) (rtos StyleTable) (chr 34)))
    )
  )
)


;;;(vla-put-activedimstyle
;;;  (vla-get-activedocument (vlax-get-acad-object))
;;;  (vla-item
;;;    (vla-get-dimstyles
;;;      (vla-get-activedocument (vlax-get-acad-object))
;;;    )
;;;    (cdr (assoc 3 (entget (car (entsel)))))
;;;  ) ;_ end of vla-item
;;;) ;_ end of vla-put-ActiveDimStyle

Работа с названием стиля таблицы в самом конце функции. Но уменя не получается ни открыть словарь со списком имен стилей таблиц "ACAD_TABLESTYLE", ни получить ссылку на стиль выделенной таблицы, ни получить название стиля из словаря через ссылку на этот стиль. Все это для меня не понятно и запутано. Уважаемый Александр, может поможете и покажете как это надо делать?