;Attribut-Texte unterstreichen ; ;von Flaschenpost, 20.04.05 (cad.de) ;Hinweise / Anfragen auch über flaschenpost2000@gmx.de ; (defun c:ATT-UNT (/ attwahl gcx neutext nr) (prompt "\nBlöcke mit Attributen wählen: ") (setq attwahl (ssget '((0 . "INSERT")))); Alternativzeile siehe unten (setq nr 0) (repeat (sslength attwahl) (setq gcx (entget (ssname attwahl nr))) (if (assoc 66 gcx) (while (/= (cdr (assoc 0 gcx)) "SEQEND") (setq gcx (entget (entnext (cdr (assoc -1 gcx))))) (if (eq (cdr (assoc 0 gcx)) "ATTRIB") (progn (if (and (= (vl-string-search "%%U" (cdr (assoc 1 gcx))) nil) (= (vl-string-search "%%u" (cdr (assoc 1 gcx))) nil) (not (eq (cdr (assoc 1 gcx)) "")) ) (progn (setq neutext (strcat "%%u" (cdr (assoc 1 gcx)))) (setq gcx (subst (cons 1 neutext)(assoc 1 gcx) gcx)) (entmod gcx) );progn )if );progn );if );while );if (setq nr (1+ nr)) );repeat (command "_.regen") (princ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Attribut-Texte, Unterstreichungen entfernen (defun c:ATT-UNT-EF (/ attwahl gcx neutext nr ) (prompt "\nBlöcke mit Attributen wählen: ") (setq attwahl (ssget '((0 . "INSERT"))));Alternativzeile siehe unten (setq nr 0) (repeat (sslength attwahl) (setq gcx (entget (ssname attwahl nr))) (if (assoc 66 gcx) (while (/= (cdr (assoc 0 gcx)) "SEQEND") (setq gcx (entget (entnext (cdr (assoc -1 gcx))))) (if (eq (cdr (assoc 0 gcx)) "ATTRIB") (progn (setq neutext (vl-string-subst "" "%%U" (cdr (assoc 1 gcx)))) (setq neutext (vl-string-subst "" "%%u" neutext)) (setq gcx (subst (cons 1 neutext)(assoc 1 gcx) gcx)) (entmod gcx) );progn );if );while );if (setq nr (1+ nr)) );repeat (command "_.regen") (princ) ) ;Alternativ für Pit-Heizkörper die Zeile oben wie folgt ;ersetzen, dann werden alle Heizkörper ohne Auswahl erfaßt: (setq attwahl (ssget "X" '((0 . "INSERT")(2 . "HZB*"))))