Bitte wähle einen REQUEST-Befehl aus.

Syntax
REQUEST ("HEIGHT_OF_STYLE", name, schrifthöhe [, unterlänge, zeilenabstand])

Aufklappen Wertebereiche
name = Name des Schriftstils, Typ Text
schrifthöhe = Schrifthöhe, Typ Real
unterlänge = Höhe Unterlängenlinie, Typ Real (ab ArchiCAD 8.0)
zeilenabstand = Gesamthöhe Schrift, Typ Real (ab ArchiCAD 8.0)

Aufklappen Erläuterung
Gibt die Höhe eines mit DEFINE STYLE definierten Schriftstils in Millimetern an die Variable schrifthöhe zurück.
Ab ArchiCAD 8.0 kann mit dieser Funktion optional die Höhe der Unterlänge (Abstand in Millimetern von der Text-Grundlinie bis zur Unterlängenlinie) und der Zeilenabstand (Abstand in Millimetern von der Unterlängenlinie bis zur Einsetzhöhe des Textes) abgefragt werden. Die Oberlängenhöhe kann aus diesen Werten errechnet werden. Siehe Abbildung.

Der Rückgabewert der Funktion ist wieder die Anzahl der übergebenen Werte. Ist der Schriftstil nicht definiert, ist das Funktionsergebnis 0.

Die Höhen in Abhängigkeit des eingestellten Maßstabes in Meter errechnen sich aus
RealeHöhe = Höhe / 1000 * GLOB_SCALE

Aufklappen Besonderheiten
Gute Schriften halten sich nicht exakt an die im Schriftschnitt des Zeichensatz angegebenen Höhenlinien, da Buchstaben sonst leicht zu klein oder zu groß wirken. Daher kann die exakte Abmessung eines Buchstabens nicht bestimmt werden. Aber mit diesen Informationen kommt man dem eigentlichen Textblock doch sehr nahe.

Aufklappen Tipps und Tricks
Verschiebungen in Y-Richtung um den Text direkt an der aktuellen Position, ohne Zeilenabstände unten/oben und Unterlängen einzusetzen:

! Textposition
anker=5
! Zeichenhöhe in mm und Name
zh=2.5 : name="zentrierterText"

! Schrift definieren
DEFINE STYLE name "Arial",zh,anker,0
STYLE name

! Schriftschnitt abfragen
query=REQUEST ("HEIGHT_OF_STYLE", name, sh, ul, za)

IF anker>6 THEN
! Verschiebung für Ankerpunkte 7-8-9
ty=-(ul+za)/10
else
IF anker<4 THEN
! Verschiebung für Ankerpunkte 1-2-3
ty=(sh-zh-ul-za)/10
else
! Verschiebung für Ankerpunkte 4-5-6
ty=(sh/2-ul-za-zh/2)/10
endif
endif

! Maßstab ignorieren:
ty=ty*GLOB_SCALE/100

! Ausgabe
TEXT2 0,ty,"TEXTMITTE"

Aufklappen ArchiCAD
ab 5.0