Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GDL Manual de Referencia PDF
GDL Manual de Referencia PDF
Introduccin
Captulo 1: Introduccin
Captulo 1: Introduccin
Captulo 1: Introduccin
Bibliotecas Complementarias
Existen diversas bibliotecas para diferentes usos tanto desde
Graphisoft (la Coleccin Graphisoft) y distribuidores locales
(bibliotecas de personas, letras 3D, mobiliario de diseo, etc).
StairMaker
StairMaker de Graphisoft es una utilidad de ArchiCAD con la que
tiene acceso a una sofisticada biblioteca de objetos que le provee
de varios modelos de escaleras que podr ajustar a sus necesidades
modificando sus parmetros.
Captulo 1: Introduccin
Captulo 1: Introduccin
Escritura en GDL
Si quiere ir ms all de todas las posibilidades anteriores, o si
necesita objetos de biblioteca cuya forma pueda ser controlada con
Captulo 1: Introduccin
Captulo 1: Introduccin
Captulo 1: Introduccin
Elaboracin
En funcin de su propsito, los objetos paramtricos pueden variar
en su elaboracin. Los objetos para uso interno del estudio pueden
ser, por supuesto, menos precisos que los hechos para uso general
o para la distribucin comercial.
Si sus smbolos tienen poca importancia en el plano o los cambios
paramtricos no necesitan aparecer en 2D, podr omitir los scripts
2D paramtricos.
Incluso si los cambios paramtricos estn destinados a aparecer en
2D, no es absolutamente necesario escribir un paramtrico 2D. Es
posible efectuar modificaciones paramtricas en la ventana de
Script 3D, usar la vista 3D de planta del objeto modificado como un
smbolo nuevo y guardar el objeto bajo un nombre nuevo.
Obtendr as un grupo de objetos similares derivados del original
mediante cambios paramtricos de sus valores por omisin.
Para empezar
Las necesidades de su diseo, sus conocimientos de programacin
y de geometra descriptiva influirn probablemente en dnde
empezar en GDL.
No comience a practicar GDL teniendo en mente objetivos
complicados. Aprenda GDL experimentando paso a paso con
todos sus aspectos para volverlos a su favor. Siga las
recomendaciones del nivel de experto ms adelante.
Manual de Referencia GDL de ArchiCAD
Captulo 1: Introduccin
Formas Simples
Las formas GDL son unidades geomtricas bsicas que se aaden a
un objeto de biblioteca complejo. Son las piezas de LEGO del GDL.
Se coloca una forma en el espacio escribiendo un comando en el
script GDL.
Un comando de forma consiste en una palabra clave que define el
tipo de forma y algunos valores numricos o parmetros alfabticos
que definen sus dimensiones. El nmero de valores vara con cada
forma.
Al principio, puede evitar el uso de parmetros y trabajar con
valores fijos.
Puede comenzar con los siguientes comandos de forma:
En 3D:
BLOCK
CYLIND SPHERE
PRISM
En 2D:
LINE2
RECT2
POLY2
CIRCLE2 ARC2
Estos nombres hablan por s mismos (si conoce el ingls).
10
Captulo 1: Introduccin
Transformaciones de Coordenadas
Las transformaciones de coordenadas son como mover su mano a
cierto lugar antes de poner una pieza de LEGO. Preparan la
posicin, orientacin y escala de la prxima forma.
Z
Z
G
X
BLOCK
ADDX
ROTY
BLOCK
1,
1.5
30
1,
0.5, 0.5
0.5, 0.5
11
Captulo 1: Introduccin
En 3D:
ELLIPS
POLY_
PRISM_
TEXT
En 2D:
HOTSPOT2
CONE
LIN_
CPRISM_
PLANE
SLAB
PLANE_
SLAB_
POLY2_
TEXT2
FRAGMENT2
CSLAB_
Transformaciones de Coordenadas
En 3D:
MULX
ADD
MULY
MUL
MULZ
ROT
En 2D:
MUL2
PRISM 4,
1,
3,
3,
-3, 0
ADDZ -1
MUL
0.666667,
PRISM 4,
1,
3,
3,
-3, 0
ADDZ -1
MUL
0.666667,
PRISM 4,
1,
3,
3,
-3, 0
12
3,
-3,
0,
3,
0.666667, 1
3,
0,
-3, 3,
0.666667, 1
3,
0,
-3, 3,
Captulo 1: Introduccin
NEXT
WHILE
UNTIL
THEN
GOSUB
END
ENDWHILE
ELSE
ENDIF
EXIT
13
Captulo 1: Introduccin
FOR I = 1 TO 5
PRISM_ 8,
0.05,
-0.5,
0,
-0.5,
-0.15,
0.5,
-0.15,
0.5,
0,
0.45,
0,
0.45,
-0.1,
-.45,
-0.1,
-0.45, 0,
ADDZ 0.2
NEXT I
15,
15,
15,
15,
15,
15,
15,
15
Parmetros
En este estadio de su aprendizaje, puede sustituir los valores fijos
con variables alfabticas. Esto hace al objeto flexible. Se puede
acceder a estas variables a travs del cuadro de dilogo de
Definicin de objetos de biblioteca al trabajar en planta.
Llamadas a Macro
No se est limitado a las formas estndar GDL. Cualquier objeto de
biblioteca existente puede ser una forma GDL en su totalidad. Para
colocarla, slo debe "llamarla", escribiendo su nombre con los
parmetros requeridos, como si fuera un comando estndar.
14
Captulo 1: Introduccin
Nivel Experto
Cuando tenga una buena comprensin de las caractersticas y
comandos anteriores, ser capaz de escoger algunos de los
comandos restantes que necesite alguna vez, pero no
frecuentemente.
Nota: la capacidad de memoria de su ordenador puede limitar la
longitud de archivo de su script GDL, el nmero de llamadas a
Macro y el nmero de transformaciones
Para informacin adicional sobre los comandos GDL anteriores,
consulte el resto de este manual.
Para una consulta rpida de los comandos disponibles y su
estructura de parmetros, elija la ventana de Ayuda apropiada
desde ArchiCAD.
15
Captulo 1: Introduccin
El espacio 3D en ArchiCAD
El modelo 3D se crea en un espacio tridimensional medido por los
ejes x, y, z de un sistema de coordenadas principal, el origen
del cual se llama origen global.
En ArchiCAD, se puede ver el origen global en la esquina inferior
izquierda de la hoja de trabajo si se abre el programa sin leer
ningn documento especfico. Adems, el origen global define la
cota cero a la que se refieren todos los pisos en un documento de
planta.
Cuando se coloca un objeto en el diseo, la posicin en el plano
queda definida por los valores sobre los ejes x e y de este sistema
de coordenadas principal. El valor sobre el eje z puede ajustarse en
el cuadro de dilogo de Definicin de Objetos. Este valor ser la
base y la posicin por omisin del sistema de coordenadas local
del objeto. Las formas descritas en el script se ubicarn en relacin
a este sistema de coordenadas local.
16
Captulo 1: Introduccin
17
Captulo 1: Introduccin
18
Captulo 1: Introduccin
19
Captulo 1: Introduccin
20
Elementos de Sintaxis
Bsicos
21
22
\\
\n
\t
\new line
\others
Ejemplos:
'\' l mismo
nueva lnea
tabulador
continuar secuencia en siguiente lnea sin una nueva
lnea
no es correcto, producir un aviso
"Esto es una secuencia de texto"
washbasin 1'-6*1'-2
'No use delimitadores distintos'
23
24
Transformacin de
Coordenadas
25
3.1 Transformaciones en el
espacio Tridimensional
En GDL, todos los elementos geomtricos estn estrictamente
vinculados al sistema de coordenadas local. Una esquina de un
bloque, por ejemplo, est en el origen y sus caras estn en los
planos x-y, x-z e y-z.
Para colocar un elemento geomtrico en la posicin deseada se
requieren dos pasos. Primero, mover el sistema de coordenadas a
la posicin deseada. Segundo, generar el elemento. Cada
movimiento, rotacin o deformacin del sistema de coordenadas a
lo largo o alrededor de un eje se llama transformacin.
Las transformaciones se almacenan en una pila; la interpretacin
empieza hacia atrs desde la ltima. Los scripts heredan esta pila
de transformacin; pueden insertarse nuevos elementos, pero no
pueden borrarse ms que los definidos localmente. Es posible
borrar una, varias o todas las transformaciones definidas en el
script actual. Al volver de un script, las transformaciones globales
definidas se eliminan de la pila
ADDX
ADDY
ADDZ
dx
dy
dz
Mueven el sistema de coordenadas local dx, dy o dz
respectivamente a lo largo del eje dado.
ADD
dx, dy, dz
Substituye la secuencia ADDX dx : ADDY dy : ADDZ dz.
Tiene una sola entrada en la pila, por lo que puede borrarse con
DEL 1.
26
Ejemplo :
Z
c
X
a
X
ADD a,b,c
MULX
MULY
MULZ
mx
my
mz
Escala el sistema de coordenadas local a lo largo del eje dado.
Valores negativos de mx, my, mz significan simetras simultneas.
MUL
mx, my, mz
Substituye la secuencia MULX mx : MULY my : MULZ mz.
Tiene una sola entrada en la pila, y puede borrarse con DEL 1.
ROTX
ROTY
ROTZ
alphax
alphay
alphaz
Gira el sistema de coordenadas local alrededor del eje dado un
ngulo de alphax, alphay, alphaz grados respectivamente, en
sentido antihorario.
Ejemplo:
Z
beta
X
ROTZ beta
Manual de Referencia GDL de ArchiCAD
27
ROT
x, y, z, alpha
Gira el sistema de coordenadas local alrededor del eje definido por
el vector (x, y, z) un ngulo de alpha grados, en sentido
antihorario.
Tiene una sola entrada en la pila, por lo que puede borrarse con
DEL 1.
XFORM
A=60
B=30
XFORM
BLOCK
28
2,
0,
0,
1,
COS(A),
SIN(A),
0,
1,
COS(B)*0.6,
SIN(B)*0.6,
1,
1
0,
0,
0
3.2 Transformaciones en el
espacio Bidimensional
Son los equivalentes en el espacio 2D de las transformaciones 3D
ADD, MUL y ROTZ.
ADD2
x, y
Ejemplo:
Y
b
X
a
ADD2
MUL2
x, y
ROT2
alpha
a, b
Ejemplo:
Y
Y
X
beta
ROT2 beta
29
n [, beg_with]
Borra las n entradas previas de la pila de transformacin.
Si no se especifica el parmetro beg_with, se borran las n entradas
previas en la pila de transformacin. El sistema de coordenadas
local vuelve atrs a una posicin previa.
Si se especifica el parmetro beg_with, se borran n entradas hacia
adelante, empezando con la determinada por beg_with. La
numeracin empieza con 1. Si el parmetro beg_with est
especificado y es negativo, el borrado es hacia atrs.
Si se han emitido menos transformaciones en el script actual que
las descritas por el argumento n dado, slo se borrarn las
transformaciones emitidas.
DEL
TOP
Borra todas las transformaciones del script actual..
NTR
()
Devuelve el nmero actual de transformaciones.
30
Ejemplo:
BLOCK
ADDX
ADDY
ADDZ
ROTX
ADDX
BLOCK
1,
2
2.5
1.5
-60
1.5
1,
1,
DEL
1,
BLOCK
1,
0.5, 1
DEL
1,
NTR()-2
BLOCK
1,
0.5, 2
DEL
-2,
BLOCK
1,
0.5, 2
0.5, 2
!Borra la transformacin
!ADDX 2
!Borra la transformacin
!ADDZ 1.5
!Borra la transformacin
!ROTX -60 y la ADDY 2.5
31
32
Formas Planas en 3D
33
LIN_
RECT
a, b
Rectngulo en el plano x-y con caras a y b.
Restriccin de parmetros:
a, b 0
Y
POLY
n
1
3
X
34
POLY_
n
1
3
X
n
1
3
X
PLANE
PLANE_
35
CIRCLE
r
Crculo en el plano x-y con su centro en el origen y un radio r.
ARC
r, alpha, beta
Arco (en modo Almbrico) / sector circular (en otros modos) en el
plano x-y con su centro en el origen desde un ngulo alpha hasta
beta con un radio r.
Alpha y beta estn en grados.
Y
ta
be
alpha
X
36
Formas Tridimensionales
37
a, b, c
a, b, c
La primera esquina del bloque est en el origen local y sus aristas,
con longitudes a, b y c, estn a lo largo de los ejes x, y, z,
respectivamente.
Valores cero crean bloques degenerados (rectngulos o lneas).
Restriccin de parmetros:
a, b, c > 0
CYLIND
h, r
Cilindro recto, coaxial con el eje z con altura h y radio r.
Si h es cero, se genera un crculo en el plano x-y.
Si r es cero, se genera una lnea a lo largo del eje z.
Z
38
SPHERE
r
Esfera con su centro en el origen y radio r.
Z
r
Y
ELLIPS
h, r
Medio elipsoide. Su seccin transversal en el plano x-y es un
crculo con radio r, centrado en el origen. La longitud del semieje z
es h.
r
Y
Ejemplo:
ELLIPS r, r
! hemisferio
39
CONE
2
ha
alp
r2
alp
ha
r1
Ejemplo:
CONE h, r, 0, 90, 90
PRISM
! cono regular
Y
n
X
40
2
1
PRISM_
j3
j4
j2
j1
i+1
41
visible surface
10
11
12
13
14
15
PRISM_ 4,1,
0,0,15,
1,1,15,
2,0,15,
1,3,15
42
PRISM_ 4,1,
0,0,7,
1,1,5,
2,0,15,
1,3,15
Manual de Referencia GDL de ArchiCAD
ROTX 90
PRISM_ 26,
0.3,
0.3,
0.27,
0.27,
0.25,
-0.25,
-0.27,
-0.27,
-0.3,
-0.3,
0.3,
0.10,
0.24,
0.24,
0.10,
0.10,
0.07,
0.07,
-0.07,
-0.07,
0.07,
-0.24,
-0.24,
-0.1,
-0.1,
-0.24,
1.2,
0,
0.06,
0.06,
0.21,
0.23,
0.23,
0.21,
0.06,
0.06,
0,
0,
0.03,
0.03,
0.2,
0.2,
0.03,
0.03,
0.2,
0.2,
0.03,
0.03,
0.03,
0.2,
0.2,
0.03,
0.03,
15,
15,
15,
15,
15,
15,
15,
15,
15,
15,
-1,
15,
15,
15,
15,
-1,
15,
15,
15,
15,
-1,
15,
15,
15,
15,
-1
!Fin de contorno
43
j7 = 0
R=1
H=3
PRISM_
-R,
COS(180)*R,
COS(210)*R,
COS(240)*R,
COS(270)*R,
COS(300)*R,
COS(330)*R,
COS(360)*R,
R,
ADDX 5
PRISM_
-R,
COS(180)*R,
COS(210)*R,
COS(240)*R,
COS(270)*R,
COS(300)*R,
COS(330)*R,
COS(360)*R,
R,
44
j7 = 1
9,
R,
SIN(180)*R,
SIN(210)*R,
SIN(240)*R,
SIN(270)*R,
SIN(300)*R,
SIN(330)*R,
SIN(360)*R,
R,
H,
15,
15,
15,
15,
15,
15,
15,
15,
15
9,
R,
SIN(180)*R,
SIN(210)*R,
SIN(240)*R,
SIN(270)*R,
SIN(300)*R,
SIN(330)*R,
SIN(360)*R,
R,
H,
15,
64+15,
64+15,
64+15,
64+15,
64+15,
64+15,
64+15,
15
CPRISM_
CPRISM_
Iron, 0, T_,
13, 0.2,
0,
0,
2,
0,
2,
2,
0,
2,
0,
0,
15,
15,
15,
15,
-1,
0.2,
1.8,
1.0,
0.2,
0.2,
1.8,
1.0,
0.2,
15,
15,
15,
-1,
15,
15,
15,
-1
0.2,
0.2,
0.9,
0.2,
1.8,
1.8,
1.1,
1.8,
!Hierro es un material
! predefinido.
! 0 es un material
! genrico.
! T_ es una variable
! global (un ndice
! de material)
45
BPRISM_
BPRISM_
3,
0.4,
0,
0,
5,
0,
1.3, 2,
46
"Glass",
1,
15,
15,
15
"Glass", "Glass",
! radio = 1
47
FPRISM_
hill_height:
Restriccin de parmetros:
n>3
Maski = -1 se usa para definir huecos directamente en el prisma.
Vea su descripcin en PRISM_ .
hill_height
angle
thickness
1
2
48
Ejemplos:
RESOL 10
FPRISM_
"Roof Tile", "Red Brick", "Face brick",
"Roof Tile",
4,
1.5, 0,
1.0, !ngulo= 0
0,
0,
0,
5,
0,
0,
5,
4,
0,
0,
4,
0
FPRISM_
"Roof Tile", "Red Brick", "Face brick",
"Roof Tile",
10, 2,
45, 1,
0,
0,
0,
6,
0,
0,
6,
5,
0,
0,
5,
0,
0,
0,
-1,
1,
2,
0,
4,
2,
0,
4,
4,
0,
1,
4,
0,
1,
2,
-1
49
SPRISM_
angle
n
h
(xb,yb )
(xe,ye )
1
2
Ejemplo:
SPRISM_
6,
0,
0,
0,
0,
10, 1,
11, 6,
5,
7,
4.5, 5.5,
1,
6,
50
'Grass',
'Earth',
11,
15,
15,
15,
15,
15,
15
2,
6,
'Earth',
-10.0,
SLAB
SLAB_
CSLAB_
51
CWALL_
52
X
x1
x4
x3
x2
Y
mask 2
mask 4
j3
j2
j4
j1
X
mask 1
n:
xbeg
xend
lower
upper
height
53
framevisi :
1 si las aristas del hueco son visibles,
0 si las aristas del hueco son invisibles.
Los valores negativos controlan la visibilidad de cada arista
de la abertura por separado.
framevisi = - (1*j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 +
64*j7 + 128*j8) donde j1, j2... j8 pueden ser 0 o 1. Los nmeros
j1 a j4 controlan la visibilidad de las aristas del hueco en el
lado izquierdo de la superficie del muro, mientras que j5 a
j8 afectan a las aristas de la derecha, como se muestra en la
ilustracin siguiente.
Z
j3
j7
j2
j4
j1
j6
j8
j5
Y
54
BWALL_
55
ROTZ -60
BWALL_ 1,
1,
4,
0,
6,
0.3, 2,
15, 15, 15,
5,
1,
1,
3.8,
1.8, 0,
3,
4.1, 1,
4.5,
4.1, 1.55, 4.5,
4.1, 2.1, 4.5,
1,
0,
-0.25,
56
1,
6,
0,
15,
2.5, -255,
2.5, -255,
1.4, -255,
1.95, -255,
2.5, -255,
1,
XWALL_
y4
y1
y2
y3
x1
x2
reserved1, reserved2:
x3
x4
reservado, siempre 0.
57
Ejemplo:
XWALL_ "Whitewash",
"Whitewash",
3.0,
0.0, 4.0, 4.0, 0.0,
0.0, 0.0, 0.3, 1.2,
1.2, 0.0,
0.0, 0.0,
15, 15, 15, 15,
3,
0.25, 0.0, 1.25, 2.5,
1.25, 1.5, 2.25, 2.5,
2.25, 0.5, 3.25, 2.5,
0
58
"Whitewash",
"Whitewash",
-255,
-255,
-255,
CROOF_
height:
angle:
thickness:
xi, yi:
alphai:
59
Ejemplos:
CROOF_
1,
9,
0,
0,
1,
0,
(x2,y2)
0.0,
-30,
2.5,
0,
0,
-60,
10, 0,
0,
10, 20, -30,
0,
20, 0,
0,
0,
0,
2,
5,
0,
8,
5,
0,
5,
15, 0,
2,
5,
0,
60
1,
1,
! materiales
L=0.25
R=(0.6^2+L^2)/(2*L)
A=ASN(0.6/R)
CROOF_ "Roof Tile","Pine","Pine",
16, 2,
0,
0,
0,
0,
45, -0.2*SQR(2),
0,
0,
0,
15,
3.5, 0,
0,
15,
3.5, 3,
-45, 15,
0,
3,
0,
15,
0,
0,
0,
-1,
0.65, 1,
-45, 15,
1.85, 1,
0,
15,
1.85, 2.4-L,
0,
13,
1.25, 2.4-R,
0,
900,
0,
2*A, 0,
4015,
0.65, 1,
0,
-1,
2.5, 2,
45, 15,
3,
2,
0,
15,
3,
2.5, -45, 15,
2.5, 2.5, 0,
15,
2.5, 2,
0,
-1
61
MESH
a, b, m, n, mask,
z11, z12, . . . z1m,
z21, z22, . . . z2m,
...
zn1, zn2, . . . znm
Malla suavizada simple basada en un rectngulo con una red
equidistante. Los lados del rectngulo de base son a y b; los puntos m
y n estn sobre los ejes x e y respectivamente, zij es la altura del nodo.
Visibilidad
mask = j1 + 4*j3 + 16*j5 + 32*j6 + 64*j7
donde j1, j3, j5, j6, j7 pueden ser 0 or 1.
j1 (1):
j3 (4):
j5 (16):
j6 (32):
j7 (64):
Zij
Y
n
b
j
1
1
Restriccin de parmetros:
m > 2, n > 2
62
Ejemplos:
63
ARMC
ha
r2
r1
Ejemplo:
ROTY
CYLIND
ADDZ
ARMC
ADDZ
ROTZ
ARMC
ADDZ
ROTZ
ARMC
64
90
10,1
6
1, 0.9, 3,
-1
-90
1, 0.75, 3,
-1
-90
1, 0.6, 3,
0,
0,
45
0,
0,
90
0,
0,
135
ARME
l, r1, r2, h, d
Trozo de tubo que empieza desde un elipsoide en el plano y-z;
parmetros de acuerdo con la figura (las curvas de interseccin se
calculan y dibujan tambin).
Restriccin de parmetros:
r1 > r2+ d
l > h* (1 - (r 2 - d)2 / r12)
Z
r2
Y
r1
Ejemplo:
ELLIPS 3,4
FOR i=1 TO 6
ARME 6,4,0.5,3,3.7-0.2*i
ROTZ 30
NEXT i
65
ELBOW
r1, alpha, r2
Segmento de codo en el plano x-z. El radio del arco es r1, el ngulo
es alpha y el radio del segmento de codo es r2.
Alpha est en grados.
Restriccin de parmetros:
r1 > r2
ha
r1
alp
X
r2
Ejemplo:
ROTY 90
ELBOW 2.5, 180,
ADDZ -4
CYLIND
4,1
ROTZ -90
MULZ -1
ELBOW 5,
180,
DEL
1
ADDX 10
CYLIND
4,
ADDZ 4
ROTZ 90
ELBOW 2.5, 180,
66
67
Masking
Los valores de mask se usan para mostrar o esconder superficies y/
o aristas caractersticas de la forma 3D. Los valores de mask son
especficos de cada elemento y se puede encontrar una definicin
ms detallada en sus correspondientes secciones/captulos.
mask = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7
donde j1, j2, j3, j4, j5, j6, j7 pueden ser 0 or 1.
j1, j2, j3, j4 representan las superficies presentes (1) o no (0). j5, j6, j7
representan qu aristas son visibles (1) o invisibles (0).
j1 : superficie inferior.
j2 : superficie superior.
j3 : superficie lateral
j4 : superficie de la otra cara
j5 : aristas de la base
j6 : aristas superiores
j7: seccin transversal/aristas de la superficie visibles, la superficie
no se suaviza.
Para permitir todas las caras y aristas, ajustar el valor de mask a 127.
Status
Los valores de status se usan para exponer dnde un punto dado
de una polilnea dejar atrs un trazo ntido de su trayectoria de
rotacin.
0:
1:
-1 :
Para crear una forma suavizada en 3D, ajuste todos los valores de
status a 1. Use status=0 para crear una cresta.
En el Captulo "Cdigos de Status Adicionales para Polilneas" se
describen cdigos adicionales para segmentos tangentes y arcos. Se
reservan otros valores para futuras mejoras.
68
EXTRUDE
si :
Restriccin de parmetros:
n>2
Z
j6
j2
j3
Y
n
X
j1
j5
2
Masking
mask = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6
donde j1, j2, j3, j5, j6 pueden ser 0 o 1.
j1 (1): la superficie inferior est presente.
j2 (2): la superficie superior est presente.
j3 (4): la superficie lateral (cerrada) est presente.
j5 (16): las aristas inferiores son visibles.
j6 (32): las aristas superiores son visibles.
69
Valores de status
0:
las aristas laterales que empiezan en el nodo son
visibles.
1:
-1 :
Ejemplos:
70
EXTRUDE
0,
1,
2,
3,
4,
5,
6,
3,
0,
14,
0,
-3,
-2,
-4,
-2,
-3,
0,
4,
0,
1,
0,
0,
1,
0,
1,
0,
0,
0,
-1,
2,
3,
4,
3,
2,
0,
2,
0,
-2,
0,
0,
0,
0,
0,
-1
1,
4,
1+2+4+16+32,
A=5 : B=5
R=2 : S=1
C=R-S
D=A-R
E=B-R
EXTRUDE
28,
0,
D+R*SIN(0),
D+R*SIN(15),
D+R*SIN(30),
D+R*SIN(45),
D+R*SIN(60),
D+R*SIN(75),
D+R*SIN(90),
A,
0,
0,
C,
D+S*SIN(0),
D+S*SIN(15),
D+S*SIN(30),
D+S*SIN(45),
D+S*SIN(60),
D+S*SIN(75),
D+S*SIN(90),
A-C,B-C,0,
R-S*COS(90),
R-S*COS(75),
R-S*COS(60),
R-S*COS(45),
R-S*COS(30),
R-S*COS(15),
R-S*COS(0),
C,
Manual de Referencia GDL de ArchiCAD
-1, 0,
4,
0,
R-R*COS(0),
R-R*COS(15),
R-R*COS(30),
R-R*COS(45),
R-R*COS(60),
R-R*COS(75),
R-R*COS(90),
B,
B,
0,
1+2+4+16+32,
0,
1,
1,
1,
1,
1,
1,
1,
0,
0,
-1,
C,
R-S*COS(0),
R-S*COS(15),
R-S*COS(30),
R-S*COS(45),
R-S*COS(60),
R-S*COS(75),
R-S*COS(90),
0,
1,
1,
1,
1,
1,
1,
1,
E+S*SIN(90),
E+S*SIN(75),
E+S*SIN(60),
E+S*SIN(45),
E+S*SIN(30),
E+S*SIN(15),
E+S*SIN(0),
C,
1,
1,
1,
1,
1,
1,
1,
-1
71
PYRAMID
si :
Restricciones de parmetros:
h>0
n>2
Y
j3
n
j1
X
j5
2
j3 (4):
j5 (16):
Valores de status
0:
las aristas laterales que arrancan del nodo son todas
visibles.
1:
72
Ejemplo:
PYRAMID
PYRAMID
ADDX
ADDY
GOSUB
ADDX
GOSUB
ADDY
GOSUB
ADDX
GOSUB
END
100:
PYRAMID
4,
-2,
-2,
2,
2,
4,
-1,
1,
1,
-1,
-1.4
-1.4
100
2.8
100
2.8
100
-2.8
100
1.5,
-2,
2,
2,
-2,
4,
-1,
-1,
1,
1,
1+4+16,
0,
0,
0,
0
21,
0,
0,
0,
0
4,
-0.25,
0.25,
0.25,
-0.25,
1.5,
-0.25,
-0.25,
0.25,
0.25,
21,
0,
0,
0,
0
RETURN
73
REVOLVE
mask:
s i:
Restricciones de parmetros:
n>2
yi > 0.0
yi e yi + 1 (p.e. el valor y de dos nodos vecinos) no debe ser
cero a la vez.
Z
j1
Y
j4
j6
j3
j5
alpha
j2
2
1
74
Masking
mask = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7
donde j1, j2, j3, j4, j5, j6, j7 pueden ser 0 o 1.
j1 (1):
j2 (2):
j3 (4):
j4 (8):
j5 (16):
j6 (32):
j7 (64):
Valores de status
0:
arcos laterales que arrancan del nodo todos visibles.
1:
2:
Ejemplos:
75
ROTY
-90
REVOLVE
22, 360, 1+64,
0,
1.982,
0,
0.093,
2,
0,
0.144,
1.845,
0,
0.220,
1.701,
0,
0.318,
1.571,
0,
0.436,
1.459,
0,
0.617,
1.263,
0,
0.772,
1.045,
0,
0.896,
0.808,
0,
0.987,
0.557,
0,
1.044,
0.296,
0,
1.064,
0.030,
0,
1.167,
0.024,
0,
1.181,
0.056,
0,
1.205,
0.081,
0,
1.236,
0.096,
0,
1.270,
0.1, 0,
1.304,
0.092,
0,
1.333,
0.073,
0,
1.354,
0.045,
0,
1.364,
0.012,
0,
1.564,
0,
0
76
ROTY -90
REVOLVE 26, 180, 16+32,
7, 1, 0,
6.0001, 1, 1,
6, 1, 0,
5.9999, 1.0002, 1,
5.5001, 1.9998, 1,
5.5, 2, 0,
5.4999, 1.9998, 1,
5.0001, 1.0002, 1,
5, 1, 0,
4.9999, 1, 1,
4.0001, 1, 1,
4, 1, 0,
3+COS(15), 1+SIN(15), 1,
3+COS(30), 1+SIN(30), 1,
3+COS(45), 1+SIN(45), 1,
3+COS(60), 1+SIN(60), 1,
3+COS(75), 1+SIN(75), 1,
3, 2, 1,
3+COS(105), 1+SIN(105), 1,
3+COS(120), 1+SIN(120), 1,
3+COS(135), 1+SIN(135), 1,
3+COS(150), 1+SIN(150), 1,
3+COS(165), 1+SIN(165), 1,
2, 1, 0,
1.9999, 1, 0,
1, 1, 0
ROTY -90
REVOLVE 18, 180, 48,
7, 1, 0,
6, 1, 2,
5.5, 2, 2,
5, 1, 2,
4, 1, 2,
3+COS(15), 1+SIN(15), 1,
3+COS(30), 1+SIN(30), 1,
3+COS(45), 1+SIN(45), 1,
3+COS(60), 1+SIN(60), 1,
3+COS(75), 1+SIN(75), 1,
3, 2, 1,
3+COS(105), 1+SIN(105), 1,
3+COS(120), 1+SIN(120), 1,
3+COS(135), 1+SIN(135), 1,
3+COS(150), 1+SIN(150), 1,
3+COS(165), 1+SIN(165), 1,
2, 1, 2,
1, 1, 0
77
RULED
n, mask,
u1, v1, s1, . . . un, vn, sn,
x1, y1, z1, . . . xn, yn, zn
RULED es una superficie basada en una curva plana y una curva en
el espacio que tienen el mismo nmero de nodos. Segmentos
rectos conectan los nodos correspondientes a las dos polilneas.
Es el nico elemento de GDL que permite superponer nodos
vecinos.
n:
nmero de nodos de cada curva.
mask :
u i , vi :
si :
x i , yi , z i :
Restriccin de parmetros:
n>1
2
j2
j6
1
j3
Y
n
j1
X
1
2
78
j5
Masking
mask = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6 + 64*j7
donde j1, j2, j3, j5, j6, j7 pueden ser 0 o 1.
j1 (1):
j2 (2):
j3 (4):
j5 (16):
j6 (32):
j7 (64):
Valores de status
0:
las aristas laterales que arrancan del nodo son todas
visibles.
1:
Ejemplos:
79
R=3
RULED 16, 1+2+4+16+32,
COS(22.5)*R,
SIN(22.5)*R,
COS(45)*R,
SIN(45)*R,
COS(67.5)*R,
SIN(67.5)*R,
COS(90)*R,
SIN(90)*R,
COS(112.5)*R,
SIN(112.5)*R,
COS(135)*R,
SIN(135)*R,
COS(157.5)*R,
SIN(157.5)*R,
COS(180)*R,
SIN(180)*R,
COS(202.5)*R,
SIN(202.5)*R,
COS(225)*R,
SIN(225)*R,
COS(247.5)*R,
SIN(247.5)*R,
COS(270)*R,
SIN(270)*R,
COS(292.5)*R,
SIN(292.5)*R,
COS(315)*R,
SIN(315)*R,
COS(337.5)*R,
SIN(337.5)*R,
COS(360)*R,
SIN(360)*R,
COS(112.5)*R,
SIN(112.5)*R,
COS(135)*R,
SIN(135)*R,
COS(157.5)*R,
SIN(157.5)*R,
COS(180)*R,
SIN(180)*R,
COS(202.5)*R,
SIN(202.5)*R,
COS(225)*R,
SIN(225)*R,
COS(247.5)*R,
SIN(247.5)*R,
COS(270)*R,
SIN(270)*R,
COS(292.5)*R,
SIN(292.5)*R,
COS(315)*R,
SIN(315)*R,
COS(337.5)*R,
SIN(337.5)*R,
COS(360)*R,
SIN(360)*R,
COS(22.5)*R,
SIN(22.5)*R,
COS(45)*R,
SIN(45)*R,
COS(67.5)*R,
SIN(67.5)*R,
COS(90)*R,
SIN(90)*R,
80
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
10,
10,
10,
10,
10,
10,
10,
10,
10,
10,
10,
10,
10,
10,
10,
10
SWEEP
alpha :
scale :
mask :
u i , vi :
si :
x i , yi , z i :
Restricciones de parmetros:
n>1
m>1
z 1 < z2
81
Masking
mask = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6 + 64*j7
donde j1, j2, j3, j5, j6, j7 pueden ser 0 o 1.
j1 (1):
j2 (2):
j3 (4):
j5 (16):
j6 (32):
j7 (64):
2
Y
j3
n
X
j1
1
2
j5
Valores de status
0:
todas las aristas laterales que arrancan del nodo son
visibles.
1:
Ejemplos:
82
SWEEP 4,
-0.5,
0.5,
0.5,
-0.5,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
12, 7.5, 1,
-0.25,
0,
-0.25,
0,
0.25,
0,
0.25,
0,
1+2+4+16+32,
0.5,
1,
1.5,
2,
2.5,
3,
3.5,
4,
4.5,
5,
5.5,
6
83
TUBE
n, m, mask,
u1, w1, s1,
...
un, wn, sn,
x1, y1, z1, angle1,
...
xm, ym, zm, anglem
Superficie generada por una polilnea que sigue la trayectoria de
una curva en el espacio sin distorsin de la seccin generatriz. Las
superficies de conexin interna pueden girar en el plano U-W del
sistema de coordenadas instantneo U-V-W.
eje V:
aproxima la tangente de la curva generatriz en el
punto correspondiente,
eje W:
eje U:
ui, w i :
si :
x i , yi , z i :
84
Masking
mask = j1 + 2*j2 + 16*j5 + 32*j6 + 64*j7
donde j1, j2, j5, j6, j7 pueden ser 0 o 1.
j1 (1):
j2 (2):
j5 (16):
j6 (32):
j7 (64):
Restricciones de parmetros:
n>2
m>3
W
m
m-1
V
W
1
2
alpha
U
U
Valores de status
0:
los bordes laterales que empiezan en el nodo son
todos visibles.
1:
85
Ejemplos:
TUBE
86
4,
2.0,
0.0,
0.0,
2.0,
18,
0.0,
0.0,
0.4,
0.4,
16+32,
0,
0,
0,
0,
-1,
0,
4,
6,
6+4*SIN(15),
6+4*SIN(30),
6+4*SIN(45),
6+4*SIN(60),
6+4*SIN(75),
10,
6+4*SIN(105),
6+4*SIN(120),
6+4*SIN(135),
6+4*SIN(150),
6+4*SIN(165),
6,
0,
-1,
0,
0,
0,
0,
4 4 4 4 4 4,
4 4 4 4 4 8,
8,
8,
0,
0,
0.1,
0.15,
0.2,
0.25,
0.3,
0.35,
0.4,
0.45,
0.5,
0.55,
0.6,
0.65,
0.7,
0.75,
1,
1,
4*COS(15),
4*COS(30),
4*COS(45),
4*COS(60),
4*COS(75),
4*COS(105),
4*COS(120),
4*COS(135),
4*COS(150),
4*cos(165),
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
TUBE
14,
0,
0.03,
0.03,
0.06,
0.05,
0.05,
0.05,
1,
0.08,
0.19,
0.19,
0.25,
0.25,
0,
0,
0,
0,
-0.8,
-0.8,
-0.8,
6,
0,0,
0,0,
0.02,
0.02,
0.0699,
0.07,
0.15,
0,
90,
0.15,
0.19,
0.19,
0.25,
0.25,
1,
0.0001,
0,
0,
0.0001,
1,
1+2+16+32,
0,
0,
0,
1,
901,
801,
2000,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
87
TUBE
88
3,
0,
-0.5,
0,
7,
0,
0,
0.5,
0,
0,
0,
16+32,
0.2,
0,
0,
3,
3,
3,
3,
0,
0,
0,
0,
4,
4,
3.8,
-0.2,
0,
5,
5,
5,
0,
-0.2,
0,
0,
0,
0,
0,
0,
0
TUBEA
n, m, mask,
u1, w1, s1,
...
un, wn, sn,
x1, y1, z1,
...
xm, ym, zm
m-1
bisector plane
89
TUBEA 9,
-1,
0,
0.8,
0.8,
0.8001,
3.2,
3.2,
4,
5,
0,
0,
4,
9,
9,
14,
20,
90
7,
1,
2,
2,
1.6,
1.6,
1.6,
2,
2,
1,
-7,
0,
0,
3,
10,
10,
15,
1 + 2 + 16 + 32,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
1,
2.25,
2.25,
2.25,
5
COONS
n, m, mask,
x11, y11, z11, . . . x1n, y1n, z1n,
x21, y21, z21, . . . x2n, y2n, z2n,
x31, y31, z31, . . . x3m, y3m, z3m,
x41, y41, z41, . . . x4m, y4m, z4m
Superficie tipo Coons generada a partir de 4 curvas que la limitan.
Masking
mask = 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7
donde j3, j4, j5, j6, j7 pueden ser 0 o 1.
j3 (4):
j4 (8):
j5 (16):
j6 (32):
j7 (64):
Restricciones de parmetros:
n, m > 1
Z
1(n)
4(m)
2(n)
3(m)
X
91
Ejemplos:
COONS 6,
6,
4+8+16+32+64,
!1er contorno, n=6
0,
0,
5,
1,
0,
4,
2,
0,
3,
3,
0,
2,
4,
0,
1,
5,
0,
0,
!2 contorno, n=6
0,
5,
0,
1,
5,
1,
2,
5,
2,
3,
5,
3,
4,
5,
4,
5,
5,
5,
!3er contorno, m=6
0,
0,
5,
0,
1,
4,
0,
2,
3,
0,
3,
2,
0,
4,
1,
0,
5,
0,
!4 contorno, m=6
5,
0,
0,
5,
1,
1,
5,
2,
2,
5,
3,
3,
5,
4,
4,
5,
5,
5
92
ROTZ -90
ROTY 90
COONS 7,
6,
!1er contorno, n=7
1,
2,
0.5,
1,
0.2,
0.5,
-0.5,
0,
0.2,
-0.5,
0.5,
-1,
1,
-2,
!2 contorno, n=7
6,
10,
6.5,
4,
5,
1,
4,
0,
5,
-1,
6.5,
-4,
6,
-10,
!3er contorno, m=6
1,
2,
2,
4,
3,
6,
4,
8,
5,
9,
6,
10,
!4 contorno, m=6
1,
-2,
2,
-4,
3,
-6,
4,
-8,
5,
-9,
6,
-10,
4+8+16+32+64,
0,
0,
0,
0,
0,
0,
0,
-2,
-1.5,
-1.2,
-1,
-1.2,
-1.5,
-2,
0,
-0.5,
-1,
-1.5,
-1.8,
-2,
0,
-0.5,
-1,
-1.5,
-1.8,
-2
93
MASS
m:
h:
xi, yi, zi :
si :
Masking
mask = j1 + 4*j3 + 16*j5 + 32*j6 + 64*j7
donde j1, j3, j5, j6, j7 pueden ser 0 o 1.
j1 (1):
j3 (4):
j5 (16):
j6 (32):
j7 (64):
Restricciones de parmetros:
n > 3, m > 0
m-1
m
n
1
2
dz plane
94
Ejemplo:
MASS
15,
0,
8,
8,
13,
16,
19,
23,
24,
24,
28,
28,
28,
0,
0,
0,
0,
28,
23,
23,
13,
13,
16,
16,
0,
28,
19,
19,
8,
8,
5,
5,
1,
1,
7,
7,
8,
8,
5,
5,
0,
-1,
0,
-1,
0,
-1,
0,
-1,
0,
-1,
0,
-1
95
beta
alpha
radius
1:
intensity
dist1
dist2
96
Restricciones de parmetros:
alpha < beta < 80
Combinaciones de parmetros que tienen significados especiales:
radius = 0, alpha = 0, beta = 0
Un punto de luz, que irradia luz en todas direcciones y no
arroja sombras.
Los parmetros shadow y angfalloff se ignoran,
suponindoles valores shadow = 0, angfalloff = 0.
radius > 0, alpha = 0, beta = 0
Una luz direccional.
Ejemplo:
LIGHT 1.0,0.2,0.3,
1,
1.0,
45.0,60.0,
0.3,
1.0,10.0,
0.2
!
!
!
!
!
!
!
RGB
sombras activas
radio
angle1, angle2
angfalloff
dist1, dist2
distfalloff
97
!RGB
98
PICTURE
expression, a, b, mask
Elemento de imagen para FotoRendering.
La expresin indica un nombre de archivo, una expresin
numrica de un ndice de una imagen guardada como objeto de
biblioteca. Un ndice 0 es un valor especial, se refiere a la imagen
anterior de la biblioteca. Otras imgenes pueden guardarse en
objetos de biblioteca slo al guardar el proyecto o elementos
seleccionados conteniendo imgenes como Objetos ArchiCAD.
La figura del fichero de referencia encaja en un rectngulo tratado
como un RECT en cualquier otro mtodo de proyeccin 3D.
control de distorsin
0 : encaja la imagen en un rectngulo dado
2 : encaja la imagen en el centro de un rectngulo
usando las proporciones naturales de la imagen
4 : llena el rectngulo con la imagen en posicin
central usando sus proporciones naturales
99
d, 0, expression
Una representacin 3D en el estilo definido del valor de un texto o
expresin de tipo numrico. Ver DEFINE STYLE y SET STYLE en el
captulo "Atributos".
d: grosor de los caracteres en metros
En esta versin de GDL, el segundo parmetro es siempre cero.
Ejemplos:
nombre= "Grand"
ROTX 90
ROTY -30
TEXT 0.003, 0, nombre
ADDX STW (nombre)/1000
ROTY 60
TEXT 0.003, 0, "Hotel"
100
5.5 Primitivas
Las primitivas de la estructura de datos 3D son VERT, VECT, EDGE,
PGON y BODY. Los cuerpos se representan por sus superficies y
las conexiones entre ellas. La informacin para ejecutar un corte 3D
proviene de la informacin de conexin
El indexado empieza con 1, y cada nuevo cuerpo o una
declaracin BASE reinicia el ndice a 1. Para cada arista, se
almacenan los ndices de polgonos adyacentes (mximo 2). La
orientacin de las aristas se define por los dos vrtices
determinados como primero y segundo.
Los polgonos son listados de aristas con una orientacin
incluyendo los ndices de las aristas. Estos nmeros pueden tener
un prefijo negativo. Esto significa que la arista dada se usa en
direccin opuesta. Los polgonos pueden incluir huecos. En la lista
de aristas, un ndice cero indica un nuevo hueco. Los huecos no
deben incluir otros huecos. Una arista puede pertenecer de 0 a 2
polgonos. En el caso de cuerpos cerrados, la orientacin de los
polgonos es correcta si la arista tiene distintos prefijos en la lista de
aristas de los dos polgonos
Los vectores normales a los polgonos se almacenan
separadamente. En el caso de cuerpos cerrados, sealan del
interior al exterior del cuerpo. La orientacin de la lista de aristas es
antihoraria (matemticamente positiva), si se mira desde el exterior.
La orientacin de los huecos es opuesta al polgono relativo. Los
vectores normales a un cuerpo abierto deben sealar a la misma
cara del cuerpo.
Para determinar el interior y el exterior de los cuerpos, estos deben
estar cerrados. Una definicin simple para un cuerpo cerrado es la
siguiente: cada arista tiene exactamente dos polgonos adyacentes.
La eficiencia de los algoritmos de corte, lneas ocultas o rendering
es menor para cuerpos abiertos. Cada elemento tridimensional
compuesto con parmetros regulares es un cuerpo cerrado en la
estructura de datos interna 3D.
La bsqueda de la lnea de contorno se basa en los bits de status de
las aristas y sus polgonos adyacentes. Esto de define
automticamente para elementos curvos compuestos, pero
depende del usuario especificar correctamente estos bits en el caso
de elementos primitivos.
101
x, y, z
Nodo en el espacio x-y-z, definido por 3 coordenadas.
TEVE
x, y, z, u, v
Extensin de la declaracin VERT incluyendo una definicin de
coordenadas de textura. Puede usarse en lugar de la declaracin
VERT se precisan coordenadas de textura definidas por el usuario
en lugar de las texturas automticas de ArchiCAD (ver la
declaracin COOR).
x, y, z: coordenadas de un nodo
u, v:
coordenadas de textura del nodo
(u, v) deben especificarse coordenadas para cada vrtice del
cuerpo actual y cada vrtice debe tener slo una coordenada de
textura. Si las declaraciones VERT y TEVE se mezclan en una
definicin de cuerpo, las coordenadas (u,v) no son efectivas.
Nota: las coordenadas de textura (u, v) slo son efectivas en
FotoRenderings, pero no para mapeado de tramas vectoriales.
102
VECT
x, y, z
Definicin del vector normal a un polgono por 3 coordenadas. En
el caso de definicin simplificada (PGON.ivect = 0) estas
declaraciones pueden omitirse.
EDGE
16
32
64
103
PGON
ivect :
16
polgono cncavo.
32
64
104
PIPG
COOR
plano
2:
cbico
3:
cilndrico
4:
esfrico
5:
Tipos de proyeccin:
256 : el relleno empieza siempre en el origen del
sistema de coordenadas local
1024 : proyeccin cuadrtica de la textura
(recomendado)
2048 : proyeccin lineal de la textura basada en la
distancia promedio
4096 : proyeccin lineal de la textura basada en la
triangulacin normal
Los 3 valores anteriores slo son efectivos
con definiciones propias de coordenadas de
texturas (ver la declaracin TEVE).
vert1 :
105
Y
X'
Z'
X
Y'
106
"Face brick",
"Face brick",
15,
15,
15,
15
!#1
!#2
!#3
!#4
-3,
-4
BODY
status
Compone un cuerpo definido con las siguientes primitivas.
Bits de status:
1
cuerpo cerrado.
2
32
64
7
1
4
Y
3
2
X
107
1: Descripcin Completa
108
VERT
VERT
VERT
VERT
VERT
VERT
VERT
VERT
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
VECT
VECT
VECT
PGON
0.0,
0.0,
0.0
1.0,
0.0,
0.0
1.0,
1.0,
0.0
0.0,
1.0,
0.0
0.0,
0.0,
1.0
1.0,
0.0,
1.0
1.0,
1.0,
1.0
0.0,
1.0,
1.0
1,
2,
1,
3,
2,
3,
1,
4,
3,
4,
1,
5,
4,
1,
1,
6,
5,
6,
2,
3,
6,
7,
2,
4,
7,
8,
2,
5,
8,
5,
2,
6,
1,
5,
6,
3,
2,
6,
3,
4,
3,
7,
4,
5,
4,
8,
5,
6,
1.0,
0.0,
0.0
0.0,
1.0,
0.0
0.0,
0.0,
1.0
4, -3, 0, -1, -4, -3,
PGON
4,
3,
0,
5,
PGON
4, -2,
0,
1, 10, -5, -9
PGON
4,
1,
0,
PGON
4,
2,
0,
PGON
4, -1,
0,
4,
BODY
6,
7,
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
9, -8, -12
!#1
!#2
!#3
!#4
!#5
!#6
!#7
!#8
!#1
!#2
!#3
!#4
!#5
!#6
!#7
!#8
!#9
!#10
!#11
!#12
!#1
!#2
!#3
!#1
!VERT1,2,3,4
!#2
!VERT5,6,7,8
!#3
!VERT1,2,5,6
!#4
!VERT2,3,6,7
!#5
!VERT3,4,7,8
!#6
!VERT1,4,5,8
!CUBE
0.0,
1.0,
1.0,
0.0,
0.0,
1.0,
1.0,
0.0,
1,
2,
3,
4,
5,
6,
7,
8,
1,
2,
3,
4,
4, 0,
PGON
4,
PGON
4, 0,
PGON
4,
0,
-1,
PGON
4,
0,
-1,
PGON
4, 0,
BODY
-1
0,
0.0,
0.0
0.0,
0.0
1.0,
0.0
1.0,
0.0
0.0,
1.0
0.0,
1.0
1.0,
1.0
1.0,
1.0
2,
-1,
-1,
3,
-1,
-1,
4,
-1,
-1,
1,
-1,
-1,
6,
-1,
-1,
7,
-1,
-1,
8,
-1,
-1,
5,
-1,
-1,
5,
-1,
-1,
6,
-1,
-1,
7,
-1,
-1,
8,
-1,
-1,
-1, -1, -4, -3,
-1,
-1,
-1,
5,
6,
0
0
0
0
0
0
0
0
0
0
0
0
-2
7,
1, 10, -5, -9
4,
9, -8, -12
!#1
!#2
!#3
!#4
!#5
!#6
!#7
!#8
!#1
!#2
!#3
!#4
!#5
!#6
!#7
!#8
!#9
!#10
!#11
!#12
!#1
!VERT1,2,3,4
!#2
!VERT5,6,7,8
!#3
!VERT1,2,5,6
!#4
!VERT2,3,6,7
!#5
!VERT3,4,7,8
!#6
!VERT1,4,5,8
!CUBE
BASE
Pone a cero el contador para los elementos geomtricos del nivel
bajo declaraciones (VERT, VECT, EDGE y PGON). Utilizado
implcitamente despus de cada definicin de elemento
compuesto.
109
mode [, section]
Comando especial para incluir objetos binarios en un macro GDL.
Un conjunto de vrtices, vectores, aristas, polgonos, cuerpos y
materiales se lee desde una seccin especial del archivo del Objeto
de Biblioteca. Estos se transforman de acuerdo con las
transformaciones actuales y se combinan en el modelo 3D. Los
datos contenidos en la seccin binaria no es editable para el
usuario.
mode:
0:
1:
2:
3:
seccin:
110
111
5.7 Corte en 3D
CUTPLANE
[x, y, z [, side]]
[stmt1
stmt2
...
stmtn]
CUTEND
CUTPLANE
o
angle
[stmt1
stmt2
...
stmtn]
CUTEND
Crea un plano de corte y borra partes cortadas de formas incluidas.
CUTPLANE puede contener diferentes nmeros de parmetros.
CUTPLANE tiene:
Sin Parmetros: plano x-y
1 parmetro: el plano de corte cruza el eje x, el ngulo est entre
el plano de corte
2 parmetros: el plano de corte es paralelo al eje z, cruza el eje x y
el y sobre lo valores dados
3 parmetros: cruza ejes x, y , z sobre los valores dados
4 parmetros: los tres primeros parmetros anteriores
side = 0:
side = 1:
112
CUTPLANE
CUTPLANE
CUTPLANE
CUTPLANE
ADD
BRICK
DEL
CUTEND
CUTEND
CUTEND
CUTEND
Manual de Referencia GDL de ArchiCAD
2,
-2,
-2,
2,
-1,
2,
1
2,
2,
-2,
-2,
-1,
2,
4
4
4
4
0
4
113
114
CUTPLANE
SPHERE 2
CUTEND
CUTPLANE 1, 1, 0, 1
SPHERE 2
CUTEND
CUTPLANE 60
BRICK 2, 2, 2
CUTEND
CUTPLANE -120
BRICK 2, 2, 2
CUTEND
CUTPOLY
n,
x1, y1, . . . xn, yn
[, x, y, z]
[stmt1
stmt2
...
stmtn]
CUTEND
Similar al comando CUTPLANE, los parmetros de CUTPOLY se
refieren al sistema de coordenadas actual. El polgono debe ser
convexo y no puede tener auto-interseccin. La direccin de corte
es el eje Z o puede especificarse un vector opcional (x, y, z)
Los parmetros definen un "tubo" infinito: el polgono es la seccin
transversal del tubo, la direccin de corte es la direccin del tubo.
Se elimina todo lo que est en el interior del tubo.
Ejemplos:
ROTX 90
MULZ -1
CUTPOLY
3,
0.5, 1,
2,
2,
3.5, 1,
-1.8, 0,
1
DEL 1
BPRISM_ "Red brick", "Red brick", "Face brick",
4,
0.9, 7,
0.0, 0.0, 15,
6.0, 0.0, 15,
6.0, 3.0, 15,
0.0, 3.0, 15
CUTEND
115
A=1.0
D=0.1
CUTPOLY
D,
A-D,
A-D,
D,
ROTX -90
CUTPOLY
D,
A-D,
A-D,
D,
DEL 1
ROTY 90
CUTPOLY
D,
A-D,
A-D,
D,
DEL 1
BLOCK A,
CUTEND
CUTEND
CUTEND
116
4,
D,
D,
A-D,
A-D
4,
D,
D,
A-D,
A-D
4,
D,
D,
A-D,
A-D
A,
ROTX 90
FOR I=1 TO 3
FOR J=1 TO 5
CUTPOLY
4,
0,
0,
1,
1,
1,
0,
ADDX
1.2
NEXT J
DEL 5
ADDY 1.2
NEXT I
DEL NTR()-1
ADD
-0.2, -0.2, 0
BRICK 6.2, 3.8, 1
FOR K=1 TO 15
CUTEND
NEXT K
DEL TOP
0,
1
117
CUTPOLYA
n, status, d,
x1, y1, mask1, . . . xn, yn, maskn
[, x, y, z]
[stmt1
stmt2
...
stmtn]
CUTEND
Similar a la definicin CUTPOLY, pero con la posibilidad de
controlar la visibilidad de las aristas de los polgonos generados. La
forma de corte es un tubo semi-infinito con la seccin transversal
poligonal definida. El final de la forma de corte no puede caer
dentro del cuerpo.
Z
j3
j2
Y
i
j1
i+1
X
status:
1: uso de los atributos propios del cuerpo para las aristas y
polgonos generados
2: los polgonos de corte generados se tratarn como
polgonos normales
d:
maski:
118
Ejemplo:
ROTX 90
FOR I=1 TO 3
FOR J=1 TO 5
CUTPOLYA
6,
1,
0,
1,
0.15, 5,
0.15, 0.15, 900,
0,
90, 4007,
0,
0.85, 5,
0.85, 0.85, 900,
0,
90, 4007
ADDX 1
NEXT J
DEL 5
ADDY 1
NEXT I
DEL NTR()-1
ADD
-0.2, -0.2, 0
BRICK 5.4, 3.4, 0.5
FOR K=1 TO 15
CUTEND
NEXT K
DEL TOP
119
CUTSHAPE
d
[stmt1
stmt2
...
stmtn]
CUTEND
Si d = 0.0 la forma de corte es el plano X-Y, el corte elimina la parte
superior del plano X-Y.
d < 0.0 significa un corte en L. Se elimina la parte superior del
plano X-Y con x 0.
d > 0.0 significa un corte en U. Similar al corte en L, se elimina la
parte superior del plano X-Y con 0 < x < d.
FOR I = 1 TO 5
ADDX 0.4 * I
ADDZ 2.5
CUTSHAPE 0.4
DEL 2
ADDX 0.4
NEXT I
DEL TOP
BRICK 4.4, 0.5, 4
FOR I = 1 TO 5
CUTEND
NEXT I
120
Formas Bidimensionales
121
x, y
(x, y)
LINE2
(x1, y1)
RECT2
(x1, y1)
122
POLY2
POLY2_
j1 (1):
slo contorno
j2 (2):
slo relleno
j3 (4):
X
Manual de Referencia GDL de ArchiCAD
123
slo contorno
j2 (2):
slo relleno
j3 (4):
maski :
POLY2_A
n, framefill, fillpen,
x1, y1, mask1, ..., xn, yn, maskn
POLY2_B
n, framefill, fillpen,
fillbkgdpen,
x1, y1, mask1, ..., xn, yn, maskn
Versiones avanzadas del comando POLY2_ , con parmetros
adicionales: la pluma y el relleno. El resto de parmetros son
similares a los descritos en la declaracin POLY2_.
ARC2
x, y, r, alpha, beta
Arco con centro en (x, y) desde un ngulo alpha hasta beta, con
radio r.
Alpha y beta estn en grados.
be
ta
alpha
(x, y)
124
CIRCLE2
x, y, r
Crculo con centro en (x, y), y radio r.
r
Y
(x, y)
SPLINE2
1
Y
Valores de status:
0:
por defecto
1:
2:
125
Ejemplos:
SPLINE2
0,
0,
1,
2,
1.5, 1.5,
3,
4,
4,
3,
5,
2,
60,
30,
-30,
45,
-45
n = 5
FOR I = 1 TO n
SPLINE2
4,
0.0,
2.0,
-1.0,
1.8,
-1.0,
1.0,
0.0,
0.0,
MUL2
-1.0,
SPLINE2
4,
0.0,
2.0,
-1.0,
1.8,
-1.0,
1.0,
0.0,
0.0,
DEL 1
SPLINE2
4,
0.0,
2.0,
0.0,
2.5,
0.0,
2.4,
0.0,
2.0,
ADD2
2.5,
NEXT I
126
0,
135.0,
240.0,
290.0,
45.0
1.0
0,
135.0,
240.0,
290.0,
45.0
0,
100.0,
0.0,
270.0,
270.0
0
SPLINE2_A
n, status,
x1, y1, angle1, lenPrev1, lenNext1,
...
xn, yn, anglen, lenPrevn, lenNextn
len
Ne
xti
len
Pr
ev
angle i
i
(x i ,yi )
Cdigos de status:
0:
Por defecto
1:
2:
xi, yi:
lenPrevi, lenNexti:
longitudes de las tangentes para los puntos de
control anteriores y posteriores
anglei:
127
Ejemplo:
SPLINE2A
0.0,
0.7,
1.9,
1.9,
1.8,
2.4,
3.5,
4.7,
6.0,
PICTURE2
9,
0.0,
1.5,
0.8,
1.8,
3.1,
4.1,
3.3,
3.7,
4.6,
2,
0.0,
15,
72,
100,
85,
352,
338,
36,
0,
0.0,
0.9,
0.8,
0.3,
0.4,
0.4,
0.4,
0.4,
0.0,
0.0,
1.0,
0.3,
0.4,
0.5,
0.4,
0.4,
0.8,
0.0
expression, a, b, mask
Puede usarse en 2D de manera similar al comando PICTURE en 3D.
Una expresin indica un nombre de archivo, una expresin
numrica, un ndice de una imagen guardada en el objeto. Un
ndice 0 es un valor especial, se refiere a la imagen previa del
objeto de biblioteca. El resto de imgenes solamente pueden
guardarse en objetos al guardar el proyecto o elementos
seleccionados conteniendo imgenes como Objetos de ArchiCAD.
128
x, y, expression
El valor de un clculo numrico o de texto, escrito en el estilo
definido en las coordenadas x, y.
Y
ArchiCAD
(x,y)
129
fragment_index, use_current_attributes_flag
El fragmento con el ndice dado se inserta en la Vista Completa 2D
con las transformaciones actuales.
use_current_attributes_flag :
0:
El fragmento aparece con el color, tipo de lnea y
tipo de trama definido para l
1:
FRAGMENT2
ALL, use_current_attributes_flag
Todos los fragmentos se insertan en la Vista Completa 2D con las
transformaciones actuales.
use_current_attributes_flag :
0:
El fragmento aparece con el color, tipo de lnea y
tipo de trama definido para l
1:
130
6.4 Proyecciones 3D en 2D
PROJECT2
Vista Inferior
Frontal inferior
Isomtrica inferior
Monomtrica inferior
Dimtrica inferior
method:
1:
2:
almbrico
opaco analtico
131
132
Cdigos de status
adicionales para polilneas
planas
133
maski
CPRISM_
maski
BPRISM_
maski
FPRISM_
maski
SPRISM_
maski
CROOF_
maski
EXTRUDE
si
PYRAMID
si
REVOLVE
si
SWEEP
si
TUBE
si
TUBEA
si
POLY2_
maski
POLY2_A
maski
POLY2_B
maski
134
x,y
dy
dx
100
135
l
a
200
300
(x1,y1)
600
136
700
Cerrar polilnea
0, 0, 700,
ey
ex
800
Definir tangente
ex, ey, 800,
(x0,y0)
900
Definir centro
x0, y0, 900,
137
(x,y)
1000
r
a
2000
3000
x,y
138
4000
4000
139
Ejemplos:
EXTRUDE
0,
0,
7,
0,
7,
3,
6,
3,
5,
3,
1, 90,
2,
1,
1,
3,
3,
2,
1, 2.5,
0,-180,
1,
5,
-1,
0,
2, 225,
-1,
0,
-1,
0,
0,
0,
1,
1,
0.5,360,
3.5,1.5,
1, 360,
140
21, 0,
0,
3, 1+2+4+16+32,
0,
0,
1,
1000, ! arco tangente a extremo
1001, ! arco tangente a extremo
2000, ! arco tangente por radio
! y ngulo
1001, ! arco tangente a extremo
900, ! definir centro
3000, ! arco usando punto inicial,
! centro
! y punto en radio final
900, ! definir centro
4001, ! arco usando punto inicial,
! centro y ngulo
1000, ! arco tangente a extremo
100, ! segmento por (dx, dy)
200, ! segmento por (long, ngulo)
800, ! definir tangente
1000, ! arco tangente a extremo
-1, ! final de contorno
900, ! definir centro
4000, ! crculo completo usando centro
! y radio
900, ! definir centro
4001 ! crculo completo usando centro
! y radio
EXTRUDE
2+5+10+10+2,
0,
1+2+4+16+32,
0,
0,
900,
3,
360,
4001,
2.5,
-1,
0,
2.5,
1,
0,
1.5,
1,
1,
1.5,
-1,
1001,
2.5,
-1,
-1,
0,
2.5,
600,
0,
-1,
800,
1,
1.5,
1001,
-1,
0,
800,
0,
0.5,
1001,
0,
1,
800,
-1,
1.5,
1001,
1,
0,
800,
0,
2.5,
1001,
0,
2.5,
700,
-1.5,
0,
900,
-2.5,
0,
600,
-2.5,
1,
3000,
-2.5,
1,
0,
-1.5,
1,
0,
-1.5,
-1,
1001,
-2.5,
-1,
0,
SQR(2)-1, 45,
200,
-2.5,
0,
3000,
-2.5,
0,
700,
0,
-1.5,
900,
1,
360,
4000
0,
3,
141
EXTRUDE
0,
0,
3,
360,
2,
360,
3,
1,
900,
4001,
4000
ROTY
REVOLVE
7,
1,
6,
1,
5.5, 2,
5,
1,
4,
1,
3,
1,
0,
180,
-90
9,
180, 16+32,
0,
0,
0,
0,
0,
900,
! definir centro
4001,
! arco usando punto inicial,
! centro y ngulo
0,
0
2,
1,
142
1,
1,
1,
3,
1+2+4+16+32,
Captulo 8: Atributos
Atributos
143
Captulo 8: Atributos
8.1 Directivas
Estas directivas influyen en la interpretacin de las declaraciones
GDL subsiguientes. Su influencia permanece efectiva hasta la
siguiente directiva o hasta el final del script. Los scripts llamados
heredan las definiciones actuales, los cambios tienen influencia
local. Saliendo del script reajusta las definiciones a tal como eran
antes de la llamada a macro.
Las directivas RADIUS, RESOL y TOLER definen la suavizacin de
los elementos cilndricos 3D (CIRCLE, ARC, CYLIND, SPHERE,
ELLIPS, CONE, ARMC, ARME, ELBOW, REVOLVE) y de los arcos en
polilneas 2D que usan bordes curvos (ver el captulo "Cdigos de
Status Adicionales para Polilneas Planas).
varnam = n
Asignacin de valor. La directiva LET es opcional. La variable
almacenar el valor evaluado de n.
RADIUS
rmin, rmax
Define la suavizacin de elementos cilndricos y arcos en
polilneas.
Un crculo de radio r se representa:
si r < rmin, por un hexgono,
si r > rmax, por un polgono de 36 caras,
si rmin < r < rmax, por un polgono de (6+30*(rrmin)/(rmax
rmin)) caras.
La conversin del arco es proporcional a sto.
Tras una declaracin RADIUS, las declaraciones previas RESOL y
TOLER pierden su efecto.
Restricciones de parmetros:
rmin < rmax
144
Captulo 8: Atributos
Ejemplos:
RADIUS 1.1, 1.15
CYLIND 3.0, 1.0
RESOL
n
Define la suavizacin de los elementos cilndricos. Los crculos se
convierten en polgonos regulares de n caras.
La conversin del arco es proporcional a sto.
Tras una declaracin RESOL, las declaraciones previas RADIUS y
TOLER pierden su efecto.
Restriccin de parmetros:
n>3
Por omisin:
RESOL 36
Ejemplos:
n>3
RESOL 5
CYLIND 3.0, 1.0
TOLER
RESOL 36
CYLIND 3.0, 1.0
d
Define la suavizacin de los elementos cilndricos. El error de
aproximacin del arco (p.e. la mayor distancia entre un arco
terico y la cuerda generada) ser menor que d.
Tras una declaracin TOLER, las declaraciones previas RADIUS y
RESOL pierden su efecto.
145
Captulo 8: Atributos
Ejemplos:
TOLER 0.1
CYLIND 3.0, 1.0
PEN
TOLER 0.01
CYLIND 3.0, 1.0
n
Define el color actual.
Restriccin de parmetros:
0 < n < 99
Por omisin:
PEN 1
si no hay declaracin de PEN en el script.
(Para tems de biblioteca, ArchiCAD lee valores por omisin desde
la definicin del tem de biblioteca. Si el script se refiere a un ndice
inexistente, PEN 1 ser la definicin por omisin.)
[SET] STYLE
[SET] STYLE
name_string
index
Todos los textos generados despus representarn este estilo hasta
la prxima declaracin de SET STYLE.
El ndice es una constante referida a una pila de estilos en la
estructura de datos interna de ArchiCAD. Esta pila se modifica
durante el anlisis GDL y tambin puede ser modificada desde el
programa. El uso del ndice en lugar del nombre del estilo se
recomienda slo con un uso previo de la funcin IND descrita ms
adelante.
Por omisin:
SET STYLE 0
146
Captulo 8: Atributos
WIRE
SURFACE
SOLID
Ajusta el modo de representacin en el script actual.
MODEL WIRE : almbrico solamente, sin superficies ni volmenes.
Los objetos son transparentes.
MODEL SURFACE, MODEL SOLID : La generacin de las
superficies de seccin se basa en la relacin de las superficies
lmite, por lo que ambos mtodos generan la misma estructura de
datos internos 3D. Los objetos son opacos.
La nica diferencia puede verse despus de haber cortado una
parte del cuerpo
MODEL SURFACE : el interior de los cuerpos ser visible,
MODEL SOLID :
pueden aparecer nuevas superficies.
Por omisin:
MODEL SOLID
WIRE
3,2,1
4
SURFACE
3,2,1
4
SOLID
3,2,1
147
Captulo 8: Atributos
[SET] MATERIAL
[SET] MATERIAL
name_string
index
Todas las superficies generadas despus representarn este material
hasta la prxima declaracin de MATERIAL. Las superficies en los
cuerpos BPRISM_,CPRISM_, FPRISM_, SPRISM_, CSLAB_, CWALL_,
BWALL_, XWALL_, CROOF, y MASS son excepciones a esta regla.
El ndice es una constante referida a una pila de material en la
estructura de datos interna de ArchiCAD. Esta pila se modifica
durante el anlisis GDL y tambin puede ser modificada desde el
programa. El uso del ndice en lugar del nombre del material se
recomienda slo con un uso previo de la funcin IND.
El ndice 0 tiene un significado especial: las superficies usan el
color de la pluma actual y tienen una apariencia mate.
Por omisin:
MATERIAL 0
keyword1[, keyword2]
Controla la proyeccin de sombras de los elementos en el
FotoRendering y en las sombras vectoriales.
keyword1:
ON, AUTO u OFF
keyword2:
ON u OFF
ON:
OFF:
AUTO:
148
Captulo 8: Atributos
SHADOW
BRICK
ADDX
SHADOW
BRICK
ADDX
SHADOW
BRICK
OFF
1,
2
ON
1,
2
OFF
1,
1,
1,
1,
name_string
index
Todos los polgonos 2D generados despus sern representados
con esta trama hasta la siguiente declaracin SET FILL.
El ndice es una constante referida a una pila de tramas en la
estructura de datos interna de ArchiCAD. Esta pila se modifica
durante el anlisis GDL y tambin puede ser modificada desde el
programa. El uso del ndice en lugar del nombre de la trama se
recomienda slo con un uso previo de la funcin IND.
Por omisin:
SET FILL 0
149
Captulo 8: Atributos
[SET] LINE_TYPE
[SET] LINE_TYPE
name_string
index
Todas las lneas 2D posteriores mostrarn este tipo de lnea (lneas,
arcos y polilneas) hasta la prxima declaracin SET LINE_TYPE.
El ndice es una constante referida a una pila de tipos de lnea en la
estructura de datos interna de ArchiCAD. Esta pila se modifica
durante el anlisis GDL y tambin puede ser modificada desde el
programa. El uso del ndice en lugar del nombre del tipo de lnea
se recomienda slo con un uso previo de la funcin IND.
Por omisin:
SET LINE_TYPE 1
150
Captulo 8: Atributos
Definicin de materiales
DEFINE MATERIAL
0:
151
Captulo 8: Atributos
Ejemplos:
DEFINE MATERIAL "water" 0,
0.5284, 0.5989, 0.6167,
! surface RGB [0.0..1.0]
1.0, 0.5, 0.5, 0.9,
! ambient, diffuse, specular, transparent
! coefficients [0.0..1.0]
20,
! shining [0.0..100.0]
1,
! transparency attenuation [0.0..4.0]
0.5284, 0.5989, 0.6167,
! specular RGB [0.0..1.0]
0, 0, 0,
! emission RGB [0.0..1.0]
0.0
! emission attenuation [0.0..65.5]
DEFINE MATERIAL "asphalt" 1,
0.1995, 0.2023, 0.2418
! surface RGB [0.0..1.0]
1.0, 1.0, 0.0, 0.0,
! ambient, diffuse, specular, transparent
! coefficients [0.0..1.0]
0,
! shining [0..100]
0
! transparency attenuation [0..4]
DEFINE MATERIAL "matte red" 2,
1.0, 0.0, 0.0
! surface RGB [0.0..1.0]
DEFINE MATERIAL "Red Brick" 10,
0.878294, 0.398199, 0.109468,
0.58, 0.85, 0.0, 0.0,
0,
0.0,
0.878401, 0.513481, 0.412253,
0.0, 0.0, 0.0,
0,
IND(FILL, "common brick")
! fill index
152
Captulo 8: Atributos
153
Captulo 8: Atributos
DEFINE TEXTURE
nombre de la imagen
x:
y:
mask:
j1 + 2 * j2 + 4 * j3 + 8 * j4 + 16 * j5 +
32 * j6 + 64 * j7 + 128 * j8 + 256 * j9
donde j1, j2, j3, j4, j5, j6, j7, j8, j9 puede ser 0 1.
j3:
j4:
j5:
j6:
y
x
154
Captulo 8: Atributos
j7:
x
j8:
simetra en direccin X
y
x
j9:
simetra en direccin Y
y
x
angle: ngulo de rotacin desde la orientacin natural.
Ejemplo:
DEFINE TEXTURE "Brick" "Brick.PICT",
1.35, 0.3, 256+128, 35.0
155
Captulo 8: Atributos
Definicin de trama
DEFINE FILL
len
.... im
leni2
m line parts
Y leni1
diri
offsetyi
freq
offsetx i X
name :
freq
nombre de la trama.
spa
*y
cing
angle
156
*x
cing
spa
Captulo 8: Atributos
spacing :
angle :
n:
freqi :
diri :
offsetxi,
offsetyi :
m i,
lenij
157
Captulo 8: Atributos
Ejemplo:
DEFINE FILL "brick"
0.08333,
1.0,
3.0,
1.0,
3.0,
1.0,
1.5,
1.0,
0.0,
0.0,
90.0,
1.0,
90.0,
3.0,
90.0,
5.0
Trama Bitmap:
Trama:
Valor binario:
pat1
pat2
pat3
pat4
pat5
pat6
pat7
pat8
01010101
11111111
10001000
11111111
00100010
11111111
10001000
11111111
=
=
=
=
=
=
=
=
85
255
136
255
34
255
136
255
1.0,
1.0,
3.0,
4,
2,
Vista:
Trama vectorial:
158
Captulo 8: Atributos
len
.... im
leni2
m line parts
Y leni1
diri
offsetyi
freq
doffset i
offsetx i X
freq
doffset i
cing
spa
y*y
angle
x*x
cing
spa
spacingx :
spacingy :
159
Captulo 8: Atributos
doffseti:
Ejemplo:
DEFINE FILLA "TEST"
8,
8,
0.5, 0.5, 0,
2,
2,
1,
90, 0,
0,
1,
2,
0,
0,
0,
FILL "TEST"
POLY2 4,
6,
-0.5, -0.5, 12, -0.5,
12,
6,
-0.5, 6
Trama bitmap:
Trama:
Valor binario:
pat1
pat2
pat3
pat4
pat5
pat6
pat7
pat8
00001000
10001110
10000000
11101000
00001000
10001110
10000000
11101000
=
=
=
=
=
=
=
=
8
142
128
232
8
142
128
232
1,
1,
1,
3
Vista:
.
Trama vectorial:
160
Captulo 8: Atributos
factor de espaciado
n:
leni :
161
Captulo 8: Atributos
Definicin de estilo
DEFINE STYLE
DEFINE STYLE
DEFINE STYLE
anchor :
facecode :
slant :
162
normal
negrita
cursiva
subrayada
hueca
16
sombra
Scripts No Geomtricos
163
REF DESCRIPTOR
code :
keycode :
code [, keycode]
Referencia por cdigo y cdigo llave a una
descripcin en una base de datos externa.
COMPONENT
164
name :
quantity :
unit :
prop_with :
1: elemento
2: longitud
3: superficie A
4: superficie B
5: superficie
6: volumen
code :
keycode :
unitcode :
REF COMPONENT
BINARYPROP
Referencia a datos de propiedades binarios (componentes y
descripciones) definidos en el elemento de biblioteca en la seccin
de Componentes/Descripciones.
SURFACE3D ( )
VOLUME3D ( )
Estas funciones le dan la superficie y el volumen de la forma 3D del
elemento de biblioteca.
165
position_keyword
Efectivo slo en el Listado de Componentes.
Cambia el tipo slo del elemento al que estn asociados los
componentes y descripciones siguientes. Si no hay este tipo de
directivas en el script de Propiedades, los componentes y
descripciones sern listados con sus tipos de elementos por
defecto. Las palabras clave son las siguientes:
WALLS
COLUMNS
DOORS
WINDOWS
OBJECTS
CEILS
PITCHED_ROOFS
LIGHTS
HATCHES
ROOMS
MESHES
Una directiva permanece vlida para todos los DESCRIPTORs y
COMPONENTs siguientes hasta que se asigna la siguiente directiva.
Un script puede incluir cualquier nmero de directivas.
Ejemplo:
DESCRIPTOR
"\tPainted box.\n\t Properties:\n\
\t\t - swinging doors\n\
\t\t - adjustable height\n\
\t\t - scratchproof"
REF DESCRIPTOR
"0001"
s = SURFACE3D () ! wardrobe surface
COMPONENT "glue", 1.5, "kg"
COMPONENT "handle", 2 * c, "nb" ! c number of doors
COMPONENT "paint", 0.5 * s, "kg"
POSITION
WALLS
REF COMPONENT
"0002"
DRAWING
Se refiere al dibujo descrito en el script 2D del mismo elemento de
biblioteca. selo para colocar dibujos en sus listados de materiales.
166
vali :
valores posibles
167
168
10
Expresiones y Funciones
169
10.1 Expresiones
Se pueden escribir expresiones compuestas en las declaraciones
GDL, que pueden ser numricas o de texto. En los operadores hay
constantes, variables, parmetros o llamadas a funcin y cualquier
combinacin de ellos. Se usan pares de parntesis curvos (( ))
(precedencia 1) para anular la precedencia por defecto de los
operadores.
Las variables de tipo simple pueden ser valores numricos y de
texto, incluso en el mismo script, y pueden usarse en expresiones
numricas y de texto respectivamente. Las operaciones que dan
como resultado texto NO PUEDEN ser usadas directamente como
nombres de macro en llamadas a macro, o como nombres de
atributos en definiciones de material, trama, tipo de lnea o estilo.
Las variables con valor de texto sern tratadas como tal y pueden
ser usadas en cualquier lugar donde se requieran valores de texto.
Si ms adelante en el script a la misma variable se le da un valor
numrico, ser utilizable slo en expresiones numricas hasta que
se le d otra vez valor de texto. En el proceso de precompilacin se
comprueba el tipo de las expresiones.
El GDL soporta matrices de una y dos dimensiones. Las variables
devienen matrices despus de una declaracin, en la cual se
especifican sus dimensiones mximas:
DIM
170
! declaracin
171
10.2 Operadores
Los operadores siguientes se enumeran en orden de precedencia
decreciente. La evaluacin de una expresin empieza con el
operador de precedencia ms alta y, si no, de izquierda a derecha.
Operadores aritmticos
^ (o **)
Potencia de
precedencia 2
Multiplicacin
precedencia 3
Divisin
precedencia 3
precedencia 3
MOD (or %)
Suma
precedencia 4
Resta
precedencia 4
Operadores Relacionales
=
Igual
precedencia 5
<
Menor que
precedencia 5
>
Mayor que
precedencia 5
<=
precedencia 5
>=
<> (o #)
No igual a
precedencia 5
precedencia 5
Operadores Booleanos
AND (o&)
172
y lgico
precedencia 6
OR (o |)
o lgico inclusivo
precedencia 7
EXOR (o @)
o lgico exclusivo
precedencia 8
10.3 Funciones
Funciones Aritmticas
ABS (x)
INT (x)
FRA (x)
SGN (x)
SQR (x)
Funciones Circulares
Estas funciones usan grados para sus argumentos (COS, SIN, TAN)
y para devolver valores (ACS, ASN, ATN).
ACS (x)
ASN (x)
ATN (x)
COS (x)
Devuelve el coseno de x.
SIN (x)
TAN (x)
PI
Devuelve el seno de x.
Devuelve la tangente de x.
Devuelve la constante de Ludolph. ( = 3.1415926).
173
Funciones Trascendentes
EXP (x)
LGT (x)
LOG (x)
Funciones Booleanas
NOT (x)
Funciones Estadsticas
MIN (x1,x2, . . . xn)
RND (x)
Funciones de texto
STR
STR
! 4.50
! 2.34
! 10.55
174
justificar izquierda
explicitar signo ms
'0'
mostrar 0 pulgadas
- metros
mm
- milmetros
cm
- centmetros
ffi
- pies y pulgadas
fdi
df
- pies decimales
fi
- pulgadas fraccionales
di
- pulgadas decimales
para reas:
sqm
- m2
sqcm - cm2
sqmm - mm2
sqf
- pies2
sqi
- pulgadas2
175
para ngulos :
dd
- grados decimales
dms
gr
- grados
rad
- radianes
surv
- unidad topogrfica
Ejemplos:
h = 23
nr = 0.345678
TEXT2
TEXT2
TEXT2
TEXT2
TEXT2
TEXT2
0,
0,
0,
0,
0,
0,
!0.346
!
35
! 34.5678
!
34.5678
!345.678000
!+3.456780e-01
TEXT2
TEXT2
TEXT2
TEXT2
TEXT2
TEXT2
0,
0,
0,
0,
0,
0,
!1'-2"
!1'-1 5/8"
! 1'-1.609"
! 1.1341'
!13 39/64"
! +13.6094"
TEXT2
TEXT2
TEXT2
TEXT2
TEXT2
0,
0,
0,
0,
0,
h-12,
h-13,
h-14,
h-15,
h-16,
! 346
!+3,456.78
! 345,678.00
!3.72
!
535.80
STR
STR
STR
STR
STR
("%#.3sqm", nr)
("%+sqcm", nr)
("% .2sqmm", nr)
("%-12sqf", nr)
("%10sqi", nr)
STR
STR
STR
STR
STR
STR
alpha = 88.657
TEXT2
TEXT2
TEXT2
TEXT2
TEXT2
TEXT2
176
0,
0,
0,
0,
0,
0,
h-17,
h-18,
h-19,
h-20,
h-21,
h-22,
SPLIT
el texto a dividir
format :
vari :
Ejemplo:
ss = "3 pieces 2x5 beam"
n = SPLIT (ss, "%n pieces %nx%n %s", num, ss1,
size1, ss2, size2, name)
IF n = 6 THEN
PRINT num, ss1, size1, ss2, size2, name
!3 pieces 2 x 5 beam
ELSE
PRINT "ERROR"
ENDIF
STW
(string_expression)
Devuelve la longitud del texto en metros mostrado en el estilo
actual.
Ejemplo:
abcd
DEFINE STYLE "own" "Monaco", 180000 / A_, 0, 0
SET STYLE "own"
string = "abcd"
width = STW (string) / 1000 * A_
REQUEST ("Height_of_style", "own", height)
height = height / 1000 * A_
text2 0,0, string
rect2 0,0, width, -height
Manual de Referencia GDL de ArchiCAD
177
STRLEN
(string_exp)
Devuelve la longitud de la secuencia de texto (el nmero de
caracteres)
STRSTR
(string_exp1, string_exp2)
Devuelve la posicin de la primera aparicin del segundo texto en
el primer texto. Si el primer texto no contiene al segundo, la
funcin devuelve 0.
STRSUB
178
! Flowers
! .PICT
Funciones Especiales
Las funciones especiales (junto a las variables globales) pueden ser
usadas en el script para comunicar con ArchiCAD. O bien
preguntan el estado actual y distintos ajustes de preferencias del
programa, o bien se refieren al entorno actual del elemento de
biblioteca. Tambin pueden usarse llamadas de peticin para
comunicar con extensiones GDL.
Hay dos tipos de funciones especiales: peticiones y la funcin IND:
REQ
REQUEST
IND
IND
IND
IND
(parameter_string)
(question_name, name | index, var1 [, var2,....])
(MATERIAL, name_string)
(FILL, name_string)
(LINE_TYPE, name_string)
(STYLE, name_string)
Vera ms detalles en el Apndice: Funciones Especiales
179
180
11
Declaraciones de Control
181
NEXT
varnam
ltima declaracin de un bucle FOR.
La variable de bucle vara desde el initial_value hasta el end_value
en incrementos (o decrementos) del step_value en cada ejecucin
del cuerpo del bucle (declaraciones entre las declaraciones FOR y
NEXT). Si la variable de loop excede el valor del end_value, el
programa ejecuta la declaracin siguiendo la declaracin NEXT.
Los dos fragmentos de programa siguientes son equivalentes:
! 1st
A = B
1:IF C > 0 AND A > D OR C < 0 AND A < D THEN 2
PRINT A
A = A + C
GOTO 1
2:
! 2nd
FOR A = B TO D STEP C
PRINT A
NEXT A
182
DO
WHILE
[stmt1
stmt2
...
stmtn]
condicin
Las declaraciones entre las palabras claves se ejecutan mientras la
condicin es verdadera.
La condicin se comprueba despus de cada ejecucin de las
declaraciones.
WHILE
condicin DO
[stmt1
stmt2
...
stmtn]
ENDWHILE
Las declaraciones entre las palabras claves se ejecutan mientras la
condicin es verdadera.
La condicin se comprueba antes de cada ejecucin de las
declaraciones.
REPEAT
UNTIL
[stmt1
stmt2
...
stmtn]
condicin
Las declaraciones entre las palabras claves se ejecutan hasta que la
condicin llega a ser verdadera.
La condicin se comprueba despus de cada ejecucin de las
declaraciones.
183
Ejemplo:
Las 4 secuencias siguientes de comandos GDL son equivalentes:
! 1st
FOR i = 1 TO 5 STEP 1
BRICK 0.5, 0.5, 0.1
ADDZ 0.3
NEXT i
! 2nd
i = 1
DO
BRICK 0.5, 0.5, 0.1
ADDZ 0.3
i = i + 1
WHILE i <= 5
! 3rd
i = 1
WHILE i <= 5 DO
BRICK 0.5, 0.5, 0.1
ADDZ 0.3
i = i + 1
ENDWHILE
! 4th
i = 1
REPEAT
BRICK 0.5, 0.5, 0.1
ADDZ 0.3
i = i + 1
UNTIL i > 5
IF
IF
IF
184
A THEN 28
I > J GOTO 200+I*J
I > 0 GOSUB 9000
IF
IF
condicin THEN
[stmt1
stmt2
...
stmtn]
[ELSE
stmtn+1
stmtn2
...
stmtn+m]
ENDIF
Si slo escribe un comando despus de palabras clave THEN y/o
ELSE en la misma fila, no es necesario ENDIF. Un comando
despus de THEN o ELSE en la misma fila significa un ENDIF
definido.
Si existe una nueva fila despus de THEN, los comandos sucesivos
(todos ellos despus de la palabra clave ELSE o ENDIF) slo se
ejecutarn si la expresin en la condicin es verdadera (diferente
de cero). De otra forma, los comandos que sigan a ELSE se
eliminarn. Si la palabra clave ELSE no existe, los comandos
despus de ENDIF sern eliminados.
Ejemplo:
IF a = b THEN height = 5 ELSE height = 7
IF needdoors THEN
CALL
"door_macro" PARAMETERS
ADDX
a
ENDIF
IF simple THEN
HOTSPOT2
0, 0
RECT2
a, 0, 0, b
ELSE PROJECT2
3, 270, 1
IF name = "Sphere" THEN
ADDY
b
SPHERE 1
ELSE
ROTX
90
TEXT
0.002, 0, name
ENDIF
Manual de Referencia GDL de ArchiCAD
185
GOTO
label
Declaracin de salto incondicional. El programa ejecuta una rama
de la declaracin indicada por el valor de la etiqueta
Ejemplo:
GOTO K+2
GOSUB
label
Llamada a subrutina interna donde la etiqueta es el punto de
entrada de la subrutina.
Ver Etiquetas en el captulo "Elementos Sintcticos Bsicos".
RETURN
Vuelve de una subrutina interna.
END
EXIT
Final del script GDL actual. El programa termina o vuelve al nivel
anterior. Es posible usar varios ENDs o EXITs en un archivo GDL.
BREAKPOINT
expression
Con este comando, se puede especificar un punto de interrupcin
en el script GDL. El analizador (debugger) GDL se detendr en este
comando si el valor del parmetro (una expresin numrica) es
verdadero (1) y est activa la opcin Activar Interrupciones en el
analizador. En el modo de ejecucin "normal", el intrprete GDL
simplemente pasa sobre este comando.
186
PUT
NSP = NSP+1
GET
NSP = NSP-1
USE
PUT
expression [ , expression ] . . .
Almacena los valores dados en el orden dado en buffer de
parmetros interno.
GET
(n)
Usa los siguientes n valores del buffer de parmetros interno y los
olvida.
187
USE
(n)
Usa los siguientes n valores del buffer de parmetros interno sin
borrarlos. Las siguientes funciones USE y GET pueden usar la
misma secuencia de parmetros.
NSP
Devuelve el nmero de parmetros almacenados en el buffer.
Ejemplo de uso del buffer de parmetros:
R=2 : B=6 : C=4 : D=10
N=12
S=180/N
FOR T=0 TO 180 STEP S
PUT R+R*COS(T), C-R*SIN(T), 1
NEXT T
FOR I=1 TO 2
EXTRUDE 3+NSP/3, 0,0,D, 1+16,
0, B, 0,
2*R, B, 0,
USE(NSP),
0, B, 0
MULY -1
NEXT I
DEL 1
ADDZ D
REVOLVE 3+NSP/3, 180, 0,
0, B, 0,
2*R, B, 0,
GET(NSP),
0, B, 0
188
La descripcin completa:
R=2 : B=6 : C=4 : D=10
FOR I=1 TO 2
EXTRUDE 16, 0,0,D, 1+16,
0, B, 0,
2*R, B, 0,
2*R, C, 1,
R+R*COS(15), C-R*SIN(15),
R+R*COS(30), C-R*SIN(30),
R+R*COS(45), C-R*SIN(45),
R+R*COS(60), C-R*SIN(50),
R+R*COS(75), C-R*SIN(75),
R+R*COS(90), C-R*SIN(90),
R+R*COS(105), C-R*SIN(105),
R+R*COS(120), C-R*SIN(120),
R+R*COS(135), C-R*SIN(135),
R+R*COS(150), C-R*SIN(150),
R+R*COS(165), C-R*SIN(165),
0, B, 1,
0, B, 0
MULY -1
NEXT I
DEL 1
ADDZ D
REVOLVE 16, 180, 0,
0, B, 0,
2*R, B, 0,
2*R, C, 1,
R+R*COS(15), C-R*SIN(15),
R+R*COS(30), C-R*SIN(30),
R+R*COS(45), C-R*SIN(45),
R+R*COS(60), C-R*SIN(50),
R+R*COS(75), C-R*SIN(75),
R+R*COS(90), C-R*SIN(90),
R+R*COS(105), C-R*SIN(105),
R+R*COS(120), C-R*SIN(120),
R+R*COS(135), C-R*SIN(135),
R+R*COS(150), C-R*SIN(150),
R+R*COS(165), C-R*SIN(165),
0, B, 1,
0, B, 0
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
189
macro_name_string [,parameter_list]
CALL
macro_name
[parameter_list]
macro_name
190
! A = 2, B = 0, C = 5
191
expression [, expression ]. . .
Escribe todos sus argumentos en un cuadro de dilogo. Los
argumentos pueden ser textos o expresiones numricas de
cualquier nmero en cualquier secuencia, separadas por comas.
Ejemplos:
PRINT
PRINT
PRINT
PRINT
PRINT
"loop-variable:", I
J, K-3*L
"Beginning of interpretation"
a * SIN (alpha) + b * COS (alpha)
"Parameter values: ", "a = ", a,
", b = ", b
PRINT name + STR ("%m", i) + "." + ext
192
filename :
193
OUTPUT
CLOSE
channel
Cierra el archivo identificado por el valor del canal.
194
12
Instrucciones Especiales
para Puertas y Ventanas
195
196
Puertas/Ventanas Rectangulares en
Muros Rectos
Esta es la manera ms sencilla y directa de crear puertas y ventanas.
Se recomienda el uso de comandos GDL simples, como PRISM_ o
RECT.
Si desea que los materiales de superficie de los elementos puerta/
ventana coincidan con los del muro, la superficie inferior debe
coincidir con el exterior, y la superficie superior con el interior del
muro. Puede conseguir esto en los scripts usando las variables
Globales G_, H_ e I_, que le dan los materiales del muro en el que
se coloca la puerta/ventana. En el script 2D, las variables globales
E_, F_ y A pueden ser tiles pues le dan los nmeros de pluma de
contorno y relleno del muro adems del nmero de ndice del
relleno del muro en que est colocada la puerta/ventana. En el
caso de muros compuestos, debe usar las variables globales
correspondientes. Vea el apndice para ms detalles.
La Biblioteca ArchiCAD viene con un amplio conjunto de macros
de puerta/ventana. Estos scripts GDL contienen elementos
constructivos comunes usados por muchas puertas/ventanas en la
Biblioteca ArchiCAD. Hay macros para generar marcos de uso
comn, paneles y muchos otros tipos de elementos puerta/
ventana. Abra algunas puertas/ventanas para ver qu tipo de
macros llaman y qu tipo de elementos generan estos macros
197
Ejemplo:
198
Ventanas No-Rectangulares en
Muros Rectos
Al trabajar con puertas/ventanas, es importante saber que
ArchiCAD siempre corta un hueco rectangular en el muro en el que
coloca la puerta/ventana. El tamao de este hueco est
determinado por los parmetros A y B de la puerta/ventana. Sin
embargo, cuando la puerta/ventana no tiene un alzado rectangular,
no llenar por completo el hueco rectangular. Hay dos soluciones:
1. El script 3D ha de contener partes que generen las zonas que
llenan el hueco entre el cuerpo de la puerta/ventana y los bordes
del hueco rectangular. En este caso, hay que poner atencin a la
visibilidad de los bordes de estos rellenos.
199
WALLHOLE
n, status,
x1, y1, mask1,
...
xn, yn, maskn
[, x, y, z]
n:
status :
1: usa los atributos propios del cuerpo para los
polgonos y bordes generados
2: los polgonos de corte generados sern tratados
como polgonos normales
x i, yi :
maski :
x, y, z :
z
x
j3
n
Y
j2
i+1
j1
1
i
200
RESOL 72
L1=2.7 : L2=1.2 : H1=2.1 : H2=0.3 : H3=0.9
R=((L1/2)^2+H2^2)/(2*H2)
A=ATN((L1/2)/(R-H2))
WALLHOLE 5,1,
-L1/2,H3,15,
L1/2,H3,15,
L1/2,H1-H2,13,
0,H1-R,915,
0,2*A,4015
WALLHOLE 4,1,
L1/2-L2,0,15,
L1/2,0,15,
L1/2,H3,15,
L1/2-L2,H3,15
201
WALLHOLE
5,1,
-0.45,
0,
15,
0.45, 0,
15,
0.45, 1.5, 15,
0,
1.95, 15,
-0.45,
1.5, 15
PRISM_ 12, 0.1,
-0.45,
0,
15,
0.45, 0,
15,
0.45, 1.5, 15,
0,
1.95, 15,
-0.45,
1.5, 15,
-0.45,
0,
-1,
-0.35,
0.1, 15,
0.35, 0.1, 15,
0.35, 1.45, 15,
0,
1.80, 15,
-0.35,
1.44, 15,
-0.35,
0.1, -1
202
Puertas/Ventanas Rectangulares en
Muros Curvos
Al colocar puertas/ventanas en muros curvos, las caras del hueco
cortado en el muro pueden variar de acuerdo con la siguiente
figura.
203
Ejemplo:
Z
RESOL 72
ROTX -90
MULY -1
C= 0.12 : Z=(360*A)/(2*R_*PI)
Y= (360*C)/(2*R_*PI)
A1= 270+Z/2 : A2=270-Z/2
GOSUB 1
ADDZ B
MULZ -1
GOSUB 1
DEL
2
ADDZ C
GOSUB 2
MULX -1
GOSUB 2
END
1:
PRISM_
9,
C,
COS(A2)*R_,
SIN(A2)*R_+R_,
COS(A2+Y)*R_,
SIN(A2+Y)*R_+R_,
0,
R_,
0,
Z-2*Y,
COS(A1)*R_,
SIN(A1)*R_+R_,
COS(A1)*(R_-0.1),
SIN(A1)*(R_-0.1)+R_,
COS(A1-Y)*(R_-0.1), SIN(A1-Y)*(R_-0.1)+R_,
0,
-(Z-2*Y),
COS(A2)*(R_-0.1),
SIN(A2)*(R_-0.1)+R_,
RETURN
2:
PRISM_
4,
B-2*C,
COS(A2)*R_,
SIN(A2)*R_+R_,
COS(A2+Y)*R_,
SIN(A2+Y)*R_+R_,
COS(A2+Y)*(R_-0.1), SIN(A2+Y)*(R_-0.1)+R_,
COS(A2)*(R_-0.1),
SIN(A2)*(R_-0.1)+R_,
RETURN
204
11,
13,
900,
4009,
11,
11,
13,
4009,
11
10,
15,
10,
10
Puertas/Ventanas No Rectangulares
en Muros Curvos
Las reglas generales dadas para puertas/ventanas rectangulares en
muros curvos se aplican tambin aqu.
Ejemplo:
C=0.1 : D=0.025
Z=A/2-SQR(2)*C : Y=A/2-SQR(2)*C-D
ADDY A/2
WALLHOLE
4,
1,
0,
-A/2, 15,
A/2, 0,
15,
0,
A/2, 15,
-A/2, 0,
15
PRISM_ 10, 0.1,
0,
-A/2, 15,
A/2, 0,
15,
0,
A/2, 15,
-A/2, 0,
15,
0,
-A/2, -1,
0,
-Z, 15,
Z,
0,
15,
0,
Z,
15,
-Z, 0,
15,
0,
-Z, -1
ADDZ 0.02
GOSUB 1
ADDZ 0.03
205
GOSUB 1
ADDY -Z
SET MATERIAL
"Glass"
ROTZ 45
RECT SQR(2)*Z, SQR(2)*Z
END
1:
PRISM_ 16, 0.03,
0,
-Z, 15,
D,
-Y, 15,
D,
-D, 15,
Y,
-D, 15,
Z,
0,
15,
Z,
D,
15,
D,
D,
15,
D,
Y,
15,
0,
Z,
15,
-D, Y,
15,
-D, D,
15,
-Y, D,
15,
-Z, 0,
15,
-Y, -D, 15,
-D, -D, 15,
-D, -Y, 15
RETURN
206
Apndice
Apndice
A: Lista de Variables Globales
B: Funciones Especiales
C: GDL Guardado desde la Planta
D: Palabras Clave Slo para Vista 3D
E: Palabras Clave Slo para Smbolo 2D
F: Palabras Clave para Uso 2D y 3D
G: Palabras Clave para Scripts No
Geomtricos
H: Palabras Clave Comunes
I: Palabras Clave Reservadas y Caducadas
J: Lista de Conversin de Antiguos
Nombres de Variables Globales
K: Listado Alfabtico de Palabras Clave
L: Extensin de Texto
207
Apndice
Variables Globales
Las variables globales hacen posible guardar valores especiales del modelo. Esto le permite
acceder a informacin geomtrica acerca del entorno del macro GDL. Por ejemplo, puede
acceder a los parmetros del muro cuando define una ventana que debe encajar en el muro.
Las variables Globales no se apilan durante las llamadas a macro.
Informacin de piso
GLOB_HSTORY_ELEV
B_ altitud del piso origen
el piso origen es sobre el que est colocado el objeto
GLOB_HSTORY_HEIGHT
Q_ altura del piso origen
el piso origen es sobre el que est colocado el objeto
GLOB_CSTORY_ELEV
Q~ altitud del piso actual
el piso actual es el que est visible en la Ventana de Planta
GLOB_CSTORY_HEIGHT
R~ altura del piso actual
el piso actual es el que est visible en la Ventana de Planta
GLOB_CH_STORY_DIST
S~ posicin relativa del piso actual respecto al piso origen
el piso actual es el que est visible en la Ventana de Planta
Informacin de animacin
GLOB_FRAME_NR
N_ nmero de cuadro actual en animacin
slo vlido para animacin, 0 para imagen fija
GLOB_FIRST_FRAME
O_ ndice del primer cuadro en animacin
slo vlido para animacin, 0 para imagen fija
208
Apndice
GLOB_LAST_FRAME
P_ ndice del ltimo cuadro en animacin
slo vlido para animacin, 0 para imagen fija
GLOB_EYEPOS_X
K~ posicin actual de la cmara (x)
slo vlido en proyeccin perspectiva, tanto para animacin como para imgenes fijas
GLOB_EYEPOS_Y
L~ posicin actual de la cmara (y)
slo vlido en proyeccin perspectiva, tanto para animacin como para imgenes fijas
GLOB_EYEPOS_Z
M~ posicin actual de la cmara (z)
slo vlido en proyeccin perspectiva, tanto para animacin como para imgenes fijas
GLOB_TARGPOS_X
N~ posicin actual del objetivo (x)
slo vlido en proyeccin perspectiva, tanto para animacin como para imgenes fijas
GLOB_TARGPOS_Y
O~ posicin actual del objetivo (y)
slo vlido en proyeccin perspectiva, tanto para animacin como para imgenes fijas
GLOB_TARGPOS_Z
P~ posicin actual del objetivo (z)
slo vlido en proyeccin perspectiva, tanto para animacin como para imgenes fijas
209
Apndice
SYMB_VIEW_PEN
L_ pluma por defecto del elemento de biblioteca
aplicado en todos los bordes en la ventana 3D y en las ventanas de seccin/alzado
SYMB_MAT
M_ material por defecto del elemento de biblioteca
SYMB_POS_X
X~ posicin del elemento de biblioteca (x)
relativo al origen del proyecto (excluyendo puerta, ventana: relativa al punto inicial del muro en
que estn)
SYMB_POS_Y
Y~ posicin del elemento de biblioteca (y)
relativo al origen del proyecto (excluyendo puerta, ventana: relativa al punto inicial del muro en
que estn)
SYMB_POS_Z
Z~ posicin del elemento de biblioteca (z)
relativo al origen del proyecto (excluyendo puerta, ventana: relativa al punto inicial del muro en
que estn)
210
Apndice
WIDO_REVEAL_SIDE
E~ lado de reveal opuesto al de abertura
1- s, 0- no - al colocar un elemento, el valor por defecto es 0 para ventanas, 1 para puertas
WIDO_FRAME_THICKNESS
F~ grosor del marco de puerta/ventana
al hacer simetras de puertas/ventanas, se recolocarn automticamente por este valor
WIDO_POSITION
H~ desplazamiento de puerta/ventana
ngulo o distancia entre el eje de la abertura y el vector normal al punto de inicio del muro
WIDO_ORIENTATION
orientacin de abertura de puerta/ventana
izquierda/derecha - funcionar bien slo si la puerta/ventana se cre segn los estndares locales
WIDO_MARKER_TXT
marca de texto de puerta/ventana
como se define en el subdilogo Acotacin de Puerta/Ventana del dilogo de Definicin de Puerta/
Ventana
WIDO_SUBFL_THICKNESS
espesor del pavimento inferior (correccin de antepecho)
como se define en el subdilogo Acotacin de Puerta/Ventana del dilogo de Definicin de Puerta/
Ventana
WIDO_PREFIX
prefijo de altura de antepecho de puerta/ventana
como se define en el subdilogo Acotacin de Puerta/Ventana del dilogo de Definicin de Puerta/
Ventana
WIDO_CUSTOM_MARKER
conmutador de marca de puerta/ventana
1- los parmetros pueden usarse en el script 2D mientras no est presente la acotacin automtica
WIDO_ORIG_DIST
R_ distancia del origen local al final del muro
distancia del origen local desde el centro del muro curvo, 0 para muros rectos
211
Apndice
WALL_HEIGHT
D_ altura del muro
WALL_MAT_A
G_ material del muro en la cara opuesta a la de abertura
en caso de aberturas esto puede variar de abertura a abertura colocada en el mismo muro
WALL_MAT_B
H_ material del muro en la cara de abertura
puede variar de abertura a abertura colocada en el mismo muro
WALL_MAT_EDGE
I_
material de los bordes del muro
WALL_LINE_TYPE
tipo de lnea del muro
aplicado en los contornos slo en la ventana de planta
WALL_FILL
A~ tipo de trama del muro
ndice de trama - su valor es negativo en el caso de estructura compuesta
WALL_FILL_PEN
F_ pluma de la trama del muro
WALL_COMPS_NAME
estructura compuesta del muro
nombre de la estructura compuesta
WALL_SKINS_NUMBER
nmero de capas de muro compuesto
entre 1 y 8, 0 si se aplica una nica trama
WALL_SKINS_PARAMS
parmetros de las capas del muro compuesto
matriz con 6 columnas: trama, grosor, pluma, pluma de trama, pluma de fondo de trama, status
del ncleo y hasta 8 filas
WALL_SECT_PEN
E_ pluma de los contornos del muro en seccin
se aplica a los contornos de superficies cortadas de muros en las ventanas de planta y de seccin/
alzado
WALL_VIEW _PEN
pluma de los contornos del muro visible
aplicado a todos los contornos en la ventana 3D y en los contornos visibles en ventanas de
seccin/alzado
WALL_FBGD_PEN
pluma del fondo de la trama del muro
WALL_DIRECTION
direccin del muro
muros rectos: la direccin de la lnea de referencia, muros curvos: la direccin de la cuerda del
arco
WALL_POSITION
coordenadas absolutas del muro
la posicin del punto inicial del muro en relacin al origen del proyecto
212
Apndice
WALL_WINDS_SURF
WALL_HOLES_SURF
WALL_WINDS_WID
WALL_DOORS_WID
WALL_COLUMNS_NR
213
Apndice
SLAB_COMPS_NAME
estructura compuesta del forjado
nombre de la estructura compuesta
SLAB_SKINS_NUMBER
nmero de capas de forjado compuestas
entre 1 y 8, 0 se aplica una nica trama
SLAB_SKINS_PARAMS
parmetros de las capas del forjado compuesto
matriz con 6 columnas: trama, grosor, pluma, pluma de trama, pluma de fondo de trama, status
del ncleo y hasta 8 filas
SLAB_SECT_PEN
pluma de los contornos del forjado en seccin
aplicado a los contornos de superficies cortadas en los planos de planta y de seccin/alzado
SLAB_VIEW_PEN
pluma del forjado visible
aplicado en todas las aristas en la ventana 3D y en las aristas visibles en las ventanas de seccin/
alzado
SLAB_TOP_SURF
superficie superior del forjado
SLAB_BOT_SURF
superficie inferior del forjado
SLAB_EDGE_SURF
superficie de los bordes del forjado
SLAB_PERIMETER
permetro del forjado
SLAB_VOLUME
volumen del forjado
SLAB_SEGMENTS_NR
nmero de segmentos del forjado
SLAB_HOLES_NR
nmero de huecos del forjado
SLAB_HOLES_AREA
rea de los huecos del forjado
SLAB_HOLES_PRM
permetro de los huecos del forjado
214
Apndice
ROOF_VIEW_PEN
pluma de la cubierta visible
aplicado en todas las aristas en la ventana 3D y en las aristas visibles en las ventanas de seccin/
alzado
ROOF_BOTTOM_SURF
superficie inferior de la cubierta
ROOF_TOP_SURF
superficie superior de la cubierta
ROOF_EDGE_SURF
superficie del borde de la cubierta
ROOF_PERIMETER
permetro de la cubierta
ROOF_VOLUME
volumen de la cubierta
ROOF_SEGMENTS_NR
nmero de segmentos de la cubierta
ROOF_HOLES_NR
nmero de huecos de la cubierta
ROOF_HOLES_AREA
rea de huecos de la cubierta
ROOF_HOLES_PRM
permetro de huecos de la cubierta
215
Apndice
MESH_FILL
MESH_FILL_PEN
MESH_FBGD_PEN
MESH_BOTTOM_SURF
MESH_TOP_SURF
MESH_EDGE_SURF
MESH_PERIMETER
MESH_VOLUME
MESH_SEGMENTS_NR
MESH_HOLES_NR
MESH_HOLES_AREA
MESH_HOLES_PRM
216
S_
T_
U_
V_
W_
X_
Y_
Z_
G~
I~
Apndice
Funciones Especiales
REQ
(parameter_string)
Esta funcin pregunta el estado actual del programa. Este
parmetro - la pregunta - es una cadena. El intrprete GDL
responde con un valor numrico. Si no entiende la pregunta, la
respuesta es negativa.
Listado de preguntas actuales:
"GDL_version"
nmero de versin del intrprete/compilador del GDL.
(Atencin: no es el mismo que la versin de ArchiCAD).
"Program"
cdigo del programa (1: ArchiCAD, 2: topCAD, etc.).
"Serial_number"
el nmero de serie de la llave.
"Model_size"
tamao en bytes de la estructura de datos 3D actual.
"Red_of_material name"
"Green_of_material name"
"Blue_of_material name"
Definen las componentes de color del material dado en
valores RGB entre 0 y 1.
"Red_of_pen index"
"Green_of_pen index"
"Blue_of_pen index"
Definen las componentes de color de una pluma dada en
valores RGB entre 0 y 1.
"Pen_of_RGB r g b"
Define el ndice de pluma de color ms prximo al color
dado. Las constantes r, g y b figuran en la cadena entre 0 y
1.
217
Apndice
REQUEST
REQUEST
REQUEST
REQUEST
REQUEST
REQUEST
REQUEST
REQUEST
218
REQUEST
REQUEST
REQUEST
Apndice
REQUEST
REQUEST
REQUEST
REQUEST
REQUEST
REQUEST
REQUEST
REQUEST
REQUEST
REQUEST
219
Apndice
REQUEST
REQUEST
("Rgb_of_material", name, r, g, b)
REQUEST
("Rgb_of_pen", penindex, r, g, b)
REQUEST
REQUEST
REQUEST
REQUEST
REQUEST
REQUEST
220
Apndice
REQUEST
IND
(MATERIAL, name_string)
IND
(FILL, name_string)
IND
(LINE_TYPE, name_string)
IND
(STYLE, name_string)
Esta funcin devuelve el ndice actual del atributo de material,
trama, tipo de lnea o estilo. El uso principal del nmero resultante
es transferirlo a un macro que requiere el mismo atributo que el
macro llamado. El resultado es negativo para definiciones
temporales y positivo para definiciones globales (ver los comandos
Materiales..., Tipos de Trama... y Tipos de Lnea... en ArchiCAD).
Ver tambin MATERIAL, FILL, LINE_TYPE, STYLE en el captulo
"Definicin de Atributos en Lnea".
221
Apndice
LIN_, xWALL_
Columnas:
cPRISM_
Forjados:
cPRISM_
Cubiertas Inclinadas:
cSLAB_, cROOF_
Mallas:
MASS
Ventanas:
Puertas:
CALL
Objetos:
Lmparas:
222
Apndice
223
Apndice
EXTRUDE
PYRAMID
REVOLVE
RULED
SWEEP
TUBE, TUBEA
COONS
MESH
MASS
LIGHT
PICTURE
TEXT
VERT, TEVE
VECT
EDGE
PGON, PIPG
COOR
BODY
BASE
BINARY
CUTPLANE
CUTSHAPE
CUTPOLY
CUTPOLYA
CUTEND
DEFINE MATERIAL
DEFINE TEXTURE
[SET] MATERIAL
SHADOW
MODEL
224
Apndice
225
Apndice
226
Apndice
227
Apndice
228
Apndice
229
Apndice
Lista de Conversin de
Antiguos Nombres de
Variables Globales
Pueden usarse los nombres antiguos de variables globales, sin
embargo se recomienda el uso de los nuevos nombres. Cada
variable global antigua corresponde a una nueva con nombre
largo.
A_
B_
C_
D_
E_
F_
G_
H_
I_
J_
K_
L_
N_
N_
M_
P_
Q_
R_
S_
T_
U_
V_
W_
X_
Y_
Z_
230
GLOB_SCALE
GLOB_HSTORY_ELEV
WALL_THICKNESS
WALL_HEIGHT
WALL_OUTLINE_PEN
WALL_FILL_PEN
WALL_MAT_A
WALL_MAT_B
WALL_MAT_EDGE
GLOB_ELEVATION
WIDO_SILL
SYMB_PEN
SYMB_MAT
GLOB_FRAME_NR
GLOB_FIRST_FRAME
GLOB_LAST_FRAME
GLOB_HSTORY_HEIGHT
WIDO_ORIG_DIST
GLOB_USER_1
GLOB_USER_2
GLOB_USER_3
GLOB_USER_4
GLOB_USER_5
GLOB_USER_6
GLOB_USER_7
GLOB_USER_8
Apndice
A~
B~
C~
D~
E~
F~
G~
H~
I~
J~
K~
L~
M~
N~
O~
P~
Q~
R~
S~
T~
U~
V~
W~
X~
Y~
Z~
WALL_FILL
WIDO_RIGHT_JAMB
WIDO_THRES_DEPTH
WIDO_HEAD_DEPTH
WIDO_REVEAL_SIDE
WIDO_FRAME_THICKNESS
GLOB_USER_9
WIDO_POSITION
GLOB_USER_10
WALL_RESOL
GLOB_EYEPOS_X
GLOB_EYEPOS_Y
GLOB_EYEPOS_Z
GLOB_TARGPOS_X
GLOB_TARGPOS_Y
GLOB_TARGPOS_Z
GLOB_CSTORY_ELEV
GLOB_CSTORY_HEIGHT
GLOB_CH_STORY_DIST
GLOB_SCRIPT_TYPE
GLOB_NORTH_DIR
SYMB_MIRRORED
SYMB_ROTANGLE
SYMB_POS_X
SYMB_POS_Y
SYMB_POS_Z
231
Apndice
dx, dy, dz
ADD2
x, y
ADDX
dx
ADDY
dy
ADDZ
dz
AND
ARC
r, alpha, beta
ARC2
x, y, r, alpha, beta
ARMC
ARME
l, r1, r2, h, d
ASN (x)
ATN (x)
BASE
BINARY
mode [, section]
BINARYPROP
BLOCK
a, b, c
BODY
status
BPRISM_
BREAKPOINT
BRICK
232
expression
a, b, c
Manual de Referencia GDL de ArchiCAD
Apndice
BWALL_
CALL
macro_name_string [parameter_list]
CALL
CIRCLE
CIRCLE2
x, y, r
CLOSE
channel
COONS
n, m, mask,
x11, y11, z11, . . . x1n, y1n, z1n,
x21, y21, z21, . . . x2n, y2n, z2n,
x31, y31, z31, . . . x3m, y3m, z3m,
x41, y41, z41, . . . x4m, y4m, z4m
COOR
COS (x)
CPRISM_
CROOF_
CSLAB_
233
Apndice
CUTPLANE
[x, y, z [, side]]
statements
CUTEND
CUTPLANE
angle
statements
CUTEND
CUTPOLY
n, status, d,
x1, y1, . . . xn, yn,
[, x, y, z]
statements
CUTEND
CUTPOLYA n, status, d,
x1, y1, mask1, . . . xn, yn, maskn
[, x, y, z]
statements
CUTEND
CUTSHAPE
d
statements
CUTEND
CWALL_
CYLIND
h, r
DEFINE FILL name pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8,
spacing, angle, n,
freq1, dir1, offsetx1, offsety1, m1,
len11, . . . lenm1,
...
freqn, dirn, offsetxn, offsetyn, mn,
lenn1, . . . lennm
234
Apndice
DEFINE FILLA
name pat1,pat2,pat3,pat4,pat5,pat6,pat7,pat8,
spacingx, spacingy, angle, n,
freq1, doffset1, dir1, offsetx1, offsety1, m1,
len11, . . . lenm1,
...
freqn, doffsetn,dirn, offsetxn, offsetyn, mn,
lenn1, . . . lennm
DEFINE LINE_TYPE name spacing, n, len1, . . . lenn
DEFINE MATERIAL name type, m1, m2, . . . mn
DEFINE STYLE
DEFINE STYLE
DEFINE STYLE
DEL
TOP
DESCRIPTOR
DIM
string
DO
statements
WHILE
condition
DRAWING
DRAWING2
DRAWING3
EDGE
ELBOW
r1, alpha, r2
ELLIPS
h, r
END
EXIT
EXOR
EXP (x)
EXTRUDE
FILL
index
FILL
name_string
235
Apndice
FOR
FPRISM_
FRA (x)
FRAGMENT2 ALL, use_current_attributes_flag
FRAGMENT2 plane_index, use_current_attributes_flag
GET (n)
GOSUB
label
GOTO
label
HOTSPOT2 x, y
IF
cond GOSUB
label
IF
cond GOTO
label
IF
cond THEN
label
IF
IF
condition THEN
statements
[ELSE
statements]
ENDIF
IND
(FILL, name_string)
IND
(LINE_TYPE, name_string)
IND
(MATERIAL, name_string)
IND
(STYLE, name_string)
IND
(TEXTURE, name_string)
INPUT
INT (x)
LET
LGT (x)
236
Apndice
LIGHT
LIN_
LINE_TYPE index
LINE_TYPE name_string
LINE2
LOG (x)
MASS
MATERIAL
index
MATERIAL
name_string
a, b, m, n, mask,
z11, z12, . . . z1m,
z21, z22, . . . z2m,
...
zn1, zn2, . . . znm
SOLID
MODEL
SURFACE
MODEL
WIRE
MUL
mx, my, mz
MUL2
x, y
MULX
mx
MULY
my
MULZ
mz
NEXT
varnam
NOT (x)
Manual de Referencia GDL de ArchiCAD
237
Apndice
NSP
NTR ( )
OPEN
OR
OUTPUT
PEN
PGON
PI
238
PICTURE
filename, a, b, mask
PICTURE2
expression, a, b, mask
PIPG
filename, a, b, mask,
n, ivect, status, edge1, edge2, . . . edgen
PLANE
PLANE_
POLY
POLY_
POLY2
POLY2_
POLY2_A
n, framefill, fillpen,
x1, y1, mask1, . . . xn, yn, maskn
POLY2_B
n, framefill, fillpen,
fillbkgdpen,
x1, y1, mask1, . . . xn, yn, maskn
POSITION
position_keyword
[expression] [, expression] . . .
PRISM
PRISM_
PROJECT2
PUT
expression [, expression] . . .
PYRAMID
RADIUS
rmin, rmax
RECT
a, b
Manual de Referencia GDL de ArchiCAD
Apndice
RECT2
condition
REQ (parameter_string)
REQUEST
RESOL
RETURN
REVOLVE
RND (x)
ROT
x, y, z, alpha
ROT2
alphaz
ROTX
alphax
ROTY
alphay
ROTZ
alphaz
RULED
n, mask,
u1, v1, s1, . . . un, vn, sn,
x1, y1, z1, . . . xn, yn, zn
SET FILL
index
SET FILL
name_string
SET LINE_TYPE
index
SET LINE_TYPE
name_string
SET MATERIAL
ndex
SET MATERIAL
name_string
SET STYLE
index
SET STYLE
name_string
SGN (x)
SHADOW
AUTO
SHADOW
OFF
SHADOW
ON
239
Apndice
SIN (x)
SLAB
SLAB_
SPHERE
SPLINE2
SPLINE2_A
n, status,
x1, y1, angle1, lenPrev1, lenNext1,
...
xn, yn, anglen, lenPrevn, lenNextn
SPLIT
SPRISM_
SQR (x)
STR
STR
(formatstring, numeric_expression)
STRLEN
(string_exp)
STRSTR
(string_exp1, string_exp2)
STRSUB
STW
(string_expression)
STYLE
index
STYLE
name_string
SURFACE3D ( )
SWEEP
TAN (x)
240
TEVE
x, y, z, u, v
TEXT
d, 0, expression
TEXT2
x, y, string
TOLER
Apndice
TUBE
n, m, mask,
u1, w1, s1, . . . un, wn, sn,
x1, y1, z1, angle1, . . . xm, ym, zm, anglem
TUBEA
n, m, mask,
u1, w1, s1, . . . un, wn, sn,
x1, y1, z1, . . . xm, ym, zm
USE (n)
VALUES
VECT
x, y, z
VERT
x, y, z
VOLUME3D ( )
WALLHOLE n, status,
x1, y1, mask1, . . . xn, yn, maskn
[, x, y, z]
WHILE
condition DO
statements
ENDWHILE
XFORM
XWALL_
241
Apndice
Extensin de Texto
Esta es una extensin de ejemplo que demuestra las posibilidades
de las operaciones de archivo I/O. Otras extensiones de este tipo
estn disponibles desde Graphisoft u otros vendedores.
La extensin interpreta los textos en la lista de parmetros de los
comandos OPEN, INPUT, OUTPUT.
Asume que una carpeta llamada "ArchiCAD Data Folder" existe
aparte de ArchiCAD para archivos definidos por el usuario. (El
nombre de esta carpeta est definida en el recurso extensin, en
donde puede localizarse). Si esa carpeta no existe, la extensin
crea una. La carpeta puede contener subcarpetas en donde la
extensin busca archivos existentes. Los archivos de tipo TEXTO se
pueden leer y escribir.
1. channel = OPEN (filter, filename, paramstring)
filter :
especfico de la extensin, en el caso de la
extensin de texto "TEXT"
filename:
242
Apndice
243
Apndice
244
Apndice
4. CLOSE channel
Este comando cierra el archivo identificado por el valor de canal.
Ejemplo:
Un objeto GDL que simplemente copia el contenido del archivo
"f1" en el "f2" y "f3", y escribe todos los valores tabulados en "f1"
dentro de una fila separada en "f2" y "f3".
ch1
ch2
ch3
i =
1:
2:
CLOSE ch1
CLOSE ch2
CLOSE ch3
END
245
Apndice
246
ndice
ndice
2D script
3D script
7
7
A
ABS 173
ACS 173
ADD 26
ADD2 29
ADDX 26
ADDY 26
ADDZ 26
Alias Wavefront 520
AND 172
ARC 36, 144
ARC2 124
ArchiSITE 2, 5
ARMC 64, 144
ARME 65, 144
Arrastrar & Soltar 20
ASN 173
ATN 173
B
BASE 109
BINARY 7, 110
BINARYPROP 7, 165
BLOCK 38
BODY 107
BPRISM_ 46, 134
BREAKPOINT 186
BRICK 38
BWALL_ 55
247
ndice
CALL 190
CEILS 166
CIRCLE 36, 144
CIRCLE2 125
CLOSE 194
COLUMNS 166
comentario 8
COMPONENT 164, 165, 166
componentes 7
CONE 40, 144
COONS 91
COOR 105
COS 173
CPRISM_ 45, 134
CROOF_ 59, 134
CSLAB_ 51
CUTEND 112
CUTPLANE 112
CUTPOLY 115
CUTPOLYA 118
CUTSHAPE 120
CWALL_ 52
CYLIND 38, 144
EDGE 103
ELBOW 66, 144
elementos de biblioteca
ELLIPS 39, 144
ELSE 185
END 22, 186
ENDIF 185
ENDWHILE 183
Etiqueta 22
EXIT 22, 186
EXOR 172
EXP 174
expresiones 24
EXTRUDE 69, 134
F
FILL 149, 156, 191
FILLA 159
FOR 182
format string 174
FPRISM_ 48, 134
FRA 173
FRAGMENT2 7, 130
D
datos binarios 2D 7
datos binarios 3D 7
datos binarios de propiedades
Declaraciones 22
DEFINE FILL 156
DEFINE FILLA 159
DEFINE LINE_TYPE 161
DEFINE MATERIAL 151
DEFINE STYLE 162
DEFINE TEXTURE 154
definicin de atributos 18
DEL 30
DEL TOP 30
descripciones 7
DESCRIPTOR 164
DIM 170
DO 183
DOORS 166
DRAWING2 132
DRAWING3 132
DXF 5
248
G
7
GET 187
GOSUB 22, 184, 186
GOTO 22, 184, 186
Graphisoft Collection 4
H
HATCHES 166
HOTSPOT2 122
I
IF 184, 185
imagen previa 8
IND 179, 221
INPUT 193, 243
INT 173
ndice
LET 144
LGT 174
LIGHT 96
LIGHTS 166
LIN_ 34
LINE_TYPE 150, 161, 191
LINE2 122
Lnea 22
Lista de Componentes 166
lista de valores 18, 167
LOG 174
PARAMETERS 190
Parmetros 8, 24, 171
PEN 146, 191
PGON 104
PI 173
PICTURE 8, 99
PICTURE2 8, 128
pila de transformacin 26
PIPG 105
PITCHED_ROOFS 166
PLANE 35
PLANE_ 35
POLY 34
POLY_ 35, 134
POLY2 123
POLY2_ 123, 134
POLY2_A 124, 134
POLY2_B 124, 134
POSITION 166
PRINT 192
PRISM 40
PRISM_ 41, 134
PROJECT2 131
PUT 187
PYRAMID 72, 134
M
MASS 94
Master script 7
MASTER_GDL 18, 23, 150, 167, 220
MASTEREND_GDL 18
MATERIAL 148, 151, 191
MAX 174
MESH 62
MIN 174
MOD 172
MODEL 147, 191
MUL 27
MUL2 29
MULX 27
MULY 27
MULZ 27
N
NEXT 182
NOT 174
NSP 188
NTR 30
O
OBJECTS 166
OPEN 193, 242
OR 172
origen global 16
OUTPUT 194, 244
R
RADIUS 144, 191
RECT 34
RECT2 122
REF 164
REPEAT 183
REQ 179, 217
REQUEST 179, 218
RESOL 145, 191
RETURN 186
REVOLVE 74, 134, 144
RND 174
ROT 28
ROT2 29
ROTX 27
ROTY 27
ROTZ 27
RULED 78
249
ndice
UNTIL 183
USE 188
V
valores de mask 42
VALUES 167
Variables 23
variables globales 18
VECT 103
VERT 102
VisualGDL 5
VOLUME3D 165
W
WALLHOLE 199, 200
WALLS 166
WHILE 183
WINDOWS 166
WIRE 147
X
XFORM 28
XWALL_ 57
T
TAN 173
TEVE 102
TEXT 100
TEXT2 129
TEXTURE 154
THEN 184, 185
Tipos simples 24
TO 182
TOLER 145, 191
trama bitmap 157
trama vectorial 157
TUBE 84, 134
TUBEA 89, 134
250
Contenido
Contenido
1 Introduccin
Contenido
21
3 Transformacin de Coordenadas
25
4 Formas Planas en 3D
33
5 Formas Tridimensionales
37
6 Formas Bidimensionales
121
122
129
130
131
132
133
8 Atributos
143
ii
Contenido
9 Scripts No Geomtricos
163
10 Expresiones y Funciones
169
11 Declaraciones de Control
11.1 Declaraciones de control de flujo ______________________________________
11.2 Manipulacin del Buffer de Parmetros ________________________________
11.3 Objetos Macro ________________________________________________________
11.4 La Declaracin de Salida _______________________________________________
11.5 Operaciones de Archivo _______________________________________________
181
182
187
190
192
193
195
iii
Contenido
Apndice
207
A
B
C
D
E
F
G
H
I
J
K
L
208
217
222
223
225
226
227
228
229
230
232
242
ndice
iv
247