(defun C:ROUNDHOEHE( / AUSWAHL ATTRIBUTNAME STELLEN OBJEKT BLOCKDEF) (setq ATTRIBUTNAME "HÖHE") (setq STELLEN 2) (setq AUSWAHL (ssget "_X" '((0 . "INSERT")))) (setq INDEX -1) ; Attribute in Blockreferenzen auf Zeichnungsebene (if AUSWAHL (repeat (sslength AUSWAHL) (ROUND-ATTRIBUTWERT (ssname AUSWAHL (setq INDEX(1+ INDEX))) ATTRIBUTNAME STELLEN) ) ) ; Attribute in verschachtelten Blöcken (while (setq BLOCKDEF (tblnext "BLOCK" (null BLOCKDEF))) (if (and(/=(logand(cdr(assoc 70 BLOCKDEF))4)4) (or(/= (logand(cdr(assoc 70 BLOCKDEF))1)1) (= (substr (cdr(assoc 2 BLOCKDEF)) 1 2) "*U") ) ) (progn (setq OBJEKT (cdr (assoc -2 BLOCKDEF))) (while OBJEKT (if (=(cdr(assoc 0 (entget OBJEKT))) "INSERT") (ROUND-ATTRIBUTWERT OBJEKT ATTRIBUTNAME STELLEN) ) (setq OBJEKT (entnext OBJEKT)) ) (entupd (cdr (assoc -2 BLOCKDEF))) ) ) ) (command "._regen") (princ) )