coord-transf.2d elements3d elementsnon geo scriptsfunctionscontrol statem.attributesvariousaddons
planarprimitivebasic shapesprismscomplex shapesfrom polylines3d cuttingsolid commandsvarious
BASE BODY COOR EDGE PGON PIPG TEVE VECT VERT
Name
TEVE
Syntax
TEVEx, y, z, u, v
Aufklappen Range
x, Typ real
y, Typ real
z, Typ real
u, Typ real
v, Typ real
Aufklappen Description
Definiert einen Punkt (x/y/z) im 3D wie beim VERT -Befehl, gibt jedoch zusätzlich die Bezugskoordinate für die Textur (u/v) an (u/v-Mapping). TEVE ist in ArchiCAD die einzige Möglichkeit eine Textur um eine amorphe Struktur zu kleiden (wrapping)! Der Punkt selbst wird nicht dargestellt, sondern ist Grundlage für die Befehle EDGE und COOR.

Die Erweiterung von VERT durch den TEVE-Befehl besteht darin, dass in einem Befehl 2 Punktdefinitionen erfolgen:
 1. Die Lage im Raum(x/y/z)
 2. Die Lage auf der Textur/im Material (u/v)
Die mit dem Punkt erzeugten Vektoren und mit diesen wiederum definierten Polygone besitzen dann ebenfalls zu ihrer Präsenz im Raum ein Pendant auf der Textur. Bei der Erzeugung des Körpers mit dem BODY-Befehl werden dann die Polygone aus der Textur so verzerrt, dass sie der Geometrie des Polygons im Raum entsprechen und planar darauf projiziert. Den Algorithmus der Verzerrung wird mit dem COOR-Befehl festgelegt.
Es ist bei der Körperdefinition darauf zu achten, dass die Projektion von außen erfolgt. Erscheint die Textur gespiegelt auf der Oberfläche, ist bei der Definition des Körpers innen und außen vertauscht.
Aufklappen Example
! ------------------
! Koordinaten der Ecken

a=1 ! Breite/Kantenlänge
b=a*sin(60) ! Dreieckshöhe
h1=a/2*TAN(30) ! Schwerpunkt
z=b ! Höhe


! ------------------
! Material definieren

mx=2.5*a ! Breite der Bitmap/Textur in Metern
my=b ! Höhe der Bitmap/Textur in Metern

DEFINE TEXTURE "wrap" "tetra_wrap.gif", mx,my, 1, 0

DEFINE MATERIAL "Tetra" 20,
 1, 1, 1, 0.58, 0.85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 ! Schraffur-Index, Farbe-Index, Textur-Index
 IND(FILL, "Leere Schraffur"), 0, IND(TEXTURE, "wrap")

SET MATERIAL "Tetra"

! ------------------
! Punkte

TEVE 0,0,0 ,1.0*a,0 ! Ecke 1
TEVE a,0,0 ,0.0*a,0 ! Ecke 2
TEVE a/2,b,0 ,0.5*a,b ! Ecke 3
TEVE a/2,h1,z ,1.5*a,b ! Ecke 4
TEVE a,0,0 ,2.0*a,0 ! Ecke 5 (Lage im Raum wie 2)
TEVE a/2,b,0 ,2.5*a,b ! Ecke 6 (Lage im Raum wie 3)

! ------------------
! Kanten

EDGE 1,2, -1,-1, 0 ! Kante 1
EDGE 2,3, -1,-1, 0 ! Kante 2
EDGE 3,1, -1,-1, 0 ! Kante 3
EDGE 1,4, -1,-1, 0 ! Kante 4
EDGE 4,3, -1,-1, 0 ! Kante 5
EDGE 1,5, -1,-1, 0 ! Kante 6 (wie Kante 1)
EDGE 4,5, -1,-1, 0 ! Kante 7
EDGE 4,6, -1,-1, 0 ! Kante 8 (wie Kante 5)
EDGE 5,6, -1,-1, 0 ! Kante 9 (wie Kante 2)

! ------------------
! Flächen

PGON 3, 0, 0, 1, 2, 3 ! Fläche 1
PGON 3, 0, 0, 4, 7,-6 ! Fläche 2
PGON 3, 0, 0, 7, 9,-8 ! Fläche 3
PGON 3, 0, 0, 3, 4, 5 ! Fläche 4

! ------------------
! Texturausrichtung und Körpererzeugung

BASE

TEVE 0,0,0 ,0,0 ! Ursprung
TEVE 1,0,0 ,0,0 ! X
TEVE 0,1,0 ,0,0 ! Y
TEVE 0,0,1 ,0,0 ! Z

COOR 2+1024, 1,2,3,4

BODY -1


Damit das Beispiel funktioniert muss das Bitmap "tetra_wrap.gif" in der geladenen Bibliothek liegen. Siehe Beispielobjekt.
Aufklappen Specialities
Die u und v-Koordinaten sind nur in der photorealistischen Darstellung wirksam. Befindet sich die 3D-Darstellung im OpenGL-Modus (since ArchiCAD 8.x), wirken sie auch in der schattierten Darstellung.

Wird der TEVE-Befehl mit VERT innerhalb eines Körpers (zwischen 2 BODY) gemischt, werden die u/v-Koordinaten der TEVE-Befehle ignoriert. Auch wenn die Verwendung von TEVE eigentlich keinen Sinn macht (z.B. bei Punkten für den COOR-Befehl), muss ein (beliebiger) u/v-Wert mit TEVE definiert werden. Werden Punkte sowohl mit VERT als auch mit TEVE definiert, verwenden sie eine gemeinsame Indexverwaltung.

Das Beispiel mit dem Tetraeder verwendet eine geschlossene Textur um einen geschlossenen Körper. Da die Material/Texturdefinition das Bitmap aber in der Fläche endlos aneinanderkachelt, müssen manche Punkte und damit auch Kanten in der Raumdefinition redundant definiert werden. Siehe im Beispiel Punkt 2/5 und Kante 1/6. Damit wird definiert, welche Punkte auf der Textur im Raum aneinandergrenzen. Der Aufwand gegenüber einer einfachen Texturierung und der Verwendung von VERT ist deutlich höher.
Aufklappen Context
3D-Skript
Aufklappen ArchiCAD®
since 6.0
Aufklappen References
GDL-Handbuch 6.0 (DE) p. 104
GDL-Handbuch 6.5 (DE) p. 99
GDL-Handbuch 7.0 (DE) p. 99
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
 





Texturierter Tetraeder. Links von schräg oben, rechts von schräg unten.


Isometrie mit Indizes:
Rot=Ecken, Blau=Kanten (Vektoren)



Textur (Ausschnitt aus Kachelung) mit Indizes.