neue Folder LAYOUT MENU und MODULE dazu
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
; **********************************************************************
|
||||
; CHGTEXT.LSP
|
||||
|
||||
; Dieses Programm ersetzt jeden vorkommenden "alten String" durch den
|
||||
; "neuen String". Zuerst waehlen Sie den zu aendernden Text. Dann
|
||||
; werden Sie nach dem "alten String" und nach dem "neuen String"
|
||||
; gefragt. Nachdem die Aenderung vollzogen wurde, wird die Anzahl
|
||||
; der geaenderten Zeilen angezeigt.
|
||||
; **********************************************************************
|
||||
|
||||
(defun chgterr (s)
|
||||
(if (/= s "Function cancelled") ; Wenn ein Fehler (z.B.CTRL-C)
|
||||
(princ (strcat "\nError: " s)) ; auftritt, waehrend der Befehl
|
||||
; aktiv ist
|
||||
)
|
||||
(setq p nil) ; Auswahlsatz loeschen
|
||||
(setq *error* olderr) ; alte Fehlerroutine holen
|
||||
(princ)
|
||||
)
|
||||
|
||||
(defun C:CHGTEXT (/ p l n e os as ns st s nsl osl sl si chf chm olderr)
|
||||
(setq olderr *error* ; Initialisieren der Variablen
|
||||
*error* chgterr
|
||||
chm 0)
|
||||
(setq p (ssget)) ; Objekte waehlen
|
||||
(if p (progn ; Wenn Objekte gewaehlt...
|
||||
(while (= 0 (setq osl (strlen (setq os (getstring t "\nOld text: ")))))
|
||||
(princ "No invalid Entry")
|
||||
)
|
||||
(setq nsl (strlen (setq ns (getstring t "\nNew text: "))))
|
||||
(setq l 0 n (sslength p))
|
||||
(while (< l n) ; Fuer jedes Objekt ...
|
||||
(if (= "TEXT" ; Suchen nach TEXT Elementen(Gruppe 0)
|
||||
(cdr (assoc 0 (setq e (entget (ssname p l))))))
|
||||
(progn
|
||||
(setq chf nil si 1)
|
||||
(setq s (cdr (setq as (assoc 1 e))))
|
||||
(while (= osl (setq sl (strlen
|
||||
(setq st (substr s si osl)))))
|
||||
(if (= st os)
|
||||
(progn
|
||||
(setq s (strcat (substr s 1 (1- si)) ns
|
||||
(substr s (+ si osl))))
|
||||
(setq chf t) ; Alten String finden
|
||||
(setq si (+ si nsl))
|
||||
)
|
||||
(setq si (1+ si))
|
||||
)
|
||||
)
|
||||
(if chf (progn ; Alten durch neuen String ersetzen
|
||||
(setq e (subst (cons 1 s) as e))
|
||||
(entmod e) ; TEXT Element modifizieren
|
||||
(setq chm (1+ chm))
|
||||
))
|
||||
)
|
||||
)
|
||||
(setq l (1+ l))
|
||||
)
|
||||
))
|
||||
(princ chm)
|
||||
(princ " Text-String(s) changed ") ; Anzahl der geaenderten Zeilen
|
||||
(terpri)
|
||||
(setq *error* olderr) ; alte Fehlerfunktion holen
|
||||
(princ)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user