Externe Referenzen wiederverwenden ACMIMPORTXREFS.LSP
Ein strukturierter Aufbau der DWGs eines Projekts unterstützt eine schnelle und nachvollziehbare Planerzeugung. Wiederverwendbarkeit von Bestandteilen spielt generell eine Schlüsselrolle bei CAD-Anwendungen. Datensparsamkeit im Sinne der Verwendung ausschließlich notwendiger Objekte sorgt für die nötige Geschwindigkeit. Externe Referenzen sind daher ein geeignetes Mittel, wie Konstrukteure schnell und zuverlässig zu Ergebnissen kommen können. Sie werden ähnlich wie Blöcke einmal erzeugt und beliebig oft in verschiedensten Zeichnungsdateien und sogar unterschiedlichen Darstellungen wiederverwendet.
Wer tief in der Projektarbeit steckt, weiß relativ genau, wo man welche externe Referenz schon verwendet hat. Ebenso, dass Einfügepunkt und Skalierung der XRefs in anderen Zeichnungsdateien passen und häufig ist es so, dass genau diese genau so wiederverwendet werden sollen. Die hier vorgestellte AutoLISPProgrammierung ACMIMPORTXREFS.LSP unterstützt dieses Wiederverwenden externer Referenzen. Das Tool erfragt nach seinem Start über einen DateiwahlDialog die Datei, aus der man externe Referenzen übernehmen will. Anschließend analysiert es die ausgewählte Datei und bietet in einer Auswahlbox eine Liste der dort vorhandenen externen Referenzen an, aus der man eine oder mehrere externe Referenzen wählen kann.
Das Tool hängt nun die gewählten XRefs in der aktuellen Zeichnungsdatei an mit gleichem Einfügepunkt, Skalierung und Drehwinkel. Auch Pfad und Referenztyp ( zugeordnet oder überlagert) werden übernommen.
XRefs, die im Modellbereich der Quelldatei eingefügt sind, werden natürlich in der aktuellen Datei ebenfalls im Modellbereich eingefügt. XRefs, die in einem der Layouts in der Quelldatei eingefügt sind, fügt das Tool dagegen im aktuellen Bereich ein, da die Layouts sehr unterschiedlich und möglicherweise gar nicht vorhanden sein könnten.
Wie immer gilt: Die benötigten Dialoge sind entweder Bestandteil von AutoLISP selbst oder die notwendigen Dialogfelddateien werden zur Laufzeit des Programms erzeugt und danach automatisch gelöscht.