RezepteZeichnen und anordnen
Wie nummeriere ich Blockattribute (Tür- oder Raumnummern) in AutoCAD automatisch der Reihe nach neu?
Tippen Sie „Nummeriere die DOOR-TAG-Blöcke von links nach rechts und oben nach unten neu, beginnend mit D01“. cadssistant liest jede DOOR-TAG-Referenz und ihr Attribut NUMBER, sortiert die Referenzen nach Zeile und dann nach X, schreibt die neuen Werte in einem AutoLISP-Durchgang in die Attribute, regeneriert und antwortet mit einer Tabelle aus Handle, alter und neuer Nummer. Zurücksetzen im Chat stellt die alten Nummern wieder her.
Geprüft am 2026-11-01
Nummeriere die DOOR-TAG-Blöcke von links nach rechts und oben nach unten neu, beginnend mit D01
Was cadssistant tut
- Wählt die DOOR-TAG-Referenzen mit Attributen aus ((66 . 1) im Filter) und liest von jeder den Einfügepunkt und das Attribut NUMBER.
- Sortiert nach Y absteigend (Zeilen), dann nach X aufsteigend innerhalb einer Zeile, mit einer Zeilentoleranz (das Beispiel unten nimmt 50 Einheiten; nennen Sie den Abstand der Schilder, wenn die Zeilen eng liegen).
- Schreibt D01, D02 … in einem AutoLISP-Durchgang in das Attribut NUMBER jeder Referenz; ein REGEN oder entupd zeigt die neuen Werte, falls der Bildschirm nicht von selbst nachzieht.
- Antwortet mit Handle, alt und neu als Tabelle, damit eine falsche Zeilenreihenfolge sofort auffällt und sich zurücksetzen lässt.
Dieselbe Aufgabe in AutoLISP
(progn
(vl-load-com)
(setq ss (ssget "_X" '((0 . "INSERT") (2 . "DOOR-TAG") (66 . 1))) i 0 lst nil n 1)
(if ss
(repeat (sslength ss)
(setq e (ssname ss i) i (1+ i))
(setq lst (cons (cons e (cdr (assoc 10 (entget e)))) lst))))
(setq lst (vl-sort lst '(lambda (a b)
(if (equal (caddr a) (caddr b) 50.0) (< (cadr a) (cadr b)) (> (caddr a) (caddr b))))))
(foreach item lst
(setq att (entnext (car item)))
(while (and att (= (cdr (assoc 0 (entget att))) "ATTRIB"))
(if (= (cdr (assoc 2 (entget att))) "NUMBER")
(entmod (subst (cons 1 (strcat "D" (if (< n 10) "0" "") (itoa n)))
(assoc 1 (entget att)) (entget att))))
(setq att (entnext att)))
(entupd (car item))
(setq n (1+ n)))
(1- n))Schilder, deren Y innerhalb von 50 Einheiten liegt, zählen als eine Zeile; passen Sie 50.0 an den Plan an. Liefert, wie viele neu nummeriert wurden.
Gut zu wissen
- „Leserichtung“ heißt Zeilen von oben; sagen Sie „im Uhrzeigersinn ab dem Eingang“ oder „nach Raumnummer“, dann ändert sich die Sortierung entsprechend.
Mehr aus „Zeichnen und anordnen“
- Wie fülle ich eine geschlossene Form in AutoCAD mit einem Raster aus Kreisen?
- Wie ordne ich ein ausgewähltes Objekt in AutoCAD als Raster an, indem ich einfach sage, was ich will?
- Wie schraffiere ich eine ausgewählte Fläche in AutoCAD mit einem Muster per Satz?
- Wie zeichne ich Bohrungen auf einem Lochkreis (Teilkreis) in AutoCAD?
Befehl: CADSSISTANT
Läuft in AutoCAD 2024 und neuer unter Windows. Kostenlos testen, ohne Karte, ohne API-Schlüssel.
cadssistant holen