ACM-2023-02-02

Jahrgang: 2023
Ausgabe: 02
Autor: Markus Hoffmann
Programm: ACMMATCHVPLAYERSETTINGS.LSP
Funktionalität: Layerstatus auf Ansichtsfenster anderer Layouts übertragen
Format: LISP
Lauffähig ab: AutoCAD 2020
Befehle: ACMMATCHVPLAYERSETTINGS
Bezug: Online


Beschreibung
============

Layoutübergreifender Layerstatus

Manche nutzen den Layerstatusmanager, manche eben nicht. Das mag mit seiner unprominenten Platzierung 
innerhalb des Layermanagers oder aber mit seiner wechselhaften Historie zu tun haben. War der Layerstatusmanager 
doch ursprünglich Teil der Expresstools, dementsprechend nur einem Teil der Anwenderschaft zugänglich sowie auf 
Englisch dokumentiert. Als er dann eines Tages in den regulären Befehlssatz von AutoCAD übernommen wurde, änderte 
sich seine Funktionalität und ein gespeicherter Layerstatus war ab diesem Moment nicht mehr kompatibel zwischen 
dem Vorgänger in den Expresstools und dem nun regulären Befehl.
Seitdem wurde er mehrfach weiterentwickelt und hielt Schritt mit der Erweiterung von Eigenschaftssätzen in 
Layoutansichtsfenstern, die sich nun von den Eigenschaften in Modell oder Layout unterscheiden dürfen (die so 
genannten Ansichtsfensterüberschreibungen). Und irgendwann wurden AutoLISP-Funktionen bereitgestellt, die eine 
Layerstatus-Steuerung „unter der Motorhaube“ per Skript oder Programm erleichtern sollten. Leider hinken diese 
Funktionen und ihre Dokumentation etwas hinterher und so kann die Funktion „layerstate-save“ mittlerweile mit ein 
paar undokumentierten Optionen aufwarten, die zu betrachten sich sehr lohnt, vollständig und dokumentiert sind 
sie aber nicht. Dazu gleich mehr.
Das hier vorgestellte Programm ACMMATCHVPLAYERSETTINGS.LSP schließt eine Lücke im Befehl „Eigenschaften übertragen“. 
Der Layerstatus lässt sich regulär zwar zwischen Ansichtsfenstern eines Layouts übertragen, nicht aber auf 
Ansichtsfenster anderer Layouts. Das Tool stellt diese Möglichkeit nun zur Verfügung. Zunächst wird zur Wahl des 
Ansichtsfensters aufgefordert, dessen Überschreibungen auf ein anderes Fenster angewendet werden soll. Das Tool 
erstellt nun im Hintergrund einen temporären Layerstatus und bittet durch ein Dialogfeld um die Angabe eines Layouts. 
Anschließend wird automatisch zum ausgewählten Layout gewechselt und man wird dazu aufgefordert, ein Ansichtsfenster 
zu wählen, auf das die Überschreibungen mithilfe des temporären Layerstatus übertragen werden sollen.
Mit der AutoLISP-Funktion „layerstate-save“ werden laut Dokumentation acht Layereigenschaften gespeichert. Faktisch 
sind es inklusive der undokumentierten Optionen derzeit jedoch (Stand Version 2022) bis zu elf Eigenschaften – siehe 
dazu die „mask-Werte“ in der Dokumentation. Insgesamt sollten es irgendwann einmal 12 werden, die sich auch im 
Dialogfeld des Layerstatusmanagers regulär speichern lassen. 