| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Ausgabe während Befehlsablauf (880 / mal gelesen)
|
Bernhard GSD Mitglied
  
 Beiträge: 506 Registriert: 29.08.2002 AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)
|
erstellt am: 05. Dez. 2019 10:57 <-- editieren / zitieren --> Unities abgeben:         
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 |
cadffm Moderator 良い精神
       

 Beiträge: 22497 Registriert: 03.06.2002 Alles
|
erstellt am: 05. Dez. 2019 11:12 <-- editieren / zitieren --> Unities abgeben:          Nur für Bernhard GSD
Das geht nicht mit der Option "alle", du mußt purge mit der jeweiligen options durchführen. Für diejenigen bei denen Abfragen kommen(können) also so in der Art: (foreach DEF '("_LAYER" "_BLOCK") (WHILE (> n 0) (SETQ n 0) (SETQ z (1+ z)) (COMMAND "_PURGE" DEF "*" "_Y") (PRINC) (WHILE (= "PURGE" (GETVAR "CMDNAMES")) (COMMAND "_Y") (PROMPT ".") (PRINC) (SETQ n (1+ n)) ) (PROMPT "\n") (PRINC) (SETQ m (+ m n)) ) ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernhard GSD Mitglied
  
 Beiträge: 506 Registriert: 29.08.2002 AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)
|
erstellt am: 05. Dez. 2019 12:59 <-- editieren / zitieren --> Unities abgeben:         
Danke, ist mal ein Ansatz. Wobei das mit den Punkten klappt mal - und mal nicht (sie kommen erst am Schluss...) Und ein Keine unreferenzierten Blöcke gefunden. kommt am Schluss trotzdem ... ------------------ Gruß aus Wien Bernhard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 22497 Registriert: 03.06.2002 Alles
|
erstellt am: 05. Dez. 2019 14:30 <-- editieren / zitieren --> Unities abgeben:          Nur für Bernhard GSD
Sorry wenn das so ist. Dann bleibt wohl nicht mehr viel Luft zum testen und man muß sich sein eigene PURGE Funktion bauen. Einzig was du testen kannst (ungetestet), Blocknamen für Blockname durchgehen.. Ich habe das jetzt nicht getestet, aber was ich meine ist eine Schleife die folge (command Anweisung durchführt: (command "_purge" "_block" meinblockname usw. Aber wenn du eh die Blocknamen durchgehen muß, dann kannst du auch gleich den Block löschen oder Purge, vla-delete und schon sind wir bei einer eigenen Purge Funktion. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
cadffm Moderator 良い精神
       

 Beiträge: 22497 Registriert: 03.06.2002 Alles
|
erstellt am: 05. Dez. 2019 14:35 <-- editieren / zitieren --> Unities abgeben:          Nur für Bernhard GSD
Zitat: Original erstellt von Bernhard GSD: Wobei das mit den Punkten klappt mal - und mal nicht (sie kommen erst am Schluss...)
Das ist ein eigenes Thema! Auch dazu würde man im Forum etwas finden, ob das dann schneller ist wie selbst eine Lösung zu ermitteln kann ich nicht abschätzen. Ein Scheixxthema.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |