Name
PGON

Syntax
PGON anzahl, ausrichtung, status, kante1, kante2, ... kanten

Aufklappen Wertebereiche
anzahl=0 oder anzahl>2, Typ Integer
ausrichtung≥0, Typ integer
-1 ≤ status ≤ 127, Typ integer
kantei>0, Typ integer

Aufklappen Statuswerte
status=-1 oder
status=s1+s2+s3+s4+s5+s6+s7, mit

s1=0 /=1: Polygon ist sichtbar/unsichtbar.
s2=0 /=2: Polygon planer/gekrümmter Oberfläche.
s5=16: Konkaves Polygon.
s6=32: Polygon mit Durchdringungen.
s7=64: Durchdringungen sind konvex (nur mit s6=32).

Ab Archicad 11:
s3=4: Erstes Polygon mit einer gekrümmten Oberfläche (nur mit s2=2).
s4=8: Letztes Polygon mit einer gekrümmten Oberfläche (nur mit s2=2)

Aufklappen Erläuterung
Erzeugt eine Polygonfläche aus anzahl zuvor mit EDGE definierten Kanten. Die Kanten müssen in einer Ebene liegen und der explizit zugewiesene Normalenvektor (siehe VECT) ausrichtung senkrecht zu dieser Fläche sein. Die Referenzierung auf die Kanten- und den Normalenvektor (kantei) erfolgt über den Index ihrer Position im Skript (siehe BASE).

Da die Kanten als Vektoren definiert werden, ist deren Richtung zu beachten. Kantenvektoren mit negativem Vorzeichen werden in zu ihrer Definition entgegengesetzter Richtung interpretiert. Jeder Vektor muss also am Ausgangspunkt des nächsten Vektors im Polygonzug enden.

Der Normalenvektor, der die Richtung der Körperaußenseite angibt, kann automatisch bestimmt werden, indem der Index (ausrichtung) mit 0 vorgegeben wird.

Mit status gibt Polygonart vor, mit status=-1 kann sie auch automatisch ermittelt werden.

Aufklappen Beispiel
VERT 0,0,0 ! Ecke 1
VERT 1,0,0 ! Ecke 2
VERT 0.5,1*SIN(60),0 ! Ecke 3

EDGE 1,2, -1,-1, 0 ! Kante 1
EDGE 2,3, -1,-1, 0 ! Kante 2
EDGE 3,1, -1,-1, 0 ! Kante 3

PGON 3, 0, 0, 1,2, 3 ! Fläche

BODY 1 !Dreieck darstellen

Aufklappen Besonderheiten
anzahl=0 stellt einen Sonderfall dar. Nur welchen?

Aufklappen Attribute
MATERIAL

Aufklappen Tipps und Tricks
Es sollte nach Möglichkeit ein Normalenvektor zuvor festgelegt werden, da es sonst zu Unstimmigkeiten im Körper kommen kann. Im Beispiel des Tetraeders (siehe BODY-Befehl) würde automatisch der Normalenvektor der Bodenplatte nach innen orientiert, was zu fehlerhafter Darstellung führt.
Zur Definition, ob ein Objekt geschlossen ("watertight") ist, werden die Kanten herangezogen: Es gilt die simple Regel, dass eine jede definierte Kante zu genau 2 Polygonen gehört. Um aber einen wirklich soliden Körper zu erhalten gilt noch eine wichtigere Regel: Jede Kante muss einmal mit unterschiedlichem Prefix auftauchen, sprich z.B. Kante #1 muss einmal als "1" und einmal als "-1" gelistet sein. Sonst wird im Schnitt keine Schraffur für das Objekt angezeigt.

Aufklappen Kontext
3D-Skript