AutoLISP bearbeitet Objekte "recht dumm", wenn man in inem Arbeitsschritt (NUR) den Namen eines Blockes ändern würde,
dann hätte dieser keine Blockreferenzen(nicht so schlimm).
Andernsseits würde zu allen Blockreferenzen des Blockes plötzlich die Blockdefinition fehlen
Block ALT
100 Blockreferenzen referenzieren den Block ALT
Name ändern von ALT in NEU
Block ALT
100 Blockreferenzen referenzieren den NICHT MEHR VORHANDENEN Block ALT
*ERROR*FEHLER*
Daher geht das nicht.
In AutoLisp wäre der Weg: Eine Kopie des Blockes mit neuem Namen erstellen, alle Blockreferenzen
auf den neuen Block umleiten (GC2 der INSERTs), alten Block löschen.
Das ist aber nicht nötig:
Nutze etwas neuere Technik des VisualLisp, so wie hier:
http://forum.cad.de/foren/ubb/Forum54/HTML/033211.shtml#000011
Acad benennt den Block und die Referenzen in einem Rutsch um (wie gewünscht),
BefehlszeilenBeispiel:
(vla-put-Name(vla-item (vla-get-Blocks(vla-get-activeDocument(vlax-get-Acad-Object))) (cdr(assoc 2 (entget(car(entsel)))))) "NeuerName")
------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP