Проникающая гидроизоляция бетона
Показать сообщение отдельно
Непрочитано 12.05.2019, 23:14 #1
Преобразование текста в мультивыноску, с сохранением точки вставки текста
maksorli
 
Регистрация: 12.05.2019
Сообщений: 5

Добрый день!
Нашел на форуме подобную ветку, но в ней задачи сохранения точки вставки текста(InsertionPoint) не стояла.
Алгоритм подразумевается следующий: выбираем текст, первой точке мультивыноски присваивается точка вставки текста , вторую выбираем самостоятельно, содержимое берем из текста.
На данный момент получается только вытащить содержимое текста в мультивыноску. В комментариях в лиспе нерабочие варианты. Ошибка следующая: ; error : bad argument type <<Entity name: 6a7efbf0>> ; expected VLA-OBJECT at [vla-get-insertionpoint].
Прошу помочь объяснить что я делаю не так.
Код:
[Выделить все]
 
(defun C:TXT-MLD ( / echo obj1 текст )
(vl-cmdf "_UNDO" "_BE")    
(setq echo (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(setq obj1 (car (entsel "\nВыберите текст: ")))
(if obj1
    (progn
;(setq p1 (vlax-safearray->list (vlax-variant-value (vla-get-InsertionPoint obj1))))
;(setq p1 (vlax-safearray->list (vlax-variant-value (vla-get-coordinates (vlax-ename->vla-object obj1))))) 
    (setq текст (vlax-get-property (vlax-ename->vla-object obj1) 'TextString))
     (princ "\n Построение мультивыноски ")
         (vl-cmdf "_mleader" p1 pause  текст)
         (vl-cmdf "_ERASE" obj1 "")
      
    ) ; progn
    (princ "\nНе выбрана строка 1.")
) ; if 
(setvar "CMDECHO" 0)
(vl-cmdf "_UNDO" "_E")
(princ)
)
Просмотров: 3486
 
Размещение рекламы