RezepteMassenbearbeitung
Wie ersetze ich in AutoCAD einen Block in der ganzen Zeichnung durch einen anderen?
Tippen Sie „Ersetze jeden Block CHAIR-OLD durch CHAIR-NEW, Position, Drehung und Skalierung beibehalten“. Wenn CHAIR-NEW in der Zeichnung schon definiert ist, schreibt cadssistant in einem AutoLISP-Durchgang den Blocknamen auf jeder CHAIR-OLD-Referenz um, sodass jede ihren Einfügepunkt, ihre Drehung, Skalierung und ihren Layer behält, regeneriert dann und meldet die Anzahl. Ist CHAIR-NEW noch nicht in der Zeichnung, sagt es das und fragt, woher es ihn einfügen soll. Zurücksetzen im Chat tauscht sie zurück.
Geprüft am 2026-11-01
Ersetze jeden Block CHAIR-OLD durch CHAIR-NEW, Position, Drehung und Skalierung beibehalten
Was cadssistant tut
- Prüft die Blocktabelle: Beide Namen müssen existieren. Fehlt der neue, fragt es, woher es ihn einfügen soll, oder Sie fügen zuerst eine Kopie ein.
- Wählt jedes INSERT namens CHAIR-OLD aus und schreibt den Blocknamen in einem AutoLISP-Durchgang auf CHAIR-NEW um, wodurch jede andere Eigenschaft der Referenz erhalten bleibt.
- Antwortet mit der Anzahl. Sagen Sie danach „bereinige CHAIR-OLD“, um die alte Definition zu entfernen, sobald nichts mehr darauf verweist.
Dieselbe Aufgabe in AutoLISP
(progn
(setq ss (ssget "_X" '((0 . "INSERT") (2 . "CHAIR-OLD"))) i 0)
(if ss
(repeat (sslength ss)
(setq ed (entget (ssname ss i)) i (1+ i))
(entmod (subst (cons 2 "CHAIR-NEW") (assoc 2 ed) ed))))
(if ss (sslength ss) 0))CHAIR-NEW muss in der Zeichnung schon definiert sein. Attribute bleiben, wie sie waren; ein neuer Block mit anderen Attributnamen braucht danach ATTSYNC.
Gut zu wissen
- Die Basispunkte der beiden Blöcke müssen übereinstimmen, sonst verschiebt sich jede Kopie um die Differenz. Sagen Sie „prüf die Basispunkte“, dann vergleicht es die beiden Definitionen vor dem Tausch.
Mehr aus „Massenbearbeitung“
Befehl: CADSSISTANT
Läuft in AutoCAD 2024 und neuer unter Windows. Kostenlos testen, ohne Karte, ohne API-Schlüssel.
cadssistant holen