Subido por FreeNauta FN

Manual de Referencia GDL de ArchiCAD

Anuncio
Capítulo 1: Introducción
1
Introducción
Manual de Referencia GDL de ArchiCAD
1
Capítulo 1: Introducción
1.1 Acerca de este Manual
Este manual es una referencia completa sobre el GDL (Lenguaje de
Descripción Geométrica) disponible en ArchiCAD.
El manual está recomendado a aquellos usuarios de ArchiCAD que
quieran ir más allá de las posibilidades de las herramientas de
construcción y objetos de biblioteca suministradas con el paquete.
Primero, un capítulo corto a modo de mapa de carreteras le dará
una descripción de las diferentes maneras de modelar. Escribir en
GDL es sólo una de las posibilidades. Esta parte merece ser leída
sin tener en cuenta su habilidad y propósitos.
Después de esto, encontrará una descripción detallada de GDL,
incluyendo la definición de sintaxis, comandos, variables, etc. Es
una materia más bien áspera, técnica y precisa.
Esta parte se recomienda para quienes que están dispuestos a
escribir en GDL. Probablemente nunca leerá esta parte por
completo, pero explorando sus contenidos su conocimiento,
habilidades y ambiciones crecerán.
El manual asume que se está familiarizado con ArchiCAD por lo
menos a un nivel intermedio, y que se han estudiado los capítulos
correspondientes al Manual de Referencia de ArchiCAD.
1.2 Objetos de Biblioteca
Además de las herramientas de modelado básicas de ArchiCAD muros, forjados y cubiertas - hay otras que le permiten colocar
elementos de forma y geometría predefinida en sus proyectos.
Estas son Ventanas, Puertas, Objetos, Lámparas 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 características
se almacenan en cuatro tipos diferentes de documento.
Lo que todos estos elementos tienen en común, 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 Descripción Geométrica de
ArchiCAD para vestir su proyecto con objetos, ornamentos y otros
detalles de su propio diseño.
2
Manual de Referencia GDL de ArchiCAD
Capítulo 1: Introducción
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 había
pensado en usar.
También debería familiarizarse con las dimensiones típicas y
parámetros 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
3
Capítulo 1: Introducción
Bibliotecas Complementarias
Existen diversas bibliotecas para diferentes usos tanto desde
Graphisoft (la Colección Graphisoft) y distribuidores locales
(bibliotecas de personas, letras 3D, mobiliario de diseño, 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 parámetros.
Modelo de escaleras en espiral desde StairMaker
4
Manual de Referencia GDL de ArchiCAD
Capítulo 1: Introducción
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 aplicación. Se puede acceder a ellos desde
dentro de ArchiCAD o en modo aislado. Consulte a su Distribuidor
de ArchiCAD para más información.
Modelo de teléfono de VisualGDL Modelo de terreno de ArchiSITE
Bibliotecas en formato DXF
Las bibliotecas en DXF están ampliamente difundidas en el mundo
del CAD y cubren casi todas las áreas de la ingeniería y el diseño.
Muchos fabricantes ofrecen símbolos o modelos de sus productos
en formato DXF.
ArchiCAD puede importar fácilmente estas bibliotecas.
Uso de sus propias habilidades
Muchas veces necesitará objetos que no encontrará en ninguna
biblioteca. En este caso, todavía 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 genéricos que permiten formas de geometría libre. Con este
método, sin embargo, necesita aprender cómo trabajar con otra
aplicación.
Manual de Referencia GDL de ArchiCAD
5
Capítulo 1: Introducción
Modelar con las herramientas propias de
ArchiCAD
Las herramientas de construcción de muros, forjados, cubiertas y
demás de ArchiCAD están a su disposición para que las use como
piezas a medida, sin tener en cuenta su función original. Se puede,
por ejemplo, modelar una mesa fácilmente usando muros y
forjados. Estas estructuras se pueden guardar como objetos de
biblioteca para manejarlas como elementos de construcción
simples. Estarán entonces disponibles para usarlos también 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
representación 3D, pero sólo permiten una edición 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.
Tracería de una ventana Gótica 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 información detallada sobre los objetos de biblioteca
derivados desde un plano de planta de ArchiCAD, refiérase a los
capítulos “GDL creado desde el plano de planta” y “Crear objetos
en ArchiCAD” en el Apéndice B.
Escritura en GDL
Si quiere ir más allá de todas las posibilidades anteriores, o si
necesita objetos de biblioteca cuya forma pueda ser controlada con
6
Manual de Referencia GDL de ArchiCAD
Capítulo 1: Introducción
parámetros definibles por el usuario, su próximo 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 programación paramétrico interno de
ArchiCAD parecido al lenguaje BASIC. Su objetivo es describir
objetos sólidos tridimensionales y los símbolos 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 símbolo
2D. Los objetos de biblioteca pueden también tener una
descripción para cálculos de cuantificación en ArchiCAD, llamada
script de propiedades.
Los comandos Master script se ejecutarán antes de cada script
(como si se hubieran copiado antes del resto de scripts del objeto)
El script 2D contiene la descripción 2D paramétrica del dibujo.
Los datos binarios 2D del objeto (contenido de la ventana del
símbolo 2D) pueden referenciarse usando el comando
FRAGMENT2. Si el script 2D está vacío, los datos binarios 2D se
usarán para mostrar el objeto en planta.
El script 3D contiene la descripción paramétrica del modelo 3D.
Los datos binarios 3D (que se generan durante una operación de
importación 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á
vacío, los datos binarios de propiedades se usarán en el proceso de
cálculo.
En el value list script pueden definirse conjuntos de posibles
valores para los parámetros de los objetos.
Manual de Referencia GDL de ArchiCAD
7
Capítulo 1: Introducción
Los parámetros definidos en la sección de parámetros se usan
como defecto en la definición de objeto al colocarlo en la planta.
La imagen previa aparece en el cuadro de diálogo de definición
de objetos al mirar la biblioteca activa. Puede ser llamado con los
comandos PICTURE y PICTURE2 desde los scripts 3D y 2D.
En la sección de comentarios puede almacenarse cualquier
información relacionada con el objeto.
ArchiCAD provee un entorno útil para escribir scripts GDL, con
visualización en línea, y comprobación de sintaxis y errores.
Analizar, descomponer y simplificar
La mayoría de los objetos que desea crear, sea cual sea su
complejidad, pueden descomponerse en bloques constructivos de
formas geométricas simples. Empiece siempre con un breve y
simple análisis del futuro objeto y defina todas las unidades
geométricas que lo componen. Cuando haya hecho la
descomposición, podrá traducir estos bloques al vocabulario del
lenguaje GDL. Si el análisis es adecuado, la síntesis de estas
entidades estará cerca del ideal.
Para hacer el análisis, se necesita una buena percepción espacial y
por lo menos un conocimiento a nivel básico de geometría
descriptiva.
Representación de ventanas de diversas complejidades
Para evitar obstáculos prematuros y seguir un aprendizaje
uniforme, comience con objetos de dimensiones definidas y
obtenga su forma más simple pero todavía reconocible. Cuando se
familiarice con el modelado básico, podrá disminuir la
simplificación y acercarse cada vez más a la forma ideal.
“Ideal” no significa necesariamente “complicado”. En función de la
naturaleza del proyecto arquitectónico, el objeto de biblioteca ideal
puede variar desde aproximado a preciso. La ventana de la
izquierda de la ilustración anterior se adapta perfectamente el estilo
de visualización urbana de diseño. La ventana de la derecha puede
8
Manual de Referencia GDL de ArchiCAD
Capítulo 1: Introducción
dar un toque de realismo y detalle que puede usarse en la fase
constructiva del proyecto.
Elaboración
En función de su propósito, los objetos paramétricos pueden variar
en su elaboración. Los objetos para uso interno del estudio pueden
ser, por supuesto, menos precisos que los hechos para uso general
o para la distribución comercial.
Si sus símbolos tienen poca importancia en el plano o los cambios
paramétricos no necesitan aparecer en 2D, podrá omitir los scripts
2D paramétricos.
Incluso si los cambios paramétricos están destinados a aparecer en
2D, no es absolutamente necesario escribir un paramétrico 2D. Es
posible efectuar modificaciones paramétricas en la ventana de
Script 3D, usar la vista 3D de planta del objeto modificado como un
símbolo nuevo y guardar el objeto bajo un nombre nuevo.
Obtendrá así un grupo de objetos similares derivados del original
mediante cambios paramétricos de sus valores por omisión.
Los objetos de biblioteca más complejos y sofisticados consisten en
descripciones paramétricas 3D con sus correspondientes scripts
paramétricos 2D. Cualquier cambio en los parámetros afectará no
solamente a la vista 3D del objeto sino también a su aspecto en el
plano de planta.
Para empezar
Las necesidades de su diseño, sus conocimientos de programación
y de geometría descriptiva influirán probablemente en dónde
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 más adelante.
Manual de Referencia GDL de ArchiCAD
9
Capítulo 1: Introducción
Si está familiarizado con cualquier lenguaje de programación 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. También 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 construcción (tipo LEGO), todavía puede encontrar su
manera de practicar GDL. Le aconsejamos que pruebe con los
comandos más simples ahora mismo y verifique su efecto en la
ventana 3D del objeto de biblioteca.
Para detalles sobre el entorno de edición de objetos de biblioteca
en ArchiCAD, vea el Manual de Referencia de ArchiCAD .
Comandos de Nivel Básico
Estos comandos son fáciles de comprender y usar. No requieren
conocimientos de programación.
Sin embargo, se pueden crear objetos efectivos sólo con ellos.
Formas Simples
Las formas GDL son unidades geométricas básicas que se añaden 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 numéricos o parámetros alfabéticos
que definen sus dimensiones. El número de valores varía con cada
forma.
Al principio, puede evitar el uso de parámetros 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 inglés).
10
Manual de Referencia GDL de ArchiCAD
Capítulo 1: Introducción
Transformaciones de Coordenadas
Las transformaciones de coordenadas son como mover su mano a
cierto lugar antes de poner una pieza de LEGO. Preparan la
posición, orientación y escala de la próxima forma.
Z
Z
Y
Y
G
X
L
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 tríada
de ejes coordenados para cualquier objeto presente.
Las transformaciones de coordenadas más simples son:
En 3D:
ADDX
ADDY
ADDZ
ROTX
ROTY
ROTZ
En 2D:
ADD2
ROT2
Los comandos que empiezan con ADD moverán la próxima forma,
mientras que los que empiezan con ROT la girarán alrededor de
uno de sus ejes.
Comandos de Nivel Intermedio
Estos comandos son un poco más complejos. No porque requieran
conocimientos de programación, sino porque describen formas
más complejas o transformaciones más abstractas.
Manual de Referencia GDL de ArchiCAD
11
Capítulo 1: Introducción
En 3D:
ELLIPS
POLY_
PRISM_
TEXT
En 2D:
HOTSPOT2
CONE
LIN_
CPRISM_
PLANE
SLAB
PLANE_
SLAB_
POLY2_
TEXT2
FRAGMENT2
CSLAB_
Estos comandos requieren habitualmente más valores para
definirlos que los básicos. 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
Capítulo 1: Introducción
Las transformaciones que empiezan con MUL cambiarán la escala
de las formas siguientes, convertirán círculos en elipses y esferas en
elipsoides. Con valores negativos pueden usarse para hacer
simetrías. Los comandos de la segunda fila afectan a las tres
dimensiones del espacio a la vez.
Comandos y Características de Nivel
Avanzado
Estos comandos añaden un nuevo nivel de complejidad. Ya sea por
su forma geométrica o porque representan el GDL como un
lenguaje de programación.
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
polígono en el espacio con una base poligonal para hacer
superficies curvas suavizadas. Algunas formas requieren referencias
de materiales en su lista de parámetros.
Utilizando planos, polígonos y formas de corte, puede generar
formas arbitrarias complejas más 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
Capítulo 1: Introducción
Estos comandos deben ser familiares a cualquiera que haya
programado alguna vez en un ordenador, pero son lo
suficientemente básicos como para que pueda comprender sus
conceptos sin experiencia de programación previa.
La permiten hacer partes del script repetitivas para colocar
montones de formas con poca escritura, o le permiten tomar
decisiones basadas en cálculos 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
Parámetros
En este estadio de su aprendizaje, puede sustituir los valores fijos
con variables alfabéticas. Esto hace al objeto flexible. Se puede
acceder a estas variables a través del cuadro de diálogo de
Definición de objetos de biblioteca al trabajar en planta.
Llamadas a Macro
No se está limitado a las formas estándar GDL. Cualquier objeto de
biblioteca existente puede ser una forma GDL en su totalidad. Para
colocarla, sólo debe "llamarla", escribiendo su nombre con los
parámetros requeridos, como si fuera un comando estándar.
14
Manual de Referencia GDL de ArchiCAD
Capítulo 1: Introducción
Nivel Experto
Cuando tenga una buena comprensión de las características 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 número de llamadas a
Macro y el número de transformaciones
Para información adicional sobre los comandos GDL anteriores,
consulte el resto de este manual.
Para una consulta rápida de los comandos disponibles y su
estructura de parámetros, elija la ventana de Ayuda apropiada
desde ArchiCAD.
Manual de Referencia GDL de ArchiCAD
15
Capítulo 1: Introducción
1.4 Cómo genera ArchiCAD una
imagen 3D
El modelado 3D en ArchiCAD está basado en cálculos de coma
flotante, lo que significa que no hay límites al tamaño geométrico
del modelo. Por grande que sea, mantiene la misma precisión en
los menores detalles.
El modelo 3D que finalmente ve en pantalla está compuesto por
primitivas geométricas. Estas primitivas se guardan en la
memoria de su ordenador en formato binario, y ArchiCAD las
genera según la planta que se cree. La metamorfosis entre el plano
de planta arquitectónico y los datos binarios 3D se llama
conversión 3D.
Las primitivas son las siguientes:
- todos los vértices de los componentes constructivos
- todas las aristas que vinculan los vértices
- todas los polígonos de superficie entre las aristas.
Algunos grupos de primitivas se mantienen juntas como
‘cuerpos’. Los cuerpos estructuran el modelo 3D. Todas las
características de la visualización 3D en ArchiCAD - suavizar
superficies, sombras arrojadas, brillo o materiales transparentes están 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
ningún documento específico. Además, 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 diseño, la posición 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 diálogo de Definición de Objetos. Este valor será la
base y la posición por omisión del sistema de coordenadas local
del objeto. Las formas descritas en el script se ubicarán en relación
a este sistema de coordenadas local.
16
Manual de Referencia GDL de ArchiCAD
Capítulo 1: Introducción
¿ Porqué necesita transformaciones
de coordenadas ?
Cada forma GDL está vinculada a la posición actual del sistema de
coordenadas local. Por ejemplo, los BLOCKs están 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 dirección
positiva. Por esto el comando BLOCK requiere sólo tres parámetros
que definan las dimensiones sobre los ejes.
¿ Cómo generar otro bloque, desplazado y girado? Con la estructura
de parámetros del BLOCK no hay manera de hacerlo. No hay
parámetros para desplazar y girar.
La respuesta es mover el sistema de coordenadas hasta la posición
correcta antes de la aparición del comando BLOCK. Con los
comandos de transformación de coordenadas, se puede predefinir
la posición y rotación del sistema alrededor de los ejes. Estas
transformaciones no se aplican a las formas ya generadas. Son
efectivas sólo con las formas siguientes.
El motor de intérprete GDL
Cuando se ejecuta un script GDL, el motor de intérprete GDL de
ArchiCAD detectará la posición en el plano de planta, el tamaño,
ángulo de rotación, parámetros de usuario definidos y posible
estado “simétrico” del objeto de biblioteca. Después mueve el
sistema de coordenadas local a la posición correcta, a punto de
recibir los comandos GDL del script del objeto de biblioteca. Cada
vez que el intérprete encuentra un comando para una forma
básica, genera las primitivas geométricas que estructuran esta
forma concreta.
Cuando el intérprete 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 intérprete para GDL.
La interpretación de un script GDL usa este código pre-compilado.
Esta característica incrementa la velocidad del análisis. Si el script
se modifica, se genera un nuevo código..
Las estructuras de datos convertidos desde otros formatos (p.e.
DXF, Zoom, Alias Wavefront) se guardan en una sección binaria
del objeto de biblioteca. Esta sección se referencia con la
declaración BINARY del script GDL.
Manual de Referencia GDL de ArchiCAD
17
Capítulo 1: Introducción
El orden de análisis 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 análisis de los scripts de GDL se basa en la
estructura interna de datos, más aún, las operaciones de Deshacer
o Rehacer pueden influir en ese orden. La única excepción 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 conversión a 3D, antes de crear una Sección/Alzado,
antes de empezar un proceso de listado y después de cargar la
biblioteca activa.
Los scripts cuyo nombre empieza por "MASTEREND_GDL" se
ejecutan después de una conversión a 3D, después de crear una
Sección/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 más de tales scripts, se ejecutarán
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 sólo en el modelo
3D), definiciones de lista de valores (vea el comando VALUES en el
capítulo de Scripts No Geométricos) y comandos específicos de
GDL. Los atributos definidos en estos scripts se combinarán 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
Capítulo 1: Introducción
1.5 Creación de objetos en
ArchiCAD
Los objetos de biblioteca 3D se han hecho tradicionalmente
escribiendo un script GDL y dibujando manualmente un símbolo
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 serán guardados como formas GDL 3D, como se describe en
el Apéndice. 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
guardarán como un objeto completo con descripciones 2D y 3D.
Este objeto es, de hecho, una representación 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 símbolo 2D y descripción 3D
(Guardar como…> Objeto de Biblioteca).
La descripción 3D del objeto de biblioteca puede ser un script GDL
o datos binarios no editables. El símbolo 2D se genera
directamente desde la proyección 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 proyección 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.
- Después de hacer clic en Guardar, defina las opciones
deseadas en el cuadro de diálogo.
Manual de Referencia GDL de ArchiCAD
19
Capítulo 1: Introducción
Objetos en general : el símbolo 2D se genera directamente desde
las vistas superior, lateral o inferior, ya sea en alámbrico o con
líneas ocultas. El símbolo y la forma 3D se ajustan automáticamente
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 posición 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 fácilmente con elementos en el plano x-y.
Más detalles en el capítulo '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 función del
destino, se generará una descripción GDL 2D (script 2D u otra
ventana de texto) o una descripción 3D (ventana de script 3D) de
los elementos.
20
Manual de Referencia GDL de ArchiCAD
Capítulo 2: Elementos de Sintaxis Básicos
2
Elementos de Sintaxis
Básicos
Manual de Referencia GDL de ArchiCAD
21
Capítulo 2: Elementos de Sintaxis Básicos
El GDL no es sensible a las mayúsculas; no distingue entre éstas y
las minúsculas excepto en textos entre comillas. El final lógico 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 declaración
puede empezar con una palabra clave (definiendo una forma, una
transformación 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 expresión matemática.
Línea Las declaraciones están en líneas separadas por separadores-delínea (caracteres fin_de_línea).
Una coma (,) en la última posición indica que la declaración
continúa en la siguiente línea. Se usan dos puntos (:) para separar
declaraciones en una línea. Tras un signo de admiración final (!)
puede escribir cualquier comentario en la línea. Pueden insertarse
líneas en blanco en un script GDL sin ningún efecto y se puede
usar cualquier número de espacios o tabuladores entre operadores
y operandos. Es obligatorio el uso de un espacio o tabulador
después de declaraciones de palabras clave y llamadas a macro.
Etiqueta Cualquier línea puede empezar con una etiqueta. Una etiqueta es
un número entero seguido de dos puntos (:). La etiqueta es una
referencia para la declaración siguiente. Las etiquetas se
comprueban para sucesos simples. La ejecución del programa
puede continuar desde cualquier etiqueta indicada por una
declaración GOTO o GOSUB.
Caracteres disponibles El texto GDL se compone de letras mayúsculas y minúsculas del
alfabeto Inglés, números y los caracteres siguientes:
<espacio> _ (subrayado) ! : , ; . + –
* / ^ = < > # ( ) |(barra vertical)
“ ‘ ` ´ ” “ ’ ‘ <fin_de_línea>
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 convertirán a mayúsculas,
por lo que se recomienda usar comillas. La longitud máxima
permitida en una secuencia es de 255 caracteres.
El carácter '\' tiene valores de control especiales. Su significado
depende del carácter siguiente.
22
Manual de Referencia GDL de ArchiCAD
Capítulo 2: Elementos de Sintaxis Básicos
\\
\n
\t
\new line
\others
Ejemplos:
'\' él mismo
nueva línea
tabulador
continuar secuencia en siguiente línea sin una nueva
línea
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 carácter '_' o '~' , consisten en letras, números y
caracteres '_' o '~'.
Mayúsculas y minúsculas 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 están determinadas por ArchiCAD;
todos los demás identificadores pueden utilizarse como nombres
de variable.
Variables Un programa en GDL puede manejar variables numéricas y de
texto (definidas por sus identificadores), números 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 intérprete restaura sus valores.
Las variables globales tienen nombres reservados (la lista de
variables globales disponibles en ArchiCAD se da en el Apéndice).
No se apilan durante la llamadas a macro, permitiendo al usuario
almacenar valores especiales de modelado y simular códigos de
retorno desde macros. Las variables globales de usuario pueden
definirse en cualquier script, pero sólo serán 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
Capítulo 2: Elementos de Sintaxis Básicos
Utilizando el comando "=", puede asignar un número o valor de
texto a las variables globales y locales.
Parámetros Los identificadores enumerados en la lista de elementos de
biblioteca se llaman parámetros. Los identificadores de parámetros
no deben exceder de 32 caracteres. Dentro de un script, se aplican
las mismas reglas que para las variables locales.
Los parámetros de los archivos de sólo texto GDL se identifican
con letras A … Z.
Tipos simples Las expresiones, variables y parámetros pueden ser de dos tipos
simples: numéricas o de texto.
Las expresiones numéricas son números constantes, variables
numéricas o parámetros, funciones que devuelven valores
numéricos y cualquier combinación de éstos en operaciones.
Las expresiones de texto son secuencias constantes, secuencias
variables o parámetros, funciones que devuelven secuencias y
cualquier combinación de éstos en operaciones que dan como
resultado secuencias de texto.
Tipos derivados Variables y parámetros también pueden ser matrices, y los
parámetros pueden ser listas de valores de tipo simple.
Matrices son tablas de una o dos dimensiones de valores
numéricos y/o de texto, a los que puede accederse directamente
por índices.
Listas de Valores son conjuntos de posibles valores numéricos o de
texto. Pueden ser asignados a los parámetros en el script de lista de
valores del objeto o en el script MASTER_GDL y aparecerá en el
listado de parámetros como un menú desplegable.
[aaa] Los paréntesis cuadrados indican que los elementos incluidos son
opcionales (si están 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_MAYÚSCULAS
caracteres especiales Deben introducirse tal cual.
otros_textos_minúsculas_en_lista_de_parámetros
Cualquier expresión GDL.
24
Manual de Referencia GDL de ArchiCAD
Capítulo 3: Transformación de Coordenadas
3
Transformación de
Coordenadas
Manual de Referencia GDL de ArchiCAD
25
Capítulo 3: Transformación de Coordenadas
3.1 Transformaciones en el
espacio Tridimensional
En GDL, todos los elementos geométricos están estrictamente
vinculados al sistema de coordenadas local. Una esquina de un
bloque, por ejemplo, está en el origen y sus caras están en los
planos x-y, x-z e y-z.
Para colocar un elemento geométrico en la posición deseada se
requieren dos pasos. Primero, mover el sistema de coordenadas a
la posición deseada. Segundo, generar el elemento. Cada
movimiento, rotación o deformación del sistema de coordenadas a
lo largo o alrededor de un eje se llama transformación.
Las transformaciones se almacenan en una pila; la interpretación
empieza hacia atrás desde la última. Los scripts heredan esta pila
de transformación; pueden insertarse nuevos elementos, pero no
pueden borrarse más 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
Capítulo 3: Transformación de Coordenadas
Ejemplo :
Z
Y
Z
Y
c
X
b
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 simetrías simultáneas.
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
Y
Y
X
beta
X
ROTZ beta
Manual de Referencia GDL de ArchiCAD
27
Capítulo 3: Transformación 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 transformación completa. Se usa
principalmente en generación automática de código 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
Capítulo 3: Transformación 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
Y
X
b
X
a
ADD2
MUL2
x, y
ROT2
alpha
a, b
Ejemplo:
Y
Y
X
beta
X
ROT2 beta
Manual de Referencia GDL de ArchiCAD
29
Capítulo 3: Transformación de Coordenadas
3.3 Manejo de la Pila de
Transformación
DEL
n [, beg_with]
Borra las n entradas previas de la pila de transformación.
Si no se especifica el parámetro beg_with, se borran las n entradas
previas en la pila de transformación. El sistema de coordenadas
local vuelve atrás a una posición previa.
Si se especifica el parámetro beg_with, se borran n entradas hacia
adelante, empezando con la determinada por beg_with. La
numeración empieza con 1. Si el parámetro beg_with está
especificado y es negativo, el borrado es hacia atrás.
Si se han emitido menos transformaciones en el script actual que
las descritas por el argumento n dado, sólo se borrarán las
transformaciones emitidas.
DEL
TOP
Borra todas las transformaciones del script actual..
NTR
()
Devuelve el número actual de transformaciones.
30
Manual de Referencia GDL de ArchiCAD
Capítulo 3: Transformación de Coordenadas
Ejemplo:
BLOCK
ADDX
ADDY
ADDZ
ROTX
ADDX
BLOCK
1,
2
2.5
1.5
-60
1.5
1,
1,
DEL
1,
1
BLOCK
1,
0.5, 1
DEL
1,
NTR()-2
BLOCK
1,
0.5, 2
DEL
-2,
3
BLOCK
1,
0.5, 2
Manual de Referencia GDL de ArchiCAD
1
0.5, 2
!Borra la transformación
!ADDX 2
!Borra la transformación
!ADDZ 1.5
!Borra la transformación
!ROTX -60 y la ADDY 2.5
31
Capítulo 3: Transformación de Coordenadas
32
Manual de Referencia GDL de ArchiCAD
Capítulo 4: Formas Planas en 3D
4
Formas Planas en 3D
Manual de Referencia GDL de ArchiCAD
33
Capítulo 4: Formas Planas en 3D
LIN_
x1, y1, z1, x2, y2, z2
Segmento de línea entre los puntos P1(x1,y1,z1) y P2(x2,y2,z2).
RECT
a, b
Rectángulo en el plano x-y con caras a y b.
Restricción de parámetros:
a, b ≥ 0
Y
b
a
X
POLY
n, x1, y1, . . . xn, yn
Polígono con n aristas en el plano x-y. Las coordenadas de cada
nodo i son (xi, yi, 0).
Restricción de parámetros:
n>3
Y
n
1
2
3
X
34
Manual de Referencia GDL de ArchiCAD
Capítulo 4: Formas Planas en 3D
POLY_
n, x1, y1, mask1, . . . xn, yn, maskn
Similar a la declaración 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 vértice.
maski = -1 se usa para definir huecos directamente. Ver PRISM_ en
el Capítulo 3.2 para más detalles.
Restricción de parámetros:
n>3
Y
n
1
2
3
X
Y
n
1
2
3
X
PLANE
n, x1, y1, z1, . . . xn, yn, zn
Polígono con n aristas en un plano arbitrario. Las coordenadas de
cada nodo i son (xi, yi, zi). El polígono debe ser plano de cara a
obtener un rendering correcto, pero el intérprete no comprueba
esta condición.
Restricción de parámetros:
n>3
PLANE_
n, x1, y1, z1, mask1, . . . xn, yn, zn, maskn
Similar a la declaración PLANE normal, pero se puede omitir
cualquiera de las aristas como en la declaración POLY_.
Restricción de parámetros:
n>3
Manual de Referencia GDL de ArchiCAD
35
Capítulo 4: Formas Planas en 3D
CIRCLE
r
Círculo en el plano x-y con su centro en el origen y un radio r.
r
ARC
r, alpha, beta
Arco (en modo Alámbrico) / 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 están en grados.
Y
ta
be
alpha
X
36
Manual de Referencia GDL de ArchiCAD
Capítulo 5: Formas Tridimensionales
5
Formas Tridimensionales
Manual de Referencia GDL de ArchiCAD
37
Capítulo 5: Formas Tridimensionales
5.1 Formas básicas
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, están a lo largo de los ejes x, y, z,
respectivamente.
Valores cero crean bloques degenerados (rectángulos o líneas).
Restricción de parámetros:
a, b, c > 0
Z
a
c
b
Y
X
CYLIND
h, r
Cilindro recto, coaxial con el eje z con altura h y radio r.
Si h es cero, se genera un círculo en el plano x-y.
Si r es cero, se genera una línea a lo largo del eje z.
Z
h
r
Y
X
38
Manual de Referencia GDL de ArchiCAD
Capítulo 5: Formas Tridimensionales
SPHERE
r
Esfera con su centro en el origen y radio r.
Z
r
Y
X
ELLIPS
h, r
Medio elipsoide. Su sección transversal en el plano x-y es un
círculo con radio r, centrado en el origen. La longitud del semieje z
es h.
h
Z
r
Y
X
Ejemplo:
ELLIPS r, r
Manual de Referencia GDL de ArchiCAD
! hemisferio
39
Capítulo 5: Formas Tridimensionales
CONE
h, r1, r2, alpha1, alpha2
Tronco de cono, donde alpha1 y alpha2 son los ángulos de
inclinación de las superficies en los extremos del eje z, r1 y r2 son
los radios de los círculos 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 están en grados.
Restricción de parámetros:
0 < alpha1 < 180° y 0 < alpha2 < 180°
Z
Z
2
ha
alp
r2
h
alp
ha
r1
1
Y
Y
X
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 parámetros
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 polígono
está por debajo del plano x-y.
Restricción de parámetros:
n>3
h
Z
Y
n
X
40
2
1
Manual de Referencia GDL de ArchiCAD
Capítulo 5: Formas Tridimensionales
PRISM_
n, h, x1, y1, mask1, . . . xn, yn, maskn
Similar a la declaración PRISM, pero puede omitirse cualquiera de
las aristas y caras horizontales.
Restricción de parámetros:
n>3
Z
j3
X
Y
j4
j2
i
j1
i+1
El número 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 números j1, j2, j3, j4 representan dónde los vértices y la cara
están presentes (1) o se omiten (0).
j1 : arista horizontal inferior
j2 : arista vertical
j3 : arista horizontal superior
j4 : cara
j7 : valor especial adicional efectivo sólo cuando j2 es 1 y controla el
punto de vista en función de la visibilidad de la arista vertical
actual.
j2 = 0: la arista vertical es siempre invisible
j2 = 1 y j7= 1: la arista vertical sólo es visible cuando es un
contorno aparente desde la actual dirección de vista
j2 = 1 y j7 = 0: la arista vertical siempre es visible
Manual de Referencia GDL de ArchiCAD
41
Capítulo 5: Formas Tridimensionales
Valores de mask (las líneas gruesas denotan aristas visibles) :
invisible surface
visible surface
0
8
1
9
2
10
3
11
4
12
5
13
6
14
7
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. También se usa para indicar el final de un contorno de
hueco y el principio de otro. Las coordenadas anteriores a este valor
deben ser idénticas 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
parámetros debe ser -1, indicando el final del último hueco.
Los huecos no deben estar conectados. Se prohiben intersecciones
internas del polígono 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
Capítulo 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
Capítulo 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
Capítulo 5: Formas Tridimensionales
CPRISM_
topmat, botmat, sidemat,
n, h, x1, y1, mask1, . . . xn, yn, maskn
Extensión de la declaración PRISM_ , los primeros 3 parámetros se
usan para el nombre/índice de material de las superficies superior,
inferior y lateral. Los otros parámetros son los mismos que en la
declaración PRISM_ anterior.
Restricción de parámetros:
n>3
Ver también la declaración MATERIAL en el Capítulo de "Atributos"
y la descripción de la función IND en el Apéndice.
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
! genérico.
! T_ es una variable
! global (un índice
! de material)
! fin del contorno
! fin del primer hueco
! fin del segundo hueco
45
Capítulo 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 parámetro 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 tendrán dirección 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
Capítulo 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
Capítulo 5: Formas Tridimensionales
FPRISM_
topmat, botmat, sidemat, hillmat,
n, thickness, angle, hill_height,
x1, y1, mask1,
...
xn, yn, maskn
Similar a la declaración PRISM_ con los parámetros adicionales
hillmat, angle y hill_height. Sobre el prisma recto se añade una
parte suavizada.
hillmat:
el material de la cara de la parte suavizada
angle:
el ángulo de inclinación de las aristas suavizadas.
Restricción: 0 < angle < 90. Si el ángulo = 0 las
aristas suavizadas se ven en proyección ortogonal
como un cuarto de círculo con una resolución
especificada por el comando RESOL.
hill_height:
la altura de la parte suavizada. Observe que el
parámetro thickness representa la altura total del
FPRISM.
Restricción de parámetros:
n>3
Maski = -1 se usa para definir huecos directamente en el prisma.
Vea su descripción en PRISM_ .
hill_height
n
angle
thickness
1
2
48
Manual de Referencia GDL de ArchiCAD
Capítulo 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
Capítulo 5: Formas Tridimensionales
SPRISM_
topmat, botmat, sidemat,
n, xb,yb, xe, ye, h, angle,
x1, y1, mask1, . . . xn, yn, maskn
Extensión de la declaración CPRISM_ con la posibilidad de tener
un polígono superior no paralelo al plano x-y. La definición del
plano superior es similar a la definición de plano en la declaración
CROOF_. La altura del prisma se define en la línea de referencia. La
intersección de los polígonos superior e inferior está prohibida.
Parámetros adicionales:
xb, yb, xe, ye: línea de referencia (vector) coordenadas iniciales y finales,
angle:
ángulo de rotación del polígono superior alrededor de
la línea de referencia dada, en grados (antihorario)
Nota: todas las coordenadas z calculadas de los nodos del polígono
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
Capítulo 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 polígonos planos girados sobre un eje
paralelo con el plano x-y. Pueden usarse valores de h negativos. En
este caso, la segunda base del polígono está por debajo de la dada.
No se comprueba si los puntos están realmente en un plano. Los
vértices no contenidos en el plano darán colores propios/
renderings extraños.
Restricción de parámetros:
n>3
Z
Y
X
SLAB_
n, h, x1, y1, z1, mask1, . . . xn, yn, zn, maskn
Similar a la declaración SLAB, pero pueden omitirse cualquiera de
las aristas y caras horizontales. Esta declaración es una analogía de
la declaración PRISM_ .
CSLAB_
topmat, botmat, sidemat,
n, h, x1, y1, z1, mask1, . . . xn, yn, zn, maskn
Extensión de la declaración SLAB_ ; los primeros 3 parámetros se
usan para el nombre/índice de material de las superficies superior,
inferior y lateral. Los otros parámetros son los mismos que en la
declaración SLAB_ anterior.
Ver también la declaración MATERIAL en el Capítulo de Atributos y
la función IND en el Apéndice.
Manual de Referencia GDL de ArchiCAD
51
Capítulo 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 también la declaración MATERIAL en el Capítulo de
Atributos y la función IND en el Apéndice.
La línea de referencia del muro se transforma siempre coincidiendo
con el eje x. Las caras del muro están en el plano x-z.
height :
Altura del muro en relación a su base.
x1, x2, x3, x4 :
Proyección de los extremos del muro sobre el plano x-y,
como se ve a continuación. 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 polígono y se
generan ‘marcos’ alrededor de los huecos.
52
Manual de Referencia GDL de ArchiCAD
Capítulo 5: Formas Tridimensionales
t
Y
X
x1
x4
x3
x2
mask1, mask2, mask3, mask4 :
Controlan la visibilidad de aristas y caras de los polígonos.
maski = j1 + 2*j2 + 4*j3 + 8*j4
donde j1, j2, j3, j4 pueden ser 0 or 1.
Los números j1, j2, j3, j4 representan cuándo los vértices y la cara
están presentes (1) o se omiten (0).
Z
mask 3
Y
mask 2
mask 4
j3
j2
j4
j1
X
mask 1
n:
el número de aberturas en el muro.
xbegi, loweri, xendi, upperi :
coordenadas de las aberturas como sigue.
i
xbeg
xend
i
lower
i
upper
i
height
Z
X
Manual de Referencia GDL de ArchiCAD
53
Capítulo 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 números
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
ilustración siguiente.
Z
j3
j7
j2
j4
j1
j6
j8
j5
Y
X
Una arista que sea perpendicular a la superficie del muro es visible
si existen bordes visibles dibujados desde sus dos puntos extremos.
m:
número de los planos de corte.
ai, bi, ci, di :
coeficientes de la ecuación que define el plano de corte
[ai*x + bi*y + ci*z = di].
Partes de la cara positiva del plano de corte que serán
cortadas y eliminadas (p.e. ai*x + bi*y + ci*z > di).
[ai, bi, ci]
54
Manual de Referencia GDL de ArchiCAD
Capítulo 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 parámetro 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 serán radiales, y las aristas verticales permanecen
verticales. La curvatura se aproxima mediante un número de
segmentos definido por la directiva RESOL, como para esferas y
cilindros. Ver CWALL_ para detalles.
Manual de Referencia GDL de ArchiCAD
55
Capítulo 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,
3
Manual de Referencia GDL de ArchiCAD
Capítulo 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
Definición de muro ampliada, basada en la misma estructura de
datos que el elemento BWALL_. Parámetros 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
Y
y4
y1
y2
y3
x1
x2
reserved1, reserved2:
Manual de Referencia GDL de ArchiCAD
x3
x4
X
reservado, siempre 0.
57
Capítulo 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
Capítulo 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:
número/índice de materiales inferior, superior y lateral
n:
el número de nodos en el polígono de cubierta
xb, yb, xe, ye:
línea de referencia (vector)
height:
la altura de la cubierta en la línea de referencia
(superficie inferior)
angle:
ángulo de rotación del plano de cubierta alrededor de
la línea 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 polígono 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 dirección de la arista del
polígono de cubierta correctamente orientado, el
ángulo de rotación antihorario es positivo.
La orientación de las aristas del polígono 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_.
Restricción de parámetros:
n>3
Manual de Referencia GDL de ArchiCAD
59
Capítulo 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
! línea de referencia (x1,y1)
! altura
! ángulo
! grosor
15,
15,
15,
15,
-1,
15,
15,
15,
-1
Manual de Referencia GDL de ArchiCAD
Capítulo 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
Capítulo 5: Formas Tridimensionales
MESH
a, b, m, n, mask,
z11, z12, . . . z1m,
z21, z22, . . . z2m,
...
zn1, zn2, . . . znm
Malla suavizada simple basada en un rectángulo con una red
equidistante. Los lados del rectángulo de base son a y b; los puntos m
y n están 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 están 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
i
m
X
a
Restricción de parámetros:
m > 2, n > 2
62
Manual de Referencia GDL de ArchiCAD
Capítulo 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
Capítulo 5: Formas Tridimensionales
ARMC
r1, r2, l, h, d, alpha
Trozo de tubo que empieza en otro tubo; parámetros de acuerdo
con la figura (las curvas de intersección se calculan y dibujan
también). Alpha está en grados.
Restricción de parámetros:
r1 > r2 + d
r1 < l * sin(alpha) - r 2 * cos(alpha)
Z
alp
ha
r2
h
l
X
r1
d
Y
X
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
Capítulo 5: Formas Tridimensionales
ARME
l, r1, r2, h, d
Trozo de tubo que empieza desde un elipsoide en el plano y-z;
parámetros de acuerdo con la figura (las curvas de intersección se
calculan y dibujan también).
Restricción de parámetros:
r1 > r2+ d
l > h*√ (1 - (r 2 - d)2 / r12)
Z
r2
h
l
d
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
Capítulo 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.
Restricción de parámetros:
r1 > r2
ha
r1
Z
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
1
1
1
1
Manual de Referencia GDL de ArchiCAD
Capítulo 5: Formas Tridimensionales
5.2 Formas generadas desde
polilíneas
Estos elementos permiten crear formas 3D complejas usando una
polilínea y una regla constructiva. Se puede girar, proyectar o
trasladar la polilínea dada. Los cuerpos resultantes generalizan
algunos elementos existentes, como PRISM_ y CYLIND.
Formas generadas desde una sola polilínea:
EXTRUDE
PYRAMID
REVOLVE
Formas generadas desde dos polilíneas:
RULED
SWEEP
TUBE
TUBEA
La primera polilínea está siempre en el plano x-y. Dos
coordenadas determinan los puntos, el tercer valor (ver a
continuación) es el status . La segunda polilínea (RULED y
SWEEP) es una curva en el espacio cuyos vértices se determinan
por tres valores coordenados.
Formas generadas desde cuatro polilíneas:
COONS
Forma generada a partir de polilíneas:
MASS
Restricciones generales para polilíneas:
Los vértices adyacentes no deben coincidir (excepto
para␣ RULED).
La polilínea no debe cortarse a sí misma (no se verifica, pero el
cálculo de ocultos y rendering serán incorrectos).
Las polilíneas pueden ser abiertas o cerradas. En el último caso,
el primer nodo debe repetirse al final de la declaración.
Manual de Referencia GDL de ArchiCAD
67
Capítulo 5: Formas Tridimensionales
Masking
Los valores de mask se usan para mostrar o esconder superficies y/
o aristas características de la forma 3D. Los valores de mask son
específicos de cada elemento y se puede encontrar una definición
más detallada en sus correspondientes secciones/capítulos.
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: sección 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 dónde un punto dado
de una polilínea dejará atrás un trazo nítido de su trayectoria de
rotación.
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 :
sólo para EXTRUDE: marca el final del polígono
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 Capítulo "Códigos de Status Adicionales para Polilíneas" se
describen códigos adicionales para segmentos tangentes y arcos. Se
reservan otros valores para futuras mejoras.
68
Manual de Referencia GDL de ArchiCAD
Capítulo 5: Formas Tridimensionales
EXTRUDE
n, dx, dy, dz, mask, x1, y1, s1, . . . xn, yn, sn
Prisma genérico que usa una polilínea en el plano x-y como base.
El vector desplazamiento entre bases es (dx, dy, dz).
Es una generalización de las declaraciones PRISM y SLAB. No es
necesario que la polilínea de base sea cerrada ni que las aristas
laterales sean perpendiculares al plano x-y. La polilínea de base
puede incluir huecos, al igual que PRISM_. Es posible controlar la
visibilidad de las aristas de contorno
n:
número de nodos de la polilínea.
mask :
controla la existencia de las caras superior, inferior y
(en el caso de una polilínea abierta) lateral.
si :
status de las aristas laterales o marca el final de un
polígono o hueco.
Restricción de parámetros:
n>2
Z
j6
j2
j3
Y
n
X
1
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
Capítulo 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 polígono cerrado o de un hueco,
y significa que el siguiente nodo será el primer
vértice 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
Capítulo 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
Capítulo 5: Formas Tridimensionales
PYRAMID
n, h, mask, x1, y1, s1, . . . xn, yn, sn
Pirámide basada en una polilínea en el plano x-y. El vértice de la
pirámide se sitúa en (0, 0, h).
n:
número de nodos de la polilínea.
mask :
controla la existencia de las caras inferior y (en el
caso de una polilínea abierta) lateral.
si :
status de las aristas laterales.
Restricciones de parámetros:
h>0
n>2
h
Z
Y
j3
n
j1
X
1
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
Capítulo 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
Capítulo 5: Formas Tridimensionales
REVOLVE
n, alpha, mask, x1, y1, s1, . . . xn, yn, sn
Superficie generada por la rotación de una polilínea definida en el
plano x-y alrededor del eje x.
n:
número de nodos de la polilínea.
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 parámetros:
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
n
j4
j6
j3
j5
alpha
j2
2
1
74
Manual de Referencia GDL de ArchiCAD
Capítulo 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 sección 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 solución es
equivalente a definir nodos adicionales; el compilador
realiza el cálculo. El algoritmo de FotoRendering no
cambia. Cuando utilice otros métodos de rendering,
tendrá el mismo efecto que usar 0.
Ejemplos:
Manual de Referencia GDL de ArchiCAD
75
Capítulo 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
Capítulo 5: Formas Tridimensionales
revolución sin código de status 2:
el mismo resultado con código 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
Capítulo 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 número de nodos. Segmentos
rectos conectan los nodos correspondientes a las dos polilíneas.
Es el único elemento de GDL que permite superponer nodos
vecinos.
n:
número de nodos de cada curva.
mask :
controla la existencia de las caras inferior, superior y
lateral y la visibilidad de las aristas de la polilíneas
generatrices. El polígono 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.
Restricción de parámetros:
n>1
Z
2
j2
j6
1
n
j3
Y
n
j1
X
1
2
78
j5
Manual de Referencia GDL de ArchiCAD
Capítulo 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 cuadrángulo
plano o dos triángulos).
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
Capítulo 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
Capítulo 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 polilínea que se desplaza siguiendo la
trayectoria curva de otra polilínea en el espacio.
La polilínea puede ser abierta o cerrada. Puede girarse y escalarse
incrementalmente en su propio plano.
El plano de la polilínea sigue la trayectoria curva. La curva en el
espacio tiene su inicio en el plano x-y. Si no se encuentra esta
condición, la curva es movida a lo largo del eje z hasta que
arranque del plano x-y.
La sección 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:
número de nodos de la polilínea.
m:
número de nodos de la trayectoria.
alpha :
incremento de la rotación de la polilínea sobre su
propio plano, desde un punto de la trayectoria hasta
el siguiente.
scale :
incremento del factor de escala de la polilínea,
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 polilínea de base.
si :
status de las aristas laterales.
x i , yi , z i :
coordenadas de los nodos de la trayectoria curva.
Restricciones de parámetros:
n>1
m>1
z 1 < z2
Manual de Referencia GDL de ArchiCAD
81
Capítulo 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 sección transversal son visibles, la
superficie está articulada.
Z
j2
j6
m
2
Y
j3
n
X
1
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
Capítulo 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
Capítulo 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 polilínea que sigue la trayectoria de
una curva en el espacio sin distorsión de la sección generatriz. Las
superficies de conexión interna pueden girar en el plano U-W del
sistema de coordenadas instantáneo 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 según la
regla de la mano derecha.
Si el eje V es vertical, la dirección W no está correctamente
definida. El eje W en el nodo previo de la trayectoria se usa para
determinar una dirección horizontal.
La sección transversal del tubo, medida en medio de los segmentos
de la trayectoria es siempre igual al polígono de base (u1, w1, ... un,
wn). Las secciones en las uniones están situadas en el plano
bisector de los segmentos de unión. El polígono de base debe estar
cerrado.
n:
número de nodos de la polilínea.
m:
número de nodos de la trayectoria.
ui, w i :
coordenadas de los nodos de la polilínea 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 más que el
número de secciones generadas. El primer y el
último puntos determinan la posición el espacio de
la primera y la última superficies que pertenecen al
TUBE. Estos puntos sólo juegan un papel
determinando la normal de las superficies, no son
nodos actuales de la trayectoria. La orientación de
las superficies es la misma que la de las superficies
84
Manual de Referencia GDL de ArchiCAD
Capítulo 5: Formas Tridimensionales
que se generarían en los nodos más cercanos a los
dos extremos, si el TUBE continuara en las
direcciones indicadas por ellos.
anglei
ángulo de rotación de la sección 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 sección transversal (excepto las
líneas de conexión de caras coplanares) son
visibles, la superficie está articulada.
Restricciones de parámetros:
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
Capítulo 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
Capítulo 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
Capítulo 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
Capítulo 5: Formas Tridimensionales
TUBEA
n, m, mask,
u1, w1, s1,
...
un, wn, sn,
x1, y1, z1,
...
xm, ym, zm
2
n
1
m
m-1
1
bisector plane
TUBEA es una superficie generada por una polilínea que se
desplaza a lo largo de una trayectoria curva en el espacio, con un
algoritmo diferente a la declaración TUBE.
La sección generada en cada unión de la trayectoria es igual al
polígono de base (u1, w1, ... un, wn) y está situada en el plano
bisector de las proyecciones de los segmentos de unión sobre el
plano x-y local. El polígono de base puede estar abierto: en este
caso las secciones se generarán de manera que alcancen el plano
x-y local, como en el caso de las superficies REVOLVE.
La sección transversal del tubo, medida en el medio de los
segmentos de trayectoria puede ser distinta al polígono de base.
Ejemplos:
Manual de Referencia GDL de ArchiCAD
89
Capítulo 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
Capítulo 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 límite (x1, y1, z1) visibles.
j4 (8):
aristas del 2º límite (x2, y2, z2) visibles.
j5 (16):
aristas del 3er límite (x3, y3, z3) visibles.
j6 (32):
aristas del 4º límite (x4, y4, z4) son visibles.
j7 (64):
aristas de superficie visibles, la superficie suavizada.
Restricciones de parámetros:
n, m > 1
Z
Y
1(n)
4(m)
2(n)
3(m)
X
Manual de Referencia GDL de ArchiCAD
91
Capítulo 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
Capítulo 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
Capítulo 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 número de nodos en el polígono de base
m:
el número 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 declaración 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 están 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 parámetros:
n > 3, m > 0
m-1
m
n
1
2
dz plane
94
Manual de Referencia GDL de ArchiCAD
Capítulo 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
Capítulo 5: Formas Tridimensionales
5.3 Elementos para la
Visualización
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
máxima dentro del tronco de cono de ángulo alpha y disminuye
hasta cero en el tronco de cono de ángulo beta. Esta disminución se
controla por el parámetro angfalloff. (Cero da a la luz un contorno
nítido, 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 parámetro distfalloff controla la caída de intensidad en
función de la distancia. (Un valor cero significa una intensidad
constante, valores mayores se usan para caídas más fuertes.)
Las transformaciones GDL afectan solo al punto inicial y a la
dirección de la luz.
El parámetro 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
Capítulo 5: Formas Tridimensionales
Restricciones de parámetros:
alpha < beta < 80°
Combinaciones de parámetros 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 parámetros shadow y angfalloff se ignoran,
suponiéndoles 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
Diálogo de edición de Lámparas en ArchiCAD:
Manual de Referencia GDL de ArchiCAD
97
Capítulo 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 parámetros alpha y beta
98
Manual de Referencia GDL de ArchiCAD
Capítulo 5: Formas Tridimensionales
PICTURE
expression, a, b, mask
Elemento de imagen para FotoRendering.
La expresión indica un nombre de archivo, una expresión
numérica 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 imágenes pueden guardarse en
objetos de biblioteca sólo al guardar el proyecto o elementos
seleccionados conteniendo imágenes como Objetos ArchiCAD.
La figura del fichero de referencia encaja en un rectángulo tratado
como un RECT en cualquier otro método de proyección 3D.
mask = alpha + distortion
alpha :
control del canal alpha
0 : no se usa canal alpha, la figura es un rectángulo
1 : se usa canal alpha, partes de la figura pueden ser
transparentes.
distortion :
control de distorsión
0 : encaja la imagen en un rectángulo dado
2 : encaja la imagen en el centro de un rectángulo
usando las proporciones naturales de la imagen
4 : llena el rectángulo con la imagen en posición
central usando sus proporciones naturales
Manual de Referencia GDL de ArchiCAD
99
Capítulo 5: Formas Tridimensionales
5.4 Elemento de Texto
TEXT
d, 0, expression
Una representación 3D en el estilo definido del valor de un texto o
expresión de tipo numérico. Ver DEFINE STYLE y SET STYLE en el
capítulo "Atributos".
d: grosor de los caracteres en metros
En esta versión de GDL, el segundo parámetro 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"
Observación: 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
Capítulo 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 información para ejecutar un corte 3D
proviene de la información de conexión
El indexado empieza con 1, y cada nuevo cuerpo o una
declaración BASE reinicia el índice a 1. Para cada arista, se
almacenan los índices de polígonos adyacentes (máximo 2). La
orientación de las aristas se define por los dos vértices
determinados como primero y segundo.
Los polígonos son listados de aristas con una orientación
incluyendo los índices de las aristas. Estos números pueden tener
un prefijo negativo. Esto significa que la arista dada se usa en
dirección opuesta. Los polígonos 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
polígonos. En el caso de cuerpos cerrados, la orientación de los
polígonos es correcta si la arista tiene distintos prefijos en la lista de
aristas de los dos polígonos
Los vectores normales a los polígonos se almacenan
separadamente. En el caso de cuerpos cerrados, señalan del
interior al exterior del cuerpo. La orientación de la lista de aristas es
antihoraria (matemáticamente positiva), si se mira desde el exterior.
La orientación de los huecos es opuesta al polígono relativo. Los
vectores normales a un cuerpo abierto deben señalar a la misma
cara del cuerpo.
Para determinar el interior y el exterior de los cuerpos, estos deben
estar cerrados. Una definición simple para un cuerpo cerrado es la
siguiente: cada arista tiene exactamente dos polígonos adyacentes.
La eficiencia de los algoritmos de corte, líneas ocultas o rendering
es menor para cuerpos abiertos. Cada elemento tridimensional
compuesto con parámetros regulares es un cuerpo cerrado en la
estructura de datos interna 3D.
La búsqueda de la línea de contorno se basa en los bits de status de
las aristas y sus polígonos adyacentes. Esto de define
automáticamente 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
Capítulo 5: Formas Tridimensionales
En el caso de una definición 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 búsqueda de polígonos adyacentes por las aristas se hace
durante la ejecución de la declaración de cuerpo.
La numeración de VERTs, EDGEs, VECTs y PGONs es relativa a la
última declaración de BASE (implícita o explícita.
Los valores de status se usan para almacenar información especial
sobre las primitivas. Cada bit individual tiene habitualmente un
significado independiente en el status, pero hay algunas
excepciones.
Valores dados pueden añadirse juntos. Otras combinaciones de bits
que las dadas a continuación están estrictamente reservadas para
uso interno. El valor por omisión 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
Extensión de la declaración VERT incluyendo una definición de
coordenadas de textura. Puede usarse en lugar de la declaración
VERT se precisan coordenadas de textura definidas por el usuario
en lugar de las texturas automáticas de ArchiCAD (ver la
declaración COOR).
x, y, z: coordenadas de un nodo
u, v:
coordenadas de textura del nodo
(u, v) deben especificarse coordenadas para cada vértice del
cuerpo actual y cada vértice debe tener sólo una coordenada de
textura. Si las declaraciones VERT y TEVE se mezclan en una
definición de cuerpo, las coordenadas (u,v) no son efectivas.
Nota: las coordenadas de textura (u, v) sólo son efectivas en
FotoRenderings, pero no para mapeado de tramas vectoriales.
102
Manual de Referencia GDL de ArchiCAD
Capítulo 5: Formas Tridimensionales
VECT
x, y, z
Definición del vector normal a un polígono por 3 coordenadas. En
el caso de definición simplificada (PGON.ivect␣ =␣ 0) estas
declaraciones pueden omitirse.
EDGE
vert1, vert2, pgon1, pgon2, status
Definición 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 polígonos 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
Capítulo 5: Formas Tridimensionales
PGON
n, ivect, status, edge1, edge2, . . . edgen
n:
número 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 análisis.
Los índices edge1, edge2, . . . edgen deben referirse a EDGEs
previamente definidos. Un valor 0 significa el inicio o el final de
una definición de hueco.
Un índice negativo cambia la dirección de un vector normal o arista
almacenados a la opuesta en el polígono. (El vector o la arista
almacenados no cambian; otros polígonos pueden referirse a ellos
usando la orientación original con un índice positivo.)
Bits de status:
1
polígono invisible.
2
polígono en una superficie curva.
16
polígono cóncavo.
32
polígono con hueco(s).
64
hueco(s) convexo (s)
(sólo junto con 32).
Bits de status reservados para uso futuro:
4
primer polígono de una superficie curva
(sólo junto con 2).
8
último polígono de una superficie curva
(sólo junto con 2).
Si el valor de status es negativo, ArchiCAD calculará el status del
polígono (tal como polígono cóncavo o con hueco).
n = 0 se permite para usos especiales.
104
Manual de Referencia GDL de ArchiCAD
Capítulo 5: Formas Tridimensionales
PIPG
filename, a, b, mask, n, ivect, status, edge1, edge2, . . . edgen
Definición de polígono de imagen. Los primeros 4 parámetros 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 proyección.
Modos de envolver:
1:
plano
2:
cúbico
3:
cilíndrico
4:
esférico
5:
igual que el mapeado cilíndrico, pero al
renderizar las superficies superior e inferior
tendrán un mapeado circular.
Tipos de proyección:
256 : el relleno empieza siempre en el origen del
sistema de coordenadas local
1024 : proyección cuadrática de la textura
(recomendado)
2048 : proyección lineal de la textura basada en la
distancia promedio
4096 : proyección lineal de la textura basada en la
triangulación normal
Los 3 valores anteriores sólo son efectivos
con definiciones propias de coordenadas de
texturas (ver la declaración 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 sólo para
definir un sistema de coordenadas local.
Manual de Referencia GDL de ArchiCAD
105
Capítulo 5: Formas Tridimensionales
Ejemplo de ejes de textura propios:
Z
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
Capítulo 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).
4
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 preselección
automática.
64
el cuerpo nunca arroja sombras.
Si ni 32 ni 64 están definidos, se efectúa la preselección automática
de sombras. Ver SHADOW en el Capítulo "Atributos".
Si el valor de status es negativo, ArchiCAD calculará el status del
cuerpo.
Ejemplo:
Z
5
6
8
7
1
4
Y
3
2
X
Manual de Referencia GDL de ArchiCAD
107
Capítulo 5: Formas Tridimensionales
1: Descripción 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
1
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
Capítulo 5: Formas Tridimensionales
2: (no hay referencia directa a los polígonos 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,
8
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 geométricos del nivel
bajo declaraciones (VERT, VECT, EDGE y PGON). Utilizado
implícitamente después de cada definición de elemento
compuesto.
Manual de Referencia GDL de ArchiCAD
109
Capítulo 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 vértices, vectores, aristas, polígonos, cuerpos y
materiales se lee desde una sección 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 sección 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
omisión.
sección:
índice de la parte binaria del 1 al 16.
Utilizando 0 para la sección de índice, puede referirse
simultáneamente a todas las partes binarias existentes.
Sólo las secciones con un valor de índice de 1 pueden guardarse
desde dentro de GDL, los comandos BINARY sin los argumentos
de sección también se refieren a éste. Los otras secciones
indexadas se utilizarán 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 convertirán a
formato binario.
Es posible guardar un Elemento de Biblioteca en formato binario a
través del comando Abrir Item de Biblioteca del menú Archivo.
110
Manual de Referencia GDL de ArchiCAD
Capítulo 5: Formas Tridimensionales
Puede guardar desde la ventana de edición principal del Objeto de
Biblioteca a través del comando Guardar como… Si el recuadro
Guardar en formato binario está marcado en el diálogo Guardar
como… el texto GDL del Objeto de Biblioteca actual será sustituido
por una descripción binaria.
Truco: Guardar el modelo 3D después de una operación de corte
3D permite guardar el modelo seccionado. De este modo podrá
crear formas truncadas.
Puede guardar su Objeto de Biblioteca en formato binario sólo si el
modelo 3D ya ha sido generado, es decir, cuando haya visto la
vista 3D al menos una vez.
Sustituyendo la descripción GDL del Objeto de Biblioteca por una
descripción binaria puede reducirse considerablemente el tiempo
de conversión a 3D del objeto.
Por otra parte, la descripción 3D binaria no es paramétrica y ocupa
mayor espacio en disco que un algoritmo programado en GDL.
Manual de Referencia GDL de ArchiCAD
111
Capítulo 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 números de parámetros.
CUTPLANE tiene:
Sin Parámetros: plano x-y
1 parámetro: el plano de corte cruza el eje x, el ángulo está entre
el plano de corte
2 parámetros: el plano de corte es paralelo al eje z, cruza el eje x y
el y sobre lo valores dados
3 parámetros: cruza ejes x, y , z sobre los valores dados
4 parámetros: los tres primeros parámetros anteriores
side = 0:
borra partes encima del plano de corte (por omisión)
side = 1:
borra partes bajo el plano de corte; en caso de x-y,
x-z, y-z, las partes en la dirección negativa del eje.
El corte (sin el parámetro side ) borra partes encima del plano de
corte. Si los tres primeros parámetros 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
dirección positiva del tercer eje se borrarán.
Puede añadirse cualquier número y clase de comandos entre
CUTPLANE y CUTEND. Los macros pueden contener CUTPLANEs.
Los parámetros 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
Capítulo 5: Formas Tridimensionales
definir el CUTPLANE como sea necesario, después 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 sólo a las formas del macro, incluso
si CUTEND se pierde.
Si se llama un macro entre CUTPLANE y CUTEND, las formas del
macro se cortarán.
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 borrarán todas las formas. Por eso siempre recibe
un mensaje de aviso en referencia a los CUTENDs perdidos.
- Si la transformación utilizada solamente para colocar el
CUTPLANE no se borra, puede pensar que CUTPLANE está en
una posición 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
Capítulo 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
Capítulo 5: Formas Tridimensionales
CUTPOLY
n,
x1, y1, . . . xn, yn
[, x, y, z]
[stmt1
stmt2
...
stmtn]
CUTEND
Similar al comando CUTPLANE, los parámetros de CUTPOLY se
refieren al sistema de coordenadas actual. El polígono debe ser
convexo y no puede tener auto-intersección. La dirección de corte
es el eje Z o puede especificarse un vector opcional (x, y, z)
Los parámetros definen un "tubo" infinito: el polígono es la sección
transversal del tubo, la dirección de corte es la dirección 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
Capítulo 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,
A
Manual de Referencia GDL de ArchiCAD
Capítulo 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
Capítulo 5: Formas Tridimensionales
CUTPOLYA
n, status, d,
x1, y1, mask1, . . . xn, yn, maskn
[, x, y, z]
[stmt1
stmt2
...
stmtn]
CUTEND
Similar a la definición CUTPOLY, pero con la posibilidad de
controlar la visibilidad de las aristas de los polígonos generados. La
forma de corte es un tubo semi-infinito con la sección 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
polígonos generados
2: los polígonos de corte generados se tratarán como
polígonos 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 declaración PRISM_
maski = j1 + 2 * j2 + 4 * j3
118
Manual de Referencia GDL de ArchiCAD
Capítulo 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
Capítulo 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
Capítulo 6: Formas Bidimensionales
6
Formas Bidimensionales
Manual de Referencia GDL de ArchiCAD
121
Capítulo 6: Formas Bidimensionales
6.1 Elementos de Dibujo
HOTSPOT2
x, y
Y
(x, y)
X
LINE2
x1, y1, x2, y2
(x2, y2)
Y
(x1, y1)
X
RECT2
x1, y1, x2, y2
(x2, y2)
Y
(x1, y1)
X
122
Manual de Referencia GDL de ArchiCAD
Capítulo 6: Formas Bidimensionales
POLY2
n, framefill, x1, y1, .... xn, yn
Polígono abierto o cerrado con n bordes.
Restricciones de parámetros:
n>2
Y
n
2
1
X
framefill = j1 + 2*j2 + 4*j3
donde j1, j2, j3 pueden ser 0 or 1.
POLY2_
j1 (1):
sólo contorno
j2 (2):
sólo relleno
j3 (4):
cerrar un polígono abierto.
n, framefill, x1, y1, mask1, .... xn, yn, maskn
Similar a la declaración normal POLY2, pero se puede omitir
cualquiera de los bordes. Si maski = 0, se omitirá el borde que arranca
del vértice (xi, yi) . Si maski = 1, se mostrará el vértice. maski = 1 se usa
para definir huecos directamente. Ver PRISM_ para más detalles.
Restricciones de parámetros:
n>2
Y
n
1
2
X
Manual de Referencia GDL de ArchiCAD
123
Capítulo 6: Formas Bidimensionales
framefill = j1 + 2*j2 + 4*j3
donde j1, j2, j3 pueden ser 0 or 1.
j1 (1):
sólo contorno
j2 (2):
sólo relleno
j3 (4):
cerrar un polígono 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 parámetros
adicionales: la pluma y el relleno. El resto de parámetros son
similares a los descritos en la declaración 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 están en grados.
be
Y
ta
r
alpha
(x, y)
X
124
Manual de Referencia GDL de ArchiCAD
Capítulo 6: Formas Bidimensionales
CIRCLE2
x, y, r
Círculo con centro en (x, y), y radio r.
r
Y
(x, y)
X
SPLINE2
n, status, x1, y1, angle1,…, xn, yn, anglen
Restricción:
n≥2
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
n
X
Valores de status:
0:
por defecto
1:
spline cerrada, el primer y último nodos de la spline
estarán conectados, cerrando así la spline
2:
spline autosuavizada, el valor del parámetro 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
Capítulo 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
Capítulo 6: Formas Bidimensionales
SPLINE2_A
n, status,
x1, y1, angle1, lenPrev1, lenNext1,
...
xn, yn, anglen, lenPrevn, lenNextn
len
Ne
xti
Extensión de la declaración SPLINE2 (spline de Bézier), usada
principalmente en generación automática de scripts 2D a causa de
su complejidad (para más detalles, vea el Manual de Referencia de
ArchiCAD).
len
Pr
ev
i
angle i
Y
i
(x i ,yi )
1
n
X
Códigos de status:
0:
Por defecto
1:
spline cerrada, el primer y último nodos de la spline
estarán conectados, cerrando así la spline
2:
spline autosuavizada, los valores de los parámetros
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 dirección de la tangente
127
Capítulo 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 expresión indica un nombre de archivo, una expresión
numérica, 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 imágenes solamente pueden
guardarse en objetos al guardar el proyecto o elementos
seleccionados conteniendo imágenes como Objetos de ArchiCAD.
128
Manual de Referencia GDL de ArchiCAD
Capítulo 6: Formas Bidimensionales
6.2 Elemento de Texto
TEXT2
x, y, expression
El valor de un cálculo numérico o de texto, escrito en el estilo
definido en las coordenadas x, y.
Y
ArchiCAD
(x,y)
X
Manual de Referencia GDL de ArchiCAD
129
Capítulo 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 línea y
tipo de trama definido para él
1:
FRAGMENT2
Los ajustes del script se usan en lugar del color, tipo
de línea 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 línea y
tipo de trama definido para él
1:
130
Los ajustes del script se usan en lugar del color, tipo
de línea y tipo de trama del fragmento
Manual de Referencia GDL de ArchiCAD
Capítulo 6: Formas Bidimensionales
6.4 Proyecciones 3D en 2D
PROJECT2
projcode, angle, method
Crea una proyección del script 3D en el mismo elemento de
biblioteca y añade las líneas generadas la símbolo paramétrico 2D.
projcode:
3:
Vista superior
4:
Vista lateral
6:
Axonometría frontal
7:
Axonometría isométrica
8:
Axonometría monométrica
9:
Axonometría dimétrica
-3:
-6:
-7:
-8:
-9:
angle:
Vista Inferior
Frontal inferior
Isométrica inferior
Monométrica inferior
Dimétrica inferior
ángulo de azimut definido en el diálogo de
proyección 3D.
method:
1:
2:
Manual de Referencia GDL de ArchiCAD
alámbrico
opaco analítico
131
Capítulo 6: Formas Bidimensionales
6.5 Dibujos en la Lista
Estos comandos sólo 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 Lámpara) 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 proyección del script 3D del objeto
asociado con el objeto de propiedades que contiene este comando.
Todos los parámetros son similares a los de PROJECT2.
132
Manual de Referencia GDL de ArchiCAD
Capítulo 7: Códigos de status adicionales para polilíneas planas
7
Códigos de status
adicionales para polilíneas
planas
Manual de Referencia GDL de ArchiCAD
133
Capítulo 7: Códigos de status adicionales para polilíneas planas
Las polilíneas planas con códigos 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 resolución de los arcos se controla mediante directivas descritas
en el capítulo "Atributos".
En el caso de la declaración POLY2_ , si la resolución es mayor que
8, se generan arcos reales, si no todos los arcos generados estarán
segmentados.
Los siguientes códigos adicionales de mask/status le permiten crear
segmentos y arcos en la polilínea usando coacciones especiales. Se
refieren al siguiente segmento o arco. Los códigos de mask/status
originales sólo son efectivos donde están especificados (se incluye
"+s" después del código adicional).
134
Manual de Referencia GDL de ArchiCAD
Capítulo 7: Códigos de status adicionales para polilíneas planas
Parte previa de la polilínea: se definen posición actual y tangente.
x,y
0
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
Capítulo 7: Códigos de status adicionales para polilíneas planas
l
a
200
Segmento por longitud y dirección
l, a, 200+s,
donde 0 < s < 100
l
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
Capítulo 7: Códigos de status adicionales para polilíneas planas
700
Cerrar polilínea
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
Capítulo 7: Códigos de status adicionales para polilíneas 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
Capítulo 7: Códigos de status adicionales para polilíneas planas
4000
a
Arco usando centro y ángulo
0, a, 4000+s,
donde 0 < s < 100
r
4000
Círculo completo usando centro y radio
r, 360, 4000+s,
donde 0 < s < 100
En este caso, el status s se refiere a todo el círculo
Todos los valores de ángulos están en grados. Las coordenadas
omitidas marcadas con 0 (para códigos 300, 700, 4000) pueden
tener cualquier valor.
Manual de Referencia GDL de ArchiCAD
139
Capítulo 7: Códigos de status adicionales para polilíneas 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, ! círculo completo usando centro
! y radio
900, ! definir centro
4001 ! círculo completo usando centro
! y radio
Manual de Referencia GDL de ArchiCAD
Capítulo 7: Códigos de status adicionales para polilíneas 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
Capítulo 7: Códigos de status adicionales para polilíneas 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
Capítulo 8: Atributos
8
Atributos
Manual de Referencia GDL de ArchiCAD
143
Capítulo 8: Atributos
8.1 Directivas
Estas directivas influyen en la interpretación 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 suavización de
los elementos cilíndricos 3D (CIRCLE, ARC, CYLIND, SPHERE,
ELLIPS, CONE, ARMC, ARME, ELBOW, REVOLVE) y de los arcos en
polilíneas 2D que usan bordes curvos (ver el capítulo "Códigos de
Status Adicionales para Polilíneas Planas).
Directivas Usadas en Scripts 3D y
2D
[LET]
varnam = n
Asignación de valor. La directiva LET es opcional. La variable
almacenará el valor evaluado de n.
RADIUS
rmin, rmax
Define la suavización de elementos cilíndricos y arcos en
polilíneas.
Un círculo de radio r se representa:
si r < rmin, por un hexágono,
si r > rmax, por un polígono de 36 caras,
si rmin < r < rmax, por un polígono de (6+30*(r–rmin)/(rmax–
rmin)) caras.
La conversión del arco es proporcional a ésto.
Tras una declaración RADIUS, las declaraciones previas RESOL y
TOLER pierden su efecto.
Restricciones de parámetros:
rmin < rmax
144
Manual de Referencia GDL de ArchiCAD
Capítulo 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 suavización de los elementos cilíndricos. Los círculos se
convierten en polígonos regulares de n caras.
La conversión del arco es proporcional a ésto.
Tras una declaración RESOL, las declaraciones previas RADIUS y
TOLER pierden su efecto.
Restricción de parámetros:
n>3
Por omisión:
RESOL 36
Ejemplos:
n>3
RESOL 5
CYLIND 3.0, 1.0
TOLER
RESOL 36
CYLIND 3.0, 1.0
d
Define la suavización de los elementos cilíndricos. El error de
aproximación del arco (p.e. la mayor distancia entre un arco
teórico y la cuerda generada) será menor que d.
Tras una declaración TOLER, las declaraciones previas RADIUS y
RESOL pierden su efecto.
Manual de Referencia GDL de ArchiCAD
145
Capítulo 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.
Restricción de parámetros:
0 < n < 99
Por omisión:
PEN 1
si no hay declaración de PEN en el script.
(Para ítems de biblioteca, ArchiCAD lee valores por omisión desde
la definición del ítem de biblioteca. Si el script se refiere a un índice
inexistente, PEN 1 será la definición por omisión.)
[SET] STYLE
[SET] STYLE
name_string
index
Todos los textos generados después representarán este estilo hasta
la próxima declaración 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 análisis GDL y también puede ser modificada desde el
programa. El uso del índice en lugar del nombre del estilo se
recomienda sólo con un uso previo de la función IND descrita más
adelante.
Por omisión:
SET STYLE 0
(tipo de la aplicación, tamaño 5 mm, inserción= 1, normal) si no
hay declaración de SET STYLE en el script.
Ver también la función IND en el Capítulo 10.
146
Manual de Referencia GDL de ArchiCAD
Capítulo 8: Atributos
Directivas utilizadas sólo en scripts
3D
MODEL
MODEL
MODEL
WIRE
SURFACE
SOLID
Ajusta el modo de representación en el script actual.
MODEL WIRE : alámbrico solamente, sin superficies ni volúmenes.
Los objetos son transparentes.
MODEL␣ SURFACE, MODEL␣ SOLID : La generación de las
superficies de sección se basa en la relación de las superficies
límite, por lo que ambos métodos generan la misma estructura de
datos internos 3D. Los objetos son opacos.
La única diferencia puede verse después de haber cortado una
parte del cuerpo
MODEL SURFACE : el interior de los cuerpos será visible,
MODEL SOLID :
pueden aparecer nuevas superficies.
Por omisión:
MODEL SOLID
Para ilustrar los tres métodos 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
Capítulo 8: Atributos
[SET] MATERIAL
[SET] MATERIAL
name_string
index
Todas las superficies generadas después representarán este material
hasta la próxima declaración 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 análisis GDL y también puede ser modificada desde el
programa. El uso del índice en lugar del nombre del material se
recomienda sólo con un uso previo de la función IND.
El índice 0 tiene un significado especial: las superficies usan el
color de la pluma actual y tienen una apariencia mate.
Por omisión:
MATERIAL 0
si no hay declaración 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 también la descripción de la función IND en el Apéndice.
SHADOW
keyword1[, keyword2]
Controla la proyección 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 arrojarán
sombras en todas las circunstancias.
OFF:
todos los elementos subsiguientes no arrojarán
sombras en todas las circunstancias.
AUTO:
la proyección de sombras se determinará
automáticamente.
Si define SHADOW OFF para partes ocultas, ahorrará espacio y
tiempo de proceso.
Definir SHADOW ON asegura que incluso los menores detalles
arrojarán sombras.
El segundo control opcional controla la aparición de sombras en
superficies.
148
Manual de Referencia GDL de ArchiCAD
Capítulo 8: Atributos
SHADOW keyword1, OFF desactiva las sombras vectoriales sobre
las superficies siguientes.
SHADOW keyword1, ON reactiva las sombras vectoriales.
Por omisión:
SHADOW AUTO
SHADOW
BRICK
ADDX
SHADOW
BRICK
ADDX
SHADOW
BRICK
OFF
1,
2
ON
1,
2
OFF
1,
1,
1
1,
2
1,
3
Directivas usadas sólo en scripts 2D
[SET] FILL
[SET] FILL
name_string
index
Todos los polígonos 2D generados después serán representados
con esta trama hasta la siguiente declaración 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 análisis GDL y también puede ser modificada desde el
programa. El uso del índice en lugar del nombre de la trama se
recomienda sólo con un uso previo de la función IND.
Por omisión:
SET FILL 0
trama vacía, si no hay declaración de SET FILL en el script. Ver
también la descripción de la función IND en el Apéndice.
Manual de Referencia GDL de ArchiCAD
149
Capítulo 8: Atributos
[SET] LINE_TYPE
[SET] LINE_TYPE
name_string
index
Todas las líneas 2D posteriores mostrarán este tipo de línea (líneas,
arcos y polilíneas) hasta la próxima declaración SET LINE_TYPE.
El índice es una constante referida a una pila de tipos de línea en la
estructura de datos interna de ArchiCAD. Esta pila se modifica
durante el análisis GDL y también puede ser modificada desde el
programa. El uso del índice en lugar del nombre del tipo de línea
se recomienda sólo con un uso previo de la función IND.
Por omisión:
SET LINE_TYPE 1
línea continua, si no hay declaración SET LINE_TYPE en el script.
Ver también la descripción de la función IND en el Apéndice.
8.2 Definición de Atributos
Los atributos en ArchiCAD pueden crearse usando los diálogos de
material, trama y tipo de línea. Estos atributos de planta pueden ser
referenciados desde cualquier script GDL
Los atributos también pueden ser definidos en scripts GDL. Hay
dos casos distintos:
1. Definición 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. Definición 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 línea 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 parámetros de material, trama, tipo de línea
o estilo son correctos.
Cuando alguno de estos parámetros es diferente en la
interpretación 3D, pero no existe un mensaje de error, es posible
que uno o más parámetros sean incorrectos. El comando
Comprobar Scripts GDL le ayuda a encontrar estos parámetros con
mensajes detallados.
150
Manual de Referencia GDL de ArchiCAD
Capítulo 8: Atributos
Definición 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:
definición general, n=16
El significado de los parámetros y sus límites se
muestra en los siguientes ejemplos.
1:
definición simple, n=9
Los parámetros 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 parámetros son constantes o
calculados a partir del color.
2: mate
3: metálico
4: plástico
5: vidrio
6: incandescente
7: constante
10 : definición general, parámetro de trama n=17
11 : definición simple, parámetro de trama n=10
12-17 : tipos de materiales predefinidos con
parámetro de trama, n=4
20: definición general con trama, índice de color de
la trama e índice de los parámetros de textura, n=19
21: definición simple con trama, índice de color de
la trama e índice de los parámetros de textura, n=12
22-27: tipos de material predefinido con trama,
índice de color de trama e índice de los parámetros
de textura, n=6
Manual de Referencia GDL de ArchiCAD
151
Capítulo 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
Capítulo 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 número de pluma es cero, las tramas vectoriales se
generarán 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
Capítulo 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 sólo 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 lógica de la textura
y:
altura lógica 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 perturbación 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 conexión (j7… j9):
Si el valor es cero, se selecciona el modo normal:
y
x
154
Manual de Referencia GDL de ArchiCAD
Capítulo 8: Atributos
j7:
la textura cambiará aleatoriamente.
y
x
j8:
simetría en dirección X
y
x
j9:
simetría en dirección Y
y
x
angle: ángulo de rotación desde la orientación natural.
Ejemplo:
DEFINE TEXTURE "Brick" "Brick.PICT",
1.35, 0.3, 256+128, 35.0
Manual de Referencia GDL de ArchiCAD
155
Capítulo 8: Atributos
Definición 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
i
offsetx i X
name :
freq
i
nombre de la trama.
pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8 :
definición del patrón, 8 números entre 0 y 255
representando valores binarios. Define el aspecto
bitmap de la trama.
y
spa
*y
cing
angle
156
*x
cing
spa
x
Manual de Referencia GDL de ArchiCAD
Capítulo 8: Atributos
spacing :
factor de espaciado entre líneas - define un factor
de escala global para toda la trama. Todos los
valores serán multiplicados por este número en
ambas direcciones x e y.
angle :
ángulo de rotación global en grados
n:
número de líneas de trama
freqi :
frecuencia de la línea (la distancia entre dos líneas
es spacing␣ *␣ freqi)
diri :
ángulo de dirección de la línea en grados
offsetxi,
offsetyi :
desplazamiento de la línea desde el origen
m i,
número de partes de línea
lenij
longitud de las partes de línea (la longitud real es
spacing␣ *␣ lenij). Las partes de línea son segmentos y
espacios unos a continuación de otros. La primera
parte de línea es un segmento, una longitud cero
significa un punto.
La trama bitmap está definida sólo por los parámetros pat1...pat8 y
se usa en ArchiCAD cuando se ajusta Opciones / Opciones de
Visualización / Tramas de Polígonos / Tramas Bitmap. Para
definirla, escoja la unidad de trama más pequeña, y represéntela
como puntos y huecos usando una cuadrícula de 8x8. Los 8
parámetros de trama son representaciones decimales de los valores
binarios en las líneas de la cuadrícula (un punto es 1, un hueco es
0).
La trama vectorial (Opciones / Opciones de Visualización / Tramas
de Polígonos / Tramas Vectoriales) queda definida en la segunda
parte de la definición de trama como una colección de líneas
discontinuas repetidas con una frecuencia dada (freqi). Cada línea
de la colección se describe por su dirección (diri), su
desplazamiento desde el origen (offsetxi, offsetyi) y la definición de
línea discontinua que contiene segmentos y espacios con una
longitud dada (lenij) a continuación de cada uno.
Nota: Sólo pueden definirse en GDL tramas simples, no es posible
definir tramas de símbolos.
Manual de Referencia GDL de ArchiCAD
157
Capítulo 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
Capítulo 8: Atributos
Definición 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
i
offsetx i X
freq
i
doffset i
Declaración DEFINE FILL extendida. Parámetros adicionales:
y
cing
spa
y*y
angle
x*x
cing
spa
x
spacingx :
factor de espaciado en la dirección x
spacingy :
factor de espaciado en la dirección y
Estos dos parámetros definen un factor de escala
global para toda la trama. Todos los valores en la
dirección x serán multiplicados por spacingx y
todos los valores en la dirección y serán
multiplicados por spacingy.
Manual de Referencia GDL de ArchiCAD
159
Capítulo 8: Atributos
doffseti:
el desplazamiento del principio de la siguiente línea
de trama similar, medido a lo largo de la dirección
de la línea. Cada línea 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
Capítulo 8: Atributos
Definición de tipos de líneas
DEFINE LINE_TYPE
name spacing, n, len1, . . . lenn
Cualquier script GDL puede incluir definiciones de tipos de línea
previas a la primera referencia a dicho tipo de línea. El tipo de línea
definido de este modo puede usarse solamente en el script donde
fue definido y en sus scripts secundarios.
name :
nombre del tipo de línea.
spacing :
factor de espaciado
n:
número de partes de línea
leni :
longitud de las partes de línea (la longitud real es
spacing␣ *␣ leni). Las partes de línea son segmentos y
espacios unos a continuación de otros. La primera
parte de línea es un segmento, una longitud cero
significa un punto.
Nota: En GDL sólo pueden definirse tipos de líneas simples, es
decir, las que consisten en segmentos y espacios, no hay
posibilidad de definir líneas de símbolos.
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
Capítulo 8: Atributos
Definición 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 :
código del punto de posición en el texto
1
2
3
4
5
6
7
8
9
facecode :
slant :
162
combinación de los siguientes valores:
0
normal
1
negrita
2
cursiva
4
subrayada
8
hueca
16
sombra
ángulo en grados (solamente para tipos
PLOTMAKER y PLOTTER)
Manual de Referencia GDL de ArchiCAD
Capítulo 9: Scripts No Geométricos
9
Scripts No Geométricos
Manual de Referencia GDL de ArchiCAD
163
Capítulo 9: Scripts No Geométricos
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 parámetros y, mediante una directiva,
definir su posición en el listado de componentes final. Utilizando
algunos comandos, es posible definir en el script componentes y
descripciones locales, características familiares en las ventanas de
Propiedades de versiones anteriores de ArchiCAD. También pueden
referenciarse descripciones y componentes desde bases de datos
externas. La longitud del código no puede exceder de 32 caracteres.
En el script de Propiedades, también puede utilizar cualquier
comando GDL que no genere una forma.
DESCRIPTOR
name [,code, keycode]
Definición de descripción local. Los scripts pueden incluir
cualquier número de DESCRIPTORs.
name :
puede extenderse a más de una línea. Las nuevas
líneas pueden definirse por el carácter '\n' y los
tabuladores por '\t'. Añadiendo '\' al final de una
línea le permite continuar la secuencia en la línea
siguiente sin añadir una nueva línea. Dentro de la
secuencia, si el carácter '\' es doble (\\), perderá
su función de control y significará simplemente '\'.
La longitud máxima del texto (incluyendo caracteres
de nueva línea) es de 255 caracteres: los caracteres
adicionales serán cortados por el compilador. Si
necesita un texto más largo, use varios DESCRIPTORs.
REF DESCRIPTOR
code :
texto, define un código para la descripción
keycode :
texto, referencia a una clave en una base de datos
externa. La clave se asignará a la descripción.
code [, keycode]
Referencia por código y código llave a una
descripción en una base de datos externa.
COMPONENT
name, quantity, unit [, prop_with, code, keycode, unitcode]
Definición de componentes locales. Los scripts pueden incluir
cualquier número de COMPONENTs.
164
Manual de Referencia GDL de ArchiCAD
Capítulo 9: Scripts No Geométricos
name :
nombre del componente (max. 128 caracteres)
quantity :
cantidad, una expresión numérica
unit :
el texto usado para la descripción de unidad
prop_with :
un código entre 1-6. Al hacer un listado, la cantidad
de componentes definida anteriormente será
automáticamente 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 código 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 código y código 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 expresión numérica
opcional especificada aquí.
BINARYPROP
Referencia a datos de propiedades binarios (componentes y
descripciones) definidos en el elemento de biblioteca en la sección
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
Capítulo 9: Scripts No Geométricos
Atención: Si coloca dos o más formas en la misma posición con
los mismos parámetros, estas funciones le darán la suma total de
las superficies y volúmenes de todas las formas.
POSITION
position_keyword
Efectivo sólo en el Listado de Componentes.
Cambia el tipo sólo del elemento al que están asociados los
componentes y descripciones siguientes. Si no hay este tipo de
directivas en el script de Propiedades, los componentes y
descripciones serán 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 válida para todos los DESCRIPTORs y
COMPONENTs siguientes hasta que se asigna la siguiente directiva.
Un script puede incluir cualquier número 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
Capítulo 9: Scripts No Geométricos
9.2 El Script de Lista de Valores
Las Listas de Valores son conjuntos de posibles valores numéricos
o de texto. Pueden ser aplicados a los parámetros como se define
en el script lista de valores del elemento de biblioteca o en el script
MASTER_GDL. El tipo de parámetro 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 parámetro de tipo de lista de valores, y los posibles valores
definidos en el script aparecerán en un menú desplegable. El
comando de definición de lista es:
VALUES
name, val1 [, val2, ..., valn]
name:
nombre de los parámetros
vali :
valores posibles
Manual de Referencia GDL de ArchiCAD
167
Capítulo 9: Scripts No Geométricos
168
Manual de Referencia GDL de ArchiCAD
Capítulo10: Expresiones y Funciones
10
Expresiones y Funciones
Manual de Referencia GDL de ArchiCAD
169
Capítulo10: Expresiones y Funciones
Todos los parámetros de las formas GDL pueden ser resultado de
cálculos. 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 dirección la mitad
del tamaño del cubo, para tener el origen en el centro del cubo en
lugar de en la esquina inferior izquierda.
De cara a definir estos cálculos el GDL ofrece un amplio número
de herramientas matemáticas: expresiones, operadores y funciones.
10.1 Expresiones
Se pueden escribir expresiones compuestas en las declaraciones
GDL, que pueden ser numéricas o de texto. En los operadores hay
constantes, variables, parámetros o llamadas a función y cualquier
combinación de ellos. Se usan pares de paréntesis curvos (( ))
(precedencia 1) para anular la precedencia por defecto de los
operadores.
Las variables de tipo simple pueden ser valores numéricos y de
texto, incluso en el mismo script, y pueden usarse en expresiones
numéricas 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 línea o estilo.
Las variables con valor de texto serán tratadas como tal y pueden
ser usadas en cualquier lugar donde se requieran valores de texto.
Si más adelante en el script a la misma variable se le da un valor
numérico, será utilizable sólo en expresiones numéricas hasta que
se le dé otra vez valor de texto. En el proceso de precompilación se
comprueba el tipo de las expresiones.
El GDL soporta matrices de una y dos dimensiones. Las variables
devienen matrices después de una declaración, en la cual se
especifican sus dimensiones máximas:
DIM
var1 [dim_1], var2 [dim_1][dim_2], ...
Después de la palabra clave DIM puede haber cualquier número
de nombres de variables separados por comas. var1 yvar2 son los
nombres de matriz, los números entre paréntesis representan las
dimensiones de la matriz (constantes numéricas). Las expresiones
variables no pueden ser usadas como dimensiones.
Los parámetros de los elementos de biblioteca también pueden ser
matrices. Sus dimensiones se especifican en el diálogo del elemento.
Las matrices de parámetros no tienen que declararse en el script. Al
170
Manual de Referencia GDL de ArchiCAD
Capítulo10: Expresiones y Funciones
referenciar un elemento de biblioteca usando una declaración CALL,
el parámetro 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, sólo después de la declaración:
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 expresión
numérica o de texto, pueden ser valores numéricos o de texto
dados. Los índices empiezan con 1, y cualquier expresión numérica
puede ser usada como índice.
Los nombres de matriz no pueden ser usados después en el mismo
script como nombres de variables simples.
Si el valor de un índice actual llega a ser mayor que la dimensión
declarada o que la dimensión de parámetros, se obtendrá un
mensaje de error.
Ejemplos de expresiones numéricas:
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
! declaración
171
Capítulo10: Expresiones y Funciones
10.2 Operadores
Los operadores siguientes se enumeran en orden de precedencia
decreciente. La evaluación de una expresión empieza con el
operador de precedencia más alta y, si no, de izquierda a derecha.
Operadores aritméticos
^ (o **)
Potencia de
precedencia 2
*
Multiplicación
precedencia 3
/
División
precedencia 3
Módulo (parte restante)
precedencia 3
MOD (or %)
X MOD Y = X - Y * INT (X/Y)
+
Suma
precedencia 4
-
Resta
precedencia 4
Note: + (suma) también puede aplicarse a expresiones de texto: el
resultado es la concatenación 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 número 1 o 0. Esta
función es sensible a mayúsculas o minúsculas.
Operadores Booleanos
AND (o&)
172
y lógico
precedencia 6
OR (o |)
o lógico inclusivo
precedencia 7
EXOR (o @)
o lógico exclusivo
precedencia 8
Manual de Referencia GDL de ArchiCAD
Capítulo10: Expresiones y Funciones
El GDL usa solamente números de coma flotante, mientras que los
operadores Booleanos trabajan con números reales. Así 0.0
significa “falso”, mientras que cualquier otro número significa
“verdadero”. El valor de una expresión lógica también es real, p.e.
1.0 para “verdadero” y 0.0 para “falso”.
10.3 Funciones
Funciones Aritméticas
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 raíz 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
Capítulo10: 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).
(Negación lógica).
Funciones Estadísticas
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 función crea una secuencia de texto desde
el valor actual de la expresión numérica. El máximo número de
caracteres numéricos en el texto es len, mientras que frac
representa el número 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á vacío, se interpreta como metros, con
una precisión de tres decimales (ceros enteros).
El formatstring puede ser como el que se muestra a continuación:
174
Manual de Referencia GDL de ArchiCAD
Capítulo10: 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 más
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 mínimo número de caracteres a generar
precision: decimal entero no asignado
el número de fraccionales a generar
conv_spec (especificador de conversión):
e
- formato exponencial (metros)
m
- metros
mm
- milímetros
cm
- centímetros
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
Capítulo10: Expresiones y Funciones
para ángulos :
dd
- grados decimales
dms
- grados, minutos, segundos
gr
- grados
rad
- radianes
surv
- unidad topográfica
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)
!88°39'
("%.2dms", alpha)
!88°39'25"
("%10.4gr", alpha) ! 98.5078G
("%rad", alpha)
!1.55R
("%.2surv", alpha) !N 1°20'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
Capítulo10: Expresiones y Funciones
SPLIT
(texto, format, var1 [, var2, ..., varn])
Divide el parámetro de texto según el formato en uno o más partes
numéricas o de texto. El proceso de división se detiene cuando se
encuentra la primera parte no coincidente. Devuelve el número de
valores leídos con éxito.
texto :
el texto a dividir
format :
cualquier combinación 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 numérico.
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
Capítulo10: Expresiones y Funciones
STRLEN
(string_exp)
Devuelve la longitud de la secuencia de texto (el número de
caracteres)
STRSTR
(string_exp1, string_exp2)
Devuelve la posición de la primera aparición del segundo texto en
el primer texto. Si el primer texto no contiene al segundo, la
función devuelve 0.
STRSUB
(string_exp, begpos, numchars)
Devuelve una subsecuencia del parámetro de texto que empieza
en la posición dada por el parámetro 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
Capítulo10: 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. También pueden usarse llamadas de petición para
comunicar con extensiones GDL.
Hay dos tipos de funciones especiales: peticiones y la función 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 más detalles en el Apéndice: Funciones Especiales
Manual de Referencia GDL de ArchiCAD
179
Capítulo10: Expresiones y Funciones
180
Manual de Referencia GDL de ArchiCAD
Capítulo 11: Declaraciones de Control
11
Declaraciones de Control
Manual de Referencia GDL de ArchiCAD
181
Capítulo 11: Declaraciones de Control
11.1 Declaraciones de control de
flujo
FOR
varnam = initial_value TO end_value [ STEP step_value ]
Primera declaración 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 declaración de un bucle FOR.
La variable de bucle varía desde el initial_value hasta el end_value
en incrementos (o decrementos) del step_value en cada ejecución
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 declaración siguiendo la declaración 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 declaración NEXT después de una
declaración FOR. Está permitido salir del bucle con una declaración
GOTO (o IF ... GOTO) y volver a él, pero no está permitido entrar
un bucle saltándose la declaración FOR.
182
Manual de Referencia GDL de ArchiCAD
Capítulo 11: Declaraciones de Control
DO
WHILE
[stmt1
stmt2
...
stmtn]
condición
Las declaraciones entre las palabras claves se ejecutan mientras la
condición es verdadera.
La condición se comprueba después de cada ejecución de las
declaraciones.
WHILE
condición DO
[stmt1
stmt2
...
stmtn]
ENDWHILE
Las declaraciones entre las palabras claves se ejecutan mientras la
condición es verdadera.
La condición se comprueba antes de cada ejecución de las
declaraciones.
REPEAT
UNTIL
[stmt1
stmt2
...
stmtn]
condición
Las declaraciones entre las palabras claves se ejecutan hasta que la
condición llega a ser verdadera.
La condición se comprueba después de cada ejecución de las
declaraciones.
Manual de Referencia GDL de ArchiCAD
183
Capítulo 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
condición THEN label
condición GOTO label
condición GOSUB label
Declaración de salto condicional. Si el valor de la condición es 0 ,
el comando no tiene efecto, de otro modo, la ejecución continúa
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
Capítulo 11: Declaraciones de Control
IF
condición THEN declaración [ELSE declaración]
or
IF
condición THEN
[stmt1
stmt2
...
stmtn]
[ELSE
stmtn+1
stmtn2
...
stmtn+m]
ENDIF
Si sólo escribe un comando después de palabras clave THEN y/o
ELSE en la misma fila, no es necesario ENDIF. Un comando
después de THEN o ELSE en la misma fila significa un ENDIF
definido.
Si existe una nueva fila después de THEN, los comandos sucesivos
(todos ellos después de la palabra clave ELSE o ENDIF) sólo se
ejecutarán si la expresión en la condición es verdadera (diferente
de cero). De otra forma, los comandos que sigan a ELSE se
eliminarán. Si la palabra clave ELSE no existe, los comandos
después de ENDIF serán 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
Capítulo 11: Declaraciones de Control
GOTO
label
Declaración de salto incondicional. El programa ejecuta una rama
de la declaración 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 capítulo "Elementos Sintácticos Básicos".
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 interrupción
en el script GDL. El analizador (debugger) GDL se detendrá en este
comando si el valor del parámetro (una expresión numérica) es
verdadero (1) y está activa la opción Activar Interrupciones en el
analizador. En el modo de ejecución "normal", el intérprete GDL
simplemente pasa sobre este comando.
186
Manual de Referencia GDL de ArchiCAD
Capítulo 11: Declaraciones de Control
11.2 Manipulación del Buffer de
Parámetros
El buffer de parámetros es una estructura de datos interna que
puede utilizarse si algunos valores (coordenadas, por ejemplo)
cambian según una regla definida que puede ser descrita utilizando
una expresión matemática, si desea almacenar los valores actuales
de sus variables, o en algunos casos más.
El buffer de parámetros es una cadena infinitamente larga en
donde puede almacenar valores numéricos utilizando el comando
PUT. El comando PUT almacena los valores dados al final del
buffer. Estos valores pueden utilizarse después (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 parámetro
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
parámetros interno.
GET
(n)
Usa los siguientes n valores del buffer de parámetros interno y los
olvida.
Manual de Referencia GDL de ArchiCAD
187
Capítulo 11: Declaraciones de Control
USE
(n)
Usa los siguientes n valores del buffer de parámetros interno sin
borrarlos. Las siguientes funciones USE y GET pueden usar la
misma secuencia de parámetros.
NSP
Devuelve el número de parámetros almacenados en el buffer.
Ejemplo de uso del buffer de parámetros:
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
Capítulo 11: Declaraciones de Control
La descripción 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
Capítulo 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 más largos de 31 caracteres.
Los nombres macro pueden ser constantes de texto, variables de
texto o parámetros. No puede utilizar operaciones de texto como
un nombre macro con llamadas a macro. ¡Atención! Si se usan
variables o parámetros de texto como nombres de macro, la macro
llamada no se incluirá en el proyecto de archivo aunque esté activa
la opción "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 sólo
contiene letras, números y los caracteres '_' y '~' . En otro caso, las
comillas utilizadas en la declaración CALL deben ser las mismas al
principio y al final y deben ser diferentes de cualquier carácter del
nombre de macro.
Un nombre de macro, por sí mismo, puede utilizarse también 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 condición de que
su lista de parámetros contenga sólo parámetros de una letra
(A…Z). 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 parámetros es el
siguiente: el valor del parámetro A será el primer valor de la lista, el
valor del parámetro B será el segundo valor y así sucesivamente. Si
el macro (del ítem de biblioteca) no tiene un parámetro de letra
única correspondiente al valor, la interpretación continuará
ignorando este valor, pero recibirá un aviso del programa. No se
permiten expresiones de texto con este método.
190
Manual de Referencia GDL de ArchiCAD
Capítulo 11: Declaraciones de Control
El segundo tipo sólo puede utilizarse con elementos de biblioteca
con características plenas y no con archivos GDL textuales.
Después de la palabra clave PARAMETERS necesita listar los
nombres de parámetros 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 parámetros de tipo texto del macro
llamado. Si no se puede encontrar un nombre de parámetro en la
lista de parámetros en la llamada a macro, recibirá un mensaje de
error. A los parámetros de la macro llamada que no estén listados
en la llamada a macro se les dará su valor por omisión 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 válidas en la macro.
Puede usarlos o modificarlos, pero las modificaciones tienen un
efecto local solamente. No tendrán efecto en el nivel del que el
macro fue llamado.
Dar parámetros a una llamada a macro significa asignarlos
implícitamente en el nivel del macro.
Los parámetros 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 parámetro 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 parámetros
modificable. Por otra parte, si no desea limitar sus nombres de
parámetros de macro a letras entre A y Z, o si desea incluir textos
en la lista de parámetros, 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
Capítulo 11: Declaraciones de Control
11.4 La Declaración de Salida
PRINT
expression [, expression ]. . .
Escribe todos sus argumentos en un cuadro de diálogo. Los
argumentos pueden ser textos o expresiones numéricas de
cualquier número 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
Capítulo 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
utilización de extensiones especiales de ArchiCAD. Los archivos de
texto pueden manejarse con la extensión 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 extensión existente
filename :
texto, el nombre del archivo
paramstring : texto, contiene los caracteres específicos de
separación de la extensión operacional y el modo
de abertura. Su contenido se interpreta por la
extensión.
Abre un archivo. Su valor de retorno es un entero positivo que
identificará el archivo especificado. Este valor será el número de
referencia de archivo en las instancias sucesivas.
INPUT
(channel, recordID, fieldID, var1 [, var2,...])
recordID, fieldID :
la posición inicial de tipo texto o numérico de la
lectura, su contenido se interpreta por la extensión.
El número de parámetros dados define el número de valores desde
la posición inicial leída desde el archivo identificado por el valor de
canal. En la lista de parámetros debe existir como mínimo un valor.
Esta función coloca los valores reales en los parámetros como están
ordenados. Los valores pueden ser numéricos o de texto,
independientemente del tipo de parámetro definido para
almacenarlos.
El valor de retorno es el número de los valores leídos
satisfactoriamente. Cuando se encuentra un carácter de final de
archivo, es -1.
Manual de Referencia GDL de ArchiCAD
193
Capítulo 11: Declaraciones de Control
OUTPUT
channel, recordID, fieldID, expr1 [, expr2, ...]
recordID, fieldID:
la posición inicial de tipo texto o numérico de la
lectura, su contenido se interpreta por la extensión.
Escribe tantos valores en el archivo identificado por el valor de
canal desde la posición dada como expresiones se hayan definido.
Debe existir una expresión como mínimo. 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
Capítulo 12: Instrucciones Especiales para Puertas y Ventanas
12
Instrucciones Especiales
para Puertas y Ventanas
Manual de Referencia GDL de ArchiCAD
195
Capítulo 12: Instrucciones Especiales para Puertas y Ventanas
12.1 Reglas Generales
Este capítulo trata de las diversas opciones especiales relacionadas
con la creación de elementos de biblioteca tipo Puerta/Ventana
Una vez insertada una puerta/ventana en un muro, la posición 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 sitúe
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 fácilmente mediante elementos
en el plano x-y. Ver las ilustraciones siguientes.
A consecuencia del comportamiento especial de estos objetos de
biblioteca, el símbolo 2D se genera desde una proyección interna no
accesible de otro modo a los usuarios. (una vista lateral de arriba
abajo desde una dirección de 90 grados). El símbolo y la forma 3D se
encajarán en el origen de la puerta/ventana por el centro (x) de la
base (y) de la caja de contorno, pero no se harán ajustes a lo largo del
eje z para permitir a los usuarios diseñar puertas y ventanas
sobresaliendo del muro en cualquier dirección 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
Capítulo 12: Instrucciones Especiales para Puertas y Ventanas
12.2 Creación de Elementos de
Biblioteca Puerta/Ventana
Al crear elementos de biblioteca de tipo Puerta/Ventana, existen
diversas posibilidades, presentando diferentes problemas:
- Creación de puertas/ventanas rectangulares en muros rectos
- Creación de puertas/ventanas no rectangulares en muros
rectos
- Creación de puertas/ventanas rectangulares en muros curvos
- Creación de puertas/ventanas no rectangulares en muros
curvos
Puertas/Ventanas Rectangulares en
Muros Rectos
Esta es la manera más 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 números de pluma de
contorno y relleno del muro además del número 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 apéndice para más 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
común, 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
Capítulo 12: Instrucciones Especiales para Puertas y Ventanas
Ejemplo:
Z
Y
X
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
Capítulo 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 tamaño de este hueco está
determinado por los parámetros 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 atención a la
visibilidad de los bordes de estos rellenos.
Z
Y
X
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
Capítulo 12: Instrucciones Especiales para Puertas y Ventanas
WALLHOLE
n, status,
x1, y1, mask1,
...
xn, yn, maskn
[, x, y, z]
n:
número de nodos del polígono
status :
1: usa los atributos propios del cuerpo para los
polígonos y bordes generados
2: los polígonos de corte generados serán tratados
como polígonos normales
x i, yi :
coordenadas de la sección transversal del polígono
maski :
similar a la declaración CUTPOLYA
maski = j1 + 2 * j2 + 4 * j3
x, y, z :
vector de dirección opcional (por defecto es el eje Z
de la puerta/ventana)
z
x
Z
y
j3
n
Y
j2
i+1
j1
1
i
X
Este comando puede usarse en el script 3D de puertas/ventanas
para cortar huecos a medida en el muro donde están colocadas.
Durante la generación 3D del muro actual, el script 3D de todas sus
puertas/ventanas se interpreta sin generación de modelo, para
recoger los comandos WALLHOLE. Si existen, ArchiCAD cortará el
muro actual usando un tubo infinito con la sección transversal
poligonal y dirección definidas en el script. Puede haber cualquier
número 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
Capítulo 12: Instrucciones Especiales para Puertas y Ventanas
Nota: El reveal 3D no se generará automáticamente para los
huecos a medida, deberá generarlo desde el script.
El hueco hecho de este modo sólo será visible en 3D, dado que los
comandos WALLHOLE no tienen efecto en 2D. Se puede escribir
una representación 2D si es necesario (usada con el marco
desactivado en planta).
Se recomienda el uso de polígonos de sección transversal convexa;
el uso de polígonos cóncavos puede dar errores de corte o
sombreados/renderings extraños. Los polígonos convexos pueden
combinarse para obtener los cóncavos).
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
Capítulo 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
Capítulo 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
automáticamente el hueco para la puerta/ventana. En este caso las
caras tienen dirección 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 consideración.
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
están muy relacionadas, dado que por encima de una determinada
dimensión, el Objeto no podrá estar en el muro. Al usar puertas/
ventanas curvas, este problema no ocurre.
Manual de Referencia GDL de ArchiCAD
203
Capítulo 12: Instrucciones Especiales para Puertas y Ventanas
Ejemplo:
Z
Y
X
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
Capítulo 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 también 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
Capítulo 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
Apéndice
Apéndice
A: Lista de Variables Globales
B: Funciones Especiales
C: GDL Guardado desde la Planta
D: Palabras Clave Sólo para Vista 3D
E: Palabras Clave Sólo para Símbolo 2D
F: Palabras Clave para Uso 2D y 3D
G: Palabras Clave para Scripts No
Geométricos
H: Palabras Clave Comunes
I: Palabras Clave Reservadas y Caducadas
J: Lista de Conversión de Antiguos
Nombres de Variables Globales
K: Listado Alfabético de Palabras Clave
L: Extensión de Texto
Manual de Referencia GDL de ArchiCAD
207
Apéndice
A
Variables Globales
Las variables globales hacen posible guardar valores especiales del modelo. Esto le permite
acceder a información geométrica acerca del entorno del macro GDL. Por ejemplo, puede
acceder a los parámetros del muro cuando define una ventana que debe encajar en el muro.
Las variables Globales no se apilan durante las llamadas a macro.
Información 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 aparición
1- editor de objetos, 2- planta, 3- vista 3D, 4- alzado/sección, 5- diálogo de ajuste, 6- lista
GLOB_SCALE
A_ escala de dibujo
según la ventana actual
GLOB_NORTH_DIR
U~ dirección del Norte
relativa al sistema de coordenadas por defecto del proyecto, según los ajustes hechos en el diálogo
Sol…
GLOB_DRAWING_BGD_PEN
pluma del color de fondo del dibujo
la pluma más parecida de la paleta actual al color de fondo de la ventana actual
Información 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~ posición relativa del piso actual respecto al piso origen
el piso actual es el que está visible en la Ventana de Planta
Información de animación
GLOB_FRAME_NR
N_ número de cuadro actual en animación
sólo válido para animación, 0 para imagen fija
GLOB_FIRST_FRAME
O_ índice del primer cuadro en animación
sólo válido para animación, 0 para imagen fija
208
Manual de Referencia GDL de ArchiCAD
Apéndice
GLOB_LAST_FRAME
P_ índice del último cuadro en animación
sólo válido para animación, 0 para imagen fija
GLOB_EYEPOS_X
K~ posición actual de la cámara (x)
sólo válido en proyección perspectiva, tanto para animación como para imágenes fijas
GLOB_EYEPOS_Y
L~ posición actual de la cámara (y)
sólo válido en proyección perspectiva, tanto para animación como para imágenes fijas
GLOB_EYEPOS_Z
M~ posición actual de la cámara (z)
sólo válido en proyección perspectiva, tanto para animación como para imágenes fijas
GLOB_TARGPOS_X
N~ posición actual del objetivo (x)
sólo válido en proyección perspectiva, tanto para animación como para imágenes fijas
GLOB_TARGPOS_Y
O~ posición actual del objetivo (y)
sólo válido en proyección perspectiva, tanto para animación como para imágenes fijas
GLOB_TARGPOS_Z
P~ posición actual del objetivo (z)
sólo válido en proyección perspectiva, tanto para animación como para imágenes fijas
Parámetros 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 diálogo
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, según ajustes
actuales)
Parámetros generales de elementos - sólo disponibles para listados
GLOB_ELEM_TYPE
tipo de elemento
1- objeto, 2- lámpara, 3- ventana, 4- puerta, 5- muro, 6- columna, 7- forjado, 8- cubierta, 9trama, 10- malla
Parámetros de Objetos, Lámparas, Puertas, Ventanas
SYMB_LINETYPE
tipo de línea del elemento de biblioteca
aplicado como tipo de línea por defecto del símbolo 2D
SYMB_FILL
tipo de trama del elemento de biblioteca
aplicado sobre superficies cortadas de elementos de biblioteca en ventanas de sección/alzado
SYMB_FILL_PEN
pluma de la trama del elemento de biblioteca
aplicado sobre superficies cortadas de elementos de biblioteca en ventanas de sección/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 sección/alzado
SYMB_SECT_PEN
pluma del elemento de biblioteca en sección
aplicado sobre contornos de superficies cortadas de elementos de biblioteca en ventanas de
sección/alzado
Manual de Referencia GDL de ArchiCAD
209
Apéndice
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 sección/alzado
SYMB_MAT
M_ material por defecto del elemento de biblioteca
SYMB_POS_X
X~ posición del elemento de biblioteca (x)
relativo al origen del proyecto (excluyendo puerta, ventana: relativa al punto inicial del muro en
que están)
SYMB_POS_Y
Y~ posición del elemento de biblioteca (y)
relativo al origen del proyecto (excluyendo puerta, ventana: relativa al punto inicial del muro en
que están)
SYMB_POS_Z
Z~ posición del elemento de biblioteca (z)
relativo al origen del proyecto (excluyendo puerta, ventana: relativa al punto inicial del muro en
que están)
Parámetros de Objetos, Lámparas
SYMB_ROTANGLE
W~ ángulo de rotación del elemento de biblioteca
rotación numérica desde los ajustes del diálogo ejecutada alrededor del punto de anclaje actual
SYMB_MIRRORED
V~ elemento de biblioteca simétrico
0- no , 1- simétrico (la simetría se ejecuta alrededor del punto de anclaje actual)
Parámetros de Objetos, Lámparas, Puertas, Ventanas - disponible sólo para listado
SYMB_A_SIZE
longitud/anchura nominal del elemento de biblioteca
longitud del objeto/lámpara, anchura de ventana/puerta (parámetro fijado)
SYMB_B_SIZE
longitud/anchura nominal del elemento de biblioteca
anchura del objeto/lámpara, altura de ventana/puerta (parámetro fijado)
Parámetros de Objeto, Lámpara - disponible sólo para listado
SYMB_Z_SIZE
altura nominal del elemento de biblioteca
si el primer parámetro de usuario se nombra en formato zzxyz será usado para altura nominal, si
no 0
Parámetros 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 dirección radial al tamaño nominal de la esquina de la abertura
WIDO_RIGHT_JAMB
B~ jamba izquierda de puerta/ventana
como se define en el diálogo de Definición de la Abertura
WIDO_LEFT_JAMB
jamba derecha de puerta/ventana
como se define en el diálogo de Definición de la Abertura
WIDO_THRES_DEPTH
C~ antepecho/peldaño de puerta/ventana
como se define en el diálogo de Definición de la Abertura
WIDO_HEAD_DEPTH
D~ grosor de dintel de puerta/ventana
como se define en el diálogo de Definición de la Abertura
210
Manual de Referencia GDL de ArchiCAD
Apéndice
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 simetrías de puertas/ventanas, se recolocarán automáticamente 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
orientación de abertura de puerta/ventana
izquierda/derecha - funcionará bien sólo si la puerta/ventana se creó según los estándares locales
WIDO_MARKER_TXT
marca de texto de puerta/ventana
como se define en el subdiálogo Acotación de Puerta/Ventana del diálogo de Definición de Puerta/
Ventana
WIDO_SUBFL_THICKNESS
espesor del pavimento inferior (corrección de antepecho)
como se define en el subdiálogo Acotación de Puerta/Ventana del diálogo de Definición de Puerta/
Ventana
WIDO_PREFIX
prefijo de altura de antepecho de puerta/ventana
como se define en el subdiálogo Acotación de Puerta/Ventana del diálogo de Definición de Puerta/
Ventana
WIDO_CUSTOM_MARKER
conmutador de marca de puerta/ventana
1- los parámetros pueden usarse en el script 2D mientras no esté presente la acotación automática
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
Parámetros de Lámparas - disponibles sólo para listado
LIGHT_ON
luz encendida
0- luz apagada, 0- luz encendida: como se define en el diálogo de Definición de Lámparas
(parámetro fijado)
LIGHT_RED
componente rojo del color de la luz
como se define en el diálogo de Definición de Lámparas (parámetro fijado)
LIGHT_GREEN
componente verde del color de la luz
como se define en el diálogo de Definición de Lámparas (parámetro fijado)
LIGHT_BLUE
componente azul del color de la luz
como se define en el diálogo de Definición de Lámparas (parámetro fijado)
LIGHT_INTENSITY
intensidad de la luz
como se define en el diálogo de Definición de Lámparas (parámetro fijado)
Parámetros de Muros - disponibles para Puertas/Ventanas
WALL_RESOL
J~ resolución 3D de un muro curvo
efectivo sólo 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
inclinación 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
Apéndice
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 línea del muro
aplicado en los contornos sólo 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
número de capas de muro compuesto
entre 1 y 8, 0 si se aplica una única trama
WALL_SKINS_PARAMS
parámetros de las capas del muro compuesto
matriz con 6 columnas: trama, grosor, pluma, pluma de trama, pluma de fondo de trama, status
del núcleo y hasta 8 filas
WALL_SECT_PEN
E_ pluma de los contornos del muro en sección
se aplica a los contornos de superficies cortadas de muros en las ventanas de planta y de sección/
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
sección/alzado
WALL_FBGD_PEN
pluma del fondo de la trama del muro
WALL_DIRECTION
dirección del muro
muros rectos: la dirección de la línea de referencia, muros curvos: la dirección de la cuerda del
arco
WALL_POSITION
coordenadas absolutas del muro
la posición del punto inicial del muro en relación al origen del proyecto
Parámetros de Muros - disponibles sólo 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 línea de referencia
longitud del muro en el lado opuesto de la línea de referencia
superficie del muro en el lado de la línea de referencia
superficie del muro en el lado opuesto de la línea de
superficie del borde del muro
volumen del muro
número de puertas en el muro
número de ventanas en el muro
número de aberturas vacías
superficie de puertas en el muro
Manual de Referencia GDL de ArchiCAD
Apéndice
WALL_WINDS_SURF
WALL_HOLES_SURF
WALL_WINDS_WID
WALL_DOORS_WID
WALL_COLUMNS_NR
superficie de ventanas en el muro
superficie de aberturas vacías en el muro
anchura combinada de ventanas en el muro
anchura combinada de puertas en el muro
número de columnas en el muro
Parámetros de Columnas - disponibles sólo para listados
COLU_CORE
propiedades núcleo/recubrimiento
sirve para compatibilidad: sólo 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 línea de la columna
aplicado en los contornos sólo en la ventana de planta
COLU_CORE_FILL
trama del núcleo de la columna
COLU_VENEER_FILL
relleno del recubrimiento de la columna
COLU_SECT_PEN
pluma de los contornos de la columna en sección
aplicado en contornos de superficies cortadas en la ventanas de planta y de alzado/sección
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
sección/alzado
COLU_CORE_FILL_PEN
pluma de la trama del núcleo de la columna
COLU_CORE_FBGD_PEN
pluma del fondo de la trama del núcleo 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 núcleo de la columna
COLU_CORE_VOL
volumen del núcleo de la columna
COLU_VENEER_SURF
superficie del recubrimiento de la columna
COLU_VENEER_VOL
volumen del recubrimiento de la columna
Parámetros de Forjados - disponibles sólo 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 línea 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
Apéndice
SLAB_COMPS_NAME
estructura compuesta del forjado
nombre de la estructura compuesta
SLAB_SKINS_NUMBER
número de capas de forjado compuestas
entre 1 y 8, 0 se aplica una única trama
SLAB_SKINS_PARAMS
parámetros de las capas del forjado compuesto
matriz con 6 columnas: trama, grosor, pluma, pluma de trama, pluma de fondo de trama, status
del núcleo y hasta 8 filas
SLAB_SECT_PEN
pluma de los contornos del forjado en sección
aplicado a los contornos de superficies cortadas en los planos de planta y de sección/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 sección/
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
perímetro del forjado
SLAB_VOLUME
volumen del forjado
SLAB_SEGMENTS_NR
número de segmentos del forjado
SLAB_HOLES_NR
número de huecos del forjado
SLAB_HOLES_AREA
área de los huecos del forjado
SLAB_HOLES_PRM
perímetro de los huecos del forjado
Parámetros de Cubiertas - disponibles sólo 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 línea de la cubierta
aplicado en los contornos sólo 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
número de capas compuestas de cubiertas
entre 1 y 8, 0 si se aplica una única trama
ROOF_SKINS_PARAMS
parámetros de las capas compuestas de cubierta
matriz con 6 columnas: trama, grosor, pluma, pluma de trama, pluma de fondo de trama, status
del núcleo y hasta 8 filas
ROOF_SECT_PEN
pluma de los contornos de cubierta en sección
aplicado a contornos de superficies cortadas de muros en las ventanas de planta y alzado/sección
214
Manual de Referencia GDL de ArchiCAD
Apéndice
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 sección/
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
perímetro de la cubierta
ROOF_VOLUME
volumen de la cubierta
ROOF_SEGMENTS_NR
número de segmentos de la cubierta
ROOF_HOLES_NR
número de huecos de la cubierta
ROOF_HOLES_AREA
área de huecos de la cubierta
ROOF_HOLES_PRM
perímetro de huecos de la cubierta
Parámetros de Trama - disponibles sólo 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 línea 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
perímetro de la trama
número de segmentos de la trama
número de huecos de la trama
perímetro de huecos de la trama
área de huecos de la trama
Parámetros de Malla - disponibles sólo para listados
MESH_TYPE
tipo de la malla
1- cuerpo cerrado, 2 - superior & borde, 3 - sólo 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 sección
aplicado a los contornos de superficies cortadas de muros en las ventanas de planta y de alzado/
sección
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/
sección
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 línea de la malla
aplicado a los contornos sólo en la ventana de planta
Manual de Referencia GDL de ArchiCAD
215
Apéndice
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
perímetro de la malla
volumen de la malla
número de segmentos de la malla
número de huecos de la malla
área de huecos de la malla
perímetro 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 están inicializadas al
número por defecto
las variables globales libres para usuarios de 11 a 20 están inicializadas al
texto por defecto
Manual de Referencia GDL de ArchiCAD
Apéndice
B
Funciones Especiales
REQ
(parameter_string)
Esta función pregunta el estado actual del programa. Este
parámetro - la pregunta - es una cadena. El intérprete GDL
responde con un valor numérico. Si no entiende la pregunta, la
respuesta es negativa.
Listado de preguntas actuales:
"GDL_version"
número de versión del intérprete/compilador del GDL.
(Atención: no es el mismo que la versión de ArchiCAD).
"Program"
código del programa (1: ArchiCAD, 2: topCAD, etc.).
"Serial_number"
el número de serie de la llave.
"Model_size"
tamaño 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 más próximo al color
dado. Las constantes r, g y b figuran en la cadena entre 0 y
1.
Manual de Referencia GDL de ArchiCAD
217
Apéndice
REQUEST
(question_name, name | index, var1 [, var2,....])
El primer parámetro representa la pregunta mientras que la
segunda representa el objeto de la cuestión (si existe) y puede ser
un texto o de tipo numérico ( 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 parámetros
son nombres de variable en el que los valores de retorno (las
respuestas) se almacenan. El valor de la función de retorno es el
número 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)
Después 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 vacío).
REQUEST
("ID_of_main", "", idstring)
Para los ítems de Biblioteca colocados en la Planta, devuelve el
identificador definido en el diálogo de herramientas en la variable
idstring (en caso contrario texto vacío).
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
Apéndice
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 diálogo de Opciones/Preferencias/Acotaciones.
Estas llamadas devuelven un texto de formato que puede utilizarse
como primer parámetro en la función 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 característica 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 código de la
categoría de zona actual.
REQUEST
("Zone_relations", "", catname, code, name, nr [,
catname2, code2, name2, nr2])
Devuelve en las variables dadas el nombre de categoría de zona,
código de categoría de zona, nombre de zona y número de la zona
donde está el elemento de biblioteca que contiene esta pregunta.
Para puertas y ventanas puede haber un máximo de 2 zonas. El
valor de retorno de la pregunta es el número 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 sólo para Sellos de Zona.
Manual de Referencia GDL de ArchiCAD
219
Apéndice
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 vacío 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 función 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 línea 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 línea 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 línea por defecto (Texto vacío para
trama y estilo)
El valor de retorno de la pregunta es el número de valores
satisfactorios obtenidos (1 si no ocurren errores, 0 para un error
cuando el índice no es válido).
220
Manual de Referencia GDL de ArchiCAD
Apéndice
REQUEST
(extension_name, parameter_string, v1, v2, ...)
Si la pregunta no es ninguna de las vistas anteriormente, la función
REQUEST () intenta utilizarla como una extensión de nombre
específico. Si está extensión se encuentra en la carpeta de
extensiones, se utilizará para obtener tantos valores para cuantos
nombres de variable se hayan especificado. El parámetro de texto
es interpretado por la extensión.
IND
(MATERIAL, name_string)
IND
(FILL, name_string)
IND
(LINE_TYPE, name_string)
IND
(STYLE, name_string)
Esta función devuelve el índice actual del atributo de material,
trama, tipo de línea o estilo. El uso principal del número 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 Línea... en ArchiCAD).
Ver también MATERIAL, FILL, LINE_TYPE, STYLE en el capítulo
"Definición de Atributos en Línea".
Manual de Referencia GDL de ArchiCAD
221
Apéndice
C
GDL Creado desde la
Planta
Al guardar el plano de planta como script GDL o elemento de
Biblioteca se producirán los siguientes elementos GDL. Puede
utilizar estos scripts GDL como plantillas para su propia biblioteca.
Vea también el capítulo "Formas Tridimensionales".
Script 3D:
Muros:
LIN_, xWALL_
Columnas:
cPRISM_
Forjados:
cPRISM_
Cubiertas Inclinadas:
cSLAB_, cROOF_
Mallas:
MASS
Ventanas:
Puertas:
CALL
Objetos:
Lámparas:
Los planos de corte definidos en el diálogo de Planos de Corte 3D
(activado con el comando de Sección 3D): CUTPLANE angle
CUTPLANE
Los planos de corte y polígonos generados por Cubiertas :
CUTPOLY and CUTPLANE
Script 2D:
HOTSPOT2, POLY2_B, LINE2
CALL
222
Manual de Referencia GDL de ArchiCAD
Apéndice
D
Palabras Clave sólo 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
Apéndice
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
Apéndice
E
Palabras Clave sólo para el
Símbolo 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
Apéndice
F
Palabras Clave para uso 2D
y 3D
DEL
[LET]
RADIUS
RESOL
TOLER
PEN
DEFINE STYLE
[SET] STYLE
226
Manual de Referencia GDL de ArchiCAD
Apéndice
G
Palabras Clave para Scripts
No Geométricos
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
Apéndice
H
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
Apéndice
I
Palabras Clave Reservadas
Las palabras clave listadas a continuación están reservadas, existen
por razones de compatibilidad o no han sido hechas públicas.
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
Apéndice
J
Lista de Conversión 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
Apéndice
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
Apéndice
K
Listado Alfabético 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
Apéndice
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
r
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
Apéndice
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
Apéndice
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
n
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
Apéndice
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
Apéndice
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
Apéndice
NSP
NTR ( )
OPEN
(filter, filename, paramstring)
OR
OUTPUT
channel, recordID, fieldID, expr1 [, expr2, . . .]
PEN
n
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
Apéndice
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
n
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
Apéndice
SIN (x)
SLAB
n, h, x1, y1, z1, . . . xn, yn, zn
SLAB_
n, h, x1, y1, z1, mask1, . . . xn, yn, zn, maskn
SPHERE
r
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
d
Manual de Referencia GDL de ArchiCAD
Apéndice
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
Apéndice
L
Extensión de Texto
Esta es una extensión de ejemplo que demuestra las posibilidades
de las operaciones de archivo I/O. Otras extensiones de este tipo
están disponibles desde Graphisoft u otros vendedores.
La extensión interpreta los textos en la lista de parámetros 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 extensión, en
donde puede localizarse). Si esa carpeta no existe, la extensión
crea una. La carpeta puede contener subcarpetas en donde la
extensión busca archivos existentes. Los archivos de tipo TEXTO se
pueden leer y escribir.
1. channel = OPEN (filter, filename, paramstring)
filter :
específico de la extensión, en el caso de la
extensión de texto "TEXT"
filename:
el nombre del archivo por abrir
paramstring: contiene los caracteres específicos de separación de
la extensión 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
específico. Este valor será el futuro número de referencia del
archivo.
El paramstring puede contener lo siguiente:
• SEPARATOR = después de la palabra clave entre comillas ('')
puede asignar un carácter 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
Apéndice
• MODE = después de la palabra clave el modo de abertura a
seguir. Sólo existen tres modos de abertura:
RO (sólo lectura)
WA (sólo escritura, añadir) al final del archivo
WO (sólo escritura, re-escritura) ¡todos los datos del
archivo se perderán!
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
separación son incorrectos o no hay nada en el string de
parámetros, la extensión utilizará las definiciones por omisión:
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:
número de columna (numérica o texto)
fieldID:
índice de columna en la fila dada
El comando lee tantos valores dados desde la posición inicial del
archivo, identificado por el valor de canal, como parámetros
asignados tenga. En la lista de parámetros debe haber como
mínimo un valor. La función coloca los valores leídos en los
parámetros de la secuencia. Los valores pueden ser numéricos o de
texto con independencia del tipo de parámetro definido para ellos.
En el lugar del valor del archivo, también puede tener expresiones
de tipo numérico o de texto, cada una conteniendo constantes
numéricas o de texto así como llamadas a funciones matemáticas
GDL. Estas expresiones se evalúan 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 número de valores leídos
satisfactoriamente, para el final de archivo (-1).
Tanto los números de columna como los de fila deben ser enteros
positivos, de otra forma se mostrará un mensaje de error.
Si el número de fila o de columna son incorrectos, la entrada no se
realizará. (n = 0)
Manual de Referencia GDL de ArchiCAD
243
Apéndice
En la identificación de fila y columna, se asignará el mismo número
de valores desde la posición inicial dada que de parámetros, o si
hay más parámetros que valores, los parámetros sin valor
correspondiente se ajustarán a cero.
Para las columnas vacías (no hay nada entre los caracteres de
separación) los parámetros serán 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 irán 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 posición dada como
expresiones definidas. Debe haber como mínimo una expresión.
Los tipos de valor de salida son los mismos que los de las
expresiones.
Para una extensión de texto el OUTPUT, en secuencia
(dependiendo del modo de abertura) colocará las expresiones
dadas en posiciones consecutivas utilizando los caracteres de
separación dados al abrir el archivo entre él mediante re-escritura o
añadidura al final del archivo. En este caso la posición 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 irán seguidos de
una nueva fila, de otra forma el último valor irá seguido por un
carácter 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
! carácter separador después de +2 sin fila nueva
244
Manual de Referencia GDL de ArchiCAD
Apéndice
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
Apéndice
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 5–20
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
C
E
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
definición 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
7
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
L
P
LET 144
LGT 174
LIGHT 96
LIGHTS 166
LIN_ 34
LINE_TYPE 150, 161, 191
LINE2 122
Línea 22
Lista de Componentes 166
lista de valores 18, 167
LOG 174
PARAMETERS 190
Parámetros 8, 24, 171
PEN 146, 191
PGON 104
PI 173
PICTURE 8, 99
PICTURE2 8, 128
pila de transformación 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
S
U
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 Introducción
1
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
Elaboración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Para empezar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Comandos de Nivel Básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Comandos de Nivel Intermedio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Comandos y Características de Nivel Avanzado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Nivel Experto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4 Cómo genera ArchiCAD una imagen 3D __________________________________ 16
El espacio 3D en ArchiCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
¿ Porqué necesita transformaciones de coordenadas ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
El motor de intérprete GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
El orden de análisis de los scripts GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5 Creación de objetos en ArchiCAD ________________________________________ 19
Manual de Referencia GDL de ArchiCAD
i
Contenido
2 Elementos de Sintaxis Básicos
21
3 Transformación 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 Transformación _____________________________________ 30
4 Formas Planas en 3D
33
5 Formas Tridimensionales
37
5.1 Formas básicas _________________________________________________________ 38
5.2 Formas generadas desde polilíneas ______________________________________ 67
5.3 Elementos para la Visualización __________________________________________ 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 Códigos de status adicionales para polilíneas planas
133
8 Atributos
143
8.1 Directivas _____________________________________________________________ 144
Directivas Usadas en Scripts 3D y 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Directivas utilizadas sólo en scripts 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Directivas usadas sólo en scripts 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
8.2 Definición de Atributos _________________________________________________ 150
Definición de materiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Definición de trama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Definición de Trama Avanzada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
ii
Manual de Referencia GDL de ArchiCAD
Contenido
Definición de tipos de líneas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Definición de estilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
9 Scripts No Geométricos
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 aritméticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Operadores Relacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Operadores Booleanos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
10.3 Funciones ____________________________________________________________ 173
Funciones Aritméticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Funciones Circulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Funciones Trascendentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Funciones Booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Funciones Estadísticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Funciones de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Funciones Especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
11 Declaraciones de Control
11.1 Declaraciones de control de flujo ______________________________________
11.2 Manipulación del Buffer de Parámetros ________________________________
11.3 Objetos Macro ________________________________________________________
11.4 La Declaración 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 Creación 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
Apéndice
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 sólo para la Vista 3D ___________________________________
Palabras Clave sólo para el Símbolo 2D ________________________________
Palabras Clave para uso 2D y 3D ______________________________________
Palabras Clave para Scripts No Geométricos ____________________________
Palabras Clave Comunes ______________________________________________
Palabras Clave Reservadas ____________________________________________
Lista de Conversión de Antiguos Nombres de Variables Globales ________
Listado Alfabético Actual de Palabras Clave GDL ________________________
Extensión de Texto ___________________________________________________
Índice
iv
247
Manual de Referencia GDL de ArchiCAD
Descargar