089 / Vymazání atributu bloku
Potřebujete vymazat vybraný atribut daného bloku?
Řešením je zajímavý jednoduchý LISP
Tento LISP vymaže vybraný atribut vybraného bloku tak jak je to znázorněno na obrázku:
Originální stránka s LISPem:
https://autocadtips1.com/2014/05/24/autolisp...
A zde je námi upravený LISP tak aby fungoval i v CZ verzích DWG CAD systémů:
;; ------------------------------------------------------------------------------
;; AttWipe - © 2005 by Chuck Chauvin
;; Posted at: http://www.theswamp.org/index.php?topic=4934.0;all
;; Clears (wipes) the value of a selected attribute
;; ------------------------------------------------------------------------------
(defun C:AttWipe (/ AttSel AttLoc)
(defun error (msg)
(princ "\nInvalid selection.")
(princ)
);_ end defun error
(defun SelectIt (msg)
(setq AttLoc (cadr (setq AttSel (entsel (strcat "\nPick " msg " to wipe: ")))))
);_ end defun SelectIt
(defun WipeIt (/)
(command "_-attedit" "_y" "" "" "" AttLoc "" "_v" "_r" "" "_n")
);_ end defun WipeIt
(setvar "cmdecho" 0)
(SelectIt "attribute")
(WipeIt)
(while AttSel
(SelectIt "next attribute")
(if (= (type AttSel) 'list)
(WipeIt)
(setq AttSel nil)
) ;_ end if
) ;_ end while
(princ)
);_ end defun AttWipe
;; ------------------------------------------------------------------------------