Nicht zu breit!
ACM-AUTOATTSFIT.LSP
Texte in AutoCAD lassen sich unterschiedlich ausrichten. So steht neben den Positionen „links unten“, „zentriert“usw. auch die Option „eingepasst“bereit. Dabei wird eine feste Strecke vorgegeben, an deren beiden Endpunkten der Textanfangs- sowie der Textendpunkt fixiert werden. Ein Textinhalt, der eine größere Textlänge zur Folge hat, sorgt also dafür, dass die Zeichen schmaler werden und enger zusammenrücken, während ein kurzer Textinhalt in einer Dehnung der Zeichen resultiert.
Da Texte relativ statisch in der Zeichnung verwendet werden, man bei der Erstellung also schon Textinhalt und Textlänge kennt, und diese manuell über den Breitenfaktor steuern kann, hat der unschöne Effekt des Textdehnens hier keine große Relevanz. Anders ist das bei Attributen, da sie an Blockreferenzen gebundene Textobjekte sind. Die Attributsinhalte werden meist abweichend von den in der Attributsdefinition im Blockcontainer festgelegten Vorgaben modifiziert. Bei Attributen in Zeichnungsköpfen können dabei bei langen Bezeichnungen Rahmenlinen überschrieben werden. Hier wünscht man sich eine zusätzliche Ausrichteoption „maximale Breite“für das Attribut.
AutoCAD Mechanical bringt diese Option etwa für seine Title-Blöcke/-Zeichnungsschriftfelder mit. Die maximale Attributbreite wird dabei durch einen am Ende der Attributsbezeichnung in geschweiften Klammern {} angegeben Zahlenwert definiert. Er stellt den Quotient zwischen maximaler Breite und Attributtexthöhe dar. Ein Attribut für die Zeichnungsnummer im Schriftfeldblock soll bei einer unskalierten Referenz eine Texthöhe von fünf haben und maximal 90 Einheiten breit sein: ein Beispiel für die Attributsbezeichnung wäre dann: ZEICHNUNGSNUMMER{18}. Man greift auf den Quotienten zurück, weil sich beim Skalieren der Blockreferenz sowohl der verfügbare Platz als auch die Texthöhe in der Regel im gleichen Verhältnis ändern.
ACM-AUTOATTSFIT.LSP stellt diese Funktionen auch für das einfache AutoCAD bereit und umfasst dafür drei Befehle: ATTFIT, ATTSFIT und AUTOATTSFIT. ATTFIT erwartet vom Anwender die manuelle Auswahl eines Attributs. Ist bei diesem in der Bezeichnung eine maximale Breite hinterlegt und überschreitet es diese, wird es durch die entsprechende Anpassung des Breitenfaktors auf die maximale Breite gestaucht. Würde die maximale Breite jedoch mit dem in der
Attributdefinition vorgegebenen Breitenfaktor nicht erreicht, wird dieser Faktor gesetzt. Der Befehl ATTSFIT erlaubt die Anpassung für alle entsprechend definierten Attribute einer zu wählenden Blockreferenz. Beim Befehl AUTOATTSFIT wird der Anwender aufgefordert, Blockreferenzen zu wählen, bei denen diese Einpassung automatisch erfolgen soll. Für diese wird ein so genannter Objektreaktor installiert, der Attributänderungen überwacht und Einpassungen entsprechend vornimmt. Über einen Command-Reaktor wäre eine Änderungsüberwachung auch möglich, aber dieser versagt bei Attributänderungen über das Eigenschaftsfenster oder per Programm. Das Tool sollte in der ACADDOC.LSP geladen werden. Die Referenzauswahl für AUTOATTSFIT lässt sich auch als Funktionsaufruf mit zu übergebenen Blocknamen realisieren.
( Thomas Krüger/ ra) ■
Programm: ACM-AUTOATTSFIT.LSP
Funktion: automatische Anpassung der Attributbreite auf einen vorgegebenen maximalen Wert
Autor: Thomas Krüger
Lauffähig ab: AutoCAD 2008
Bezug: nur auf Tool-CD 2/2021