ACM-2023-05-02

Jahrgang: 2023
Ausgabe: 05
Autor: Markus Hoffmann
Programm: ACMZLEVELOFPOINT2MTEXT.LSP
Funktionalität: Z-Koordinaten von Punkten mit Schriftfeld beschriften
Format: LISP
Lauffähig ab: AutoCAD 2020
Befehle: ZLOP2T
Bezug: Online


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

Da ist die Höhe

Punkte mit ihrer Koordinate zu beschriften ist eine relativ triviale Aufgabe. Umso ärgerlicher, wenn diese 
Aufgabe zu Fuß, oder besser gesagt von Hand zu erledigen ist.
Das Programm ACMZLEVELOFPOINT2MTEXT.LSP will helfen, dies zu automatisieren, indem es den ausgewählten 
Punktobjekten ein Schriftfeld zur Seite stellt, das als Beispiel die Z-Koordinate der Punkte anzeigt.
Die Anwendung ist denkbar einfach: Zunächst fordert das Programm dazu auf, Punktobjekte zu wählen. Hier 
kann man einzelne Punkte, Auswahlbereiche oder alle Punkte durch Eingabe von „A“ wählen. Anschließend 
durchsucht es alle in der geöffneten DWG vorhandenen MText-Objekte nach Schriftfeldern, die die gewählten 
Punktobjekte bereits auf gleiche Weise referenzieren und löscht sie gegebenenfalls, um mögliche redundante 
Texte zu vermeiden.
Schließlich erstellt das Programm an allen ausgewählten Punktobjekten einen MText mit einem Schriftfeld, 
das die Z-Koordinate des entsprechenden Punkts angibt. Die Eigenschaften dieses MTexts entsprechen den 
aktuell eingestellten Eigenschaften für Stil, Layer, Farbe usw. – lediglich der Ausrichtungspunkt der 
MTextobjekte wird im Tool verändert.
Warum aber ein Schriftfeld und nicht einfach ein Text mit einer Zahl? Na ja: Ändert sich die Lage der 
beschrifteten Punkte, ändert sich spätestens nach dem Regenerieren auch der im Schriftfeld angezeigte Text, 
da Schriftfelder die Eigenschaften der verknüpften Objekte referenzieren. Eine Neuerstellung oder händische 
Änderung ist also nicht notwendig.
Eine wichtige Sub-Routine des LISP-Tools ist die Funktion, die die ObjectID eines Objekts ausliest. Die 
Funktion funktioniert sowohl in 32- als auch 64-Bit-Umgebungen und stellt die Kernkomponente für das 
Auffinden von Schriftfeldern in Textobjekten dar. Die mit dieser Funktion gewonnene ObjectID wird im 
Code von verbundenen Schriftfeldern verwendet und ist nicht gleichzusetzen mit dem Element Handle, das 
im DXF-Gruppencode 5 von Elementen notiert ist. Weitere Bestandteile und Formatierungen von Schriftfeldern 
lassen sich leicht durch Beobachten des Schriftfeldausdrucks im Dialogfeld des Befehls SCHRIFTFELD 
analysieren.