|
|
Name
VECT | Syntax VECTx, y, z |

Range
x, Typ real
y, Typ real
z, Typ real |

Description
Definiert einen Normalenvektor (0/0/0)-(x/y/z). In den Befehlen PGON und PIPG kann damit die Ausrichtung einer Fläche zum Körper (innen/außen) festgelegt werden. Ist in der Flächendefinition der Normalenvektor nicht definiert (Index mit alignment=0), wird dieser automatisch ermittelt, was aber zu ungewollten und problematischen Orientierungen führen kann.
Bei dem Tetraederbeispiel wird z.B. die Bodenplatte (siehe Beispiel) automatisch mit Oberfläche nach oben definiert. Das muss durch einen VECT 0,0,-1 korrigiert werden, damit ein geschlossener Körper erzeugt werden kann.
Die absolute Länge des Vektors spielt keine Rolle, die Richtung ist entscheidend. |

Example
VERT 0,0,0 ! Ecke 1
VERT 1,0,0 ! Ecke 2
VERT 0.5,1*SIN(60),0 ! Ecke 3
VECT 0,0,-1 ! Normalenvektor 1
EDGE 2,1, -1,-1, 0 ! Kante 1
EDGE 3,2, -1,-1, 0 ! Kante 2
EDGE 1,3, -1,-1, 0 ! Kante 3
PGON 3, 1, 0, 3,2,1 ! Fläche
BODY 4 ! Fläche darstellen |

Context
3D-Skript |

Tips and Tricks
Eine Ebene wird eindeutig durch 2 Vektoren in einer Ebene oder 3 Punkte aufgespannt. Die Vektoren dürfen nicht komplanar oder windschief zueinander bzw. die Punkte müssen eindeutig sein. Einfacher ist die Normalenform, die eine Ebene durch einen Richtungsvektor ("Normale") und einen beliebigen Punkt auf der Ebene definiert. Für CAD ist es einfacher mit der Normalenform zu arbeiten, da die Ebene somit auch eine eindeutige Definition von oben/unten bzw. innen/außen erhält.
Nun hat man aber in den meisten Fällen eher Punkte auf der Oberfläche einer Ebene als die passende Senkrechte dazu. Da hilft uns aber die Mathematik (siehe Links), denn das Kreuzprodukt zweier Vektoren ergibt einen zu diesen beiden Vektoren senkrechten Vektor, die Normale.
! Kreuzprodukt zweier Vektoren
a1=px-qx
a2=py-qy
a3=pz-qz
b1=rx-qx
b2=ry-qy
b3=rz-qz
nx1 = b2*a3 - b3*a2
ny1 = b3*a1 - b1*a3
nz1 = b1*a2 - b2*a1
nx2 = a2*b3 - a3*b2
ny2 = a3*b1 - a1*b3
nz2 = a1*b2 - a2*b1
Berechnet aus den 3 eine Ebene Aufspannenden Punkten P(px,py,pz), Q(qx/qy/qz) und R(rx/ry/rz) (oder eben einem Dreieck bzw. Vektorenpaar) die beiden Normalenvektoren (0/0/0 - nx1/ny1/ny1) und (0/0/0 - nx2/ny2/ny2).
Benötigt wird nur einer der Normalenvektoren, doch je nach Lagebeziehung der 3 Punkte untereinander muss unterschieden werden welcher Normalenvektor der richtige ist.
Natürlich ist es am einfachsten in den Befehlen PGON und PIPG den Normalenvektor durch ArchiCAD® bestimmen zu lassen (Index=0). |

Links |

References
GDL-Handbuch 4.5 (DE) p. 76
GDL-Handbuch 5.0 (DE) p. 88
GDL-Handbuch 6.0 (DE) p. 105
GDL-Handbuch 6.5 (DE) p. 100
GDL-Handbuch 7.0 (DE) p. 100
GDL-Handbuch 8.0 (DE) p. 70
GDL-Handbuch 8.1 (DE) p. 71
GDL-Handbuch 9.0 (DE) p. 98
GDL-Handbuch 10.0 (DE) p. 94
GDL-Handbuch 11.0 (DE) p. 98
GDL Reference Guide 9.0 (INT) p. 95
GDL Reference Guide 10.0 (INT) p. 94
GDL Reference Guide 11.0 (INT) p. 94
GDL Cookbook 3.1 (EN/DE) p. 2.56 |
|
|
|
Farben der Indizes:
Rot=Ecken; Blau=Kanten (Vektoren); Gelb=Flächen; Violett=Normalenvektoren

Grundriss komplett

Isometrie komplett

Grundriss für Fläche/Normale #2

Isometrie für Fläche/Normale #2
|