coord-transf.2d elements3d elementsnon geo scriptsfunctionscontrol statem.attributesvariousaddons
generallinesfillsmaterialstextextended
FILL DEFINE FILL DEFINE FILLA DEFINE SYMBOL_FILL DEFINE SOLID_FILL DEFINE EMPTY_FILL FILLTYPES_MASK
Name
DEFINE_FILLA
Syntax
DEFINE FILLAname [FILLTYPES_MASK fill_category,]
bitmap_pattern1, ..., bitmap_pattern8,
scalingX, scalingY, angle, n,
frequencyY1, frequencyX1, direction1, translationX1, translationY1, m1,
length1,1, ..., length1,m,
...
frequencyYn, frequencyXn, directionn, translationXn, translationYn, mn,
lengthn,1, ..., lengthn,m
[[,] 
ADDITIONAL_DATA [external_name1= external_value1, ... external_namen= external_valuen]
Aufklappen Range
name, Typ Text
fill_category, Typ integer (*)
0 ≤ bitmap_patterni < 256, Typ integer
scalingX > 0, Typ real
scalingY > 0, Typ real
angle, Typ real
0 < n, Typ integer
frequencyYi > 0, Typ real
frequencyXi, Typ real
directioni, Typ real
translationXi, Typ real
translationYi, Typ real
0 ≤ mi, Typ integer
lengthi,j ≥ 0, Typ real

external_namei, in der externen Anwendung verwendeter Parametername
external_valuei, Ausdruck oder Wert, Typ abhängig von der externen Anwendung

(*) since ArchiCAD® 9 mit fill_category=j1+j2+j3
 j1=1: Schraffur ist Bauteilschraffur
 j2=2: Schraffur ist Deckschraffur
 j3=4: Schraffur ist Zeichenschraffur
Aufklappen Description
Definiert einen Schraffurtyp mit dem Namen name. Der Befehl ist eine Erweiterung des DEFINE FILL-Befehls. Daher werden hier lediglich die zusätzlichen Parameter beschrieben.

Die Skalierung ist jetzt nicht nur homogen in X- und Y-Richtung möglich, sondern differenziert für beide Richtungen mit scalingX und scalingY. Siehe Abbildung.

Der Rapport kann nun für jede Einzellinie nicht nur in Y-Richtung (senkrecht zur Linie) (frequencyYi) sondern auch in Linienrichtung (lokale X-Richtung) mit frequencyXi eingestellt werden.

Die übrigen Parameter bleiben unverändert.

Das since ArchiCAD 9 optionale Syntaxfragment FILLTYPES_MASK wird ebenso wie die Sektion ADDITIONAL_DATA separat erläutert.
Aufklappen Example
a=3
b=3

DEFINE FILLA "Beispiel" 1+128, 32+64, 8+16, 2+4, 1+128, 32+64, 8+16, 2+4,
 ! Bitmapmuster
 ! 10000001
 ! 01100000
 ! 00011000
 ! 00000110
 ! 10000001
 ! 01100000
 ! 00011000
 ! 00000110

 ! skalierungX, skalierungY, winkel, n
 1.00, 1.00, 12.5, 3,

 ! 1. Linie
 ! frequenzY1, frequenzX1, richtung1,
 ! verschiebungX1, verschiebungY1, m1
 0.50, 0.00, 90.0, 0.10, 0.10, 4,
 ! Längen
 0.10, 0.10, 0.00, 0.10,

 ! 2. Linie
 ! frequenzY2, frequenzX2, richtung2,
 ! verschiebungX2, verschiebungY2, m2
 0.50,0.10,92.0,0.25,0.15,2,
 ! Längen
 0.10, 0.10,

 ! 3. Linie
 ! frequenzY3, frequenzX3, richtung3,
 ! verschiebungX3, verschiebungY3, m3
 0.50,0.20,94.0,0.40,0.20,6,
 ! Längen
 0.00, 0.10, 0.00, 0.10, 0.10, 0.10

FILL "Beispiel"

poly2_B 4,2+4,SYMB_VIEW_PEN,0, 0,0,0, a,0,0, a,b,0, 0,b,0
Aufklappen Specialities
Siehe DEFINE FILL-Befehl.

Bei homogen in alle Richtungen skalierten Systemen ist der Skalierungsfaktor zum Erhalt der resultierenden, tatsächlichen Längen in alle Richtungen gleich. Wie z.B. beim DEFINE FILL-Befehl.
Hier ist aber eine asymetrische Skalierung (scalingX/scalingY) zulässig. wodurch für jeden Neigungswinkel einer Strecke eine individuelle Skalierung erfolgt. Diese lässt sich wie folgt ermitteln:

s=SQR((scalingX*COS(alpha))^2+(scalingY*SIN(alpha))^2)

Damit ergibt sich die wahre Länge aus:

Labsolut = L * s

Für die Strecken in der Schraffurdefiniton, die sich in Linienrichtung (X) ausdehnen ergibt sich damit ein Faktor von:
sXi=SQR((scalingX*COS(directioni))^2+(scalingY*SIN(directioni))^2)
und für die dazu senkrecht verlaufenden (z.B. frequencyYi) errechnet sich der Faktor aus:
sYi=SQR((scalingX*COS(90+directioni))^2+(scalingY*SIN(90+directioni))^2)

Im Normalfall muss man diese Strecken nicht berechnen, da mit Schraffuren nicht derart exakt gezeichnet wird. Für zum System orthogonal verlaufende Strecken ist der Faktor natürlich einfach nach seiner Ausdehnungsrichtung (X oder Y) zu bestimmen.

Das optionale Komma vor FILLTYPES_MASK und ADDITIONAL_DATA ist erst since ArchiCAD 10 zulässig und erlaubt so eine bessere Formatierung des Skriptes durch die Möglichkeit eines Zeilenumbruchs.
Aufklappen Context
2D-Skript, 3D-Skript, MASTER_GDL
Aufklappen ArchiCAD®
since 6.0
Aufklappen References
GDL-Handbuch 6.0 (DE) p. 161
GDL-Handbuch 6.5 (DE) p. 157
GDL-Handbuch 7.0 (DE) p. 157
GDL-Handbuch 8.0 (DE) p. 106/109
GDL-Handbuch 8.1 (DE) p. 108/111
GDL-Handbuch 9.0 (DE) p. 171/180
GDL-Handbuch 10.0 (DE) p. 169/178
GDL-Handbuch 11.0 (DE) p. 175/184
GDL Reference Guide 9.0 (INT) p. 167/175
GDL Reference Guide 10.0 (INT) p. 169/177
GDL Reference Guide 11.0 (INT) p. 169/177
 





Abb.1 Klick auf die Abbildung zeigt alle Einstellparameter des Beispiels.
fxi=sXi*frequenzXi
fyi=sYi*frequenzYi
vxi=skalierungX*verschiebungXi
vyi=skalierungY*verschiebungYi
Li,j=sXi*längei,j

(Für die neigungsbezogenen Skalierungsfaktoren sXi und sYi siehe Besonderheiten.)

separates Web Control Fenster Download Objekt

Aufklappen GDL WebControl