ACM-2025-02-03

Jahrgang: 2025
Ausgabe: 02
Autor: Thomas Krüger
Programm: CMDLAYER.LSP
Funktionalität: befehlsabhängige Layerzuordnung
Format: LISP
Lauffähig ab: AutoCAD 2010
Befehle: CMDLAYER:INSTALL CMDLAYER:SETUP CMDLAYER:REMOVE
Bezug: Online


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

Automatisch richtig?

In einer AutoCAD-Zeichnung referenziert jedes Zeichnungsobjekt einen Layer, wodurch bestimmte Eigenschaften 
von Objekten zusammen gesteuert werden können. Wird zum Beispiel allen Schraffuren der gleiche Layer 
zugewiesen, kann man durch Ändern der Sichtbarkeitseigenschaft des Layers alle Schraffuren anzeigen oder 
ausblenden. Zu Gewährleistung der immer gleichen Zuordnung der gleichen Objekttypen zu einem gemeinsamen 
Layer kennt AutoCAD mittlerweile die Systemvariablen TEXTLAYER, DIMLAYER, HPLAYER, CENTERLAYER, PDFSHXLAYER 
und XREFLAYER mit denen sich Standardlayer für einige Objekttypen festlegen lassen. Universeller ist das 
in dieser ACM-Ausgabe vorgestellten Tool CMDLAYER.LSP, das dem Anwender eine befehlsabhängige, gut 
konfigurierbare automatische Layerverwaltungan die Hand gibt. Gleichzeitig kann das Programm für 
Interessierte als Anschauung für die Implementierung eines sogenannten Command-Reaktors angesehen werden.
Nach dem Laden und Starten des Tools mit dem Befehl CMDLAYER:INSTALL wird ein Command-Reaktor installiert, 
der auf sämtliche Zeichenbefehle reagiert und vor Objekterstellung auf den in einer Tabelle dem Befehl 
zugeordneten Layer wechselt. Nach Befehlsende oder Befehlsabbruch wird auf den vor dem Befehl aktiven 
Layer zurückgewechselt. Sollte der zugeordnete Objekt-Layer noch nicht in der Zeichnung vorhanden sein, wird 
dieser mit Standardeigenschaften angelegt. Die Layereigenschaftenlassen sich ja später mit dem Layer-Befehl 
anpassen. Der Befehl CMDLAYER:REMOVE schaltet die automatisierte Layerzuordnung wieder ab. 
Zur Konfiguration des Tools CMDLAYER ist der Befehl CMDLAYER:SETUP implementiert. Mit ihm wird die Liste der 
Zuordnungen zwischen Befehl und Layer bearbeitet. Diese Liste wird in der Textdatei CMDLAYER.INI abgelegt, 
die natürlich auch außerhalb von AutoCAD mit einem Editor wie Notepad.exe bearbeitet werden kann. Beim ersten 
Start des Tools auf dem Rechner, oder bei nicht Vorhandensein der Datei CMDLAYER.INI, wird diese Datei mit 
Standardvorgaben angelegt und die Setuproutine automatisch aufgerufen. Damit wird dem Anwender auch gleich 
die richtige Struktur für die Zuweisungen vorgegeben.
Der Konfiguration dienen auch die beiden Befehle CMDLAYER:INFO-ON und CMDLAYER:INFO-OFF, die den Infomodus 
ein- und ausschalten. Bei eingeschaltetem Infomodus werden der Befehlsname und der zugeordnete Layer in der 
Befehlszeile ausgegeben.
Um die automatische Layerverwaltung in jeder Zeichnung zur Verfügung zu haben, ist ein automatisches Laden 
und Starten in der ACADDOC.LSP sinnvoll.