Удаление свойства аннотативности
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Удаление свойства аннотативности

Удаление свойства аннотативности

Ответ
Поиск в этой теме
Непрочитано 14.09.2023, 09:06 #1
Удаление свойства аннотативности
olga87
 
Регистрация: 28.05.2007
Сообщений: 229

Здравствуйте Уважаемые программисты и специалисты AutoCAD!

Подскажите пожалуйста, как использовать код ниже (как запустить "(_lispru-ent-make-annotative (ssget (list (cons 0 "*"))) make)"), чтобы:
1) назначить свойство аннотативности выбранным объектам, 2) снять свойство аннотативности у выбранных объектов?

Заранее спасибо!


Код:
[Выделить все]
(defun _lispru-acad-version ()
;|
*Возвращает номер сборки.
* и т.д.
|;
  (atof (getvar "acadver"))
)

(defun _lispru-ent-make-annotative (ent make / res)
;|
*Добавление аннотативности объекту
*Параметры вызова:
  ent     ename-указатель на объект
  make    делать аннотативным или снимать аннотативность
|;
  (if
    (and (> (_lispru-acad-version) 21.0)
         (not
           (assoc "AcadAnnotative" (cdr (assoc -3 (entget ent '("*")))))
           ) ;_ end of not
         ) ;_ end of and
     (if make
       (progn
         (regapp "AcadAnnotative")
         (setq
           res (entmod
                 (list (cons -1 ent)
                       '(-3
                         ("AcadAnnotative"
                          (1000 . "AnnotativeData")
                          (1002 . "{")
                          (1070 . 1)
                          (1070 . 1)
                          (1002 . "}")
                          )
                         )
                       ) ;_ end of list
                 ) ;_ end of entmod
           ) ;_ end of setq
         ) ;_ end of progn
       (setq res
              (entmod
                (append
                  (entget ent)
                  (list
                    (cons
                      -3
                      (append '(("AcadAnnotative"))
                              (vl-remove-if
                                (function
                                  (lambda (x)
                                    (= (car x "AcadAnnotative"))
                                    ) ;_ end of lambda
                                  ) ;_ end of function
                                (cdr (assoc -2 (entget ent '("*"))))
                                ) ;_ end of vl-remove-if
                              ) ;_ end of append
                      ) ;_ end of cons
                    ) ;_ end of list
                  ) ;_ end of append
                ) ;_ end of entmod
             ) ;_ end of setq
       ) ;_ end of if
     ) ;_ end of if
  ) ;_ end of defun
Просмотров: 730
 
Непрочитано 14.09.2023, 09:25
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


(_lispru-ent-make-annotative (car (entsel)) t) ; установить
(_lispru-ent-make-annotative (car (entsel)) nil) ; снять
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 14.09.2023, 09:38
#3
olga87


 
Регистрация: 28.05.2007
Сообщений: 229


Спасибо за помощь!
свойство аннотативности не ушло, видимо код не работает..

Последний раз редактировалось olga87, 14.09.2023 в 09:47.
olga87 вне форума  
 
Непрочитано 14.09.2023, 14:06
#4
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


По другому:
Код:
[Выделить все]
 
(command "_chprop" (car (entsel))  "" "_A" "_Yes" "") ;_Установить
(command "_chprop" (car (entsel))  "" "_A" "_No" "") ;_Снять
----- добавлено через ~29 мин. -----
Если нужно выбрать за раз несколько объектов

Код:
[Выделить все]
(command "_chprop" (ssget)  "" "_A" "_Yes" "") ;_Установить
(command "_chprop" (ssget)  "" "_A" "_No" "")  ;_Убрать
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Удаление свойства аннотативности



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Существует ли назначение свойства аннотативности применительно к толщине/весу линии? Юрий_Нд AutoCAD 15 04.02.2022 20:12
ФАТАЛЬНАЯ ОШИБКА: Unhandled Access Violation Reading 0x0000 Exception at 3d4a0045h AutoCAD 2011русский Nikolays AutoCAD 13 13.10.2015 14:57
Как удалить тип линии Tolyanovich AutoCAD 48 20.11.2014 09:24
Есть ли программа для присвоения примитивам в чертеже свойства аннотативности? Chapter Программирование 12 08.07.2010 00:30
AutoCAD 2011 при копировании не вставляет в другой чертеж Maxxwell AutoCAD 7 07.05.2010 14:44