Name
DEFINE_FILL

Syntax
DEFINE FILL name [[,] FILLTYPES_MASK schraffurart,]
bitmapmuster1, ..., bitmapmuster8,
skalierung, winkel, n,
frequenz1, richtung1, verschiebungX1, verschiebungY1, m1,
länge1,1, ..., länge1,m,
...
frequenzn, richtungn, verschiebungXn, verschiebungYn, mn,
längen,1, ..., längen,m
[[,] 
ADDITIONAL_DATA [name_extern1= wert_extern1, ... name_externn= wert_externn]

Aufklappen Wertebereiche
name, Typ Text
schraffurart, Typ integer (*)
0 ≤ bitmapmusteri < 256, Typ integer
skalierung > 0, Typ real
winkel, Typ real
0 < n, Typ integer
frequenzi > 0, Typ real
richtungi, Typ real
verschiebungXi, Typ real
verschiebungYi, Typ real
0 ≤ mi, Typ integer
längei,j ≥ 0, Typ real

name_externi, in der externen Anwendung verwendeter Parametername
wert_externi, Ausdruck oder Wert, Typ abhängig von der externen Anwendung

(*) ab ArchiCAD® 9 mit schraffurart=j1+j2+j3
 j1=1: Schraffur ist Bauteilschraffur
 j2=2: Schraffur ist Deckschraffur
 j3=4: Schraffur ist Zeichenschraffur

Aufklappen Erläuterung
Definiert einen Schraffurtyp mit dem Namen name.

Zunächst wird das Muster für die Bitmapdarstellung wie im Menü Optionen>Schraffurtypen... definiert. Das Raster von 8x8 Punkten wir in 8 Zeilen (bitmapmuster1-8) á 8 bit (0-255) von oben nach unten zerlegt. (siehe Abb.1)

Die Vektorschraffur kann wiederum nur lineare Bestandteile enthalten. Im Prinzip entspricht das einer Reihe von n Liniendefinitionen mit zusätzlichen Angaben der Position zueinander.

Mit winkel wird zunächst der Neigungswinkel der kompletten Schraffurdefinition gesetzt. In der Folge wird dann mit skalierung das (gedrehte) System in X- wie in Y-Richtung gleichförmig skaliert. Wie bei der Liniendefinition gilt:

 skalierung=1: absolut, Maßangabe in Metern (auf dem Papier).
 skalierung=1/1000 : absolut, Maßangabe in mm (auf dem Papier).
 skalierung=1000/GLOB_SCALE  : maßstäblich, Maßangaben in Meter (im Plan).

Für alle n Linien sind jeweils folgende Parameter anzugeben:

Die Koordinate des Startpunktes der Linie (verschiebungXi/verschiebungYi) und die Drehung (richtungi) an diesem Punkt bezogen auf das ggf. bereits durch winkel gedrehte Bezugssystem. (siehe Abb. 3+4)

frequenzi gibt den Wiederholungsabstand der Linie zur Erzeugung einer Schraffur an. Der Versatz ist immer senkrecht zu der ggf. durch richtungi gedrehten Linie. Also in Richtung einer gedachten Y-Achse, wenn sich die Linie entlang einer X-Achse entwickelt. (siehe Abb. 4)

Analog zum DEFINE LINE_TYPE-Befehlbestehen die Linien aus mi Segmenten, die im Wechsel sichtbare Linie/Zwischenraum darstellen. Das erste Segment ist immer sichtbar. Segmentlängen (längei,j) von 0 erzeugen Punkte. mi=0 erzeugt eine ununterbrochene Linie. (siehe Abb. 5)

Das ab ArchiCAD 9 optionale Syntaxfragment FILLTYPES_MASK wird ebenso wie die Sektion ADDITIONAL_DATA separat erläutert.

Der DEFINE FILL-Befehl wurde in ArchiCAD 6 in einem neuen Befehl (DEFINE FILLA) um einige Parameter erweitert.

Aufklappen Beispiel
a=3
b=3

DEFINE FILL "Quadrat" 32,16+64,8+128,16+64,32,0,0,0,
! skalierung,winkel,n
0.75, 45.00, 4,
! Linie 1 - frequenz,richtung,verschiebungX,verschiebungY,m
1.00, 0.00, 0.00, 0.00, 2,
0.20, 0.80,
! Linie 2 - frequenz,richtung,verschiebungX,verschiebungY,m
1.00, 90.00, 0.00, 0.00, 2,
0.20, 0.80,
! Linie 3 - frequenz,richtung,verschiebungX,verschiebungY,m
1.00, 0.00, 0.00, 0.20, 2,
0.20, 0.80,
! Linie 4 - frequenz,richtung,verschiebungX,verschiebungY,m
1.00, 90.00, 0.20, 0.00, 2,
0.20, 0.80

FILL "Quadrat"

poly2_B 4,2+4,SYMB_VIEW_PEN,0, 0,0,0, a,0,0, a,b,0, 0,b,0

Aufklappen Besonderheiten
Der Schraffurtyp wird nicht nur lokal angelegt, sondern global. Das hat einige Konsequenzen:
Jeder im Skript angelegte Schraffurtyp ist somit auch in allen Schraffurauswahldialogen außerhalb des Objektes verfügbar. Das gilt für alle Projekte, in denen das Objekt Bestandteil der Bibliothek ist.
Wird der Befehl zu großzügig verwendet wird der Auswahldialog für Schraffurtypen leicht unübersichtlich.
Wurde eine Schraffur so erst einmal innerhalb eines Projektes definiert bleibt sie auch nach lösen der betreffenden Bibliothek vom Projekt erhalten. Das kann beim testweise Zuladen von Bibliotheken die Attributemenge ungewollt erhöhen. ArchiCAD gibt da auch keinen Warnhinweis.
Reagiert der DEFINE FILL-Befehl auf spezielle Einstellungen, die von platziertem Objekt zu platziertem Objekt unterschiedlich sind, wird bei jedem erneuten Durchlauf des Skriptes in irgendeiner Instanz des Objektes der Schraffurtyp immer wieder global geändert, was Auswirkungen auf alle Zeichnungselemente hat, die den Typ verwenden. Die Schraffur hat dann die Definition des zuletzt ausgeführten Objektcodes.

Angesichts der Einschränkungen ist der Befehl mit Bedacht zu verwenden und zu prüfen, ob er nicht besser in einer MASTER_GDL der Bibliothek angesiedelt ist.

Das optionale Komma vor FILLTYPES_MASK und ADDITIONAL_DATA ist erst ab ArchiCAD 10 zulässig und erlaubt so eine bessere Formatierung des Skriptes durch die Möglichkeit eines Zeilenumbruchs.

Aufklappen Kontext
2D-Skript, 3D-Skript, MASTER_GDL

Aufklappen ArchiCAD
ab 4.5