Está en la página 1de 254

Captulo 1: Introduccin

Introduccin

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

1.1 Acerca de este Manual


Este manual es una referencia completa sobre el GDL (Lenguaje de
Descripcin Geomtrica) disponible en ArchiCAD.
El manual est recomendado a aquellos usuarios de ArchiCAD que
quieran ir ms all de las posibilidades de las herramientas de
construccin y objetos de biblioteca suministradas con el paquete.
Primero, un captulo corto a modo de mapa de carreteras le dar
una descripcin de las diferentes maneras de modelar. Escribir en
GDL es slo una de las posibilidades. Esta parte merece ser leda
sin tener en cuenta su habilidad y propsitos.
Despus de esto, encontrar una descripcin detallada de GDL,
incluyendo la definicin de sintaxis, comandos, variables, etc. Es
una materia ms bien spera, tcnica y precisa.
Esta parte se recomienda para quienes que estn dispuestos a
escribir en GDL. Probablemente nunca leer esta parte por
completo, pero explorando sus contenidos su conocimiento,
habilidades y ambiciones crecern.
El manual asume que se est familiarizado con ArchiCAD por lo
menos a un nivel intermedio, y que se han estudiado los captulos
correspondientes al Manual de Referencia de ArchiCAD.

1.2 Objetos de Biblioteca


Adems de las herramientas de modelado bsicas de ArchiCAD muros, forjados y cubiertas - hay otras que le permiten colocar
elementos de forma y geometra predefinida en sus proyectos.
Estas son Ventanas, Puertas, Objetos, Lmparas y Zonas y
extensiones adicionales (StairMaker y ArchiSITE). Para colocar los
distintos tipos, necesita llevar a cabo acciones diferentes, una vez
colocados tienen comportamientos diferentes, y sus caractersticas
se almacenan en cuatro tipos diferentes de documento.
Lo que todos estos elementos tienen en comn, es la manera como
se define su apariencia bi y tridimensional as como sus
propiedades.
El Manual de Referencia de GDL le ayuda a aprender las
aplicaciones del potente Lenguaje de Descripcin Geomtrica de
ArchiCAD para vestir su proyecto con objetos, ornamentos y otros
detalles de su propio diseo.

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

Sus fuentes de objetos de biblioteca


La Biblioteca de Archicad
Merece la pena recorrer meticulosamente la Biblioteca de Archicad
incluida con su paquete antes de empezar a crear partes de
biblioteca por su cuenta. Estudie todas las posibilidades antes de
empezar: descubrir objetos de biblioteca que nunca antes haba
pensado en usar.

Tambin debera familiarizarse con las dimensiones tpicas y


parmetros adicionales de los objetos de biblioteca. Todos ellos
pueden modificarse a fin de ajustar los objetos a sus necesidades.

Manual de Referencia GDL de ArchiCAD

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.

Modelo de escaleras en espiral desde StairMaker

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

Extensiones de Terceras Partes


Existen diversos programas de terceras partes que pueden crear o
editar elementos de biblioteca de ArchiCAD. Los objetos creados
con estas aplicaciones contienen scripts GDL as como otros datos
dependiendo de la aplicacin. Se puede acceder a ellos desde
dentro de ArchiCAD o en modo aislado. Consulte a su Distribuidor
de ArchiCAD para ms informacin.

Modelo de telfono de VisualGDL Modelo de terreno de ArchiSITE

Bibliotecas en formato DXF


Las bibliotecas en DXF estn ampliamente difundidas en el mundo
del CAD y cubren casi todas las reas de la ingeniera y el diseo.
Muchos fabricantes ofrecen smbolos o modelos de sus productos
en formato DXF.
ArchiCAD puede importar fcilmente estas bibliotecas.

Uso de sus propias habilidades


Muchas veces necesitar objetos que no encontrar en ninguna
biblioteca. En este caso, todava tiene algunas posibilidades sin
tocar el entorno de GDL.

Modelar en otras aplicaciones 3D


ArchiCAD puede importar cualquier modelo 3D que haga usando,
p.e. Zoom o Alias Wavefront. Estas aplicaciones son modeladores
3D genricos que permiten formas de geometra libre. Con este
mtodo, sin embargo, necesita aprender cmo trabajar con otra
aplicacin.

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

Modelar con las herramientas propias de


ArchiCAD
Las herramientas de construccin de muros, forjados, cubiertas y
dems de ArchiCAD estn a su disposicin para que las use como
piezas a medida, sin tener en cuenta su funcin original. Se puede,
por ejemplo, modelar una mesa fcilmente usando muros y
forjados. Estas estructuras se pueden guardar como objetos de
biblioteca para manejarlas como elementos de construccin
simples. Estarn entonces disponibles para usarlos tambin en
otros proyectos.
Los objetos de biblioteca originados desde el plano de planta
pueden guardarse como scripts GDL o en formato binario.
Los scripts GDL son editables, por lo que se puede modificar el
aspecto 3D del objeto de biblioteca modificando su script. Los
objetos de biblioteca binarios ofrecen mayor velocidad de
representacin 3D, pero slo permiten una edicin limitada. Si
quiere efectuar otros tipos de modificaciones, deber volver al
documento original en el plano de planta para hacer cambios y
guardar otro objeto de biblioteca binario.

Tracera de una ventana Gtica modelada con cubiertas y forjados


Si guarda elementos del plano de planta como un script GDL, la
complejidad del script resultante depende del tipo de elemento
que haya usado.
Para informacin detallada sobre los objetos de biblioteca
derivados desde un plano de planta de ArchiCAD, refirase a los
captulos GDL creado desde el plano de planta y Crear objetos
en ArchiCAD en el Apndice B.

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

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

parmetros definibles por el usuario, su prximo paso ser utilizar


GDL y el entorno de escritura ofrecido por ArchiCAD.

1.3 Escritura en GDL


Qu es GDL?
GDL es un lenguaje de programacin paramtrico interno de
ArchiCAD parecido al lenguaje BASIC. Su objetivo es describir
objetos slidos tridimensionales y los smbolos 2D que los
representan sobre el plano de planta, como puertas, ventanas,
muebles, elementos estructurales, escaleras, etc. Se les llama
objetos de biblioteca.

Estructura del Elemento de Biblioteca de


ArchiCAD
Cada objeto de biblioteca descrito con GDL tiene scripts, que son
listas de comandos GDL que construyen la forma 3D y el smbolo
2D. Los objetos de biblioteca pueden tambin tener una
descripcin para clculos de cuantificacin en ArchiCAD, llamada
script de propiedades.
Los comandos Master script se ejecutarn antes de cada script
(como si se hubieran copiado antes del resto de scripts del objeto)
El script 2D contiene la descripcin 2D paramtrica del dibujo.
Los datos binarios 2D del objeto (contenido de la ventana del
smbolo 2D) pueden referenciarse usando el comando
FRAGMENT2. Si el script 2D est vaco, los datos binarios 2D se
usarn para mostrar el objeto en planta.
El script 3D contiene la descripcin paramtrica del modelo 3D.
Los datos binarios 3D (que se generan durante una operacin de
importacin de Guardar Como) pueden referenciarse usando el
comando BINARY.
El script de propiedades contiene componentes y descripciones
usados en listados de zonas, elementos y componentes. Los datos
binarios de propiedades descritos en las secciones de
componentes y descripciones del objeto, pueden referenciarse
usando el comando BINARYPROP. Si el script de propiedades est
vaco, los datos binarios de propiedades se usarn en el proceso de
clculo.
En el value list script pueden definirse conjuntos de posibles
valores para los parmetros de los objetos.
Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

Los parmetros definidos en la seccin de parmetros se usan


como defecto en la definicin de objeto al colocarlo en la planta.
La imagen previa aparece en el cuadro de dilogo de definicin
de objetos al mirar la biblioteca activa. Puede ser llamado con los
comandos PICTURE y PICTURE2 desde los scripts 3D y 2D.
En la seccin de comentarios puede almacenarse cualquier
informacin relacionada con el objeto.
ArchiCAD provee un entorno til para escribir scripts GDL, con
visualizacin en lnea, y comprobacin de sintaxis y errores.

Analizar, descomponer y simplificar


La mayora de los objetos que desea crear, sea cual sea su
complejidad, pueden descomponerse en bloques constructivos de
formas geomtricas simples. Empiece siempre con un breve y
simple anlisis del futuro objeto y defina todas las unidades
geomtricas que lo componen. Cuando haya hecho la
descomposicin, podr traducir estos bloques al vocabulario del
lenguaje GDL. Si el anlisis es adecuado, la sntesis de estas
entidades estar cerca del ideal.
Para hacer el anlisis, se necesita una buena percepcin espacial y
por lo menos un conocimiento a nivel bsico de geometra
descriptiva.

Representacin de ventanas de diversas complejidades


Para evitar obstculos prematuros y seguir un aprendizaje
uniforme, comience con objetos de dimensiones definidas y
obtenga su forma ms simple pero todava reconocible. Cuando se
familiarice con el modelado bsico, podr disminuir la
simplificacin y acercarse cada vez ms a la forma ideal.
Ideal no significa necesariamente complicado. En funcin de la
naturaleza del proyecto arquitectnico, el objeto de biblioteca ideal
puede variar desde aproximado a preciso. La ventana de la
izquierda de la ilustracin anterior se adapta perfectamente el estilo
de visualizacin urbana de diseo. La ventana de la derecha puede

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

dar un toque de realismo y detalle que puede usarse en la fase


constructiva del proyecto.

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.

Los objetos de biblioteca ms complejos y sofisticados consisten en


descripciones paramtricas 3D con sus correspondientes scripts
paramtricos 2D. Cualquier cambio en los parmetros afectar no
solamente a la vista 3D del objeto sino tambin a su aspecto en el
plano de planta.

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

Si est familiarizado con cualquier lenguaje de programacin como


el BASIC, podr ir conociendo el GDL observando scripts
existentes. Puede aprender mucho abriendo los objetos de
biblioteca servidos con ArchiCAD y dando una mirada a sus scripts
GDL 2D y 3D. Tambin puede guardar elementos del plano de
planta en formato GDL y ver el script resultante.
Si no est familiarizado con el lenguaje BASIC pero ha jugado con
bloques de construccin (tipo LEGO), todava puede encontrar su
manera de practicar GDL. Le aconsejamos que pruebe con los
comandos ms simples ahora mismo y verifique su efecto en la
ventana 3D del objeto de biblioteca.
Para detalles sobre el entorno de edicin de objetos de biblioteca
en ArchiCAD, vea el Manual de Referencia de ArchiCAD .

Comandos de Nivel Bsico


Estos comandos son fciles de comprender y usar. No requieren
conocimientos de programacin.
Sin embargo, se pueden crear objetos efectivos slo con ellos.

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

Manual de Referencia GDL de ArchiCAD

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

La ventana 3D del objeto de biblioteca le mostrar opcionalmente


las posiciones original (G = global) y actual (L = local) de la trada
de ejes coordenados para cualquier objeto presente.
Las transformaciones de coordenadas ms simples son:
En 3D:
ADDX
ADDY
ADDZ
ROTX
ROTY
ROTZ
En 2D:
ADD2
ROT2
Los comandos que empiezan con ADD movern la prxima forma,
mientras que los que empiezan con ROT la girarn alrededor de
uno de sus ejes.

Comandos de Nivel Intermedio


Estos comandos son un poco ms complejos. No porque requieran
conocimientos de programacin, sino porque describen formas
ms complejas o transformaciones ms abstractas.
Manual de Referencia GDL de ArchiCAD

11

Captulo 1: Introduccin

En 3D:
ELLIPS
POLY_
PRISM_
TEXT
En 2D:
HOTSPOT2

CONE
LIN_
CPRISM_

PLANE
SLAB

PLANE_
SLAB_

POLY2_

TEXT2

FRAGMENT2

CSLAB_

Estos comandos requieren habitualmente ms valores para


definirlos que los bsicos. Algunos de ellos precisan valores de
estado para controlar la visibilidad de aristas y superficies.

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,

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

Las transformaciones que empiezan con MUL cambiarn la escala


de las formas siguientes, convertirn crculos en elipses y esferas en
elipsoides. Con valores negativos pueden usarse para hacer
simetras. Los comandos de la segunda fila afectan a las tres
dimensiones del espacio a la vez.

Comandos y Caractersticas de Nivel


Avanzado
Estos comandos aaden un nuevo nivel de complejidad. Ya sea por
su forma geomtrica o porque representan el GDL como un
lenguaje de programacin.
En 3D:
BPRISM_
BWALL_
CWALL_
XWALL_
CROOF_
FPRISM_
SPRISM_
EXTRUDE
PYRAMID REVOLVE RULED
SWEEP
TUBE
TUBEA
COONS
MESH
MASS
LIGHT
PICTURE
Hay comandos de forma en este grupo que le permiten trazar un
polgono en el espacio con una base poligonal para hacer
superficies curvas suavizadas. Algunas formas requieren referencias
de materiales en su lista de parmetros.
Utilizando planos, polgonos y formas de corte, puede generar
formas arbitrarias complejas ms all de las simples. Los comandos
correspondientes son CUTPLANE, CUTPOLY, CUTPOLYA,
CUTSHAPE y CUTEND.
En 2D:
PICTURE2
POLY2_A
SPLINE2
SPLINE2_A

Control de Flujo y Declaraciones Condicionales


FOR
DO
REPEAT
IF
GOTO
RETURN
Manual de Referencia GDL de ArchiCAD

NEXT
WHILE
UNTIL
THEN
GOSUB
END

ENDWHILE
ELSE

ENDIF

EXIT

13

Captulo 1: Introduccin

Estos comandos deben ser familiares a cualquiera que haya


programado alguna vez en un ordenador, pero son lo
suficientemente bsicos como para que pueda comprender sus
conceptos sin experiencia de programacin previa.
La permiten hacer partes del script repetitivas para colocar
montones de formas con poca escritura, o le permiten tomar
decisiones basadas en clculos previos.

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

Manual de Referencia GDL de ArchiCAD

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.

Manual de Referencia GDL de ArchiCAD

15

Captulo 1: Introduccin

1.4 Cmo genera ArchiCAD una


imagen 3D
El modelado 3D en ArchiCAD est basado en clculos de coma
flotante, lo que significa que no hay lmites al tamao geomtrico
del modelo. Por grande que sea, mantiene la misma precisin en
los menores detalles.
El modelo 3D que finalmente ve en pantalla est compuesto por
primitivas geomtricas. Estas primitivas se guardan en la
memoria de su ordenador en formato binario, y ArchiCAD las
genera segn la planta que se cree. La metamorfosis entre el plano
de planta arquitectnico y los datos binarios 3D se llama
conversin 3D.
Las primitivas son las siguientes:
- todos los vrtices de los componentes constructivos
- todas las aristas que vinculan los vrtices
- todas los polgonos de superficie entre las aristas.
Algunos grupos de primitivas se mantienen juntas como
cuerpos. Los cuerpos estructuran el modelo 3D. Todas las
caractersticas de la visualizacin 3D en ArchiCAD - suavizar
superficies, sombras arrojadas, brillo o materiales transparentes estn basadas en esta estructura de datos.

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

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

Porqu necesita transformaciones


de coordenadas ?
Cada forma GDL est vinculada a la posicin actual del sistema de
coordenadas local. Por ejemplo, los BLOCKs estn vinculados al
origen por una de sus esquinas, y la longitud, anchura y altura del
bloque se miden a lo largo de los tres ejes, siempre en direccin
positiva. Por esto el comando BLOCK requiere slo tres parmetros
que definan las dimensiones sobre los ejes.
Cmo generar otro bloque, desplazado y girado? Con la estructura
de parmetros del BLOCK no hay manera de hacerlo. No hay
parmetros para desplazar y girar.
La respuesta es mover el sistema de coordenadas hasta la posicin
correcta antes de la aparicin del comando BLOCK. Con los
comandos de transformacin de coordenadas, se puede predefinir
la posicin y rotacin del sistema alrededor de los ejes. Estas
transformaciones no se aplican a las formas ya generadas. Son
efectivas slo con las formas siguientes.

El motor de intrprete GDL


Cuando se ejecuta un script GDL, el motor de intrprete GDL de
ArchiCAD detectar la posicin en el plano de planta, el tamao,
ngulo de rotacin, parmetros de usuario definidos y posible
estado simtrico del objeto de biblioteca. Despus mueve el
sistema de coordenadas local a la posicin correcta, a punto de
recibir los comandos GDL del script del objeto de biblioteca. Cada
vez que el intrprete encuentra un comando para una forma
bsica, genera las primitivas geomtricas que estructuran esta
forma concreta.
Cuando el intrprete ha terminado, el modelo 3D binario completo
estar en memoria, y podr efectuar recorridos, renderings o
estudios de asoleo sobre l.
ArchiCAD contiene un pre-compilador y un intrprete para GDL.
La interpretacin de un script GDL usa este cdigo pre-compilado.
Esta caracterstica incrementa la velocidad del anlisis. Si el script
se modifica, se genera un nuevo cdigo..
Las estructuras de datos convertidos desde otros formatos (p.e.
DXF, Zoom, Alias Wavefront) se guardan en una seccin binaria
del objeto de biblioteca. Esta seccin se referencia con la
declaracin BINARY del script GDL.

Manual de Referencia GDL de ArchiCAD

17

Captulo 1: Introduccin

El orden de anlisis de los scripts


GDL
Los usuarios de ArchiCAD no tienen control sobre el orden en el
que los elementos de biblioteca colocados en la Planta son
analizados. El orden de anlisis de los scripts de GDL se basa en la
estructura interna de datos, ms an, las operaciones de Deshacer
o Rehacer pueden influir en ese orden. La nica excepcin a esta
regla son scripts GDL especiales de la biblioteca activa, cuyos
nombres empiezan por "MASTER_GDL" o "MASTEREND_GDL".
Los scripts cuyo nombre empieza por "MASTER_GDL" se ejecutan
antes de una conversin a 3D, antes de crear una Seccin/Alzado,
antes de empezar un proceso de listado y despus de cargar la
biblioteca activa.
Los scripts cuyo nombre empieza por "MASTEREND_GDL" se
ejecutan despus de una conversin a 3D, despus de crear una
Seccin/Alzado, al finalizar un proceso de listado y cuando la
biblioteca activa va a cambiar (Cargar Bibliotecas, Abrir un
proyecto, Nuevo proyecto, Salir).
Estos scripts no se ejecutan cuando edita elementos de Biblioteca.
Si su biblioteca contiene uno o ms de tales scripts, se ejecutarn
todos en un orden no definido.
Los scripts MASTER_GDL y MASTEREND_GDL pueden incluir
definiciones de atributos, inicializaciones de GDL, variables
globales de usuario, comandos 3D (efectivos slo en el modelo
3D), definiciones de lista de valores (vea el comando VALUES en el
captulo de Scripts No Geomtricos) y comandos especficos de
GDL. Los atributos definidos en estos scripts se combinarn con el
conjunto de atributos de ArchiCAD (los atributos de ArchiCAD con
el mismo nombre no son sustituidos, mientras que los atributos
originados desde GDL y no editados en ArchiCAD son siempre
sustituidos).

18

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

1.5 Creacin de objetos en


ArchiCAD
Los objetos de biblioteca 3D se han hecho tradicionalmente
escribiendo un script GDL y dibujando manualmente un smbolo
2D. ArchiCAD ofrece cuatro maneras de automatizar este proceso,
guardando conjuntos de elementos del plano de planta como un
objeto de biblioteca 3D individual.
1) Guardando el proyecto entero o los elementos seleccionados
como un documento GDL 3D (Guardar Como> 3D GDL).
De esta manera, todos los elementos (o los seleccionados) del
plano sern guardados como formas GDL 3D, como se describe en
el Apndice. Este documento GDL puede abrirse y editarse en
ArchiCAD, ya como documento GDL, ya como objeto de biblioteca
(Guardar Especial > Objeto ArchiCAD).
2) Guardar todo el proyecto o los elementos seleccionados como un
objeto ArchiCAD.
Todos los elementos de la planta (o los seleccionados) se
guardarn como un objeto completo con descripciones 2D y 3D.
Este objeto es, de hecho, una representacin de biblioteca de su
plano de planta con partes 2D y 3D en script.
3) Guardar el modelo actualmente visible en la ventana 3D como un
objeto de biblioteca completo, con smbolo 2D y descripcin 3D
(Guardar como> Objeto de Biblioteca).
La descripcin 3D del objeto de biblioteca puede ser un script GDL
o datos binarios no editables. El smbolo 2D se genera
directamente desde la proyeccin 3D.
Para crear un objeto de biblioteca, siga los pasos siguientes:
- Use las herramientas de ArchiCAD para construir el modelo.
- Active la ventana 3D para obtener la estructura de datos 3D
del modelo y verlo en la proyeccin actual. Si guarda puertas
o ventanas esto ltimo no se aplica.
- Escoja Guardar como en el men Archivo y seleccione el
tipo de documento Objeto de Biblioteca.
- Despus de hacer clic en Guardar, defina las opciones
deseadas en el cuadro de dilogo.

Manual de Referencia GDL de ArchiCAD

19

Captulo 1: Introduccin

Objetos en general : el smbolo 2D se genera directamente desde


las vistas superior, lateral o inferior, ya sea en almbrico o con
lneas ocultas. El smbolo y la forma 3D se ajustan automticamente
al origen del objeto por la esquina inferior izquierda de la
envolvente de la forma si el origen del objeto no est incluido en
dicha envolvente
Puertas/ventanas: La posicin por defecto del sistema de
coordenadas de estos objetos de biblioteca est girado de modo
que el plano x-y es vertical y el eje z se dirige en horizontal hacia el
muro. El origen est situado en el centro inferior de la abertura del
muro, en la cara exterior. De este modo, las puertas/ventanas
pueden ser modeladas fcilmente con elementos en el plano x-y.
Ms detalles en el captulo 'Especial Puertas y Ventanas' de este
Manual.
4) Arrastrar & Soltar elementos seleccionados de la planta a cualquier
ventana de texto (ventana de script del objeto). En funcin del
destino, se generar una descripcin GDL 2D (script 2D u otra
ventana de texto) o una descripcin 3D (ventana de script 3D) de
los elementos.

20

Manual de Referencia GDL de ArchiCAD

Captulo 2: Elementos de Sintaxis Bsicos

Elementos de Sintaxis
Bsicos

Manual de Referencia GDL de ArchiCAD

21

Captulo 2: Elementos de Sintaxis Bsicos

El GDL no es sensible a las maysculas; no distingue entre stas y


las minsculas excepto en textos entre comillas. El final lgico de
un script GDL se denota mediante las declaraciones END o EXIT al
final del archivo.
Declaraciones Un programa de GDL consiste en declaraciones. Una declaracin
puede empezar con una palabra clave (definiendo una forma, una
transformacin de coordenadas o un control de flujo del
programa), con un nombre de macro, o con un nombre de variable
seguido por un signo = y una expresin matemtica.
Lnea Las declaraciones estn en lneas separadas por separadores-delnea (caracteres fin_de_lnea).
Una coma (,) en la ltima posicin indica que la declaracin
contina en la siguiente lnea. Se usan dos puntos (:) para separar
declaraciones en una lnea. Tras un signo de admiracin final (!)
puede escribir cualquier comentario en la lnea. Pueden insertarse
lneas en blanco en un script GDL sin ningn efecto y se puede
usar cualquier nmero de espacios o tabuladores entre operadores
y operandos. Es obligatorio el uso de un espacio o tabulador
despus de declaraciones de palabras clave y llamadas a macro.
Etiqueta Cualquier lnea puede empezar con una etiqueta. Una etiqueta es
un nmero entero seguido de dos puntos (:). La etiqueta es una
referencia para la declaracin siguiente. Las etiquetas se
comprueban para sucesos simples. La ejecucin del programa
puede continuar desde cualquier etiqueta indicada por una
declaracin GOTO o GOSUB.
Caracteres disponibles El texto GDL se compone de letras maysculas y minsculas del
alfabeto Ingls, nmeros y los caracteres siguientes:
<espacio> _ (subrayado) ! : , ; . +
* / ^ = < > # ( ) |(barra vertical)
` <fin_de_lnea>
Secuencias de caracteres Cualquier secuencia de caracteres que est colocada entre marcas
de comillas (",',`,,,,,), o cualquier secuencia de caracteres sin
comillas que no figure en el script como un identificador con un
valor dado (llamada a macro, nombre de atributo, nombre de
archivo). Las secuencias sin comillas se convertirn a maysculas,
por lo que se recomienda usar comillas. La longitud mxima
permitida en una secuencia es de 255 caracteres.
El carcter '\' tiene valores de control especiales. Su significado
depende del carcter siguiente.

22

Manual de Referencia GDL de ArchiCAD

Captulo 2: Elementos de Sintaxis Bsicos

\\
\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'

Identificadores Los identificadores son secuencias de caracteres especiales:


no son mayores de 255 caracteres, empiezan con una letra del
alfabeto o un carcter '_' o '~' , consisten en letras, nmeros y
caracteres '_' o '~'.
Maysculas y minsculas se consideran iguales.
Los identificadores pueden ser palabras clave GDL, variables
locales o globales o secuencias (nombres). Las palabras clave y
nombres de variables globales estn determinadas por ArchiCAD;
todos los dems identificadores pueden utilizarse como nombres
de variable.
Variables Un programa en GDL puede manejar variables numricas y de
texto (definidas por sus identificadores), nmeros y secuencias de
caracteres.
Hay dos conjuntos de variables: locales y globales.
Todos los identificadores que no son palabras clave, variables
globales, nombres de atributo, nombres de macro o archivo, se
consideran variables locales. Si se dejan sin inicializar, su valor ser
0.0. Las variables locales se apilan con llamadas a macro. Al volver
de una llamada-a-macro el intrprete restaura sus valores.
Las variables globales tienen nombres reservados (la lista de
variables globales disponibles en ArchiCAD se da en el Apndice).
No se apilan durante la llamadas a macro, permitiendo al usuario
almacenar valores especiales de modelado y simular cdigos de
retorno desde macros. Las variables globales de usuario pueden
definirse en cualquier script, pero slo sern efectivas en los scripts
subsiguientes. Si quiere asegurarse de que el script deseado se
analiza primero, defina estas variables en el objeto MASTER_GDL.
El resto de variables globales puede usarse en sus scripts para
comunicarse con ArchiCAD.

Manual de Referencia GDL de ArchiCAD

23

Captulo 2: Elementos de Sintaxis Bsicos

Utilizando el comando "=", puede asignar un nmero o valor de


texto a las variables globales y locales.
Parmetros Los identificadores enumerados en la lista de elementos de
biblioteca se llaman parmetros. Los identificadores de parmetros
no deben exceder de 32 caracteres. Dentro de un script, se aplican
las mismas reglas que para las variables locales.
Los parmetros de los archivos de slo texto GDL se identifican
con letras A Z.
Tipos simples Las expresiones, variables y parmetros pueden ser de dos tipos
simples: numricas o de texto.
Las expresiones numricas son nmeros constantes, variables
numricas o parmetros, funciones que devuelven valores
numricos y cualquier combinacin de stos en operaciones.
Las expresiones de texto son secuencias constantes, secuencias
variables o parmetros, funciones que devuelven secuencias y
cualquier combinacin de stos en operaciones que dan como
resultado secuencias de texto.
Tipos derivados Variables y parmetros tambin pueden ser matrices, y los
parmetros pueden ser listas de valores de tipo simple.
Matrices son tablas de una o dos dimensiones de valores
numricos y/o de texto, a los que puede accederse directamente
por ndices.
Listas de Valores son conjuntos de posibles valores numricos o de
texto. Pueden ser asignados a los parmetros en el script de lista de
valores del objeto o en el script MASTER_GDL y aparecer en el
listado de parmetros como un men desplegable.
[aaa] Los parntesis cuadrados indican que los elementos incluidos son
opcionales (si estn en negrita, deben introducirse tal cual).
. . . El elemento previo puede ser repetido
varnam Cualquier nombre de variable GDL
prompt Cualquier secuencia de caracteres (no debe contener comillas)
TEXTO_NEGRITA
TEXTO_MAYSCULAS
caracteres especiales Deben introducirse tal cual.
otros_textos_minsculas_en_lista_de_parmetros
Cualquier expresin GDL.

24

Manual de Referencia GDL de ArchiCAD

Captulo 3: Transformacin de Coordenadas

Transformacin de
Coordenadas

Manual de Referencia GDL de ArchiCAD

25

Captulo 3: Transformacin de Coordenadas

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

Manual de Referencia GDL de ArchiCAD

Captulo 3: Transformacin de Coordenadas

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

Captulo 3: Transformacin de Coordenadas

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

a11, a12, a13, a14,


a21, a22, a23, a24,
a31, a32, a33, a34
Define una matriz de transformacin completa. Se usa
principalmente en generacin automtica de cdigo GDL. Tiene
una sola entrada en la pila.
x = a11 * x + a12 * y + a13 * z + a14
y = a21 * x + a22 * y + a23 * z + a24
z = a31 * x + a32 * y + a33 * z + a34
Ejemplo:

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

Manual de Referencia GDL de ArchiCAD

Captulo 3: Transformacin de Coordenadas

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

Manual de Referencia GDL de ArchiCAD

29

Captulo 3: Transformacin de Coordenadas

3.3 Manejo de la Pila de


Transformacin
DEL

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

Manual de Referencia GDL de ArchiCAD

Captulo 3: Transformacin de Coordenadas

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

Manual de Referencia GDL de ArchiCAD

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

Captulo 3: Transformacin de Coordenadas

32

Manual de Referencia GDL de ArchiCAD

Captulo 4: Formas Planas en 3D

Formas Planas en 3D

Manual de Referencia GDL de ArchiCAD

33

Captulo 4: Formas Planas en 3D

LIN_

x1, y1, z1, x2, y2, z2


Segmento de lnea entre los puntos P1(x1,y1,z1) y P2(x2,y2,z2).

RECT

a, b
Rectngulo en el plano x-y con caras a y b.
Restriccin de parmetros:
a, b 0
Y

POLY

n, x1, y1, . . . xn, yn


Polgono con n aristas en el plano x-y. Las coordenadas de cada
nodo i son (xi, yi, 0).
Restriccin de parmetros:
n>3
Y

n
1

3
X

34

Manual de Referencia GDL de ArchiCAD

Captulo 4: Formas Planas en 3D

POLY_

n, x1, y1, mask1, . . . xn, yn, maskn


Similar a la declaracin POLY normal, pero se puede omitir
cualquiera de las aristas. Si maski = 0, la arista que empieza en
(xi,yi) ser omitida. Si maski = 1, se mostrar el vrtice.
maski = -1 se usa para definir huecos directamente. Ver PRISM_ en
el Captulo 3.2 para ms detalles.
Restriccin de parmetros:
n>3
Y

n
1

3
X

n
1

3
X

PLANE

n, x1, y1, z1, . . . xn, yn, zn


Polgono con n aristas en un plano arbitrario. Las coordenadas de
cada nodo i son (xi, yi, zi). El polgono debe ser plano de cara a
obtener un rendering correcto, pero el intrprete no comprueba
esta condicin.
Restriccin de parmetros:
n>3

PLANE_

n, x1, y1, z1, mask1, . . . xn, yn, zn, maskn


Similar a la declaracin PLANE normal, pero se puede omitir
cualquiera de las aristas como en la declaracin POLY_.
Restriccin de parmetros:
n>3

Manual de Referencia GDL de ArchiCAD

35

Captulo 4: Formas Planas en 3D

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

37

Captulo 5: Formas Tridimensionales

5.1 Formas bsicas


BLOCK
BRICK

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

! hemisferio

39

Captulo 5: Formas Tridimensionales

CONE

h, r1, r2, alpha1, alpha2


Tronco de cono, donde alpha1 y alpha2 son los ngulos de
inclinacin de las superficies en los extremos del eje z, r1 y r2 son
los radios de los crculos extremos y h es la altura a lo largo del eje z
Si h es cero, los valores de alpha1 y alpha2 se ignoran y se genera
un anillo en el plano x-y.
Alpha1, alpha2 estn en grados.
Restriccin de parmetros:
0 < alpha1 < 180 y 0 < alpha2 < 180
Z

2
ha
alp
r2

alp

ha

r1

Ejemplo:
CONE h, r, 0, 90, 90

PRISM

! cono regular

n, h, x1, y1, . . . xn, yn


Prisma recto con base poligonal en el plano x-y (ver los parmetros
de POLY). La altura a lo largo del eje z es abs(h). Pueden usarse
valores de h negativos. En este caso, la segunda base del polgono
est por debajo del plano x-y.
Restriccin de parmetros:
n>3

Y
n
X

40

2
1

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

PRISM_

n, h, x1, y1, mask1, . . . xn, yn, maskn


Similar a la declaracin PRISM, pero puede omitirse cualquiera de
las aristas y caras horizontales.
Restriccin de parmetros:
n>3
Z

j3

j4

j2

j1

i+1

El nmero maski es un entero binario (entre o y 15 o 64 y 79) o -1.


maski = j1 + 2*j2 + 4*j3 + 8*j4 + 64*j7
donde j1, j2, j3, j4, j7 pueden ser 0 o 1.
Los nmeros j1, j2, j3, j4 representan dnde los vrtices y la cara
estn presentes (1) o se omiten (0).
j1 : arista horizontal inferior
j2 : arista vertical
j3 : arista horizontal superior
j4 : cara
j7 : valor especial adicional efectivo slo cuando j2 es 1 y controla el
punto de vista en funcin de la visibilidad de la arista vertical
actual.
j2 = 0: la arista vertical es siempre invisible
j2 = 1 y j7= 1: la arista vertical slo es visible cuando es un
contorno aparente desde la actual direccin de vista
j2 = 1 y j7 = 0: la arista vertical siempre es visible

Manual de Referencia GDL de ArchiCAD

41

Captulo 5: Formas Tridimensionales

Valores de mask (las lneas gruesas denotan aristas visibles) :


invisible surface

visible surface

10

11

12

13

14

15

Maski = -1 se usa para definir huecos directamente en el prisma.


Marca el fin del contorno y el principio del hueco en el interior del
contorno. Tambin se usa para indicar el final de un contorno de
hueco y el principio de otro. Las coordenadas anteriores a este valor
deben ser idnticas a las del primer punto del contorno/hueco. Si ha
usado el valor de mask -1, el ltimo valor de mask en la lista de
parmetros debe ser -1, indicando el final del ltimo hueco.
Los huecos no deben estar conectados. Se prohiben intersecciones
internas del polgono para un coloreado/rendering correcto.
Ejemplos:

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

Captulo 5: Formas Tridimensionales

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,

Manual de Referencia GDL de ArchiCAD

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

!Fin del primer hueco

!Fin del segundo hueco

!Fin del tercer hueco

43

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

CPRISM_

topmat, botmat, sidemat,


n, h, x1, y1, mask1, . . . xn, yn, maskn
Extensin de la declaracin PRISM_ , los primeros 3 parmetros se
usan para el nombre/ndice de material de las superficies superior,
inferior y lateral. Los otros parmetros son los mismos que en la
declaracin PRISM_ anterior.
Restriccin de parmetros:
n>3
Ver tambin la declaracin MATERIAL en el Captulo de "Atributos"
y la descripcin de la funcin IND en el Apndice.
Ejemplo:

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,

Manual de Referencia GDL de ArchiCAD

!Hierro es un material
! predefinido.
! 0 es un material
! genrico.
! T_ es una variable
! global (un ndice
! de material)

! fin del contorno

! fin del primer hueco

! fin del segundo hueco

45

Captulo 5: Formas Tridimensionales

BPRISM_

topmat, botmat, sidemat,


n, h, radio,
x1, y1, mask1, . . . xn, yn, maskn
Prisma de aristas curvadas, basado en la misma estructura de datos
que el elemento recto CPRISM_ .
El nico parmetro adicional es el radio.
Deriva del correspondiente CPRISM_ al curvarse el plano x-y en un
cilindro tangencial a dicho plano.
Las aristas a lo largo del eje x se transforman en arcos circulares; las
aristas a lo largo del eje y permanecen horizontales; las aristas a lo
largo del eje z tendrn direccin radial.
Ver BWALL_ para detalles.
Ejemplos: (con los correspondientes CPRISM_):

BPRISM_
3,
0.4,
0,
0,
5,
0,
1.3, 2,

46

"Glass",
1,
15,
15,
15

"Glass", "Glass",
! radio = 1

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

BPRISM_ "Concrete", "Concrete", "Concrete",


17, 0.3, 5,
0,
7.35, 15,
0,
2,
15,
1.95, 0,
15,
8,
0,
15,
6.3, 2,
15,
2,
2,
15,
4.25, 4,
15,
8,
4,
15,
8,
10,
15,
2.7, 10,
15,
0,
7.35, -1,
4,
8.5,
15,
1.85, 7.05, 15,
3.95, 5.6,
15,
6.95, 5.6,
15,
6.95, 8.5,
15,
4,
8.5,
-1

Manual de Referencia GDL de ArchiCAD

47

Captulo 5: Formas Tridimensionales

FPRISM_

topmat, botmat, sidemat, hillmat,


n, thickness, angle, hill_height,
x1, y1, mask1,
...
xn, yn, maskn
Similar a la declaracin PRISM_ con los parmetros adicionales
hillmat, angle y hill_height. Sobre el prisma recto se aade una
parte suavizada.
hillmat:
el material de la cara de la parte suavizada
angle:

el ngulo de inclinacin de las aristas suavizadas.


Restriccin: 0 < angle < 90. Si el ngulo = 0 las
aristas suavizadas se ven en proyeccin ortogonal
como un cuarto de crculo con una resolucin
especificada por el comando RESOL.

hill_height:

la altura de la parte suavizada. Observe que el


parmetro thickness representa la altura total del
FPRISM.

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

49

Captulo 5: Formas Tridimensionales

SPRISM_

topmat, botmat, sidemat,


n, xb,yb, xe, ye, h, angle,
x1, y1, mask1, . . . xn, yn, maskn
Extensin de la declaracin CPRISM_ con la posibilidad de tener
un polgono superior no paralelo al plano x-y. La definicin del
plano superior es similar a la definicin de plano en la declaracin
CROOF_. La altura del prisma se define en la lnea de referencia. La
interseccin de los polgonos superior e inferior est prohibida.
Parmetros adicionales:
xb, yb, xe, ye: lnea de referencia (vector) coordenadas iniciales y finales,
angle:

ngulo de rotacin del polgono superior alrededor de


la lnea de referencia dada, en grados (antihorario)

Nota: todas las coordenadas z calculadas de los nodos del polgono


superior deben ser positivas o 0

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,

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

SLAB

n, h, x1, y1, z1, . . . xn, yn, zn


Prisma oblicuo. Las caras laterales son siempre perpendiculares al
plano x-y, sus bases son polgonos planos girados sobre un eje
paralelo con el plano x-y. Pueden usarse valores de h negativos. En
este caso, la segunda base del polgono est por debajo de la dada.
No se comprueba si los puntos estn realmente en un plano. Los
vrtices no contenidos en el plano darn colores propios/
renderings extraos.
Restriccin de parmetros:
n>3
Z

SLAB_

n, h, x1, y1, z1, mask1, . . . xn, yn, zn, maskn


Similar a la declaracin SLAB, pero pueden omitirse cualquiera de
las aristas y caras horizontales. Esta declaracin es una analoga de
la declaracin PRISM_ .

CSLAB_

topmat, botmat, sidemat,


n, h, x1, y1, z1, mask1, . . . xn, yn, zn, maskn
Extensin de la declaracin SLAB_ ; los primeros 3 parmetros se
usan para el nombre/ndice de material de las superficies superior,
inferior y lateral. Los otros parmetros son los mismos que en la
declaracin SLAB_ anterior.
Ver tambin la declaracin MATERIAL en el Captulo de Atributos y
la funcin IND en el Apndice.

Manual de Referencia GDL de ArchiCAD

51

Captulo 5: Formas Tridimensionales

CWALL_

leftmat, rightmat, sidemat,


height, x1, x2, x3, x4, t,
mask1, mask2, mask3, mask4,
n,
xbeg1, lower1, xend1, upper1, framevis1,
...
xbegn, lowern, xendn, uppern, framevisn,
m,
a1, b1, c1, d1,
...
am, bm, cm, dm

leftmat, rightmat, sidemat:


Nombres/ndices de Material para las superficies izquierda,
derecha y lateral.
Las caras izquierda y derecha del muro siguen el eje x.
Ver tambin la declaracin MATERIAL en el Captulo de
Atributos y la funcin IND en el Apndice.
La lnea de referencia del muro se transforma siempre coincidiendo
con el eje x. Las caras del muro estn en el plano x-z.
height :
Altura del muro en relacin a su base.
x1, x2, x3, x4 :
Proyeccin de los extremos del muro sobre el plano x-y,
como se ve a continuacin. Si el muro es rectangular,
entonces
x1 = x4 = 0, x2 = x3 = longitud del muro.
t:

grosor del muro.


t < 0 si el cuerpo del muro est a la derecha del eje x,
t > 0 si el cuerpo del muro est a la izquierda del eje x,
t = 0 el muro est representado por un polgono y se
generan marcos alrededor de los huecos.

52

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

X
x1

x4

x3

x2

mask1, mask2, mask3, mask4 :


Controlan la visibilidad de aristas y caras de los polgonos.
maski = j1 + 2*j2 + 4*j3 + 8*j4
donde j1, j2, j3, j4 pueden ser 0 or 1.
Los nmeros j1, j2, j3, j4 representan cundo los vrtices y la cara
estn presentes (1) o se omiten (0).
Z
mask 3

Y
mask 2

mask 4
j3
j2
j4
j1

X
mask 1

n:

el nmero de aberturas en el muro.

xbegi, loweri, xendi, upperi :


coordenadas de las aberturas como sigue.

xbeg
xend

lower

upper

height

Manual de Referencia GDL de ArchiCAD

53

Captulo 5: Formas Tridimensionales

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

Una arista que sea perpendicular a la superficie del muro es visible


si existen bordes visibles dibujados desde sus dos puntos extremos.
m:
nmero de los planos de corte.
ai, bi, ci, di :
coeficientes de la ecuacin que define el plano de corte
[ai*x + bi*y + ci*z = di].
Partes de la cara positiva del plano de corte que sern
cortadas y eliminadas (p.e. ai*x + bi*y + ci*z > di).

[ai, bi, ci]

54

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

BWALL_

leftmat, rightmat, sidemat,


height, x1, x2, x3, x4, t, radio,
mask1, mask2, mask3, mask4,
n,
xbeg1, lower1, xend1, upper1, framevis1,
...
xbegn, lowern, xendn, uppern, framevisn,
m,
a1, b1, c1, d1,
...
am, bm, cm, dm
Muro curvo, basado en la misma estructura de datos que el
elemento de muro recto CWALL_.
El nico parmetro adicional es el radio.
Deriva del correspondiente CWALL_ curvando el plano x-z sobre
un cilindro tangencial a este plano.
Las aristas a lo largo del eje x se transforman en arcos circulares; a
lo largo del eje y sern radiales, y las aristas verticales permanecen
verticales. La curvatura se aproxima mediante un nmero de
segmentos definido por la directiva RESOL, como para esferas y
cilindros. Ver CWALL_ para detalles.

Manual de Referencia GDL de ArchiCAD

55

Captulo 5: Formas Tridimensionales

Ejemplos: un BWALL_ y el CWALL_ correspondiente

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,

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

XWALL_

leftmat, rightmat, sidevmat, sidehmat,


height, x1, x2, x3, x4,
y1, y2, y3, y4,
t, radio,
reserved1, reserved2,
mask1, mask2, mask3, mask4,
n,
xbeg1, lower1, xend1, upper1, framevis1,
...
xbegn, lowern, xendn, uppern, framevisn,
m,
a1, b1, c1, d1,
...
am, bm, cm, dm
Definicin de muro ampliada, basada en la misma estructura de
datos que el elemento BWALL_. Parmetros adicionales:
sidevmat, sidehmat: nombre o ndice de los materiales de las
caras vertical y horizontal
y1, y2, y3, y4:

los extremos del muro proyectados en el plano x-y


como sigue

y4
y1

y2
y3
x1

x2

reserved1, reserved2:

Manual de Referencia GDL de ArchiCAD

x3

x4

reservado, siempre 0.

57

Captulo 5: Formas Tridimensionales

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,

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

CROOF_

topmat, botmat, sidemat,


n, xb, yb, xe, ye, height, angle, thickness,
x1, y1, alpha1, mask1,
,
xn, yn, alphan, maskn
Cubierta inclinada con los bordes en ngulo a medida
topmat, botmat, sidemat:
nmero/ndice de materiales inferior, superior y lateral
n:

el nmero de nodos en el polgono de cubierta

xb, yb, xe, ye:

lnea de referencia (vector)

height:

la altura de la cubierta en la lnea de referencia


(superficie inferior)

angle:

ngulo de rotacin del plano de cubierta alrededor de


la lnea de referencia dada, en grados (antihorario)

thickness:

grosor de la cubierta medida perpendicularmente al


plano de cubierta

xi, yi:

las coordenadas de los nodos del polgono inferior


de la cubierta

alphai:

ngulo entre la cara que pertenece a la arista i de la


cubierta y el plano perpendicular al de cubierta, -90 <
alphai < 90. Mirando en la direccin de la arista del
polgono de cubierta correctamente orientado, el
ngulo de rotacin antihorario es positivo.

La orientacin de las aristas del polgono de cubierta es correcta si, en


planta, la secuencia de contorno es antihoraria y la de huecos horaria.
maski:
define la visibilidad de las aristas de cubierta, vea el
comando PRISM_.
Restriccin de parmetros:
n>3

Manual de Referencia GDL de ArchiCAD

59

Captulo 5: Formas Tridimensionales

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

! lnea de referencia (x1,y1)


! altura
! ngulo
! grosor
15,
15,
15,
15,
-1,
15,
15,
15,
-1

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

61

Captulo 5: Formas Tridimensionales

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):

la superficie de base est presente.

j3 (4):

las superficies laterales estn presentes.

j5 (16):

las aristas de base y laterales son visibles.

j6 (32):

las aristas superiores son visibles.

j7 (64):

las aristas superiores son visibles, la superficie


superior no est suavizada.
Z

Zij
Y

n
b

j
1
1

Restriccin de parmetros:
m > 2, n > 2

62

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

Ejemplos:

MESH 50, 30, 5, 6, 1+4+16+32+64,


2, 4, 6, 7, 8,
10, 3, 4, 5, 6,
7, 9, 5, 5, 7,
8, 10, 9, 4, 5,
6, 7, 9, 8, 2,
4, 5, 6, 8, 6

MESH 90,100, 12,8, 1+4+16+32+64,


17,16,15,14,13,12,11,10,10,10,10, 9,
16,14,13,11,10, 9, 9, 9,10,10,12,10,
16,14,12,11, 5, 5, 5, 5, 5,11,12,11,
16,14,12,11, 5, 5, 5, 5, 5,11,12,12,
16,14,12,12, 5, 5, 5, 5, 5,11,12,12,
16,14,12,12, 5, 5, 5, 5, 5,11,13,14,
17,17,15,13,12,12,12,12,12,12,15,15,
17,17,15,13,12,12,12,12,13,13,16,16

Manual de Referencia GDL de ArchiCAD

63

Captulo 5: Formas Tridimensionales

ARMC

r1, r2, l, h, d, alpha


Trozo de tubo que empieza en otro tubo; parmetros de acuerdo
con la figura (las curvas de interseccin se calculan y dibujan
tambin). Alpha est en grados.
Restriccin de parmetros:
r1 > r2 + d
r1 < l * sin(alpha) - r 2 * cos(alpha)
Z
alp

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

65

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

5.2 Formas generadas desde


polilneas
Estos elementos permiten crear formas 3D complejas usando una
polilnea y una regla constructiva. Se puede girar, proyectar o
trasladar la polilnea dada. Los cuerpos resultantes generalizan
algunos elementos existentes, como PRISM_ y CYLIND.
Formas generadas desde una sola polilnea:
EXTRUDE
PYRAMID
REVOLVE
Formas generadas desde dos polilneas:
RULED
SWEEP
TUBE
TUBEA
La primera polilnea est siempre en el plano x-y. Dos
coordenadas determinan los puntos, el tercer valor (ver a
continuacin) es el status . La segunda polilnea (RULED y
SWEEP) es una curva en el espacio cuyos vrtices se determinan
por tres valores coordenados.
Formas generadas desde cuatro polilneas:
COONS
Forma generada a partir de polilneas:
MASS
Restricciones generales para polilneas:
Los vrtices adyacentes no deben coincidir (excepto
para RULED).
La polilnea no debe cortarse a s misma (no se verifica, pero el
clculo de ocultos y rendering sern incorrectos).
Las polilneas pueden ser abiertas o cerradas. En el ltimo caso,
el primer nodo debe repetirse al final de la declaracin.

Manual de Referencia GDL de ArchiCAD

67

Captulo 5: Formas Tridimensionales

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:

arcos/aristas laterales que arrancan del nodo son


todos visibles.

1:

arcos/aristas laterales que arrancan del nodo se


usan solo para mostrar el contorno.

-1 :

slo para EXTRUDE: marca el final del polgono


cerrado o de un hueco, y significa que el siguiente
nodo ser el primer nodo de otro hueco.

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

EXTRUDE

n, dx, dy, dz, mask, x1, y1, s1, . . . xn, yn, sn


Prisma genrico que usa una polilnea en el plano x-y como base.
El vector desplazamiento entre bases es (dx, dy, dz).
Es una generalizacin de las declaraciones PRISM y SLAB. No es
necesario que la polilnea de base sea cerrada ni que las aristas
laterales sean perpendiculares al plano x-y. La polilnea de base
puede incluir huecos, al igual que PRISM_. Es posible controlar la
visibilidad de las aristas de contorno
n:
nmero de nodos de la polilnea.
mask :

controla la existencia de las caras superior, inferior y


(en el caso de una polilnea abierta) lateral.

si :

status de las aristas laterales o marca el final de un


polgono o hueco.

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.

Manual de Referencia GDL de ArchiCAD

69

Captulo 5: Formas Tridimensionales

Valores de status
0:
las aristas laterales que empiezan en el nodo son
visibles.
1:

las aristas laterales que empiezan en el nodo se


usan para mostrar el contorno.

-1 :

marca el final del polgono cerrado o de un hueco,


y significa que el siguiente nodo ser el primer
vrtice de otro hueco.

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,

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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

Captulo 5: Formas Tridimensionales

PYRAMID

n, h, mask, x1, y1, s1, . . . xn, yn, sn


Pirmide basada en una polilnea en el plano x-y. El vrtice de la
pirmide se sita en (0, 0, h).
n:
nmero de nodos de la polilnea.
mask :

controla la existencia de las caras inferior y (en el


caso de una polilnea abierta) lateral.

si :

status de las aristas laterales.

Restricciones de parmetros:
h>0
n>2

Y
j3
n
j1
X

j5
2

mask = j1 + 4*j3 + 16*j5


donde j1, j3, j5 pueden ser 0 or 1.
j1 (1):

la superficie de la base est presente.

j3 (4):

la superficie lateral (cerrada) est presente.

j5 (16):

las aristas de la base son visibles.

Valores de status
0:
las aristas laterales que arrancan del nodo son todas
visibles.
1:

72

las aristas laterales que arrancan del nodo se usan


para mostrar el contorno.

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

73

Captulo 5: Formas Tridimensionales

REVOLVE

n, alpha, mask, x1, y1, s1, . . . xn, yn, sn


Superficie generada por la rotacin de una polilnea definida en el
plano x-y alrededor del eje x.
n:
nmero de nodos de la polilnea.
alpha:

ngulo de barrido en grados.

mask:

controla la existencia de las caras inferior, superior y


(en el caso de alpha < 360) lateral.

s i:

status de los arcos laterales.

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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):

superficie inferior presente.

j2 (2):

superficie superior presente.

j3 (4):

superficie lateral presente en el ngulo inicial.

j4 (8):

superficie lateral presente en el ngulo final.

j5 (16):

aristas de superficie lateral visibles en ngulo inicial.

j6 (32):

aristas de superficie lateral visibles en ngulo final.

j7 (64):

aristas de la seccin transversal visibles, superficie


no suavizada.

Valores de status
0:
arcos laterales que arrancan del nodo todos visibles.
1:

arcos laterales que arrancan del nodo se usan para


mostrar el contorno.

2:

si usa el Rendering de ArchiCAD o Z-buffer y define


superficies suavizadas, el borde lateral que pertenece a
este punto define una rotura. Esta solucin es
equivalente a definir nodos adicionales; el compilador
realiza el clculo. El algoritmo de FotoRendering no
cambia. Cuando utilice otros mtodos de rendering,
tendr el mismo efecto que usar 0.

Ejemplos:

Manual de Referencia GDL de ArchiCAD

75

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

revolucin sin cdigo de status 2:

el mismo resultado con cdigo 2:

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

Manual de Referencia GDL de ArchiCAD

77

Captulo 5: Formas Tridimensionales

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 :

controla la existencia de las caras inferior, superior y


lateral y la visibilidad de las aristas de la polilneas
generatrices. El polgono lateral conecta el primer y
ltimo nodos de las curvas, si alguna de ellas no
est cerrada.

u i , vi :

coordenadas de los nodos de la curva plana.

si :

status de las aristas laterales.

x i , yi , z i :

coordenadas de la curva en el espacio.

Restriccin de parmetros:
n>1

2
j2
j6
1

j3
Y

n
j1
X

1
2

78

j5

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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):

la superficie inferior est presente.

j2 (2):

la superficie superior est presente (no efectivo si la


superficie superior no es plana).

j3 (4):

la superficie lateral est presente (un cuadrngulo


plano o dos tringulos).

j5 (16):

las aristas de la curva plana son visibles.

j6 (32):

las aristas de la curva en el espacio son visibles.

j7 (64):

las aristas de la superficie son visibles, la superficie


no se suaviza.

Valores de status
0:
las aristas laterales que arrancan del nodo son todas
visibles.
1:

las aristas laterales que arrancan del nodo se usan


para buscar el contorno.

Ejemplos:

Manual de Referencia GDL de ArchiCAD

79

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

SWEEP

n, m, alpha, scale, mask,


u1, v1, s1, . . . un, vn, sn,
x1, y1, z1, . . . xm, ym, zm
Superficie generada por una polilnea que se desplaza siguiendo la
trayectoria curva de otra polilnea en el espacio.
La polilnea puede ser abierta o cerrada. Puede girarse y escalarse
incrementalmente en su propio plano.
El plano de la polilnea sigue la trayectoria curva. La curva en el
espacio tiene su inicio en el plano x-y. Si no se encuentra esta
condicin, la curva es movida a lo largo del eje z hasta que
arranque del plano x-y.
La seccin transversal en el punto (xi, yi, zi) es perpendicular al
segmento de la curva en el espacio entre los puntos (xi-1, yi-1, zi-1)
y (xi, yi, zi).
SWEEP puede usarse para modelar el surtidor de una tetera y otras
formas complejas.
n:
nmero de nodos de la polilnea.
m:

nmero de nodos de la trayectoria.

alpha :

incremento de la rotacin de la polilnea sobre su


propio plano, desde un punto de la trayectoria hasta
el siguiente.

scale :

incremento del factor de escala de la polilnea,


desde un punto de la trayectoria hasta el siguiente.

mask :

controla la existencia de las superficies y aristas


inferiores, superiores y laterales.

u i , vi :

coordenadas de los nodos de la polilnea de base.

si :

status de las aristas laterales.

x i , yi , z i :

coordenadas de los nodos de la trayectoria curva.

Restricciones de parmetros:
n>1
m>1
z 1 < z2

Manual de Referencia GDL de ArchiCAD

81

Captulo 5: Formas Tridimensionales

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):

la superficie inferior est presente.

j2 (2):

la superficie superior est presente.

j3 (4):

la superficie lateral est presente.

j5 (16):

las aristas inferiores son visibles.

j6 (32):

las aristas superiores son visibles.

j7 (64):

las aristas de la seccin transversal son visibles, la


superficie est articulada.
Z
j2
j6
m

2
Y
j3
n
X

j1

1
2

j5

Valores de status
0:
todas las aristas laterales que arrancan del nodo son
visibles.
1:

las aristas laterales que arrancan del nodo se usan


para mostrar el contorno.

Ejemplos:

82

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

SWEEP 4,
-0.5,
0.5,
0.5,
-0.5,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,

Manual de Referencia GDL de ArchiCAD

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

Captulo 5: Formas Tridimensionales

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:

perpendicular al eje V y apuntando hacia arriba con


respecto al eje z local,

eje U:

perpendicular a los ejes V y W y formando con ellos


un sistema de coordenadas Cartesianas segn la
regla de la mano derecha.

Si el eje V es vertical, la direccin W no est correctamente


definida. El eje W en el nodo previo de la trayectoria se usa para
determinar una direccin horizontal.
La seccin transversal del tubo, medida en medio de los segmentos
de la trayectoria es siempre igual al polgono de base (u1, w1, ... un,
wn). Las secciones en las uniones estn situadas en el plano
bisector de los segmentos de unin. El polgono de base debe estar
cerrado.
n:
nmero de nodos de la polilnea.
m:

nmero de nodos de la trayectoria.

ui, w i :

coordenadas de los nodos de la polilnea de base.

si :

status de las aristas laterales.

x i , yi , z i :

coordenadas de los nodos de la trayectoria curva.


(La trayectoria comprende dos puntos ms que el
nmero de secciones generadas. El primer y el
ltimo puntos determinan la posicin el espacio de
la primera y la ltima superficies que pertenecen al
TUBE. Estos puntos slo juegan un papel
determinando la normal de las superficies, no son
nodos actuales de la trayectoria. La orientacin de
las superficies es la misma que la de las superficies

84

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

que se generaran en los nodos ms cercanos a los


dos extremos, si el TUBE continuara en las
direcciones indicadas por ellos.
anglei

ngulo de rotacin de la seccin transversal.

Masking
mask = j1 + 2*j2 + 16*j5 + 32*j6 + 64*j7
donde j1, j2, j5, j6, j7 pueden ser 0 o 1.
j1 (1):

la superficie inferior est presente.

j2 (2):

la superficie final est presente.

j5 (16):

las aristas inferiores (en x1, y1, z1) son visibles.

j6 (32):

las aristas finales (en xm, ym, zm) son visibles.

j7 (64):

las aristas de la seccin transversal (excepto las


lneas de conexin de caras coplanares) son
visibles, la superficie est articulada.

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:

Manual de Referencia GDL de ArchiCAD

los bordes laterales que empiezan en el nodo se


utilizan para mostrar el contorno.

85

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

TUBE

Manual de Referencia GDL de ArchiCAD

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

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

TUBEA

n, m, mask,
u1, w1, s1,
...
un, wn, sn,
x1, y1, z1,
...
xm, ym, zm

m-1

bisector plane

TUBEA es una superficie generada por una polilnea que se


desplaza a lo largo de una trayectoria curva en el espacio, con un
algoritmo diferente a la declaracin TUBE.
La seccin generada en cada unin de la trayectoria es igual al
polgono de base (u1, w1, ... un, wn) y est situada en el plano
bisector de las proyecciones de los segmentos de unin sobre el
plano x-y local. El polgono de base puede estar abierto: en este
caso las secciones se generarn de manera que alcancen el plano
x-y local, como en el caso de las superficies REVOLVE.
La seccin transversal del tubo, medida en el medio de los
segmentos de trayectoria puede ser distinta al polgono de base.
Ejemplos:

Manual de Referencia GDL de ArchiCAD

89

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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):

aristas del 1er lmite (x1, y1, z1) visibles.

j4 (8):

aristas del 2 lmite (x2, y2, z2) visibles.

j5 (16):

aristas del 3er lmite (x3, y3, z3) visibles.

j6 (32):

aristas del 4 lmite (x4, y4, z4) son visibles.

j7 (64):

aristas de superficie visibles, la superficie suavizada.

Restricciones de parmetros:
n, m > 1
Z

1(n)

4(m)

2(n)

3(m)
X

Manual de Referencia GDL de ArchiCAD

91

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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,

Manual de Referencia GDL de ArchiCAD

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

Captulo 5: Formas Tridimensionales

MASS

topmat, botmat, sidemat, n, m, mask, h,


x1, y1, z1, s1,
...
xn, yn, zn, sn,
xn+1, yn+1, zn+1, sn+1,
...
xn+m, yn+m, zn+m, sn+m
topmat, botmat, sidemat:
nombre/ndice de materiales superior, inferior y lateral
n:

el nmero de nodos en el polgono de base

m:

el nmero de nodos sobre las crestas

h:

la altura de la cubierta (puede ser negativa)

xi, yi, zi :

las coordenadas de los nodos

si :

similar a la declaracin PRISM_

Masking
mask = j1 + 4*j3 + 16*j5 + 32*j6 + 64*j7
donde j1, j3, j5, j6, j7 pueden ser 0 o 1.
j1 (1):

la superficie de base est presente

j3 (4):

las superficies laterales estn presentes

j5 (16):

las aristas de la base y laterales son visibles

j6 (32):

las aristas superiores son visibles

j7 (64):

las aristas superiores son visibles, la superficie


superior no est suavizada

Restricciones de parmetros:
n > 3, m > 0
m-1

m
n

1
2

dz plane

94

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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,

"Whitewash", "Whitewash", "Whitewash",


12, 117, -5.0,
12, 0, 15,
12, 0, 15,
0, 0, 15,
0, 0, 13,
0, 0, 13,
0, 0, 13,
0, 0, 13,
0, 0, 15,
12, 0, 15,
12, 0, 15,
20, 8, 13,
22, 8, 15,
22, 8, 15,
20, 8, 13,
12, 0, -1,
22,
22,
17,
0,
13,
0,
0,
19,
20,
20,
17,
0,

Manual de Referencia GDL de ArchiCAD

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

Captulo 5: Formas Tridimensionales

5.3 Elementos para la


Visualizacin
LIGHT

red, green, blue, shadow,


radius, alpha, beta, angfalloff,
dist1, dist2, distfalloff
Fuente luminosa que irradia luz coloreada [red, green, blue] desde el
origen local a lo largo del eje x. La luz se proyecta paralelamente al
eje x desde una fuente puntual o circular. Tiene una intensidad
mxima dentro del tronco de cono de ngulo alpha y disminuye
hasta cero en el tronco de cono de ngulo beta. Esta disminucin se
controla por el parmetro angfalloff. (Cero da a la luz un contorno
ntido, valores mayores indican transiciones suaves.) El efecto de la
luz est limitado a lo largo del eje definido por los valores de corte
dist1 y dist2. El parmetro distfalloff controla la cada de intensidad en
funcin de la distancia. (Un valor cero significa una intensidad
constante, valores mayores se usan para cadas ms fuertes.)
Las transformaciones GDL afectan solo al punto inicial y a la
direccin de la luz.
El parmetro shadow controla si la luz arroja sombras.
0:
no hay sombras arrojadas
hay sombras arrojadas

beta
alpha

radius

1:

intensity
dist1
dist2

96

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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

Dilogo de edicin de Lmparas en ArchiCAD:

Manual de Referencia GDL de ArchiCAD

97

Captulo 5: Formas Tridimensionales

Parte del correspondiente script GDL:


IF C = 0 GOTO 10
LIGHT G/100*D, G/100*E, G/100*F,
...
10:

!RGB

r = 0, alpha > 0, beta > 0

r > 0, alpha = 0, beta > 0

r > 0, alpha = 0, beta = 0


Tipos de luz usando distintos parmetros alpha y beta

98

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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.

mask = alpha + distortion


alpha :
control del canal alpha
0 : no se usa canal alpha, la figura es un rectngulo
1 : se usa canal alpha, partes de la figura pueden ser
transparentes.
distortion :

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

Manual de Referencia GDL de ArchiCAD

99

Captulo 5: Formas Tridimensionales

5.4 Elemento de Texto


TEXT

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:

DEFINE STYLE "aa" "New York", 3, 7, 0


SET STYLE "aa"
TEXT 0.005, 0, "3D Text"

nombre= "Grand"
ROTX 90
ROTY -30
TEXT 0.003, 0, nombre
ADDX STW (nombre)/1000
ROTY 60
TEXT 0.003, 0, "Hotel"

Observacin: Para compatibilidad con el script GDL 2D, la altura


de los caracteres se interpreta siempre en mm-s en las
declaraciones DEFINE STYLE.

100

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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.

Manual de Referencia GDL de ArchiCAD

101

Captulo 5: Formas Tridimensionales

En el caso de una definicin simplificada (PGON.ivect = 0


PGON.status < 0) las primitivas a las que se refiere por otras deben
preceder a su referencia. En este caso, el orden que se recomienda
es:
VERT (TEVE)
EDGE
(VECT)
PGON (PIPG)
COOR
BODY
La bsqueda de polgonos adyacentes por las aristas se hace
durante la ejecucin de la declaracin de cuerpo.
La numeracin de VERTs, EDGEs, VECTs y PGONs es relativa a la
ltima declaracin de BASE (implcita o explcita.
Los valores de status se usan para almacenar informacin especial
sobre las primitivas. Cada bit individual tiene habitualmente un
significado independiente en el status, pero hay algunas
excepciones.
Valores dados pueden aadirse juntos. Otras combinaciones de bits
que las dadas a continuacin estn estrictamente reservadas para
uso interno. El valor por omisin para cada status es cero.
VERT

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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

vert1, vert2, pgon1, pgon2, status


Definicin de una arista.
vert1, vert2 : ndice de los extremos.
Los ndices vert1 y vert2 deben ser distintos y referenciados a los
VERTs previamente definidos.
pgon1, pgon2 :
ndices de los polgonos vecinos. Valores cero y
negativos tienen el siguiente significado especial:
0 : arista solitaria o de extremo.
<0 : ArchiCAD buscar posibles vecinos.
Bits de status:
1
arista invisible.
2

arista de una superficie curvada.

Bits de status reservados para uso futuro:


4
primera arista de una superficie curvada
(solamente junto con 2).
8

ltima arista de una superficie curvada


(solamente junto con 2).

16

la arista es un segmento de arco.

32

primer segmento de un arco


(solamente junto con 16).

64

ltimo segmento de un arco


(solamente junto con 16).

Manual de Referencia GDL de ArchiCAD

103

Captulo 5: Formas Tridimensionales

PGON

n, ivect, status, edge1, edge2, . . . edgen


n:

nmero de aristas en la lista de aristas.

ivect :

ndice del vector normal. Debe referirse a un VECT


previamente definido.
Si ivect = 0, ArchiCAD calcular el vector normal
durante el anlisis.

Los ndices edge1, edge2, . . . edgen deben referirse a EDGEs


previamente definidos. Un valor 0 significa el inicio o el final de
una definicin de hueco.
Un ndice negativo cambia la direccin de un vector normal o arista
almacenados a la opuesta en el polgono. (El vector o la arista
almacenados no cambian; otros polgonos pueden referirse a ellos
usando la orientacin original con un ndice positivo.)
Bits de status:
1
polgono invisible.
2

polgono en una superficie curva.

16

polgono cncavo.

32

polgono con hueco(s).

64

hueco(s) convexo (s)


(slo junto con 32).

Bits de status reservados para uso futuro:


4
primer polgono de una superficie curva
(slo junto con 2).
8

ltimo polgono de una superficie curva


(slo junto con 2).

Si el valor de status es negativo, ArchiCAD calcular el status del


polgono (tal como polgono cncavo o con hueco).
n = 0 se permite para usos especiales.

104

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

PIPG

filename, a, b, mask, n, ivect, status, edge1, edge2, . . . edgen


Definicin de polgono de imagen. Los primeros 4 parmetros son
los mismos que en el elemento PICTURE, los restantes son los
mismos que en el elemento PGON.

COOR

wrap, vert1, vert2, vert3, vert4


Sistema de coordenadas local de un BODY para el relleno y
mapeado.
wrap :
modo de envolver + tipo de proyeccin.
Modos de envolver:
1:

plano

2:

cbico

3:

cilndrico

4:

esfrico

5:

igual que el mapeado cilndrico, pero al


renderizar las superficies superior e inferior
tendrn un mapeado circular.

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 :

ndice de un VERT, representando el origen del


sistema de coordenadas local.

vert2, vert3, vert4 :


ndices de VERTs definiendo los 3 ejes
coordenados.
Use un signo menos antes de los ndices VERT si los usa slo para
definir un sistema de coordenadas local.
Manual de Referencia GDL de ArchiCAD

105

Captulo 5: Formas Tridimensionales

Ejemplo de ejes de textura propios:

Y
X'

Z'

X
Y'

CSLAB_ "Face brick",


4,
0.5,
0,
0,
0,
1,
0,
0,
1,
1,
1,
0,
1,
1,
BASE
VERT 1,
0,
0
VERT 1,
1,
1
VERT 0,
0,
0
VERT 1,
0,
1
COOR 2,
-1, -2,
BODY 1

106

"Face brick",

"Face brick",

15,
15,
15,
15
!#1
!#2
!#3
!#4
-3,

-4

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

BODY

status
Compone un cuerpo definido con las siguientes primitivas.
Bits de status:
1
cuerpo cerrado.
2

cuerpo que incluye superficie(s) curva(s).

modelo de superficie: cuando el cuerpo est


cortado, no se originan superficies en el plano de
corte.

32

el cuerpo siempre arroja sombras,


independientemente del algoritmo de preseleccin
automtica.

64

el cuerpo nunca arroja sombras.

Si ni 32 ni 64 estn definidos, se efecta la preseleccin automtica


de sombras. Ver SHADOW en el Captulo "Atributos".
Si el valor de status es negativo, ArchiCAD calcular el status del
cuerpo.
Ejemplo:
Z

7
1

4
Y
3

2
X

Manual de Referencia GDL de ArchiCAD

107

Captulo 5: Formas Tridimensionales

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,

2, 11, -6, -10

PGON

4,

2,

0,

3, 12, -7, -11

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

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

2: (no hay referencia directa a los polgonos o vectores, Archicad los


calcula)
VERT
VERT
VERT
VERT
VERT
VERT
VERT
VERT
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
EDGE
PGON

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,

2, 11, -6, -10

PGON

4,

0,

-1,

3, 12, -7, -11

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.

Manual de Referencia GDL de ArchiCAD

109

Captulo 5: Formas Tridimensionales

5.6 Uso de los Datos 3D Binarios


BINARY

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:

Las definiciones de PEN y MATERIAL son efectivas.

1:

Las definiciones de PEN y MATERIAL no tienen


efecto. El elemento de Biblioteca se mostrar con
los colores almacenados y las definiciones de
material. La apariencia de Superficie es constante.

2:

se utilizan las definiciones de PEN y MATERIAL


almacenadas, los materiales no definidos se
reemplazan por las definiciones actuales.

3:

se utilizan las definiciones almacenadas de PEN y


MATERIAL , los materiales no definidos se
reemplazan por los atributos almacenados por
omisin.

seccin:

ndice de la parte binaria del 1 al 16.

Utilizando 0 para la seccin de ndice, puede referirse


simultneamente a todas las partes binarias existentes.
Slo las secciones con un valor de ndice de 1 pueden guardarse
desde dentro de GDL, los comandos BINARY sin los argumentos
de seccin tambin se refieren a ste. Los otras secciones
indexadas se utilizarn por herramientas de terceras partes
(StairMaker, ArchiSITE, VisualGDL, etc.)
Si abre archivos con una estructura de datos diferente a la de
ArchiCAD (DXF, ZOOM) sus descripciones 3D se convertirn a
formato binario.
Es posible guardar un Elemento de Biblioteca en formato binario a
travs del comando Abrir Item de Biblioteca del men Archivo.

110

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

Puede guardar desde la ventana de edicin principal del Objeto de


Biblioteca a travs del comando Guardar como Si el recuadro
Guardar en formato binario est marcado en el dilogo Guardar
como el texto GDL del Objeto de Biblioteca actual ser sustituido
por una descripcin binaria.
Truco: Guardar el modelo 3D despus de una operacin de corte
3D permite guardar el modelo seccionado. De este modo podr
crear formas truncadas.
Puede guardar su Objeto de Biblioteca en formato binario slo si el
modelo 3D ya ha sido generado, es decir, cuando haya visto la
vista 3D al menos una vez.
Sustituyendo la descripcin GDL del Objeto de Biblioteca por una
descripcin binaria puede reducirse considerablemente el tiempo
de conversin a 3D del objeto.
Por otra parte, la descripcin 3D binaria no es paramtrica y ocupa
mayor espacio en disco que un algoritmo programado en GDL.

Manual de Referencia GDL de ArchiCAD

111

Captulo 5: Formas Tridimensionales

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:

borra partes encima del plano de corte (por omisin)

side = 1:

borra partes bajo el plano de corte; en caso de x-y,


x-z, y-z, las partes en la direccin negativa del eje.

El corte (sin el parmetro side ) borra partes encima del plano de


corte. Si los tres primeros parmetros definen los planos x-y, x-z o
y-z (por ejemplo 1.0, 1.0, 0.0 define el plano x-y ), las partes en la
direccin positiva del tercer eje se borrarn.
Puede aadirse cualquier nmero y clase de comandos entre
CUTPLANE y CUTEND. Los macros pueden contener CUTPLANEs.
Los parmetros CUTPLANE se refieren al sistema de coordenadas
actual.
Las transformaciones entre CUTPLANE y CUTEND no tienen efecto
en este plano muy cortado, pero cualquier CUTPLANEs sucesivo se
transformar: De forma que: utilice tantas transformaciones para

112

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

definir el CUTPLANE como sea necesario, despus borre estas


transformaciones antes de definir las formas a cortar.
Las parejas de comandos CUTPLANE-CUTEND pueden anidarse,
incluso dentro de bucles. Si el CUTEND final se pierde, su
CUTPLANE ser efectivo en todas las formas hasta el final del script.
CUTPLANEs en macros afectan slo a las formas del macro, incluso
si CUTEND se pierde.
Si se llama un macro entre CUTPLANE y CUTEND, las formas del
macro se cortarn.
Las definiciones de material, plumas y tramas son efectivas en las
superficies cortadas.
Sea cuidadoso con lo siguiente:
- Si CUTPLANE no se cierra con CUTEND, en un escenario
recargado, se borrarn todas las formas. Por eso siempre recibe
un mensaje de aviso en referencia a los CUTENDs perdidos.
- Si la transformacin utilizada solamente para colocar el
CUTPLANE no se borra, puede pensar que CUTPLANE est en
una posicin incorrecta cuando, en realidad, son las formas
las que se han movido.
Ejemplos:

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

Captulo 5: Formas Tridimensionales

114

CUTPLANE
SPHERE 2
CUTEND

CUTPLANE 1, 1, 0, 1
SPHERE 2
CUTEND

CUTPLANE 1.8, 1.8,


1.8
SPHERE 2
CUTEND

CUTPLANE 1.8, 1.8,


1.8, 1
SPHERE 2
CUTEND

CUTPLANE 60
BRICK 2, 2, 2
CUTEND

CUTPLANE -120
BRICK 2, 2, 2
CUTEND

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

115

Captulo 5: Formas Tridimensionales

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,

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

0,
1

117

Captulo 5: Formas Tridimensionales

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:

distancia entre el origen local y el extremo del tubo


semi-infinito
d = 0 significa cortar con un tubo infinito

maski:

similar a la declaracin PRISM_


maski = j1 + 2 * j2 + 4 * j3

118

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

119

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

Captulo 6: Formas Bidimensionales

Formas Bidimensionales

Manual de Referencia GDL de ArchiCAD

121

Captulo 6: Formas Bidimensionales

6.1 Elementos de Dibujo


HOTSPOT2

x, y

(x, y)

LINE2

x1, y1, x2, y2


(x2, y2)
Y

(x1, y1)

RECT2

x1, y1, x2, y2


(x2, y2)
Y

(x1, y1)

122

Manual de Referencia GDL de ArchiCAD

Captulo 6: Formas Bidimensionales

POLY2

n, framefill, x1, y1, .... xn, yn


Polgono abierto o cerrado con n bordes.
Restricciones de parmetros:
n>2
Y

framefill = j1 + 2*j2 + 4*j3


donde j1, j2, j3 pueden ser 0 or 1.

POLY2_

j1 (1):

slo contorno

j2 (2):

slo relleno

j3 (4):

cerrar un polgono abierto.

n, framefill, x1, y1, mask1, .... xn, yn, maskn


Similar a la declaracin normal POLY2, pero se puede omitir
cualquiera de los bordes. Si maski = 0, se omitir el borde que arranca
del vrtice (xi, yi) . Si maski = 1, se mostrar el vrtice. maski = 1 se usa
para definir huecos directamente. Ver PRISM_ para ms detalles.
Restricciones de parmetros:
n>2
Y

X
Manual de Referencia GDL de ArchiCAD

123

Captulo 6: Formas Bidimensionales

framefill = j1 + 2*j2 + 4*j3


donde j1, j2, j3 pueden ser 0 or 1.
j1 (1):

slo contorno

j2 (2):

slo relleno

j3 (4):

cerrar un polgono abierto.

maski :

0: el siguiente segmento es invisible


1: el siguiente segmento es visible
-1: fin de un contorno

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

Manual de Referencia GDL de ArchiCAD

Captulo 6: Formas Bidimensionales

CIRCLE2

x, y, r
Crculo con centro en (x, y), y radio r.

r
Y
(x, y)

SPLINE2

n, status, x1, y1, angle1,, xn, yn, anglen


Restriccin:
n2
Spline, con n puntos de control. La tangente en el punto de control
(xi, yi) est definida por anglei, el ngulo con eje Ox en grados.
angle i
i
(x i ,yi )

1
Y

Valores de status:
0:
por defecto
1:

spline cerrada, el primer y ltimo nodos de la spline


estarn conectados, cerrando as la spline

2:

spline autosuavizada, el valor del parmetro de


ngulo de los nodos entre el primero y el ltimo no
se usa al generar la spline. Se usa un algoritmo
interno de autosuavizado.

Manual de Referencia GDL de ArchiCAD

125

Captulo 6: Formas Bidimensionales

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

Manual de Referencia GDL de ArchiCAD

Captulo 6: Formas Bidimensionales

SPLINE2_A

n, status,
x1, y1, angle1, lenPrev1, lenNext1,
...
xn, yn, anglen, lenPrevn, lenNextn

len

Ne

xti

Extensin de la declaracin SPLINE2 (spline de Bzier), usada


principalmente en generacin automtica de scripts 2D a causa de
su complejidad (para ms detalles, vea el Manual de Referencia de
ArchiCAD).

len

Pr

ev

angle i

i
(x i ,yi )

Cdigos de status:
0:

Por defecto

1:

spline cerrada, el primer y ltimo nodos de la spline


estarn conectados, cerrando as la spline

2:

spline autosuavizada, los valores de los parmetros


de ngulo, lenPrevi e lenNexti de los nodos entre el
primero y el ltimo no se usa al generar la spline. Se
usa un algoritmo interno de autosuavizado.

xi, yi:

coordenadas de los puntos de control

lenPrevi, lenNexti:
longitudes de las tangentes para los puntos de
control anteriores y posteriores
anglei:

Manual de Referencia GDL de ArchiCAD

ngulo de la direccin de la tangente

127

Captulo 6: Formas Bidimensionales

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

Manual de Referencia GDL de ArchiCAD

Captulo 6: Formas Bidimensionales

6.2 Elemento de Texto


TEXT2

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)

Manual de Referencia GDL de ArchiCAD

129

Captulo 6: Formas Bidimensionales

6.3 Uso de Datos Binarios 2D


FRAGMENT2

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

Los ajustes del script se usan en lugar del color, tipo


de lnea y tipo de trama del fragmento

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

Los ajustes del script se usan en lugar del color, tipo


de lnea y tipo de trama del fragmento

Manual de Referencia GDL de ArchiCAD

Captulo 6: Formas Bidimensionales

6.4 Proyecciones 3D en 2D
PROJECT2

projcode, angle, method


Crea una proyeccin del script 3D en el mismo elemento de
biblioteca y aade las lneas generadas la smbolo paramtrico 2D.
projcode:
3:
Vista superior
4:
Vista lateral
6:
Axonometra frontal
7:
Axonometra isomtrica
8:
Axonometra monomtrica
9:
Axonometra dimtrica
-3:
-6:
-7:
-8:
-9:
angle:

Vista Inferior
Frontal inferior
Isomtrica inferior
Monomtrica inferior
Dimtrica inferior

ngulo de azimut definido en el dilogo de


proyeccin 3D.

method:
1:
2:

Manual de Referencia GDL de ArchiCAD

almbrico
opaco analtico

131

Captulo 6: Formas Bidimensionales

6.5 Dibujos en la Lista


Estos comandos slo son efectivos cuando se crea una lista de
elementos.
Cuando un objeto de biblioteca es un objeto especial de
propiedades y est de alguna manera asociado a un objeto (Objeto,
Puerta, Ventana o Lmpara) situado en planta, incluir los siguientes
comandos en su script 2D se referir a las partes 2D y 3D de dicho
objeto. Esta es una referencia virtual que se resuelve durante el
proceso de listado, usando el script 2D o 3D del elemento listado.
DRAWING2
Crea un dibujo del objeto asociado con el objeto de propiedades
que contiene este comando.
DRAWING3

projcode, angle, method


Similar a PROJECT2, crea una proyeccin del script 3D del objeto
asociado con el objeto de propiedades que contiene este comando.
Todos los parmetros son similares a los de PROJECT2.

132

Manual de Referencia GDL de ArchiCAD

Captulo 7: Cdigos de status adicionales para polilneas planas

Cdigos de status
adicionales para polilneas
planas

Manual de Referencia GDL de ArchiCAD

133

Captulo 7: Cdigos de status adicionales para polilneas planas

Las polilneas planas con cdigos de mask/status en los nodos son


la base de muchos elementos en GDL:
POLY_
maski
PRISM_

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

La resolucin de los arcos se controla mediante directivas descritas


en el captulo "Atributos".
En el caso de la declaracin POLY2_ , si la resolucin es mayor que
8, se generan arcos reales, si no todos los arcos generados estarn
segmentados.
Los siguientes cdigos adicionales de mask/status le permiten crear
segmentos y arcos en la polilnea usando coacciones especiales. Se
refieren al siguiente segmento o arco. Los cdigos de mask/status
originales slo son efectivos donde estn especificados (se incluye
"+s" despus del cdigo adicional).

134

Manual de Referencia GDL de ArchiCAD

Captulo 7: Cdigos de status adicionales para polilneas planas

Parte previa de la polilnea: se definen posicin actual y tangente.

x,y

Segmento por extremo absoluto


x, y, s,
donde 0 < s < 100

dy
dx

100

Segmento por extremo relativo


dx, dy, 100+s,
donde 0 < s < 100

Manual de Referencia GDL de ArchiCAD

135

Captulo 7: Cdigos de status adicionales para polilneas planas

l
a

200

Segmento por longitud y direccin


l, a, 200+s,
donde 0 < s < 100

300

Segmento tangente por longitud


l, 0, 300+s,
donde 0 < s < 100

(x1,y1)

600

Definir punto inicial


x1, y1, 600,

136

Manual de Referencia GDL de ArchiCAD

Captulo 7: Cdigos de status adicionales para polilneas planas

700

Cerrar polilnea
0, 0, 700,

ey
ex

800

Definir tangente
ex, ey, 800,

(x0,y0)

900

Definir centro
x0, y0, 900,

Manual de Referencia GDL de ArchiCAD

137

Captulo 7: Cdigos de status adicionales para polilneas planas

(x,y)

1000

Arco tangente a un extremo


x, y, 1000+s,
donde 0 < s < 100

r
a

2000

Arco tangente por radio y ngulo


r, a, 2000+s,
donde 0 < s < 100

3000
x,y

Arco usando centro y punto en el radio final


x, y, 3000+s,
donde 0 < s < 100

138

Manual de Referencia GDL de ArchiCAD

Captulo 7: Cdigos de status adicionales para polilneas planas

4000

Arco usando centro y ngulo


0, a, 4000+s,
donde 0 < s < 100

4000

Crculo completo usando centro y radio


r, 360, 4000+s,
donde 0 < s < 100
En este caso, el status s se refiere a todo el crculo
Todos los valores de ngulos estn en grados. Las coordenadas
omitidas marcadas con 0 (para cdigos 300, 700, 4000) pueden
tener cualquier valor.

Manual de Referencia GDL de ArchiCAD

139

Captulo 7: Cdigos de status adicionales para polilneas planas

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

Manual de Referencia GDL de ArchiCAD

Captulo 7: Cdigos de status adicionales para polilneas planas

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

Manual de Referencia GDL de ArchiCAD

0,

3,

141

Captulo 7: Cdigos de status adicionales para polilneas planas

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,

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

Atributos

Manual de Referencia GDL de ArchiCAD

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).

Directivas Usadas en Scripts 3D y


2D
[LET]

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

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

Ejemplos:
RADIUS 1.1, 1.15
CYLIND 3.0, 1.0

RESOL

RADIUS 0.9, 1.15


CYLIND 3.0, 1.0

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.

Manual de Referencia GDL de ArchiCAD

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

(tipo de la aplicacin, tamao 5 mm, insercin= 1, normal) si no


hay declaracin de SET STYLE en el script.
Ver tambin la funcin IND en el Captulo 10.

146

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

Directivas utilizadas slo en scripts


3D
MODEL
MODEL
MODEL

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

Para ilustrar los tres mtodos de modelado, tomemos tres bloques:


MODEL
BLOCK
ADDY
MODEL
BLOCK
ADDY
MODEL
BLOCK

WIRE
3,2,1
4
SURFACE
3,2,1
4
SOLID
3,2,1

Tras cortarlos con un plano:

Manual de Referencia GDL de ArchiCAD

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

si no hay declaracin de MATERIAL en el script.


(Para objetos de Biblioteca, ArchiCAD lee los valores por defecto
de las definiciones de la Biblioteca. Si el script se refiere a un ndice
no existente, el ajuste por defecto ser MATERIAL 0).
Ver tambin la descripcin de la funcin IND en el Apndice.
SHADOW

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:

todos los elementos subsiguientes arrojarn


sombras en todas las circunstancias.

OFF:

todos los elementos subsiguientes no arrojarn


sombras en todas las circunstancias.

AUTO:

la proyeccin de sombras se determinar


automticamente.

Si define SHADOW OFF para partes ocultas, ahorrar espacio y


tiempo de proceso.
Definir SHADOW ON asegura que incluso los menores detalles
arrojarn sombras.
El segundo control opcional controla la aparicin de sombras en
superficies.

148

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

SHADOW keyword1, OFF desactiva las sombras vectoriales sobre


las superficies siguientes.
SHADOW keyword1, ON reactiva las sombras vectoriales.
Por omisin:
SHADOW AUTO

SHADOW
BRICK
ADDX
SHADOW
BRICK
ADDX
SHADOW
BRICK

OFF
1,
2
ON
1,
2
OFF
1,

1,

1,

1,

Directivas usadas slo en scripts 2D


[SET] FILL
[SET] FILL

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

trama vaca, si no hay declaracin de SET FILL en el script. Ver


tambin la descripcin de la funcin IND en el Apndice.
Manual de Referencia GDL de ArchiCAD

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

lnea continua, si no hay declaracin SET LINE_TYPE en el script.


Ver tambin la descripcin de la funcin IND en el Apndice.

8.2 Definicin de Atributos


Los atributos en ArchiCAD pueden crearse usando los dilogos de
material, trama y tipo de lnea. Estos atributos de planta pueden ser
referenciados desde cualquier script GDL
Los atributos tambin pueden ser definidos en scripts GDL. Hay
dos casos distintos:
1. Definicin de atributos en el script MASTER_GDL. El script
MASTER_GDL se interpreta cuando la biblioteca que lo contiene se
carga en memoria. Los atributos MASTER_GDL se combinan con los
de la planta; los atributos de ArchiCAD con los mismos nombres no
son sustituidos. Una vez cargado el MASTER_GDL, los atributos
definidos en l pueden referenciarse desde cualquier script.
2. Definicin de atributos en objetos de biblioteca. Los materiales y
texturas definidas de este modo pueden ser usados en el script y
en sus scripts secundarios. Tramas y tipos de lnea definidos y
usados en el script 2D tienen el mismo comportamiento que si
estuvieran definidos en el script MASTER_GDL.
El comando Comprobar Scripts GDL en la ventana de script le
ayuda a verificar si los parmetros de material, trama, tipo de lnea
o estilo son correctos.
Cuando alguno de estos parmetros es diferente en la
interpretacin 3D, pero no existe un mensaje de error, es posible
que uno o ms parmetros sean incorrectos. El comando
Comprobar Scripts GDL le ayuda a encontrar estos parmetros con
mensajes detallados.

150

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

Definicin de materiales
DEFINE MATERIAL

name type, m1, m2, . . . mn


Cualquier script GDL puede incluir definiciones de materiales
previas a la primera referencia a dicho material. El material definido
de este modo puede usarse solamente en el script donde fue
definido y en sus scripts secundarios.
name :
nombre del material.
type :

0:

definicin general, n=16

El significado de los parmetros y sus lmites se


muestra en los siguientes ejemplos.
1:

definicin simple, n=9

Los parmetros extra son constantes o calculados


desde valores dados.
2-7:

tipos de material predefinidos, n=3

Estos 3 valores son las componentes RGB del color


de la superficie. Otros parmetros son constantes o
calculados a partir del color.
2: mate
3: metlico
4: plstico
5: vidrio
6: incandescente
7: constante
10 : definicin general, parmetro de trama n=17
11 : definicin simple, parmetro de trama n=10
12-17 : tipos de materiales predefinidos con
parmetro de trama, n=4
20: definicin general con trama, ndice de color de
la trama e ndice de los parmetros de textura, n=19
21: definicin simple con trama, ndice de color de
la trama e ndice de los parmetros de textura, n=12
22-27: tipos de material predefinido con trama,
ndice de color de trama e ndice de los parmetros
de textura, n=6
Manual de Referencia GDL de ArchiCAD

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

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

DEFINE MATERIAL "Yellow Brick+*" 20,


1,
1,
0,
! surface RGB [0.0 .. 1.0]
0.58, 0.85, 0, 0,
! ambient, diffuse, specular, transparent
! coefficients [0.0 .. 1.0]
0,
! shining [0.0 .. 100.0]
0,
! transparency attenuation [0.0 .. 4.0]
0.878401, 0.513481, 0.412253,
! specular RGB [0.0 .. 1.0]
0,
0,
0,
! emission RGB [0.0 .. 1.0]
0,
! emission attenuation [0.0 .. 65.5]
IND(FILL, "Brick Jointing 25x75"), 61,
IND(TEXTURE, "Brick")
! Fill index, color index, texture index

Significados especiales para los tipos 20 - 27:


- Si el nmero de pluma es cero, las tramas vectoriales se
generarn con la pluma activa.
- El valor cero para el ndice de textura le permite definir
materiales sin trama vectorial o textura.

Manual de Referencia GDL de ArchiCAD

153

Captulo 8: Atributos

DEFINE TEXTURE

name, filename, x, y, mask, angle


Cualquier script GDL puede incluir definiciones de textura antes de
la primera referencia a ese nombre de textura. La textura puede
utilizarse slo en el script en que se defini y en los scripts
sucesivos a este.
name:
nombre de la textura
filename:

nombre de la imagen

x:

anchura lgica de la textura

y:

altura lgica de la textura

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.

controles de canal Alfa (j1 j6):


j1:
el canal alfa cambia la transparencia de la textura
j2:

Mapeado Bump o perturbacin normal de la


superficie.
El mapeado Bump utiliza el canal Alfa para
determinar la amplitud de la normal de la superficie.

j3:

el canal alfa cambia el color difuso de la textura

j4:

el canal alfa cambia el color especular de la textura

j5:

el canal alfa cambia el color ambiente de la textura

j6:

el canal alfa cambia el color de superficie de la


textura

Controles de conexin (j7 j9):


Si el valor es cero, se selecciona el modo normal:

y
x
154

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

j7:

la textura cambiar aleatoriamente.

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

Manual de Referencia GDL de ArchiCAD

155

Captulo 8: Atributos

Definicin de trama
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
Cualquier script GDL puede incluir definiciones de tramas previas
a la primera referencia a dicha trama. La trama definida de este
modo puede usarse solamente en el script donde fue definido y en
sus scripts secundarios.

len
.... im
leni2
m line parts

Y leni1
diri
offsetyi

freq

offsetx i X

name :

freq

nombre de la trama.

pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8 :


definicin del patrn, 8 nmeros entre 0 y 255
representando valores binarios. Define el aspecto
bitmap de la trama.

spa
*y

cing

angle

156

*x

cing

spa

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

spacing :

factor de espaciado entre lneas - define un factor


de escala global para toda la trama. Todos los
valores sern multiplicados por este nmero en
ambas direcciones x e y.

angle :

ngulo de rotacin global en grados

n:

nmero de lneas de trama

freqi :

frecuencia de la lnea (la distancia entre dos lneas


es spacing * freqi)

diri :

ngulo de direccin de la lnea en grados

offsetxi,
offsetyi :

desplazamiento de la lnea desde el origen

m i,

nmero de partes de lnea

lenij

longitud de las partes de lnea (la longitud real es


spacing * lenij). Las partes de lnea son segmentos y
espacios unos a continuacin de otros. La primera
parte de lnea es un segmento, una longitud cero
significa un punto.

La trama bitmap est definida slo por los parmetros pat1...pat8 y


se usa en ArchiCAD cuando se ajusta Opciones / Opciones de
Visualizacin / Tramas de Polgonos / Tramas Bitmap. Para
definirla, escoja la unidad de trama ms pequea, y represntela
como puntos y huecos usando una cuadrcula de 8x8. Los 8
parmetros de trama son representaciones decimales de los valores
binarios en las lneas de la cuadrcula (un punto es 1, un hueco es
0).
La trama vectorial (Opciones / Opciones de Visualizacin / Tramas
de Polgonos / Tramas Vectoriales) queda definida en la segunda
parte de la definicin de trama como una coleccin de lneas
discontinuas repetidas con una frecuencia dada (freqi). Cada lnea
de la coleccin se describe por su direccin (diri), su
desplazamiento desde el origen (offsetxi, offsetyi) y la definicin de
lnea discontinua que contiene segmentos y espacios con una
longitud dada (lenij) a continuacin de cada uno.
Nota: Slo pueden definirse en GDL tramas simples, no es posible
definir tramas de smbolos.

Manual de Referencia GDL de ArchiCAD

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

85, 255, 136, 255,


34, 255, 136, 255,
4,
0.0,
0.0,
0,
0.0,
0.0,
2,
1.5,
1.0,
0.75,

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

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

Definicin de Trama Avanzada


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

len
.... im
leni2
m line parts

Y leni1
diri
offsetyi

freq

doffset i

offsetx i X

freq

doffset i

Declaracin DEFINE FILL extendida. Parmetros adicionales:

cing

spa
y*y

angle

x*x

cing

spa

spacingx :

factor de espaciado en la direccin x

spacingy :

factor de espaciado en la direccin y


Estos dos parmetros definen un factor de escala
global para toda la trama. Todos los valores en la
direccin x sern multiplicados por spacingx y
todos los valores en la direccin y sern
multiplicados por spacingy.

Manual de Referencia GDL de ArchiCAD

159

Captulo 8: Atributos

doffseti:

el desplazamiento del principio de la siguiente lnea


de trama similar, medido a lo largo de la direccin
de la lnea. Cada lnea de la serie ser dibujada a
una distancia dada por freqi con un desplazamiento
dado por doffseti La longitud real del
desplazamiento ser spacing multiplicado por
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

142, 128, 232,


142, 128, 232,
2,
2,

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

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

Definicin de tipos de lneas


DEFINE LINE_TYPE

name spacing, n, len1, . . . lenn


Cualquier script GDL puede incluir definiciones de tipos de lnea
previas a la primera referencia a dicho tipo de lnea. El tipo de lnea
definido de este modo puede usarse solamente en el script donde
fue definido y en sus scripts secundarios.
name :
nombre del tipo de lnea.
spacing :

factor de espaciado

n:

nmero de partes de lnea

leni :

longitud de las partes de lnea (la longitud real es


spacing * leni). Las partes de lnea son segmentos y
espacios unos a continuacin de otros. La primera
parte de lnea es un segmento, una longitud cero
significa un punto.

Nota: En GDL slo pueden definirse tipos de lneas simples, es


decir, las que consisten en segmentos y espacios, no hay
posibilidad de definir lneas de smbolos.
Ejemplo:
DEFINE LINE_TYPE "line - - ." 1,
6, 0.005, 0.002, 0.001, 0.002, 0.0, 0.002

Manual de Referencia GDL de ArchiCAD

161

Captulo 8: Atributos

Definicin de estilo
DEFINE STYLE
DEFINE STYLE
DEFINE STYLE

name font_family, size, anchor, facecode


name PLOTMAKER, size, anchor, slant
name PLOTTER, size, anchor, slant
Cualquier script GDL puede incluir definiciones de estilo previas a
la primera referencia a dicho estilo. El estilo definido de este modo
puede usarse solamente para elementos 2D en el script donde fue
definido y en sus scripts secundarios.
name :
nombre del estilo
font_family : nombre de la familia de tipos usada (p.e. Geneva)
size :

altura de los caracteres en mm.

anchor :

cdigo del punto de posicin en el texto

facecode :

slant :

162

combinacin de los siguientes valores:


0

normal

negrita

cursiva

subrayada

hueca

16

sombra

ngulo en grados (solamente para tipos


PLOTMAKER y PLOTTER)

Manual de Referencia GDL de ArchiCAD

Captulo 9: Scripts No Geomtricos

Scripts No Geomtricos

Manual de Referencia GDL de ArchiCAD

163

Captulo 9: Scripts No Geomtricos

9.1 El Script de Propiedades


Los elementos de Biblioteca tienen una ventana de GDL reservada al
script de Propiedades. Este script le permite asignar propiedades al
elemento, dependiendo de parmetros y, mediante una directiva,
definir su posicin en el listado de componentes final. Utilizando
algunos comandos, es posible definir en el script componentes y
descripciones locales, caractersticas familiares en las ventanas de
Propiedades de versiones anteriores de ArchiCAD. Tambin pueden
referenciarse descripciones y componentes desde bases de datos
externas. La longitud del cdigo no puede exceder de 32 caracteres.
En el script de Propiedades, tambin puede utilizar cualquier
comando GDL que no genere una forma.
DESCRIPTOR

name [,code, keycode]


Definicin de descripcin local. Los scripts pueden incluir
cualquier nmero de DESCRIPTORs.
name :
puede extenderse a ms de una lnea. Las nuevas
lneas pueden definirse por el carcter '\n' y los
tabuladores por '\t'. Aadiendo '\' al final de una
lnea le permite continuar la secuencia en la lnea
siguiente sin aadir una nueva lnea. Dentro de la
secuencia, si el carcter '\' es doble (\\), perder
su funcin de control y significar simplemente '\'.
La longitud mxima del texto (incluyendo caracteres
de nueva lnea) es de 255 caracteres: los caracteres
adicionales sern cortados por el compilador. Si
necesita un texto ms largo, use varios DESCRIPTORs.

REF DESCRIPTOR

code :

texto, define un cdigo para la descripcin

keycode :

texto, referencia a una clave en una base de datos


externa. La clave se asignar a la descripcin.

code [, keycode]
Referencia por cdigo y cdigo llave a una
descripcin en una base de datos externa.

COMPONENT

name, quantity, unit [, prop_with, code, keycode, unitcode]


Definicin de componentes locales. Los scripts pueden incluir
cualquier nmero de COMPONENTs.

164

Manual de Referencia GDL de ArchiCAD

Captulo 9: Scripts No Geomtricos

name :

nombre del componente (max. 128 caracteres)

quantity :

cantidad, una expresin numrica

unit :

el texto usado para la descripcin de unidad

prop_with :

un cdigo entre 1-6. Al hacer un listado, la cantidad


de componentes definida anteriormente ser
automticamente multiplicada por un valor
calculado para el elemento listado

1: elemento
2: longitud
3: superficie A
4: superficie B
5: superficie
6: volumen
code :

texto, define un cdigo para el componente

keycode :

texto, hace referencia a una clave en una base de


datos externa
La clave se asignar al componente.

unitcode :

REF COMPONENT

texto, hace referencia a una unidad en una base de


datos externa que controla el formato de salida de la
cantidad de componentes. Esto sustituir la unidad
definida localmente.

code [, keycode [, num_expr]]


Referencia por cdigo y cdigo llave a un componente en una base
de datos externa. El valor por el que multiplicar en la base de datos
de componentes puede ser sustituido por la expresin numrica
opcional especificada aqu.

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.

Manual de Referencia GDL de ArchiCAD

165

Captulo 9: Scripts No Geomtricos

Atencin: Si coloca dos o ms formas en la misma posicin con


los mismos parmetros, estas funciones le darn la suma total de
las superficies y volmenes de todas las formas.
POSITION

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

Manual de Referencia GDL de ArchiCAD

Captulo 9: Scripts No Geomtricos

9.2 El Script de Lista de Valores


Las Listas de Valores son conjuntos de posibles valores numricos
o de texto. Pueden ser aplicados a los parmetros como se define
en el script lista de valores del elemento de biblioteca o en el script
MASTER_GDL. El tipo de parmetro ha de tener una lista de
valores de cualquier tipo simple. El compilador comprueba la
compatibilidad del tipo.
El script de lista de valores ser interpretado cada vez que cambie
un parmetro de tipo de lista de valores, y los posibles valores
definidos en el script aparecern en un men desplegable. El
comando de definicin de lista es:
VALUES

name, val1 [, val2, ..., valn]


name:

nombre de los parmetros

vali :

valores posibles

Manual de Referencia GDL de ArchiCAD

167

Captulo 9: Scripts No Geomtricos

168

Manual de Referencia GDL de ArchiCAD

Captulo10: Expresiones y Funciones

10

Expresiones y Funciones

Manual de Referencia GDL de ArchiCAD

169

Captulo10: Expresiones y Funciones

Todos los parmetros de las formas GDL pueden ser resultado de


clculos. Por ejemplo, se puede definir que la altura de un cilindro
sea cinco veces el radio de su base, o previamente a definir un
cubo, mover el sistema de coordenadas en cada direccin la mitad
del tamao del cubo, para tener el origen en el centro del cubo en
lugar de en la esquina inferior izquierda.
De cara a definir estos clculos el GDL ofrece un amplio nmero
de herramientas matemticas: expresiones, operadores y funciones.

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

var1 [dim_1], var2 [dim_1][dim_2], ...


Despus de la palabra clave DIM puede haber cualquier nmero
de nombres de variables separados por comas. var1 yvar2 son los
nombres de matriz, los nmeros entre parntesis representan las
dimensiones de la matriz (constantes numricas). Las expresiones
variables no pueden ser usadas como dimensiones.
Los parmetros de los elementos de biblioteca tambin pueden ser
matrices. Sus dimensiones se especifican en el dilogo del elemento.
Las matrices de parmetros no tienen que declararse en el script. Al

170

Manual de Referencia GDL de ArchiCAD

Captulo10: Expresiones y Funciones

referenciar un elemento de biblioteca usando una declaracin CALL,


el parmetro actual ha de ser una matriz con las mismas dimensiones.
Los elementos de las matrices pueden referenciarse donde se quiera
en el script, pero si hay variables, slo despus de la declaracin:
var1 [num_expr] o var1
var2 [num_expr1][num_expr2] o var2
Escribir el nombre de matriz sin valores de ndice actual significa
referenciar toda la matriz, lo cual se acepta en algunos casos
(declaraciones CALL, PRINT, LET, PUT, REQUEST, INPUT, OUTPUT).
Los elementos de matriz pueden ser usados en cualquier expresin
numrica o de texto, pueden ser valores numricos o de texto
dados. Los ndices empiezan con 1, y cualquier expresin numrica
puede ser usada como ndice.
Los nombres de matriz no pueden ser usados despus en el mismo
script como nombres de variables simples.
Si el valor de un ndice actual llega a ser mayor que la dimensin
declarada o que la dimensin de parmetros, se obtendr un
mensaje de error.
Ejemplos de expresiones numricas:
Z
5.5
(+15)
-X
A*(B+C)
SIN(X+Y)*Z
A+R*COS(I*D)
5' 4"
SQR (x^2 + y^2) / (1 - d)
a + b * sin (alpha)
altura* anchura

Ejemplos de expresiones de texto:


"Constante de texto"
name + STR ("%m", i) + "." + ext
string_param <> "Mode 1"

Ejemplos de expresiones usando matrices de valores:


DIM tab [5], tab2 [3][4]
tab [1] + tab [2]
tab2 [2][3] + A
PRINT tab

Manual de Referencia GDL de ArchiCAD

! declaracin

171

Captulo10: Expresiones y Funciones

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

Mdulo (parte restante)

precedencia 3

MOD (or %)

X MOD Y = X - Y * INT (X/Y)


+

Suma

precedencia 4

Resta

precedencia 4

Note: + (suma) tambin puede aplicarse a expresiones de texto: el


resultado es la concatenacin de textos.

Operadores Relacionales
=

Igual

precedencia 5

<

Menor que

precedencia 5

>

Mayor que

precedencia 5

<=

Menor o igual que

precedencia 5

>=

Mayor o igual que

<> (o #)

No igual a

precedencia 5
precedencia 5

Los operadores relacionales pueden utilizarse entre dos


expresiones texto cualquiera. El resultado es un nmero 1 o 0. Esta
funcin es sensible a maysculas o minsculas.

Operadores Booleanos
AND (o&)

172

y lgico

precedencia 6

OR (o |)

o lgico inclusivo

precedencia 7

EXOR (o @)

o lgico exclusivo

precedencia 8

Manual de Referencia GDL de ArchiCAD

Captulo10: Expresiones y Funciones

El GDL usa solamente nmeros de coma flotante, mientras que los


operadores Booleanos trabajan con nmeros reales. As 0.0
significa falso, mientras que cualquier otro nmero significa
verdadero. El valor de una expresin lgica tambin es real, p.e.
1.0 para verdadero y 0.0 para falso.

10.3 Funciones
Funciones Aritmticas
ABS (x)

Devuelve el valor absoluto de x.

INT (x)

Devuelve la parte entera de x.


(e.g. INT(1.23) = 1, INT(-1.23) = -2).

FRA (x)

Devuelve la parte fraccional de x.


(e.g. FRA(1.23) = 0.23, FRA(-1.23) = 0.77).

SGN (x)

Devuelve +1.0 si x es positivo, -1.0 si negativo, de otro modo 0.0.

SQR (x)

Devuelve la raz cuadrada de x.

Funciones Circulares
Estas funciones usan grados para sus argumentos (COS, SIN, TAN)
y para devolver valores (ACS, ASN, ATN).
ACS (x)

Devuelve el arco coseno de x.


(-1.0 < x < 1.0; 0 < ACS(x) < 180).

ASN (x)

Devuelve el arco seno de x.


(-1.0 < x < 1.0; -90 < ASN(x) < 90).

ATN (x)

Devuelve el arco tangente de x.


(-90 < ATN(x) < 90).

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).

Manual de Referencia GDL de ArchiCAD

173

Captulo10: Expresiones y Funciones

Funciones Trascendentes
EXP (x)

Devuelve la x a potencia de e. (e = 2.7182818).

LGT (x)

Devuelve el logaritmo decimal de x.

LOG (x)

Devuelve el logaritmo neperiano de x.

Funciones Booleanas
NOT (x)

Devuelve falso (=0.0) si x es verdadero ( 0.0) y


verdadero (=1.0) si x es falso (=0.0).
(Negacin lgica).

Funciones Estadsticas
MIN (x1,x2, . . . xn)

Devuelve el menor de un numero ilimitado de argumentos.

MAX (x1,x2, . . . xn)

Devuelve el mayor de un numero ilimitado de argumentos.

RND (x)

Devuelve un valor aleatorio entre 0.0 y x. (x > 0.0).

Funciones de texto
STR
STR

(numeric_expression, len, frac)


(formatstring, numeric_expression)
La primera forma de la funcin crea una secuencia de texto desde
el valor actual de la expresin numrica. El mximo nmero de
caracteres numricos en el texto es len, mientras que frac
representa el nmero que sigue a la coma flotante.
Ejemplo:
A=4.5
B=2.345
TEXT2 0, 2, STR(A, 8, 2)
TEXT2 0, 1, STR(B, 8, 2)
TEXT2 0, 0, STR(A*B, 8, 2)

! 4.50
! 2.34
! 10.55

En el segundo caso, el formatstring puede ser una variable o una


constante. Si el formato est vaco, se interpreta como metros, con
una precisin de tres decimales (ceros enteros).
El formatstring puede ser como el que se muestra a continuacin:

174

Manual de Referencia GDL de ArchiCAD

Captulo10: Expresiones y Funciones

%[0 or more flags] [field_width] [.precision] conv_spec


flags (for m, mm, cm, e, df, di, sqm, sqcm, sqf, sqi, dd, gr, rad):
none justificar derecha (por defecto)
-

justificar izquierda

explicitar signo ms

space en lugar de un signo +


flags (for m, mm, cm, df, di, sqm, sqcm, sqf, sqi, dd, gr, rad):
'#'

no mostrar ceros enteros

'0'

mostrar 0 pulgadas

flags (for ffi, fdi, fi):


field_width: decimal entero no asignado
el mnimo nmero de caracteres a generar
precision: decimal entero no asignado
el nmero de fraccionales a generar
conv_spec (especificador de conversin):
e

- formato exponencial (metros)

- metros

mm

- milmetros

cm

- centmetros

ffi

- pies y pulgadas

fdi

- pies y pulgadas decimales

df

- pies decimales

fi

- pulgadas fraccionales

di

- pulgadas decimales

para reas:
sqm

- m2

sqcm - cm2
sqmm - mm2

Manual de Referencia GDL de ArchiCAD

sqf

- pies2

sqi

- pulgadas2

175

Captulo10: Expresiones y Funciones

para ngulos :
dd

- grados decimales

dms

- grados, minutos, segundos

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,

h, STR ("%m", nr)


h-1, STR ("%#10.2m", nr)
h-2, STR ("%.4cm", nr)
h-3, STR ("%12.4cm", nr)
h-4, STR ("%.6mm", nr)
h-5, STR ("%+15e", nr)

!0.346
!
35
! 34.5678
!
34.5678
!345.678000
!+3.456780e-01

TEXT2
TEXT2
TEXT2
TEXT2
TEXT2
TEXT2

0,
0,
0,
0,
0,
0,

h-6, STR ("%ffi", nr)


h-7, STR ("%0.16ffi", nr)
h-8, STR ("% .3fdi", nr)
h-9, STR ("% -10.4df", nr)
h-10, STR ("%0.64fi", nr)
h-11, STR ("%+12.4di", nr)

!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

("%+10.3dd", alpha) ! +88.657


("%.1dms", alpha)
!8839'
("%.2dms", alpha)
!8839'25"
("%10.4gr", alpha) ! 98.5078G
("%rad", alpha)
!1.55R
("%.2surv", alpha) !N 120'35" E

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,

Manual de Referencia GDL de ArchiCAD

Captulo10: Expresiones y Funciones

SPLIT

(texto, format, var1 [, var2, ..., varn])


Divide el parmetro de texto segn el formato en uno o ms partes
numricas o de texto. El proceso de divisin se detiene cuando se
encuentra la primera parte no coincidente. Devuelve el nmero de
valores ledos con xito.
texto :

el texto a dividir

format :

cualquier combinacin de constantes de texto, %s y


%n -s. Las partes de la secuencia de texto deben
encajar en las constantes de texto, %s denota
cualquier valor de texto delimitado por espacios o
tabuladores %n denota cualquier valor numrico.

vari :

los nombres de variables para guardar las partes de


texto divididas

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

Captulo10: Expresiones y Funciones

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

(string_exp, begpos, numchars)


Devuelve una subsecuencia del parmetro de texto que empieza
en la posicin dada por el parmetro begpos y su longitud es
numchars caracteres.
Ejemplo:
ss = ""
REQUEST ("Linear_dimension", "", ss)
unit = ""
IF STRSTR (ss, "m") > 0 THEN unit = "m"
IF STRSTR (ss, "mm") > 0 THEN unit = "mm"
IF STRSTR (ss, "cm") > 0 THEN unit = "cm"
TEXT2 0, 0, STR (ss, a) + " " + unit ! 1.00 m
string = "Flowers.PICT"
len = STRLEN (string)
n = STRSTR (string, ".")
TEXT2 0, -1, STRSUB (string, 1, n - 1)
TEXT2 0, -2, STRSUB (string, len - 4, 5)

178

! Flowers
! .PICT

Manual de Referencia GDL de ArchiCAD

Captulo10: Expresiones y Funciones

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

Manual de Referencia GDL de ArchiCAD

179

Captulo10: Expresiones y Funciones

180

Manual de Referencia GDL de ArchiCAD

Captulo 11: Declaraciones de Control

11

Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

181

Captulo 11: Declaraciones de Control

11.1 Declaraciones de control de


flujo
FOR

varnam = initial_value TO end_value [ STEP step_value ]


Primera declaracin de un bucle FOR. Si la palabra clave STEP y el
step_value no se encuentran, se asumen con valor uno.
Una variable global no est permitida como una variable de control
de bucle.
Ejemplo:
FOR I=1 TO 10 STEP 2
PRINT I
NEXT I

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

El ejemplo anterior muestra que un step_value = 0 provoca un


bucle infinito.
Solamente se permite una declaracin NEXT despus de una
declaracin FOR. Est permitido salir del bucle con una declaracin
GOTO (o IF ... GOTO) y volver a l, pero no est permitido entrar
un bucle saltndose la declaracin FOR.

182

Manual de Referencia GDL de ArchiCAD

Captulo 11: Declaraciones de Control

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.

Manual de Referencia GDL de ArchiCAD

183

Captulo 11: Declaraciones de Control

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

condicin THEN label


condicin GOTO label
condicin GOSUB label
Declaracin de salto condicional. Si el valor de la condicin es 0 ,
el comando no tiene efecto, de otro modo, la ejecucin contina
en la etiqueta.
Ejemplos:
IF
IF
IF

184

A THEN 28
I > J GOTO 200+I*J
I > 0 GOSUB 9000

Manual de Referencia GDL de ArchiCAD

Captulo 11: Declaraciones de Control

IF

condicin THEN declaracin [ELSE declaracin]


or

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

Captulo 11: Declaraciones de Control

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

Manual de Referencia GDL de ArchiCAD

Captulo 11: Declaraciones de Control

11.2 Manipulacin del Buffer de


Parmetros
El buffer de parmetros es una estructura de datos interna que
puede utilizarse si algunos valores (coordenadas, por ejemplo)
cambian segn una regla definida que puede ser descrita utilizando
una expresin matemtica, si desea almacenar los valores actuales
de sus variables, o en algunos casos ms.
El buffer de parmetros es una cadena infinitamente larga en
donde puede almacenar valores numricos utilizando el comando
PUT. El comando PUT almacena los valores dados al final del
buffer. Estos valores pueden utilizarse despus (comandos GET y
USE) en el mismo orden consecutivo en el que se entraron (de
forma que el primer valor guardado ser el primero que se utilice).
Un comando GET(n) o USE(n) es equivalente a n valores
separados por comas. Pueden utilizarse en cualquier parmetro
GDL en donde se necesiten n valores.

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.

Manual de Referencia GDL de ArchiCAD

187

Captulo 11: Declaraciones de Control

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

Manual de Referencia GDL de ArchiCAD

Captulo 11: Declaraciones de Control

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

Manual de Referencia GDL de ArchiCAD

1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,

1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,

189

Captulo 11: Declaraciones de Control

11.3 Objetos Macro


Aunque los objetos 3D que pueda necesitar pueden siempre
descomponerse en elementos complejos o primitivos, a veces es
deseable definir estos elementos complejos especialmente para
ciertas aplicaciones. Estos elementos propios se llaman MACROs.
CALL

macro_name_string [,parameter_list]

CALL

macro_name_string PARAMETERS [name1=value1, namen=valuen]


Los nombres de macro no deben ser ms largos de 31 caracteres.
Los nombres macro pueden ser constantes de texto, variables de
texto o parmetros. No puede utilizar operaciones de texto como
un nombre macro con llamadas a macro. Atencin! Si se usan
variables o parmetros de texto como nombres de macro, la macro
llamada no se incluir en el proyecto de archivo aunque est activa
la opcin "Incluir Todos los Objetos de Bibliotecas Cargadas".
El nombre de macro debe ser colocado entre comillas (",',`,,,,,),
a no ser que coincida con las definiciones de los identificadores,
p.e. empieza con una letra o con los caracteres '_' o '~' y slo
contiene letras, nmeros y los caracteres '_' y '~' . En otro caso, las
comillas utilizadas en la declaracin CALL deben ser las mismas al
principio y al final y deben ser diferentes de cualquier carcter del
nombre de macro.
Un nombre de macro, por s mismo, puede utilizarse tambin como
comando, sin la palabra clave CALL:

macro_name

[parameter_list]

macro_name

PARAMETERS [name1=value1, namen=valuen]


El primer tipo de llamada a macro puede utilizarse con textos GDL
simples as como con tems de biblioteca, con la condicin de que
su lista de parmetros contenga slo parmetros de una letra
(AZ). Esta forma de llamadas a macro puede utilizarse para
compatibilidad con versiones anteriores, pero le recomendamos el
segundo tipo. El significado de la lista de parmetros es el
siguiente: el valor del parmetro A ser el primer valor de la lista, el
valor del parmetro B ser el segundo valor y as sucesivamente. Si
el macro (del tem de biblioteca) no tiene un parmetro de letra
nica correspondiente al valor, la interpretacin continuar
ignorando este valor, pero recibir un aviso del programa. No se
permiten expresiones de texto con este mtodo.

190

Manual de Referencia GDL de ArchiCAD

Captulo 11: Declaraciones de Control

El segundo tipo slo puede utilizarse con elementos de biblioteca


con caractersticas plenas y no con archivos GDL textuales.
Despus de la palabra clave PARAMETERS necesita listar los
nombres de parmetros de la macro llamada en cualquier
secuencia, con una marca '=' y un valor para cada uno. Puede
utilizar expresiones de tipo texto, pero tenga cuidado en dar un
valor de texto solamente a los parmetros de tipo texto del macro
llamado. Si no se puede encontrar un nombre de parmetro en la
lista de parmetros en la llamada a macro, recibir un mensaje de
error. A los parmetros de la macro llamada que no estn listados
en la llamada a macro se les dar su valor por omisin original
como fue definido en el tem de biblioteca llamado.
Una macro GDL tiene su propio entorno que depende de su orden
de llamada. Los valores actuales de las opciones MODEL, RADIUS,
RESOL, TOLER, PEN, LINE_TYPE, MATERIAL, FILL, STYLE,
SHADOW y las transformaciones actuales son vlidas en la macro.
Puede usarlos o modificarlos, pero las modificaciones tienen un
efecto local solamente. No tendrn efecto en el nivel del que el
macro fue llamado.
Dar parmetros a una llamada a macro significa asignarlos
implcitamente en el nivel del macro.
Los parmetros A y B se usan generalmente para redimensionar los
objetos.
Ejemplos:
CALL "leg" 2, , 5
leg
2, , 5

! A = 2, B = 0, C = 5

CALL "door-1" PARAMETERS height = 2, a = 25.5,


name = "Director"
CALL "door-1" PARAMETERS
! use parameter default values
door-1 PARAMETERS

En resumen: donde no necesite un parmetro con un nombre largo


o de texto, utilizar el tipo de texto GDL puede ser suficiente. Este
tipo GDL puede ser llamado solamente con el primer tipo de
llamadas a macro, dado que no tiene una lista de parmetros
modificable. Por otra parte, si no desea limitar sus nombres de
parmetros de macro a letras entre A y Z, o si desea incluir textos
en la lista de parmetros, su macro debe ser un tem de biblioteca y
llamado de acuerdo con el segundo tipo de sintaxis GDL.

Manual de Referencia GDL de ArchiCAD

191

Captulo 11: Declaraciones de Control

11.4 La Declaracin de Salida


PRINT

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

Manual de Referencia GDL de ArchiCAD

Captulo 11: Declaraciones de Control

11.5 Operaciones de Archivo


Las siguientes palabras clave le permiten abrir archivos externos
para leer/escribir y manipularlos mediante colocar/obtener valores
desde/hacia scripts GDL. Este proceso implica necesariamente la
utilizacin de extensiones especiales de ArchiCAD. Los archivos de
texto pueden manejarse con la extensin TEXT GDL I/O. Las
extensiones para otros tipos de archivo pueden ser desarrolladas
por terceras partes.
OPEN

(filter, filename, paramstring)


filter :

texto, el nombre de una extensin existente

filename :

texto, el nombre del archivo

paramstring : texto, contiene los caracteres especficos de


separacin de la extensin operacional y el modo
de abertura. Su contenido se interpreta por la
extensin.
Abre un archivo. Su valor de retorno es un entero positivo que
identificar el archivo especificado. Este valor ser el nmero de
referencia de archivo en las instancias sucesivas.
INPUT

(channel, recordID, fieldID, var1 [, var2,...])


recordID, fieldID :
la posicin inicial de tipo texto o numrico de la
lectura, su contenido se interpreta por la extensin.
El nmero de parmetros dados define el nmero de valores desde
la posicin inicial leda desde el archivo identificado por el valor de
canal. En la lista de parmetros debe existir como mnimo un valor.
Esta funcin coloca los valores reales en los parmetros como estn
ordenados. Los valores pueden ser numricos o de texto,
independientemente del tipo de parmetro definido para
almacenarlos.
El valor de retorno es el nmero de los valores ledos
satisfactoriamente. Cuando se encuentra un carcter de final de
archivo, es -1.

Manual de Referencia GDL de ArchiCAD

193

Captulo 11: Declaraciones de Control

OUTPUT

channel, recordID, fieldID, expr1 [, expr2, ...]


recordID, fieldID:
la posicin inicial de tipo texto o numrico de la
lectura, su contenido se interpreta por la extensin.
Escribe tantos valores en el archivo identificado por el valor de
canal desde la posicin dada como expresiones se hayan definido.
Debe existir una expresin como mnimo. El tipo de valores es el
mismo que el de las expresiones.

CLOSE

channel
Cierra el archivo identificado por el valor del canal.

194

Manual de Referencia GDL de ArchiCAD

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

12

Instrucciones Especiales
para Puertas y Ventanas

Manual de Referencia GDL de ArchiCAD

195

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

12.1 Reglas Generales


Este captulo trata de las diversas opciones especiales relacionadas
con la creacin de elementos de biblioteca tipo Puerta/Ventana
Una vez insertada una puerta/ventana en un muro, la posicin por
defecto del sistema de coordenadas de estos elementos de biblioteca
est girada de manera que el plano x-y sea vertical y el eje z se site
horizontalmente sobre el muro. El origen se coloca en el centro de la
base de la abertura del muro, y en su cara exterior. De este modo,
puertas y ventanas pueden modelarse fcilmente mediante elementos
en el plano x-y. Ver las ilustraciones siguientes.

A consecuencia del comportamiento especial de estos objetos de


biblioteca, el smbolo 2D se genera desde una proyeccin interna no
accesible de otro modo a los usuarios. (una vista lateral de arriba
abajo desde una direccin de 90 grados). El smbolo y la forma 3D se
encajarn en el origen de la puerta/ventana por el centro (x) de la
base (y) de la caja de contorno, pero no se harn ajustes a lo largo del
eje z para permitir a los usuarios disear puertas y ventanas
sobresaliendo del muro en cualquier direccin z.
Considerando estas reglas, he aqu algunos trucos que le ayudaran
a construir puertas y ventanas que funcionen adecuadamente:
- Al construir la puerta/ventana en el plano de planta, piense
que la est mirando desde el interior del muro en que la
insertar.
- Piense en la Cota Cero del Proyecto como en la superficie
exterior del muro.
- Los elementos que deban estar en el interior del muro, como el
marco de la ventana, deben estar por encima de la Cota Cero.
- Las hojas de las puertas que se abren al exterior deben estar
por debajo de la Cota Cero.

196

Manual de Referencia GDL de ArchiCAD

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

12.2 Creacin de Elementos de


Biblioteca Puerta/Ventana
Al crear elementos de biblioteca de tipo Puerta/Ventana, existen
diversas posibilidades, presentando diferentes problemas:
- Creacin de puertas/ventanas rectangulares en muros rectos
- Creacin de puertas/ventanas no rectangulares en muros
rectos
- Creacin de puertas/ventanas rectangulares en muros curvos
- Creacin de puertas/ventanas no rectangulares en muros
curvos

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

Manual de Referencia GDL de ArchiCAD

197

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

Ejemplo:

A=0.9: B=1.5: C=0.1: D=0.08


E=0.08: F=0.9: G=0.03: H=3
PRISM_ 10,C,
-A/2, 0, 15, A/2, 0, 15,
A/2, B, 15, -A/2, B, 15,
-A/2, 0, -1,
-A/2+D, D, 15, A/2-D, D, 15,
A/2-D, B-D, 15, -A/2+D, B-D, 15,
-A/2+D, D, -1
ADDX -A/2+D, F, 0
BRICK A-2*D, E, C
ADDX -G/2, -F+D, C/2
GOSUB 1
ADDZ -G
GOSUB 1
DEL 2
MATERIAL "Glass"
RECT A-2*D, F-D
ADDY F-D+E
RECT A-2*D, B-F-E-D
END
1: FOR I=1 TO H-1
ADDX (A-2*D)/3
BLOCK G, F-D, G
ADDY F+E-D
BLOCK G, B-F-D-E, G
DEL 1
NEXT I
DEL H-1
RETURN

198

Manual de Referencia GDL de ArchiCAD

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

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.

2. Usar el comando WALLHOLE disponible a partir de ArchiCAD 6.0


Con este comando, es posible definir una forma poligonal para
cortar el muro all donde se coloca la puerta/ventana.

Manual de Referencia GDL de ArchiCAD

199

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

WALLHOLE

n, status,
x1, y1, mask1,
...
xn, yn, maskn
[, x, y, z]
n:

nmero de nodos del polgono

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 :

coordenadas de la seccin transversal del polgono

maski :

similar a la declaracin CUTPOLYA


maski = j1 + 2 * j2 + 4 * j3

x, y, z :

vector de direccin opcional (por defecto es el eje Z


de la puerta/ventana)

z
x

j3

n
Y

j2

i+1
j1

1
i

Este comando puede usarse en el script 3D de puertas/ventanas


para cortar huecos a medida en el muro donde estn colocadas.
Durante la generacin 3D del muro actual, el script 3D de todas sus
puertas/ventanas se interpreta sin generacin de modelo, para
recoger los comandos WALLHOLE. Si existen, ArchiCAD cortar el
muro actual usando un tubo infinito con la seccin transversal
poligonal y direccin definidas en el script. Puede haber cualquier
nmero de WALLHOLES para cada puerta/ventana, por lo que es
posible cortar varios huecos en la misma puerta/ventana, incluso
con intersecciones. Si en un script 3D de puerta/ventana se
interpreta al menos un comando WALLHOLE, ArchiCAD no
generar la abertura rectangular correspondiente.

200

Manual de Referencia GDL de ArchiCAD

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

Nota: El reveal 3D no se generar automticamente para los


huecos a medida, deber generarlo desde el script.
El hueco hecho de este modo slo ser visible en 3D, dado que los
comandos WALLHOLE no tienen efecto en 2D. Se puede escribir
una representacin 2D si es necesario (usada con el marco
desactivado en planta).
Se recomienda el uso de polgonos de seccin transversal convexa;
el uso de polgonos cncavos puede dar errores de corte o
sombreados/renderings extraos. Los polgonos convexos pueden
combinarse para obtener los cncavos).
Ejemplos:

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

Manual de Referencia GDL de ArchiCAD

201

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

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

Manual de Referencia GDL de ArchiCAD

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

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.

El hueco en el muro de la izquierda se crea cuando ArchiCAD corta


automticamente el hueco para la puerta/ventana. En este caso las
caras tienen direccin radial. A la derecha, el hueco se corta
usando el comando WALLHOLE en el Script 3D del objeto puerta/
ventana. El propio objeto debe escribirse tomando estos factores
en consideracin.
Otro aspecto a considerar es si la puerta/ventana colocada en el
muro curvo es recta o curva.

En el caso de una puerta/ventana recta, como en la figura


izquierda, la anchura y espesor del objeto y el espesor del muro
estn muy relacionadas, dado que por encima de una determinada
dimensin, el Objeto no podr estar en el muro. Al usar puertas/
ventanas curvas, este problema no ocurre.

Manual de Referencia GDL de ArchiCAD

203

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

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

Manual de Referencia GDL de ArchiCAD

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

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

Manual de Referencia GDL de ArchiCAD

205

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

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

Manual de Referencia GDL de ArchiCAD

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

Manual de Referencia GDL de ArchiCAD

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 general del entorno


GLOB_SCRIPT_TYPE
T~ tipo de script actual
1-script de propiedades, 2-script 2D, 3-script 3D, 4-no implementado, 5-script lista de valores, 1masterscript
GLOB_CONTEXT
contexto de aparicin
1- editor de objetos, 2- planta, 3- vista 3D, 4- alzado/seccin, 5- dilogo de ajuste, 6- lista
GLOB_SCALE
A_ escala de dibujo
segn la ventana actual
GLOB_NORTH_DIR
U~ direccin del Norte
relativa al sistema de coordenadas por defecto del proyecto, segn los ajustes hechos en el dilogo
Sol
GLOB_DRAWING_BGD_PEN
pluma del color de fondo del dibujo
la pluma ms parecida de la paleta actual al color de fondo de la ventana actual

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

Manual de Referencia GDL de ArchiCAD

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

Parmetros generales de elementos


GLOB_LAYER
capa del elemento
nombre de la capa al que est asignado el elemento
GLOB_ID
ID de usuario del elemento
ID definido en el cuadro de dilogo
GLOB_INTID
ID interno del elemento
el ID interno nico generado por el programa (no controlable por el usuario)
GLOB_ELEVATION
J_
altitud de la base del elemento
relativa al origen del proyecto (excluyendo puerta, ventana: altura de antepecho, segn ajustes
actuales)

Parmetros generales de elementos - slo disponibles para listados


GLOB_ELEM_TYPE
tipo de elemento
1- objeto, 2- lmpara, 3- ventana, 4- puerta, 5- muro, 6- columna, 7- forjado, 8- cubierta, 9trama, 10- malla

Parmetros de Objetos, Lmparas, Puertas, Ventanas


SYMB_LINETYPE
tipo de lnea del elemento de biblioteca
aplicado como tipo de lnea por defecto del smbolo 2D
SYMB_FILL
tipo de trama del elemento de biblioteca
aplicado sobre superficies cortadas de elementos de biblioteca en ventanas de seccin/alzado
SYMB_FILL_PEN
pluma de la trama del elemento de biblioteca
aplicado sobre superficies cortadas de elementos de biblioteca en ventanas de seccin/alzado
SYMB_FBGD_PEN
pluma del fondo de la trama del elemento de biblioteca
aplicado sobre superficies cortadas de elementos de biblioteca en ventanas de seccin/alzado
SYMB_SECT_PEN
pluma del elemento de biblioteca en seccin
aplicado sobre contornos de superficies cortadas de elementos de biblioteca en ventanas de
seccin/alzado
Manual de Referencia GDL de ArchiCAD

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)

Parmetros de Objetos, Lmparas


SYMB_ROTANGLE
W~ ngulo de rotacin del elemento de biblioteca
rotacin numrica desde los ajustes del dilogo ejecutada alrededor del punto de anclaje actual
SYMB_MIRRORED
V~ elemento de biblioteca simtrico
0- no , 1- simtrico (la simetra se ejecuta alrededor del punto de anclaje actual)

Parmetros de Objetos, Lmparas, Puertas, Ventanas - disponible slo para listado


SYMB_A_SIZE
longitud/anchura nominal del elemento de biblioteca
longitud del objeto/lmpara, anchura de ventana/puerta (parmetro fijado)
SYMB_B_SIZE
longitud/anchura nominal del elemento de biblioteca
anchura del objeto/lmpara, altura de ventana/puerta (parmetro fijado)

Parmetros de Objeto, Lmpara - disponible slo para listado


SYMB_Z_SIZE
altura nominal del elemento de biblioteca
si el primer parmetro de usuario se nombra en formato zzxyz ser usado para altura nominal, si
no 0
Parmetros de Ventana, Puerta
WIDO_REVEAL_ON
reveal de puerta/ventana activo
0- reveal inactivo 1- reveal activo
WIDO_SILL
K_ antepecho de puerta/ventana
para muros curvos: en direccin radial al tamao nominal de la esquina de la abertura
WIDO_RIGHT_JAMB
B~ jamba izquierda de puerta/ventana
como se define en el dilogo de Definicin de la Abertura
WIDO_LEFT_JAMB
jamba derecha de puerta/ventana
como se define en el dilogo de Definicin de la Abertura
WIDO_THRES_DEPTH
C~ antepecho/peldao de puerta/ventana
como se define en el dilogo de Definicin de la Abertura
WIDO_HEAD_DEPTH
D~ grosor de dintel de puerta/ventana
como se define en el dilogo de Definicin de la Abertura

210

Manual de Referencia GDL de ArchiCAD

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

Parmetros de Lmparas - disponibles slo para listado


LIGHT_ON
luz encendida
0- luz apagada, 0- luz encendida: como se define en el dilogo de Definicin de Lmparas
(parmetro fijado)
LIGHT_RED
componente rojo del color de la luz
como se define en el dilogo de Definicin de Lmparas (parmetro fijado)
LIGHT_GREEN
componente verde del color de la luz
como se define en el dilogo de Definicin de Lmparas (parmetro fijado)
LIGHT_BLUE
componente azul del color de la luz
como se define en el dilogo de Definicin de Lmparas (parmetro fijado)
LIGHT_INTENSITY
intensidad de la luz
como se define en el dilogo de Definicin de Lmparas (parmetro fijado)

Parmetros de Muros - disponibles para Puertas/Ventanas


WALL_RESOL
J~ resolucin 3D de un muro curvo
efectivo slo en 3D
WALL_THICKNESS
C_ grosor del muro
en el caso de muros inclinados: el grosor del muro en el eje de abertura (eje z local)
WALL_INCL
inclinacin de las superficies del muro
el ngulo entre las dos superficies inclinadas del muro - 0 para muros rectos normales

Manual de Referencia GDL de ArchiCAD

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

Parmetros de Muros - disponibles slo para listados


WALL_LENGTH_A
WALL_LENGTH_B
WALL_SURFACE_A
WALL_SURFACE_B
referencia
WALL_EDGE_SURF
WALL_VOLUME
WALL_DOORS_NR
WALL_WINDS_NR
WALL_HOLES_NR
WALL_DOORS_SURF

212

longitud del muro en el lado de la lnea de referencia


longitud del muro en el lado opuesto de la lnea de referencia
superficie del muro en el lado de la lnea de referencia
superficie del muro en el lado opuesto de la lnea de
superficie del borde del muro
volumen del muro
nmero de puertas en el muro
nmero de ventanas en el muro
nmero de aberturas vacas
superficie de puertas en el muro
Manual de Referencia GDL de ArchiCAD

Apndice

WALL_WINDS_SURF
WALL_HOLES_SURF
WALL_WINDS_WID
WALL_DOORS_WID
WALL_COLUMNS_NR

superficie de ventanas en el muro


superficie de aberturas vacas en el muro
anchura combinada de ventanas en el muro
anchura combinada de puertas en el muro
nmero de columnas en el muro

Parmetros de Columnas - disponibles slo para listados


COLU_CORE
propiedades ncleo/recubrimiento
sirve para compatibilidad: slo es efectivo en el script de propiedades de archivos CPS
(Column.Properties)
COLU_HEIGHT
altura de la columna
COLU_VENEER_WIDTH
grosor del recubrimiento de la columna
COLU_MAT
material de la columna
Nota: La envolvente del muro sustituir el material de columna por los materiales de los muros
conectados
COLU_LINETYPE
tipo de lnea de la columna
aplicado en los contornos slo en la ventana de planta
COLU_CORE_FILL
trama del ncleo de la columna
COLU_VENEER_FILL
relleno del recubrimiento de la columna
COLU_SECT_PEN
pluma de los contornos de la columna en seccin
aplicado en contornos de superficies cortadas en la ventanas de planta y de alzado/seccin
COLU_VIEW_PEN
pluma de la columna visible
aplicado a todos los contornos en la ventana 3D y en los contornos visibles en ventanas de
seccin/alzado
COLU_CORE_FILL_PEN
pluma de la trama del ncleo de la columna
COLU_CORE_FBGD_PEN
pluma del fondo de la trama del ncleo de la columna
COLU_VENEER_FILL_PEN
pluma de la trama del recubrimiento de columna
COLU_VENEER_FBGD_PEN
pluma del fondo de la trama del recubrimiento de columna
COLU_CORE_SURF
superficie del ncleo de la columna
COLU_CORE_VOL
volumen del ncleo de la columna
COLU_VENEER_SURF
superficie del recubrimiento de la columna
COLU_VENEER_VOL
volumen del recubrimiento de la columna

Parmetros de Forjados - disponibles slo para listados


SLAB_THICKNESS
grosor del forjado
SLAB_MAT_TOP
material de la superficie superior del forjado
SLAB_MAT_EDGE
material de los bordes del forjado
SLAB_MAT_BOTT
material de la superficie inferior del forjado
SLAB_LINETYPE
tipo de lnea del forjado
SLAB_FILL
trama del forjado
ndice de trama - su valor es negativo en el caso de una estructura compuesta
SLAB_FILL_PEN
pluma de la trama del forjado
SLAB_FILLBGD_PEN
pluma del fondo de la trama del forjado
Manual de Referencia GDL de ArchiCAD

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

Parmetros de Cubiertas - disponibles slo para listados


ROOF_THICKNESS
grosor de la cubierta
ROOF_ANGLE
pendiente de la cubierta
ROOF_MAT_TOP
material de la superficie superior de la cubierta
ROOF_MAT_EDGE
material de los bordes de la cubierta
ROOF_MAT_BOTT
material de la superficie inferior de la cubierta
ROOF_LINETYPE
tipo de lnea de la cubierta
aplicado en los contornos slo en la ventana de planta
ROOF_FILL
trama de la cubierta
ndice de trama - su valor es negativo en el caso de una estructura compuesta
ROOF_FILL_PEN
pluma de la trama de la cubierta
ROOF_FBGD_PEN
pluma del fondo de trama de la cubierta
ROOF_COMPS_NAME
estructura compuesta de la cubierta
nombre de la estructura compuesta
ROOF_SKINS_NUMBER
nmero de capas compuestas de cubiertas
entre 1 y 8, 0 si se aplica una nica trama
ROOF_SKINS_PARAMS
parmetros de las capas compuestas de cubierta
matriz con 6 columnas: trama, grosor, pluma, pluma de trama, pluma de fondo de trama, status
del ncleo y hasta 8 filas
ROOF_SECT_PEN
pluma de los contornos de cubierta en seccin
aplicado a contornos de superficies cortadas de muros en las ventanas de planta y alzado/seccin

214

Manual de Referencia GDL de ArchiCAD

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

Parmetros de Trama - disponibles slo para listados


FILL_LINETYPE
FILL_FILL
FILL_FILL_PEN
FILL_PEN
FILL_FBGD_PEN
FILL_SURF
FILL_PERIMETER
FILL_SEGMENT_NR
FILL_HOLES_NR
FILL_HOLES_PRM
FILL_HOLES_AREA

tipo de lnea de la trama


tipo de trama de la trama
pluma de trama de la trama
pluma de la trama
pluma del fondo de trama de la trama
rea de la trama
permetro de la trama
nmero de segmentos de la trama
nmero de huecos de la trama
permetro de huecos de la trama
rea de huecos de la trama

Parmetros de Malla - disponibles slo para listados


MESH_TYPE
tipo de la malla
1- cuerpo cerrado, 2 - superior & borde, 3 - slo superficie superior
MESH_BASE_OFFSET
desplazamiento de la superficie inferior al nivel de base
MESH_USEREDGE_PEN
pluma de las crestas definidas por el usuario en la malla
MESH_TRIEDGE_PEN
pluma de las caras trianguladas de la malla
MESH_SECT_PEN
pluma de los contornos de la malla en seccin
aplicado a los contornos de superficies cortadas de muros en las ventanas de planta y de alzado/
seccin
MESH_VIEW_PEN
pluma de los contornos visibles
aplicado a todas las aristas en la ventana 3D y en las aristas visibles en las ventanas de alzado/
seccin
MESH_MAT_TOP
material de la superficie superior de la malla
MESH_MAT_EDGE
material de las caras de la malla
MESH_MAT_BOTT
material de la superficie inferior de la malla
MESH_LINETYPE
tipo de lnea de la malla
aplicado a los contornos slo en la ventana de planta
Manual de Referencia GDL de ArchiCAD

215

Apndice

tipo de trama de la malla


pluma de la trama de la malla
pluma del fondo de trama de la malla
superficie inferior de la malla
superficie superior de la malla
superficie de las caras de la malla
permetro de la malla
volumen de la malla
nmero de segmentos de la malla
nmero de huecos de la malla
rea de huecos de la malla
permetro de huecos de la trama

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

Variables globales libres para usuarios


GLOB_USER_1
GLOB_USER_2
GLOB_USER_3
GLOB_USER_4
GLOB_USER_5
GLOB_USER_6
GLOB_USER_7
GLOB_USER_8
GLOB_USER_9
GLOB_USER_10
GLOB_USER_11
GLOB_USER_12
GLOB_USER_13
GLOB_USER_14
GLOB_USER_15
GLOB_USER_16
GLOB_USER_17
GLOB_USER_18
GLOB_USER_19
GLOB_USER_20

216

S_
T_
U_
V_
W_
X_
Y_
Z_
G~
I~

las variables globales libres para usuarios de 1 a 10 estn inicializadas al


nmero por defecto

las variables globales libres para usuarios de 11 a 20 estn inicializadas al


texto por defecto

Manual de Referencia GDL de ArchiCAD

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.

Manual de Referencia GDL de ArchiCAD

217

Apndice

REQUEST

(question_name, name | index, var1 [, var2,....])


El primer parmetro representa la pregunta mientras que la
segunda representa el objeto de la cuestin (si existe) y puede ser
un texto o de tipo numrico ( por ejemplo, la pregunta puede ser
"Rgb_of_material" y el objeto el nombre de material, o
"Rgb_of_pen" y el objeto el ndice de pluma). Los otros parmetros
son nombres de variable en el que los valores de retorno (las
respuestas) se almacenan. El valor de la funcin de retorno es el
nmero de la respuesta (en caso de una pregunta mal formulada o
nombre inexistente, el valor ser 0).

REQUEST

("Name_of_program", "", programname)


Devuelve en la variable dada el nombre del programa, "ArchiCAD",
"topCAD" , etc.

REQUEST

("Name_of_macro", "", myname)

REQUEST

("Name_of_main", "", mainname)


Despus de ejecutar estas funciones de llamada, la variable
myname contendr el nombre del macro, mientras que mainname
contendr el nombre del macro principal (si no existe, texto vaco).

REQUEST

("ID_of_main", "", idstring)


Para los tems de Biblioteca colocados en la Planta, devuelve el
identificador definido en el dilogo de herramientas en la variable
idstring (en caso contrario texto vaco).

REQUEST

("Name_of_plan", "", name)


Devuelve en la variable dada el nombre del proyecto actual.

REQUEST

("Story", "", index, storyname)


Devuelve en las variables index y storyname el ndice y el nombre
del piso actual.

REQUEST

("Internal_id", "", id)


Devuelve en la variable id el identificador interno del elemento de
biblioteca.

218

REQUEST

("Linear_dimension", "", formatstr)

REQUEST

("Angular_dimension", "", formatstr)

REQUEST

("Angular_length_dimension", "", formatstr)


Manual de Referencia GDL de ArchiCAD

Apndice

REQUEST

("Radial_dimension", "", formatstr)

REQUEST

("Level_dimension", "", formatstr)

REQUEST

("Elevation_dimension", "", formatstr)

REQUEST

("Window_door_dimension", "", formatstr)

REQUEST

("Sill_height_dimension", "", formatstr)

REQUEST

("Area_dimension", "", formatstr)


Estas llamadas le permiten obtener los formatos de medidas
definidas en el dilogo de Opciones/Preferencias/Acotaciones.
Estas llamadas devuelven un texto de formato que puede utilizarse
como primer parmetro en la funcin STR ().
Ejemplo:
format = ""
num = 60.55
REQUEST ("Angular_dimension", "", format) !%.2dd
TEXT2 0, 0, STR (format, num)
!60.55

REQUEST

("Clean_intersections", "", state)


Devuelve el estado de la caracterstica Limpiar Intersecciones del
men Opciones (1 si est activo, 0 si inactivo).

REQUEST

("Zone_category", "", name, code)


Para Zonas, devuelve el nombre y el texto de cdigo de la
categora de zona actual.

REQUEST

("Zone_relations", "", catname, code, name, nr [,


catname2, code2, name2, nr2])
Devuelve en las variables dadas el nombre de categora de zona,
cdigo de categora de zona, nombre de zona y nmero de la zona
donde est el elemento de biblioteca que contiene esta pregunta.
Para puertas y ventanas puede haber un mximo de 2 zonas. El
valor de retorno de la pregunta es el nmero de valores
satisfactorios obtenidos (0 si el elemento de biblioteca no est
dentro de ninguna zona).

REQUEST

("Zone_colus_area", "", area)


Devuelve en la variable de rea, el rea total de las columnas
colocadas en la zona actual. Efectivo slo para Sellos de Zona.

Manual de Referencia GDL de ArchiCAD

219

Apndice

REQUEST

("Custom_auto_label", "", name)


Devuelve en la variable de nombre el nombre de la auto-etiqueta a
medida del elemento de biblioteca, o un texto vaco si no existe
sta.

REQUEST

("Rgb_of_material", name, r, g, b)

REQUEST

("Rgb_of_pen", penindex, r, g, b)

REQUEST

("Pen_of_RGB", "r g b", penindex)


Al igual que la funcin REQ() ( en una sola llamada), devuelve en
las variables especificadas el valor de los componentes r, g, b del
material y pluma, o el ndice de la pluma correspondiente a los
valores r, g, b dados.

REQUEST

("Height_of_style", name, height)


Devuelve en la variable dada la altura del estilo de nombre medida
en metros.

REQUEST

("Name_of_material", index, name)


Devuelve en la variable dada el nombre del material identificado
por su ndice.

REQUEST

("Name_of_fill", index, name)


Devuelve en la variable de nombre el nombre de la trama
identificada por su ndice.

REQUEST

("Name_of_line_type", index, name)


Devuelve en la variable dada el nombre de la lnea identificada por
su ndice.

REQUEST

("Name_of_style", index, name)


Devuelve en la variable dada el nombre del estilo identificado por
su ndice.
Si ndice < 0, se refiere a un material, trama, tipo de lnea o estilo
definido en el script GDL o en el archivo MASTER_GDL. Una
llamada de una pregunta con ndice = 0 devuelve en la variable el
nombre del material o tipo de lnea por defecto (Texto vaco para
trama y estilo)
El valor de retorno de la pregunta es el nmero de valores
satisfactorios obtenidos (1 si no ocurren errores, 0 para un error
cuando el ndice no es vlido).

220

Manual de Referencia GDL de ArchiCAD

Apndice

REQUEST

(extension_name, parameter_string, v1, v2, ...)


Si la pregunta no es ninguna de las vistas anteriormente, la funcin
REQUEST () intenta utilizarla como una extensin de nombre
especfico. Si est extensin se encuentra en la carpeta de
extensiones, se utilizar para obtener tantos valores para cuantos
nombres de variable se hayan especificado. El parmetro de texto
es interpretado por la extensin.

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".

Manual de Referencia GDL de ArchiCAD

221

Apndice

GDL Creado desde la


Planta
Al guardar el plano de planta como script GDL o elemento de
Biblioteca se producirn los siguientes elementos GDL. Puede
utilizar estos scripts GDL como plantillas para su propia biblioteca.
Vea tambin el captulo "Formas Tridimensionales".
Script 3D:
Muros:

LIN_, xWALL_

Columnas:

cPRISM_

Forjados:

cPRISM_

Cubiertas Inclinadas:

cSLAB_, cROOF_

Mallas:

MASS

Ventanas:
Puertas:

CALL

Objetos:
Lmparas:

Los planos de corte definidos en el dilogo de Planos de Corte 3D


(activado con el comando de Seccin 3D): CUTPLANE angle
CUTPLANE
Los planos de corte y polgonos generados por Cubiertas :
CUTPOLY and CUTPLANE
Script 2D:
HOTSPOT2, POLY2_B, LINE2
CALL

222

Manual de Referencia GDL de ArchiCAD

Apndice

Palabras Clave slo para la


Vista 3D
ADDX, ADDY, ADDZ
ADD
MULX, MULY, MULZ
MUL
ROTX, ROTY, ROTZ
ROT
XFORM
LIN_
RECT
POLY, POLY_
PLANE, PLANE_
CIRCLE
ARC
BLOCK, BRICK
CYLIND
SPHERE
ELLIPS
CONE
PRISM, PRISM_, CPRISM_, BPRISM_, FPRISM_, SPRISM_
SLAB, SLAB_, CSLAB_
CWALL_, BWALL_, XWALL_
WALLHOLE
CROOF_
ARMC
ARME
ELBOW

Manual de Referencia GDL de ArchiCAD

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

Manual de Referencia GDL de ArchiCAD

Apndice

Palabras Clave slo para el


Smbolo 2D
ADD2
MUL2
ROT2
HOTSPOT2
LINE2
RECT2
POLY2, POLY2_, POLY2_A, POLY2_B
ARC2
CIRCLE2
SPLINE2, SPLINE2A
PICTURE2
TEXT2
FRAGMENT2
PROJECT2
DEFINE FILL
DEFINE FILLA
DEFINE LINE_TYPE
[SET] FILL
[SET] LINE_TYPE
DRAWING2
DRAWING3

Manual de Referencia GDL de ArchiCAD

225

Apndice

Palabras Clave para uso 2D


y 3D
DEL
[LET]
RADIUS
RESOL
TOLER
PEN
DEFINE STYLE
[SET] STYLE

226

Manual de Referencia GDL de ArchiCAD

Apndice

Palabras Clave para Scripts


No Geomtricos
Script de Propiedades
DESCRIPTOR
COMPONENT
REF
SURFACE3D
VOLUME3D
POSITION
WALLS
COLUMNS
DOORS
WINDOWS
OBJECTS
PITCHED_ROOFS
HIP_ROOFS
LIGHTS
HATCHES
ROOMS
MESHES
DRAWING
BINARYPROP

Script de Lista de Valores


VALUES

Manual de Referencia GDL de ArchiCAD

227

Apndice

228

Palabras Clave Comunes


Operadores
Funciones
FOR, NEXT
DO, WHILE, ENDWHILE
REPEAT, UNTIL
IF, THEN, ELSE, ENDIF
GOTO
GOSUB
RETURN
END
EXIT
PUT
GET
USE
NSP
CALL, PARAMETERS
PRINT
OPEN
INPUT
OUTPUT
CLOSE
DIM
BREAKPOINT

Manual de Referencia GDL de ArchiCAD

Apndice

Palabras Clave Reservadas


Las palabras clave listadas a continuacin estn reservadas, existen
por razones de compatibilidad o no han sido hechas pblicas.
BAS
BOX
GDLBIN
LIN
LINE
NOD
NODE
ORIGO
PARS
RECT_
SFLINE
TET
TETRA
TRI
WALL_
VOCA
UI_INFIELD
UI_OUTFIELD
UI_BUTTON
UI_PAGE
UI_DIALOG
UI_OK
UI_CANCEL
UI_PREV
UI_NEXT
UI_SEPARATOR
UI_GROUPBOX
UI_PICT

Manual de Referencia GDL de ArchiCAD

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

Manual de Referencia GDL de ArchiCAD

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~

Manual de Referencia GDL de ArchiCAD

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

Listado Alfabtico Actual


de Palabras Clave GDL
ABS (x)
ACS (x)
ADD

dx, dy, dz

ADD2

x, y

ADDX

dx

ADDY

dy

ADDZ

dz

AND
ARC

r, alpha, beta

ARC2

x, y, r, alpha, beta

ARMC

r1, r2, l, h, d, alpha

ARME

l, r1, r2, h, d

ASN (x)
ATN (x)
BASE
BINARY

mode [, section]

BINARYPROP
BLOCK

a, b, c

BODY

status

BPRISM_

topmat, botmat, sidemat,


n, h, radius,
x1, y1, mask1, . . . xn, yn, maskn

BREAKPOINT
BRICK

232

expression

a, b, c
Manual de Referencia GDL de ArchiCAD

Apndice

BWALL_

leftmat, rightmat, sidemat,


height, x1, x2, x3, x4, t, radius,
mask1, mask2, mask3, mask4,
n,
xbeg1, lower1, xend1, upper1, framevis1,
...
xbegn, lowern, xendn, uppern, framevisn,
m,
a1, b1, c1, d1,
...
am, bm, cm, dm

CALL

macro_name_string [parameter_list]

CALL

macro_name_string PARAMETERS [name1=value1,


. . . namen=valuen]

CIRCLE

CIRCLE2

x, y, r

CLOSE

channel

COMPONENT name, quantity, unit, [, prop_with, code, keycode,


unitcode]
CONE

h, r1, r2, alpha1, alpha2

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

wrap, vert1, vert2, vert3, vert4

COS (x)
CPRISM_

topmat, botmat, sidemat,


n, h, x1, y1, mask1, . . . xn, yn, maskn

CROOF_

topmat, botmat, sidemat,


n,
xb, yb, xe, ye, height, angle,
thickness,
x1, y1, alpha1, mask1, . . . xn, yn, alphan, maskn

CSLAB_

topmat, botmat, sidemat,


n, h, x1, y1, z1, mask1, . . . xn, yn, zn, maskn

Manual de Referencia GDL de ArchiCAD

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_

leftmat, rightmat, sidemat,


height, x1, x2, x3, x4, t,
mask1, mask2, mask3, mask4,
n,
xbeg1, lower1, xend1, upper1, framevis1,
...
xbegn, lowern, xendn, uppern, framevisn,
m,
a1, b1, c1, d1,
...
am, bm, cm, dm

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

Manual de Referencia GDL de ArchiCAD

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

name font_family, size, anchor, facecode

DEFINE STYLE

name PLOTMAKER, size, anchor, slant

DEFINE STYLE

name PLOTTER, size, anchor, slant

DEFINE TEXTURE name, filename, x, y, mask, angle


DEL

DEL

TOP

DESCRIPTOR
DIM

string

var1 [dim_1], var2 [dim_1][dim_2], . . .

DO
statements
WHILE

condition

DRAWING
DRAWING2
DRAWING3
EDGE

vert1, vert2, pgon1, pgon2, status

ELBOW

r1, alpha, r2

ELLIPS

h, r

END
EXIT
EXOR
EXP (x)
EXTRUDE

n, dx, dy, dz, mask, x1, y1, s1, . . . xn, yn, sn

FILL

index

FILL

name_string

Manual de Referencia GDL de ArchiCAD

235

Apndice

FOR

varnam = initial_value TO end_value [STEP


step_value]

FPRISM_

topmat, botmat, sidemat, hillmat,


n, thickness, angle, hill_height,
x1, y1 , mask1,
...
xn, yn, maskn

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

condition THEN statement [ELSE statement]

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

(channel, recordID, fieldID, var1 [, var2, . . .]

INT (x)
LET
LGT (x)

236

Manual de Referencia GDL de ArchiCAD

Apndice

LIGHT

red, green, blue, shadow,


radius, alpha, beta, angfalloff,
dist1, dist2, distfalloff

LIN_

x1, y1, z1, x2, y2, z2

LINE_TYPE index
LINE_TYPE name_string
LINE2

x1, y1, x2, y2

LOG (x)
MASS

topmat, botmat, sidemat, n, m, mask, h,


x1, y1, z1, s1,
...
xn, yn, zn, sn,
xn+1, yn+1, zn+1, sn+1,
...
xn+m, yn+m, zn+m, sn+m

MATERIAL

index

MATERIAL

name_string

MAX (x1,x2, . . . xn)


MESH

a, b, m, n, mask,
z11, z12, . . . z1m,
z21, z22, . . . z2m,
...
zn1, zn2, . . . znm

MIN (x1,x2, . . . xn)


MOD
MODEL

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

(filter, filename, paramstring)

OR
OUTPUT

channel, recordID, fieldID, expr1 [, expr2, . . .]

PEN

PGON

n, ivect, status, edge1, edge2, . . . edgen

PI

238

PICTURE

filename, a, b, mask

PICTURE2

expression, a, b, mask

PIPG

filename, a, b, mask,
n, ivect, status, edge1, edge2, . . . edgen

PLANE

n, x1, y1, z1, . . . xn, yn, zn

PLANE_

n, x1, y1, z1, mask1, . . . xn, yn, zn, maskn

POLY

n, x1, y1, . . . xn, yn

POLY_

n, x1, y1, mask1, . . . xn, yn, maskn

POLY2

n, framefill, x1, y1, . . . xn, yn

POLY2_

n, framefill, x1, y1, mask1, . . . xn, yn, maskn

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

PRINT

[expression] [, expression] . . .

PRISM

n, h, x1, y1, . . . xn, yn

PRISM_

n, h, x1, y1, mask1, . . . xn, yn, maskn

PROJECT2

projcode, angle, method

PUT

expression [, expression] . . .

PYRAMID

n, h, mask, x1, y1, s1, . . . xn, yn, sn

RADIUS

rmin, rmax

RECT

a, b
Manual de Referencia GDL de ArchiCAD

Apndice

RECT2

x1, y1, x2, y2

REF COMPONENT code [, num_expr [, keycode]]


REF DESCRIPTOR code [, keycode]
REPEAT
statements
UNTIL

condition

REQ (parameter_string)
REQUEST

(question_name, name | index, var1 [, var2, . . .])

RESOL

RETURN
REVOLVE

n, alpha, mask, x1, y1, s1, . . . xn, yn, sn

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

Manual de Referencia GDL de ArchiCAD

239

Apndice

SIN (x)
SLAB

n, h, x1, y1, z1, . . . xn, yn, zn

SLAB_

n, h, x1, y1, z1, mask1, . . . xn, yn, zn, maskn

SPHERE

SPLINE2

n, status, x1, y1, angle1, . . . xn, yn, anglen

SPLINE2_A

n, status,
x1, y1, angle1, lenPrev1, lenNext1,
...
xn, yn, anglen, lenPrevn, lenNextn

SPLIT

(string, format, var1 [, var2, . . . varn])

SPRISM_

topmat, botmat, sidemat,


n, xb,yb, xe, ye, h, angle,
x1, y1, mask1, . . . xn, yn, maskn

SQR (x)
STR

(numeric_expression, len, frac)

STR

(formatstring, numeric_expression)

STRLEN

(string_exp)

STRSTR

(string_exp1, string_exp2)

STRSUB

(string_exp, begpos, numchars)

STW

(string_expression)

STYLE

index

STYLE

name_string

SURFACE3D ( )
SWEEP

n, m, alpha, scale, mask,


u1, v1, s1, . . . un, vn, sn,
x1, y1, z1, . . . xm, ym, zm

TAN (x)

240

TEVE

x, y, z, u, v

TEXT

d, 0, expression

TEXT2

x, y, string

TOLER

Manual de Referencia GDL de ArchiCAD

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

name, val1 [, val2, . . . valn]

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

a11, a12, a13, a14,


a21, a22, a23, a24,
a31, a32, a33, a34

XWALL_

leftmat, rightmat, sidevmat, sidehmat,


height, x1, x2, x3, x4,
y1, y2, y3, y4,
t, radius,
reserved1, reserved2,
mask1, mask2, mask3, mask4,
n,
xbeg1, lower1, xend1, upper1, framevis1,
...
xbegn, lowern, xendn, uppern, framevisn,
m,
a1, b1, c1, d1,
...
am, bm, cm, dm

Manual de Referencia GDL de ArchiCAD

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:

el nombre del archivo por abrir

paramstring: contiene los caracteres especficos de separacin de


la extensin y el modo de abertura
Este comando abre el archivo. Si el archivo en donde quiere
escribir no existe, l lo crea. Si el archivo a leer no existe, se
muestra un mensaje de error.
Su valor de retorno es un entero positivo que identificar el archivo
especfico. Este valor ser el futuro nmero de referencia del
archivo.
El paramstring puede contener lo siguiente:
SEPARATOR = despus de la palabra clave entre comillas ('')
puede asignar un carcter para utilizarlo en el archivo de texto
(para lectura y escritura) para separar columnas.
Los casos especiales son el tabulador ('\t') y la nueva fila ('\n').

242

Manual de Referencia GDL de ArchiCAD

Apndice

MODE = despus de la palabra clave el modo de abertura a


seguir. Slo existen tres modos de abertura:
RO (slo lectura)
WA (slo escritura, aadir) al final del archivo
WO (slo escritura, re-escritura) todos los datos del
archivo se perdern!
Un archivo no puede abrirse para leer y escribir al mismo tiempo.
Ponga siempre una coma (,) entre el SEPARATOR y el MODE.
Si utiliza palabras clave que no existen, si los caracteres de
separacin son incorrectos o no hay nada en el string de
parmetros, la extensin utilizar las definiciones por omisin:
SEPARATOR = '\t', MODE = RO.
Ejemplo:
ch1 = OPEN ("TEXT", "file1", "SEPARATOR=';',
MODE=RO")
ch2 = OPEN ("TEXT", "file2", "")
ch3 = OPEN ("TEXT", "file3", "SEPARATOR='\n',
MODE=WO")

2. n = INPUT (channel, recordID, fieldID, var1 [, var2, ...])


recordID:
nmero de columna (numrica o texto)
fieldID:

ndice de columna en la fila dada

El comando lee tantos valores dados desde la posicin inicial del


archivo, identificado por el valor de canal, como parmetros
asignados tenga. En la lista de parmetros debe haber como
mnimo un valor. La funcin coloca los valores ledos en los
parmetros de la secuencia. Los valores pueden ser numricos o de
texto con independencia del tipo de parmetro definido para ellos.
En el lugar del valor del archivo, tambin puede tener expresiones
de tipo numrico o de texto, cada una conteniendo constantes
numricas o de texto as como llamadas a funciones matemticas
GDL. Estas expresiones se evalan durante el proceso de entrada.
Ejemplo: en el archivo de texto (separador es ','):
1.23,1'2","aaa",2 * SIN(45) + 1,SQR (3)

El valor de retorno es el nmero de valores ledos


satisfactoriamente, para el final de archivo (-1).
Tanto los nmeros de columna como los de fila deben ser enteros
positivos, de otra forma se mostrar un mensaje de error.
Si el nmero de fila o de columna son incorrectos, la entrada no se
realizar. (n = 0)
Manual de Referencia GDL de ArchiCAD

243

Apndice

En la identificacin de fila y columna, se asignar el mismo nmero


de valores desde la posicin inicial dada que de parmetros, o si
hay ms parmetros que valores, los parmetros sin valor
correspondiente se ajustarn a cero.
Para las columnas vacas (no hay nada entre los caracteres de
separacin) los parmetros sern ajustados a cero.
Ejemplo:
nr = INPUT (ch1, 1, 1, v1, v2, v3)
! entrada de tres valores de la primera
columna
! de la primera fila
PRINT nr, v1, v2, v3

3. OUTPUT channel, recordID, fieldID, expr1 [, expr2, ...]


recordID :
si es positivo, los valores de salida irn seguidos de
una nueva columna
fieldID :

si no tiene cometido, su valor no se usa

Este comando da salida a tantos valores dentro del archivo


identificado por el canal de valor de la posicin dada como
expresiones definidas. Debe haber como mnimo una expresin.
Los tipos de valor de salida son los mismos que los de las
expresiones.
Para una extensin de texto el OUTPUT, en secuencia
(dependiendo del modo de abertura) colocar las expresiones
dadas en posiciones consecutivas utilizando los caracteres de
separacin dados al abrir el archivo entre l mediante re-escritura o
aadidura al final del archivo. En este caso la posicin dada no se
interpreta.
El recordID se utiliza para dirigir las nuevas columnas en las
salidas.
Si el recordID es positivo, los valores de salida irn seguidos de
una nueva fila, de otra forma el ltimo valor ir seguido por un
carcter separador.
Ejemplo:
string = "Date: 19.01.1996"
a = 1.5
OUTPUT ch2, 1, 0, string
! texto seguido por una nueva fila
OUTPUT ch2, 0, 0, a, a + 1, a + 2
! carcter separador despus de +2 sin fila nueva

244

Manual de Referencia GDL de ArchiCAD

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:

= OPEN ("TEXT", "f1", "MODE=ro")


= OPEN ("TEXT", "f2", "SEPARATOR='\n', MODE=wo")
= OPEN ("TEXT", "f3", "SEPARATOR='\n', MODE=wo")
1
n = INPUT (ch1, i, 1, var1, var2, var3, var4)
IF n <> -1 THEN
OUTPUT ch2, 1, 0, var1, var2, var3, var4
OUTPUT ch3, 1, 0, var1, var2, var3, var4
i = i + 1
GOTO 1
ELSE
GOTO 2
ENDIF

2:
CLOSE ch1
CLOSE ch2
CLOSE ch3
END

Manual de Referencia GDL de ArchiCAD

245

Apndice

246

Manual de Referencia GDL de ArchiCAD

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

Manual de Referencia GDL de ArchiCAD

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

Manual de Referencia GDL de ArchiCAD

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

Manual de Referencia GDL de ArchiCAD

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

script de lista de valores 7


Script de Propiedades 7, 164
SET FILL 149
SET LINE_TYPE 150
SET MATERIAL 148
SET STYLE 146
SGN 173
SHADOW 148, 191
SIN 173
sistema de coordenadas local 16
sistema de coordenadas principal 16
SLAB 51
SLAB_ 51
SOLID 147
SPHERE 39, 144
SPLINE2 125
SPLINE2_A 127
SPLIT 177
SPRISM_ 50, 134
SQR 173
StairMaker 2, 4
STEP 182
STR 174
STRLEN 178
STRSTR 178
STRSUB 178
STW 177
STYLE 146, 162, 191
SURFACE 147
SURFACE3D 165
SWEEP 81, 134

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

Manual de Referencia GDL de ArchiCAD

Contenido

Contenido
1 Introduccin

1.1 Acerca de este Manual ____________________________________________________ 2


1.2 Objetos de Biblioteca _____________________________________________________ 2
Sus fuentes de objetos de biblioteca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
La Biblioteca de Archicad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Bibliotecas Complementarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
StairMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Extensiones de Terceras Partes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Bibliotecas en formato DXF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5


Uso de sus propias habilidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Modelar en otras aplicaciones 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Modelar con las herramientas propias de ArchiCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Escritura en GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3 Escritura en GDL _________________________________________________________ 7


Qu es GDL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Estructura del Elemento de Biblioteca de ArchiCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Analizar, descomponer y simplificar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Elaboracin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Para empezar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Comandos de Nivel Bsico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Comandos de Nivel Intermedio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Comandos y Caractersticas de Nivel Avanzado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Nivel Experto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.4 Cmo genera ArchiCAD una imagen 3D __________________________________ 16


El espacio 3D en ArchiCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Porqu necesita transformaciones de coordenadas ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
El motor de intrprete GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
El orden de anlisis de los scripts GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5 Creacin de objetos en ArchiCAD ________________________________________ 19
Manual de Referencia GDL de ArchiCAD

Contenido

2 Elementos de Sintaxis Bsicos

21

3 Transformacin de Coordenadas

25

3.1 Transformaciones en el espacio Tridimensional __________________________ 26


3.2 Transformaciones en el espacio Bidimensional ___________________________ 29
3.3 Manejo de la Pila de Transformacin _____________________________________ 30

4 Formas Planas en 3D

33

5 Formas Tridimensionales

37

5.1 Formas bsicas _________________________________________________________ 38


5.2 Formas generadas desde polilneas ______________________________________ 67
5.3 Elementos para la Visualizacin __________________________________________ 96
5.4 Elemento de Texto _____________________________________________________ 100
5.5 Primitivas _____________________________________________________________ 101
5.6 Uso de los Datos 3D Binarios ___________________________________________ 110
5.7 Corte en 3D ____________________________________________________________ 112

6 Formas Bidimensionales

121

6.1 Elementos de Dibujo ___________________________________________________


6.2 Elemento de Texto _____________________________________________________
6.3 Uso de Datos Binarios 2D _______________________________________________
6.4 Proyecciones 3D en 2D _________________________________________________
6.5 Dibujos en la Lista _____________________________________________________

122
129
130
131
132

7 Cdigos de status adicionales para polilneas planas

133

8 Atributos

143

8.1 Directivas _____________________________________________________________ 144


Directivas Usadas en Scripts 3D y 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Directivas utilizadas slo en scripts 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Directivas usadas slo en scripts 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
8.2 Definicin de Atributos _________________________________________________ 150
Definicin de materiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Definicin de trama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Definicin de Trama Avanzada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

ii

Manual de Referencia GDL de ArchiCAD

Contenido

Definicin de tipos de lneas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161


Definicin de estilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

9 Scripts No Geomtricos

163

9.1 El Script de Propiedades ________________________________________________ 164


9.2 El Script de Lista de Valores _____________________________________________ 167

10 Expresiones y Funciones

169

10.1 Expresiones __________________________________________________________ 170


10.2 Operadores ___________________________________________________________ 172
Operadores aritmticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Operadores Relacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Operadores Booleanos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
10.3 Funciones ____________________________________________________________ 173
Funciones Aritmticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Funciones Circulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Funciones Trascendentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Funciones Booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Funciones Estadsticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Funciones de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Funciones Especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

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 _______________________________________________

12 Instrucciones Especiales para Puertas y Ventanas

181
182
187
190
192
193

195

12.1 Reglas Generales ______________________________________________________ 196


12.2 Creacin de Elementos de Biblioteca Puerta/Ventana ____________________ 197
Puertas/Ventanas Rectangulares en Muros Rectos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Ventanas No-Rectangulares en Muros Rectos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Puertas/Ventanas Rectangulares en Muros Curvos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Puertas/Ventanas No Rectangulares en Muros Curvos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

Manual de Referencia GDL de ArchiCAD

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

Variables Globales ____________________________________________________


Funciones Especiales _________________________________________________
GDL Creado desde la Planta ___________________________________________
Palabras Clave slo para la Vista 3D ___________________________________
Palabras Clave slo para el Smbolo 2D ________________________________
Palabras Clave para uso 2D y 3D ______________________________________
Palabras Clave para Scripts No Geomtricos ____________________________
Palabras Clave Comunes ______________________________________________
Palabras Clave Reservadas ____________________________________________
Lista de Conversin de Antiguos Nombres de Variables Globales ________
Listado Alfabtico Actual de Palabras Clave GDL ________________________
Extensin de Texto ___________________________________________________

ndice

iv

247

Manual de Referencia GDL de ArchiCAD

También podría gustarte