(defun c:UPDATE-Title-Block () (UPDATE-Title-Block nil "VERZEICHNIS" (Zchnstr 2)) (command "_.regen") ) (defun UPDATE-Title-Block ( INSERTNAME ATTRIBNAME ATTRIBWERT / AUSWAHL INDEX OBJEKTDATEN) (if (= (type INSERTNAME) 'STR) (setq AUSWAHL (ssget "_x" (list '(0 . "INSERT")(cons 2 INSERTNAME)))) ) (if(or AUSWAHL (setq AUSWAHL (ssget "_x" '((0 . "INSERT")))) ) (progn (setq INDEX -1) (repeat (sslength AUSWAHL) (setq OBJEKTDATEN (entget (ssname AUSWAHL (setq INDEX (1+ INDEX))))) (if (assoc 66 OBJEKTDATEN) (while (/= (cdr (assoc 0 OBJEKTDATEN)) "SEQEND") (setq OBJEKTDATEN (entget (entnext (cdr (assoc -1 OBJEKTDATEN))))) (if (and(=(cdr (assoc 0 OBJEKTDATEN)) "ATTRIB") (=(strcase (cdr(assoc 2 OBJEKTDATEN))) ATTRIBNAME) ) (progn (entmod(subst(cons 1 ATTRIBWERT) (assoc 1 OBJEKTDATEN) OBJEKTDATEN ) ) ) ) ) ) ) ) ) ) (defun Zchnstr ( VERZEICHNISSE / RETURN) (if (=(type VERZEICHNISSE)'INT) (progn (setq LST (reverse(path->List(getvar "dwgprefix")))) (if (> Verzeichnisse (length LST))(setq Verzeichnisse (length LST))) (setq RETURN (getvar "dwgname")) (setq Index -1) (repeat VERZEICHNISSE (setq RETURN (strcat (nth (setq INDEX(1+ INDEX))LST) "\\" RETURN)) ) ) ) RETURN ) (setq ergebnis (Zchnstr PfadangabeAsString)) (defun c:PIA (/ dwgpath dwg2path dwgverz) (setq dwgverz (cdr (reverse (f:str-teilen (setq dwgpath (getvar "DWGPREFIX")) "\\") ) ) dwg2path (apply 'strcat (mapcar '(lambda (S) (strcat S "\\") ) (reverse (if (> (length dwgverz) 2) (list (car dwgverz) (cadr dwgverz)) dwgverz ) ) ) ) ) (alert (strcat "Ganzes Verzeichnis:\n" dwgpath "\nletzen 2 Verzeichnisse:\n" dwg2path "\nDateiname:\t" (getvar "DWGNAME") ) ) ) (defun f:str-teilen (sil_str sil_tr / sil_i sil_str1 sil_trli) (setq sil_i 0) (if (= 'STR (type sil_str)) (progn (while (< sil_i (strlen sil_str)) (setq sil_i (1+ sil_i) sil_str1 (substr sil_str sil_i 1) ) (if (= sil_str1 sil_tr) (setq sil_trli (cons sil_i sil_trli)) ) ) (setq sil_trli (reverse sil_trli) sil_z 0 ) (apply 'append (mapcar '(lambda (P / z) (setq sil_z (1+ sil_z)) (cond ((and (= sil_z (length sil_trli)) (= sil_z 1) ) (list (substr sil_str 1 (1- P)) (substr sil_str (1+ P)) ) ) ((= sil_z 1) (list (substr sil_str 1 (1- P))) ) ((= sil_z (length sil_trli)) (list (substr sil_str (setq z (1+ (nth (- sil_z 2) sil_trli))) (- P z) ) (substr sil_str (1+ P)) ) ) (T (list (substr sil_str (setq z (1+ (nth (- sil_z 2) sil_trli))) (- P z) ) ) ) ) ) sil_trli ) ) ) ) )