coord-transf.2d elements3d elementsnon geo scriptsfunctionscontrol statem.attributesvariousaddons
generallinesfillsmaterialstextextended
STYLE DEFINE STYLE DEFINE STYLE{2} PARAGRAPH TEXTBLOCK
Name
TEXTBLOCK
Syntax
TEXTBLOCKname width, anchor, angle, char_width, charspacing, scale_relation, paragraph1 [..., paragraphn]
Aufklappen Range
name, Typ text
width, Typ real
0 < anchor < 10, Typ integer
angle, Typ real
char_width, Typ real
charspacing, Typ real
scale_relation, Typ binär
paragraphi, Typ text
Aufklappen Description
Fügt aus einem oder mehreren Absätzen (PARAGRAPH) einen Textblock zusammen. Dieser wird mit diesem Befehl nicht dargestellt, sondern erst mit dem nachfolgenden Befehl RICHTEXT2 oder RICHTEXT.

Der Textblock muss für die spätere Referenz darauf einen eindeutigen Namen (name) erhalten.

Die Maximalbreite wird mit width festgelegt. Ob das Maß absolut in mm auf dem Papier oder maßstäblich (Meter) interpretiert wird, hängt von scale_relation ab:
scale_relation=0: absolut
scale_relation=1: maßstäblich.
Siehe auch REQUEST ("TEXTBLOCK_INFO", ...) zum Abruf der tatsächlichen Abmessungen.
Diese Deklaration wirkt sich nicht nur auf width aus, sondern auch auf die Interpretation der übrigen Maßangaben in den Befehlen DEFINE STYLE{2} und PARAGRAPH, mit denen die hier zusammengefassten Absätze erzeugt wurden. Da Absätze und Textblöcke mehrfach verwendet werden können, wird auch für jede Ausgabe separat die Einstellung von scale_relation angewendet.

anchor gibt die Ausdehnungsrichtung an. Siehe Abbildung.

angle neigt den kompletten Block um den Ankerpunkt.

Über den kompletten Textblock hinweg kann nun global die Zeichenbreite und die Laufweite festgelegt werden. Die Parameter char_width und charspacing sind Faktoren und keine absoluten Werte. Der Wert 1 belässt die Schriftart bei ihren Proportionen wie im Zeichensatz definiert.

Die durch Kommata voneinander getrennten Absatztexte (paragraphi) können Klartexte, Ergebnisse von String-Operationen, Variablen und Parameter oder Referenzen auf mit PARAGRAPH definierte Absätze sein. Die Zusammenstellung kann auch aus gemischten "Quellen" bestehen.
Aufklappen Example
PARAGRAPH "Kopf" 1,
  25, 5, 0, 1.5,
  50
  "RAUM\tFLÄCHE"
  ENDPARAGRAPH

bezug = 0
TEXTBLOCK "Ausgabe" 90, 1, 0,
  1, 1, bezug,
  "Kopf","Und dies ist ein freier Text"

RICHTEXT2 0,0, "Ausgabe"


Ein ausführliches Beispiel findet sich unter RICHTEXT2.
Aufklappen Specialities
Blocksatz i.V.m. Tabulatoren scheint Probleme zu Verursachen. So kommt es vor, dass der Text aus seiner definierten Breite ausbricht oder diese gar verbreitert. Auch die Positionierung des Textes an den erwarteten Tabulatorpositionen scheint dann verschoben. In ArchiCAD® 10 ist zumindest letzteres Phänomen behoben.
Aufklappen Context
2D-Skript, 3D-Skript
Aufklappen ArchiCAD®
since 9.0
Aufklappen Tips and Tricks
In dem Text sind einige Formatierungszeichen erlaubt. Sie werden auf die maximale Textlänge von 255 Zeichen pro Programmzeile angerechnet. Sonst gibt es keine Längenbeschränkung.

"\n" : Neue Zeile/Zeilenumbruch
"\t" : Tabulator
"\\" : "\" (Backslash)
Aufklappen References
GDL-Handbuch 9.0 (DE) p. 179
GDL-Handbuch 10.0 (DE) p. 177
GDL-Handbuch 11.0 (DE) p. 183
GDL Reference Guide 9.0 (INT) p. 174
GDL Reference Guide 10.0 (INT) p. 176
GDL Reference Guide 11.0 (INT) p. 176
 





Abb.1: Das Zusammenspiel der Parameter von PARAGRAPH (1-6), TEXTBLOCK (7-10) und REQUEST ("TEXTBLOCK_INFO", ...) (14-15).

1: einzug1
2: einzug_links
3: einzug_rechts
4: zeilenabstand
5: tabulator1
6: tabulator2

7: breite (nominal)
8: anker
9: Breite der Zeichen = C*zeichenbreite
10: Abstand der Zeichen = C*zeichenabstand
11: Zeichenbreite (C) nach Zeichensatzdefinition (systemdedingt).
12: zeichenhöhe. Siehe DEFINE STYLE{2}.
13: schrifthöhe. Siehe REQUEST ("HEIGHT_OF_STYLE", ...).

14: textbreite. Siehe REQUEST ("TEXTBLOCK_INFO", ...).
15: texthöhe. Siehe REQUEST ("TEXTBLOCK_INFO", ...).

Alle Werte sind abhängig von größenbezug.


Abb.2: Positionierung des Textes in Bezug zu anker.