Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Ausgabe während Befehlsablauf

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Ausgabe während Befehlsablauf (234 mal gelesen)
Bernhard GSD
Mitglied



Sehen Sie sich das Profil von Bernhard GSD an!   Senden Sie eine Private Message an Bernhard GSD  Schreiben Sie einen Gästebucheintrag für Bernhard GSD

Beiträge: 443
Registriert: 29.08.2002

AutoCAD 2019(Deu); Windows 10 PRO x64(Deu)

erstellt am: 05. Dez. 2019 10:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 19657
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 05. Dez. 2019 11:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernhard GSD 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Bernhard GSD an!   Senden Sie eine Private Message an Bernhard GSD  Schreiben Sie einen Gästebucheintrag für Bernhard GSD

Beiträge: 443
Registriert: 29.08.2002

AutoCAD 2019(Deu); Windows 10 PRO x64(Deu)

erstellt am: 05. Dez. 2019 12:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 19657
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 05. Dez. 2019 14:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernhard GSD 10 Unities + Antwort hilfreich

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
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 19657
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 05. Dez. 2019 14:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernhard GSD 10 Unities + Antwort hilfreich

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2020 CAD.de | Impressum | Datenschutz