RezepteZählen und messen
Wie liste ich alle Layer einer AutoCAD-Zeichnung mit der Anzahl der Objekte darauf?
Tippen Sie „Liste jeden Layer mit der Anzahl der Objekte darauf“. cadssistant liest die Layertabelle, zählt in einem AutoLISP-Durchgang jedes Element der Zeichnung nach seinem Layer und antwortet mit einer Tabelle aus Layer und Anzahl, leere Layer eingeschlossen; Farbe und Zustand (ein, aus, gefroren) gibt es auf Nachfrage als zusätzliche Spalten. Nichts wird verändert. Von dort aus führt „lösche die leeren“ PURGE genau für diese Layer aus.
Geprüft am 2026-11-01
Liste jeden Layer mit der Anzahl der Objekte darauf
Fügen Sie den Satz in die Palette ein, oder wählen Sie ihn aus den Rezepten im Chat.
Was cadssistant tut
- Geht die Layertabelle mit tblnext durch, damit jeder Layer aufgeführt wird, auch die leeren.
- Wählt jedes Element mit (ssget "_X") aus und zählt sie im selben Durchgang nach Layer.
- Antwortet mit einer Tabelle: Layer und Objekte (Farbe und Zustand auf Wunsch). Layer mit null Objekten stehen auch drin; das ist die Liste, die PURGE entfernen würde.
Dieselbe Aufgabe in AutoLISP
(progn
(setq ss (ssget "_X") i 0 tally nil)
(if ss
(repeat (sslength ss)
(setq lay (cdr (assoc 8 (entget (ssname ss i)))) i (1+ i))
(setq tally
(if (assoc lay tally)
(subst (cons lay (1+ (cdr (assoc lay tally)))) (assoc lay tally) tally)
(cons (cons lay 1) tally)))))
(setq def (tblnext "LAYER" T))
(while def
(if (not (assoc (cdr (assoc 2 def)) tally))
(setq tally (cons (cons (cdr (assoc 2 def)) 0) tally)))
(setq def (tblnext "LAYER")))
tally)Zählt Elemente nach Layer und ergänzt dann die Layer, auf denen nichts liegt, mit 0.
Gut zu wissen
- Elemente innerhalb von Blockdefinitionen werden nicht gezählt: Ein Layer, der nur in einem Block verwendet wird, zeigt hier 0, PURGE weigert sich aber trotzdem, ihn zu entfernen.
- Sagen Sie „nur Modellbereich“, dann kommt (410 . "Model") in den Filter und die Layouts bleiben außen vor.
Mehr aus „Zählen und messen“
Befehl: CADSSISTANT
Läuft in AutoCAD 2024 und neuer unter Windows. Kostenlos testen, ohne Karte, ohne API-Schlüssel.
cadssistant holen