Mal aufräumen
ACM-XREFCLEANER.LSP
An der Planung eines größeren Projekts sind meist verschiedene Gewerke beteiligt, die alle eigene Zeichnungen nutzen und die zur Abstimmung untereinander zusammengeführt werden müssen. Dafür bieten sich in AutoCAD die XRefs an. Hierbei werden die Modellbereiche der verknüpften, so genannten Tochterzeichnungen in der Mutterzeichnung als spezieller – nicht editierbarer Block – eingefügt. Bei jedem Öffnen der Mutter zeichnung werden die Tochterzeichnungen neu geladen und somit die Darstellung immer aktualisiert.
Nach Abschluss der Planung ist es für die Archivierung jedoch oft günstig, die verschiedenen Zeichnungen in einer Datei zusammenzuführen. Dafür stellt AutoCAD die XRef-Befehle BINDEN und EINFÜGEN bereit.
Der Befehl BINDEN bindet die ausgewählte DWG-Referenz an die aktuelle Zeichnung. Die Syntax XRef-abhängiger benannter Objekte ändert sich von Blockname|Definitionsname zu Blockname$n$Definitionsname. Auf diese Weise werden eindeutig benannte Objekte für alle XRef-abhängigen Definitionstabellen erstellt, die an die aktuelle Zeichnung gebunden sind.
EINFÜGEN dagegen ersetzt das XRef durch einen, wie mit dem Befehl „_INSERT“, aus einer DWG erzeugten Block, wobei Block-, Layer- oder StilNamen nicht hochgezählt werden, wenn ein lokales benanntes Objekt den gleichen Namen hat. In dem Fall werden die schon in der Zeichnung vorhandenen Objekte verwendet. Dabei können jedoch Informationen und Eigenschaften „verloren“gehen. Beide Befehle haben in Abhängigkeit von der Zeichnungsstruktur ihre Berechtigung.
Das LISP-Tool ACM-XREFCLEANER.LSP dient zur nachträglichen Überführung der durch BINDEN von XRefs entstandenen Blöcke, Layer, Linientypen, Textund Bemaßungsstile in eventuell schon lokal vorhandene. Dabei werden die Objekte in der Zeichnung durchlaufen und Objekte, deren Namen der Vorgabe Blockname$n$Definitionsname entspricht, entsprechend konvertiert. Tabellenstile, in Tabellen verknüpfte Textstile usw. sind bisher noch ausgenommen. Eine Überprüfung auf Gleichheit der Eigenschaften findet bisher auch nicht statt.