(defun c:PM_MTEXT (/ aws gc1 Ed obj) (chg_TXT_Filter_MAN ;Textwerteigenschaft '(lambda (TXT) (str-isZahl TXT ".,");Änderung nur, wenn Text eine Zahl darstellt! ) ;Neue Texteigenschaft '(lambda (AT) (strcat "PM " AT);Einklammern ) ) ) (defun chg_TXT_Filter_MAN (EXPR TEXPR / gc1 Ed) (setq aws (ssget "_X" '((0 . "*TEXT")))) (if aws (foreach E (bau_elemli aws) (if ((eval EXPR) (cdr(setq gc1 (assoc 1 (setq Ed(entget E)))))) (chgTxtObject_Function E TEXPR) ) ) (princ "\nKeine Texte gefunden!") ) ) ;;; (defun str-isZahl (STR STRTRENN / tmp) (setq STRTRENN(mapcar 'ascii(str->list STRTRENN)) tmp (str-Expr-str STR '(lambda (Z) (if (or (<= 48 (ascii Z) 57) (member (ascii Z) STRTRENN) ) Z "") ) ) ) (if(and tmp (= (strlen STR) (strlen tmp) ) ) tmp) ) ;;; (defun str-Expr-str (STR EXPR / erg) (setq erg(apply 'strcat (mapcar Expr (str->list STR) ) ) ) (if (/= erg "") erg ) ) ;;; (defun str->list (STR / i strli) (setq i 0) (if(= 'STR (type STR)) (reverse (repeat (strlen STR) (setq i (1+ i) strli(cons(substr STR i 1)strli) ) ) ) ) ) (defun chgTxtObject_Function (E nTXTEXP / gc1 Ed) (entmod (subst (cons 1 ((eval nTXTEXP)(cdr(setq gc1 (assoc 1 (setq Ed(entget E)))))) ) gc1 Ed ) ) ) (defun bau_elemli (asatz / n elemli) (setq n 0) (repeat (sslength asatz) (setq elemli(cons (ssname asatz n) elemli) n (1+ n)) ) elemli ) (princ "\nCAD on demand GmbH") (princ "\nmailto:hbrischke@cad-od.de") (princ "\n\"PM_MTEXT\" - schreibt PM vor Zahlen(MText)") (princ) (princ)