Hallo!
Ich würde gerne die Ausgabe des folgenden Befehls optimieren:
1.) Keine unreferenzierten ***** gefunden. > Soll unterdrückt werden. Das passiert ja auch, wenn BEREINIG innerhalb von ETRANSMIT ausgeführt wird.
2.) Jede Löschung soll mit einem . quittiert werden, um zu sehen, dass das Programm läuft.
3.) Nach jeder Runde sollen die Punkte in einer neuen Zeile starten.
Code:
(DEFUN c:cl (/ tilemodealt clayeralt)
(PROMPT "CL CleanUp 2019 [05.12.2029]")
(PRINC)
(COMMAND "_AUDIT" "_YES")
(SETQ tilemodealt (GETVAR "TILEMODE"))
(SETQ clayeralt (GETVAR "CLAYER"))
(SETVAR "CLAYER" "0")
(SETVAR "tilemode" 1)
(SETQ n 1)
(SETQ m 0)
(SETQ z 0)
(WHILE (> n 0)
(SETQ n 0)
(SETQ z (1+ z))
(COMMAND "_PURGE" "_all" "*" "_Y")
(PRINC)
(WHILE (= "PURGE" (GETVAR "CMDNAMES")) (COMMAND "_Y")(PROMPT ".")(PRINC)(SETQ n (1+ n)) )(PROMPT "\n")(PRINC)
(SETQ m (+ m n))
)
(PROGN (nl) (PRINC m) (PRINC " Objekte in ") (PRINC z) (PRINC " Durchgängen bereinigt!"))
(IF (TBLSEARCH "LAYER" clayeralt)
(SETVAR "CLAYER" clayeralt))
(PRINC))
Interessant an dem Programm: Es wird auch der aktuelle Layer bereinigt, wenn er leer ist. Dazu wird während des BEREINIG-Ablaufs auf den Layer 0 gewechselt.
Am Ende wird ausgegeben, wie viel gearbeitet wurde.
------------------
Gruß aus Wien
Bernhard
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP