Está en la página 1de 254

Captulo 1: Introduccin

Introduccin

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

1.1 Acerca de este Manual


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

1.2 Objetos de Biblioteca


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

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

Sus fuentes de objetos de biblioteca


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

Tambin debera familiarizarse con las dimensiones tpicas y parmetros adicionales de los objetos de biblioteca. Todos ellos pueden modificarse a fin de ajustar los objetos a sus necesidades.

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

Bibliotecas Complementarias
Existen diversas bibliotecas para diferentes usos tanto desde Graphisoft (la Coleccin Graphisoft) y distribuidores locales (bibliotecas de personas, letras 3D, mobiliario de diseo, etc).

StairMaker
StairMaker de Graphisoft es una utilidad de ArchiCAD con la que tiene acceso a una sofisticada biblioteca de objetos que le provee de varios modelos de escaleras que podr ajustar a sus necesidades modificando sus parmetros.

Modelo de escaleras en espiral desde StairMaker

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

Extensiones de Terceras Partes


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

Modelo de telfono de VisualGDL Modelo de terreno de ArchiSITE

Bibliotecas en formato DXF


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

Uso de sus propias habilidades


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

Modelar en otras aplicaciones 3D


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

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

Modelar con las herramientas propias de ArchiCAD


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

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

Escritura en GDL
Si quiere ir ms all de todas las posibilidades anteriores, o si necesita objetos de biblioteca cuya forma pueda ser controlada con

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

parmetros definibles por el usuario, su prximo paso ser utilizar GDL y el entorno de escritura ofrecido por ArchiCAD.

1.3 Escritura en GDL


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

Estructura del Elemento de Biblioteca de ArchiCAD


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

Captulo 1: Introduccin

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

Analizar, descomponer y simplificar


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

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

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

dar un toque de realismo y detalle que puede usarse en la fase constructiva del proyecto.

Elaboracin
En funcin de su propsito, los objetos paramtricos pueden variar en su elaboracin. Los objetos para uso interno del estudio pueden ser, por supuesto, menos precisos que los hechos para uso general o para la distribucin comercial. Si sus smbolos tienen poca importancia en el plano o los cambios paramtricos no necesitan aparecer en 2D, podr omitir los scripts 2D paramtricos. Incluso si los cambios paramtricos estn destinados a aparecer en 2D, no es absolutamente necesario escribir un paramtrico 2D. Es posible efectuar modificaciones paramtricas en la ventana de Script 3D, usar la vista 3D de planta del objeto modificado como un smbolo nuevo y guardar el objeto bajo un nombre nuevo. Obtendr as un grupo de objetos similares derivados del original mediante cambios paramtricos de sus valores por omisin.

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

Para empezar
Las necesidades de su diseo, sus conocimientos de programacin y de geometra descriptiva influirn probablemente en dnde empezar en GDL. No comience a practicar GDL teniendo en mente objetivos complicados. Aprenda GDL experimentando paso a paso con todos sus aspectos para volverlos a su favor. Siga las recomendaciones del nivel de experto ms adelante.
Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

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

Comandos de Nivel Bsico


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

Formas Simples
Las formas GDL son unidades geomtricas bsicas que se aaden a un objeto de biblioteca complejo. Son las piezas de LEGO del GDL. Se coloca una forma en el espacio escribiendo un comando en el script GDL. Un comando de forma consiste en una palabra clave que define el tipo de forma y algunos valores numricos o parmetros alfabticos que definen sus dimensiones. El nmero de valores vara con cada forma. Al principio, puede evitar el uso de parmetros y trabajar con valores fijos. Puede comenzar con los siguientes comandos de forma: En 3D: BLOCK CYLIND SPHERE PRISM En 2D: LINE2 RECT2 POLY2 CIRCLE2 ARC2 Estos nombres hablan por s mismos (si conoce el ingls).

10

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

Transformaciones de Coordenadas
Las transformaciones de coordenadas son como mover su mano a cierto lugar antes de poner una pieza de LEGO. Preparan la posicin, orientacin y escala de la prxima forma.
Z Y Z Y

G
X

BLOCK ADDX ROTY BLOCK

1, 1.5 30 1,

0.5, 0.5

0.5, 0.5

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

Comandos de Nivel Intermedio


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

11

Captulo 1: Introduccin

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

CONE LIN_ CPRISM_

PLANE SLAB

PLANE_ SLAB_

CSLAB_

POLY2_

TEXT2

FRAGMENT2

Estos comandos requieren habitualmente ms valores para definirlos que los bsicos. Algunos de ellos precisan valores de estado para controlar la visibilidad de aristas y superficies.

Transformaciones de Coordenadas
En 3D: MULX ADD En 2D: MUL2 MULY MUL MULZ ROT

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

3, -3,

0, 3,

0.666667, 1 3, 0, -3, 3,

0.666667, 1 3, 0, -3, 3,

12

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

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

Comandos y Caractersticas de Nivel Avanzado


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

Control de Flujo y Declaraciones Condicionales


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

NEXT WHILE UNTIL THEN GOSUB END

ENDWHILE ELSE EXIT ENDIF

13

Captulo 1: Introduccin

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

FOR I = 1 TO 5 PRISM_ 8, 0.05, -0.5, 0, -0.5, -0.15, 0.5, -0.15, 0.5, 0, 0.45, 0, 0.45, -0.1, -.45, -0.1, -0.45, 0, ADDZ 0.2 NEXT I

15, 15, 15, 15, 15, 15, 15, 15

Parmetros
En este estadio de su aprendizaje, puede sustituir los valores fijos con variables alfabticas. Esto hace al objeto flexible. Se puede acceder a estas variables a travs del cuadro de dilogo de Definicin de objetos de biblioteca al trabajar en planta.

Llamadas a Macro
No se est limitado a las formas estndar GDL. Cualquier objeto de biblioteca existente puede ser una forma GDL en su totalidad. Para colocarla, slo debe "llamarla", escribiendo su nombre con los parmetros requeridos, como si fuera un comando estndar.

14

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

Nivel Experto
Cuando tenga una buena comprensin de las caractersticas y comandos anteriores, ser capaz de escoger algunos de los comandos restantes que necesite alguna vez, pero no frecuentemente. Nota: la capacidad de memoria de su ordenador puede limitar la longitud de archivo de su script GDL, el nmero de llamadas a Macro y el nmero de transformaciones Para informacin adicional sobre los comandos GDL anteriores, consulte el resto de este manual. Para una consulta rpida de los comandos disponibles y su estructura de parmetros, elija la ventana de Ayuda apropiada desde ArchiCAD.

Manual de Referencia GDL de ArchiCAD

15

Captulo 1: Introduccin

1.4 Cmo genera ArchiCAD una imagen 3D


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

El espacio 3D en ArchiCAD
El modelo 3D se crea en un espacio tridimensional medido por los ejes x, y, z de un sistema de coordenadas principal, el origen del cual se llama origen global. En ArchiCAD, se puede ver el origen global en la esquina inferior izquierda de la hoja de trabajo si se abre el programa sin leer ningn documento especfico. Adems, el origen global define la cota cero a la que se refieren todos los pisos en un documento de planta. Cuando se coloca un objeto en el diseo, la posicin en el plano queda definida por los valores sobre los ejes x e y de este sistema de coordenadas principal. El valor sobre el eje z puede ajustarse en el cuadro de dilogo de Definicin de Objetos. Este valor ser la base y la posicin por omisin del sistema de coordenadas local del objeto. Las formas descritas en el script se ubicarn en relacin a este sistema de coordenadas local.

16

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

Porqu necesita transformaciones de coordenadas ?


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

El motor de intrprete GDL


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

Manual de Referencia GDL de ArchiCAD

17

Captulo 1: Introduccin

El orden de anlisis de los scripts GDL


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

18

Manual de Referencia GDL de ArchiCAD

Captulo 1: Introduccin

1.5 Creacin de objetos en ArchiCAD


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

Manual de Referencia GDL de ArchiCAD

19

Captulo 1: Introduccin

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

20

Manual de Referencia GDL de ArchiCAD

Captulo 2: Elementos de Sintaxis Bsicos

Elementos de Sintaxis Bsicos

Manual de Referencia GDL de ArchiCAD

21

Captulo 2: Elementos de Sintaxis Bsicos

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

22

Manual de Referencia GDL de ArchiCAD

Captulo 2: Elementos de Sintaxis Bsicos

\\ \n \t \new line \others Ejemplos:

'\' l mismo nueva lnea tabulador continuar secuencia en siguiente lnea sin una nueva lnea no es correcto, producir un aviso
"Esto es una secuencia de texto" washbasin 1'-6*1'-2 'No use delimitadores distintos'

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

Manual de Referencia GDL de ArchiCAD

23

Captulo 2: Elementos de Sintaxis Bsicos

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

24

Manual de Referencia GDL de ArchiCAD

Captulo 3: Transformacin de Coordenadas

Transformacin de Coordenadas

Manual de Referencia GDL de ArchiCAD

25

Captulo 3: Transformacin de Coordenadas

3.1 Transformaciones en el espacio Tridimensional


En GDL, todos los elementos geomtricos estn estrictamente vinculados al sistema de coordenadas local. Una esquina de un bloque, por ejemplo, est en el origen y sus caras estn en los planos x-y, x-z e y-z. Para colocar un elemento geomtrico en la posicin deseada se requieren dos pasos. Primero, mover el sistema de coordenadas a la posicin deseada. Segundo, generar el elemento. Cada movimiento, rotacin o deformacin del sistema de coordenadas a lo largo o alrededor de un eje se llama transformacin. Las transformaciones se almacenan en una pila; la interpretacin empieza hacia atrs desde la ltima. Los scripts heredan esta pila de transformacin; pueden insertarse nuevos elementos, pero no pueden borrarse ms que los definidos localmente. Es posible borrar una, varias o todas las transformaciones definidas en el script actual. Al volver de un script, las transformaciones globales definidas se eliminan de la pila ADDX ADDY ADDZ dx dy dz Mueven el sistema de coordenadas local dx, dy o dz respectivamente a lo largo del eje dado. ADD dx, dy, dz Substituye la secuencia ADDX dx : ADDY dy : ADDZ dz. Tiene una sola entrada en la pila, por lo que puede borrarse con DEL 1.

26

Manual de Referencia GDL de ArchiCAD

Captulo 3: Transformacin de Coordenadas

Ejemplo :
Z

c
X

a
X

ADD a,b,c

MULX MULY MULZ

mx my mz Escala el sistema de coordenadas local a lo largo del eje dado. Valores negativos de mx, my, mz significan simetras simultneas.

MUL

mx, my, mz Substituye la secuencia MULX mx : MULY my : MULZ mz. Tiene una sola entrada en la pila, y puede borrarse con DEL 1.

ROTX ROTY ROTZ

alphax alphay alphaz Gira el sistema de coordenadas local alrededor del eje dado un ngulo de alphax, alphay, alphaz grados respectivamente, en sentido antihorario. Ejemplo:
Z

beta
X

ROTZ beta
Manual de Referencia GDL de ArchiCAD

27

Captulo 3: Transformacin de Coordenadas

ROT

x, y, z, alpha Gira el sistema de coordenadas local alrededor del eje definido por el vector (x, y, z) un ngulo de alpha grados, en sentido antihorario. Tiene una sola entrada en la pila, por lo que puede borrarse con DEL 1.

XFORM

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

A=60 B=30 XFORM

BLOCK

2, 0, 0, 1,

COS(A), SIN(A), 0, 1,

COS(B)*0.6, SIN(B)*0.6, 1, 1

0, 0, 0

28

Manual de Referencia GDL de ArchiCAD

Captulo 3: Transformacin de Coordenadas

3.2 Transformaciones en el espacio Bidimensional


Son los equivalentes en el espacio 2D de las transformaciones 3D ADD, MUL y ROTZ. ADD2 x, y Ejemplo:
Y

b
X

a
ADD2 a, b

MUL2 ROT2

x, y alpha Ejemplo:
Y

Y X

beta

ROT2 beta

Manual de Referencia GDL de ArchiCAD

29

Captulo 3: Transformacin de Coordenadas

3.3 Manejo de la Pila de Transformacin


DEL n [, beg_with] Borra las n entradas previas de la pila de transformacin. Si no se especifica el parmetro beg_with, se borran las n entradas previas en la pila de transformacin. El sistema de coordenadas local vuelve atrs a una posicin previa. Si se especifica el parmetro beg_with, se borran n entradas hacia adelante, empezando con la determinada por beg_with. La numeracin empieza con 1. Si el parmetro beg_with est especificado y es negativo, el borrado es hacia atrs. Si se han emitido menos transformaciones en el script actual que las descritas por el argumento n dado, slo se borrarn las transformaciones emitidas. DEL TOP Borra todas las transformaciones del script actual.. NTR () Devuelve el nmero actual de transformaciones.

30

Manual de Referencia GDL de ArchiCAD

Captulo 3: Transformacin de Coordenadas

Ejemplo:

BLOCK ADDX ADDY ADDZ ROTX ADDX BLOCK DEL BLOCK DEL BLOCK DEL BLOCK

1, 2 2.5 1.5 -60 1.5 1, 1, 1, 1, 1, -2, 1,

1,

0.5, 2 1 0.5, 1 NTR()-2 0.5, 2 3 0.5, 2 !Borra la transformacin !ROTX -60 y la ADDY 2.5 !Borra la transformacin !ADDZ 1.5 !Borra la transformacin !ADDX 2

Manual de Referencia GDL de ArchiCAD

31

Captulo 3: Transformacin de Coordenadas

32

Manual de Referencia GDL de ArchiCAD

Captulo 4: Formas Planas en 3D

Formas Planas en 3D

Manual de Referencia GDL de ArchiCAD

33

Captulo 4: Formas Planas en 3D

LIN_

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

RECT

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


Y a

b
X

POLY

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

n 1 2 3 X

34

Manual de Referencia GDL de ArchiCAD

Captulo 4: Formas Planas en 3D

POLY_

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

n 1 2 3 X

n 1 2 3 X

PLANE

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

PLANE_

n, x1, y1, z1, mask1, . . . xn, yn, zn, maskn Similar a la declaracin PLANE normal, pero se puede omitir cualquiera de las aristas como en la declaracin POLY_. Restriccin de parmetros: n>3

Manual de Referencia GDL de ArchiCAD

35

Captulo 4: Formas Planas en 3D

CIRCLE

r Crculo en el plano x-y con su centro en el origen y un radio r.

ARC

r, alpha, beta Arco (en modo Almbrico) / sector circular (en otros modos) en el plano x-y con su centro en el origen desde un ngulo alpha hasta beta con un radio r. Alpha y beta estn en grados.
Y

be ta
alpha
X

36

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

37

Captulo 5: Formas Tridimensionales

5.1 Formas bsicas


BLOCK BRICK a, b, c a, b, c La primera esquina del bloque est en el origen local y sus aristas, con longitudes a, b y c, estn a lo largo de los ejes x, y, z, respectivamente. Valores cero crean bloques degenerados (rectngulos o lneas). Restriccin de parmetros: a, b, c > 0

Z b

c
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 crculo en el plano x-y. Si r es cero, se genera una lnea a lo largo del eje z.
Z

38

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

SPHERE

r Esfera con su centro en el origen y radio r.


Z

r Y

ELLIPS

h, r Medio elipsoide. Su seccin transversal en el plano x-y es un crculo con radio r, centrado en el origen. La longitud del semieje z es h.
Z

r Y

Ejemplo:
ELLIPS r, r ! hemisferio

Manual de Referencia GDL de ArchiCAD

39

Captulo 5: Formas Tridimensionales

CONE

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

2 ha alp
r2

alp
r1 Y

ha

1
Y

Ejemplo:
CONE h, r, 0, 90, 90 ! cono regular

PRISM

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

Y n X 1

40

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

PRISM_

n, h, x1, y1, mask1, . . . xn, yn, maskn Similar a la declaracin PRISM, pero puede omitirse cualquiera de las aristas y caras horizontales. Restriccin de parmetros: n>3
Z

j3

j2

j4 i+1

j1

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

Manual de Referencia GDL de ArchiCAD

41

Captulo 5: Formas Tridimensionales

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


invisible surface 0 8 visible surface

10

11

12

13

14

15

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

PRISM_ 4,1, 0,0,15, 1,1,15, 2,0,15, 1,3,15

PRISM_ 4,1, 0,0,7, 1,1,5, 2,0,15, 1,3,15


Manual de Referencia GDL de ArchiCAD

42

Captulo 5: Formas Tridimensionales

ROTX 90 PRISM_ 26, 0.3, 0.3, 0.27, 0.27, 0.25, -0.25, -0.27, -0.27, -0.3, -0.3, 0.3, 0.10, 0.24, 0.24, 0.10, 0.10, 0.07, 0.07, -0.07, -0.07, 0.07, -0.24, -0.24, -0.1, -0.1, -0.24,

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

Manual de Referencia GDL de ArchiCAD

43

Captulo 5: Formas Tridimensionales

j7 = 0
R=1 H=3 PRISM_ -R, COS(180)*R, COS(210)*R, COS(240)*R, COS(270)*R, COS(300)*R, COS(330)*R, COS(360)*R, R, ADDX 5 PRISM_ -R, COS(180)*R, COS(210)*R, COS(240)*R, COS(270)*R, COS(300)*R, COS(330)*R, COS(360)*R, R,

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, 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 H, 15, 64+15, 64+15, 64+15, 64+15, 64+15, 64+15, 64+15, 15

44

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

CPRISM_

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

CPRISM_

Iron, 0, T_,

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

13, 0.2, 0, 0, 2, 0, 2, 2, 0, 2, 0, 0, 0.2, 1.8, 1.0, 0.2, 0.2, 1.8, 1.0, 0.2, 0.2, 0.2, 0.9, 0.2, 1.8, 1.8, 1.1, 1.8,

15, 15, 15, 15, -1, 15, 15, 15, -1, 15, 15, 15, -1

! fin del contorno

! fin del primer hueco

! fin del segundo hueco

Manual de Referencia GDL de ArchiCAD

45

Captulo 5: Formas Tridimensionales

BPRISM_

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

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

"Glass", 1, 15, 15, 15

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

46

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

47

Captulo 5: Formas Tridimensionales

FPRISM_

topmat, botmat, sidemat, hillmat, n, thickness, angle, hill_height, x1, y1, mask1, ... xn, yn, maskn Similar a la declaracin PRISM_ con los parmetros adicionales hillmat, angle y hill_height. Sobre el prisma recto se aade una parte suavizada. hillmat: el material de la cara de la parte suavizada angle: el ngulo de inclinacin de las aristas suavizadas. Restriccin: 0 < angle < 90. Si el ngulo = 0 las aristas suavizadas se ven en proyeccin ortogonal como un cuarto de crculo con una resolucin especificada por el comando RESOL. la altura de la parte suavizada. Observe que el parmetro thickness representa la altura total del FPRISM.

hill_height:

Restriccin de parmetros: n>3 Maski = -1 se usa para definir huecos directamente en el prisma. Vea su descripcin en PRISM_ .

hill_height thickness

angle

1 2

48

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

Ejemplos:

RESOL 10 FPRISM_ "Roof Tile", "Red Brick", "Face brick", "Roof Tile", 4, 1.5, 0, 1.0, !ngulo= 0 0, 0, 0, 5, 0, 0, 5, 4, 0, 0, 4, 0

FPRISM_ "Roof Tile", "Red Brick", "Face brick", "Roof Tile", 10, 2, 45, 1, 0, 0, 0, 6, 0, 0, 6, 5, 0, 0, 5, 0, 0, 0, -1, 1, 2, 0, 4, 2, 0, 4, 4, 0, 1, 4, 0, 1, 2, -1

Manual de Referencia GDL de ArchiCAD

49

Captulo 5: Formas Tridimensionales

SPRISM_

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

Nota: todas las coordenadas z calculadas de los nodos del polgono superior deben ser positivas o 0

angle n h (xb,yb ) (xe,ye ) 1 2

Ejemplo:

SPRISM_ 6, 0, 0, 0, 0, 10, 1, 11, 6, 5, 7, 4.5, 5.5, 1, 6,

'Grass', 11, 15, 15, 15, 15, 15, 15 6,

'Earth', 2,

'Earth',

-10.0,

50

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

SLAB

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

SLAB_

n, h, x1, y1, z1, mask1, . . . xn, yn, zn, maskn Similar a la declaracin SLAB, pero pueden omitirse cualquiera de las aristas y caras horizontales. Esta declaracin es una analoga de la declaracin PRISM_ .

CSLAB_

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

Manual de Referencia GDL de ArchiCAD

51

Captulo 5: Formas Tridimensionales

CWALL_

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

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

52

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales


Y

X x1 x4 x3 x2

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

Y mask 4 j3 j2 j4 j1 mask 1 X mask 2

n:

el nmero de aberturas en el muro.

xbegi, loweri, xendi, upperi : coordenadas de las aberturas como sigue.


Z

height

lower

xbeg xend
i

upper

Manual de Referencia GDL de ArchiCAD

53

Captulo 5: Formas Tridimensionales

framevisi : 1 si las aristas del hueco son visibles, 0 si las aristas del hueco son invisibles. Los valores negativos controlan la visibilidad de cada arista de la abertura por separado. framevisi = - (1*j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 + 128*j8) donde j1, j2... j8 pueden ser 0 o 1. Los nmeros j1 a j4 controlan la visibilidad de las aristas del hueco en el lado izquierdo de la superficie del muro, mientras que j5 a j8 afectan a las aristas de la derecha, como se muestra en la ilustracin siguiente.
Z

j3 j7 j2 j4 j8 j5 Y j1 j6

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

[ai, bi, ci]

54

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

BWALL_

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

Manual de Referencia GDL de ArchiCAD

55

Captulo 5: Formas Tridimensionales

Ejemplos: un BWALL_ y el CWALL_ correspondiente

ROTZ -60 BWALL_ 1, 1, 4, 0, 6, 0.3, 2, 15, 15, 15, 5, 1, 1, 3.8, 1.8, 0, 3, 4.1, 1, 4.5, 4.1, 1.55, 4.5, 4.1, 2.1, 4.5, 1, 0, -0.25,

1, 6, 15,

0,

2.5, -255, 2.5, -255, 1.4, -255, 1.95, -255, 2.5, -255, 1, 3

56

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

XWALL_

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

y4 y1

y2 y3 x1 x2 x3 x4

reserved1, reserved2:

reservado, siempre 0.

Manual de Referencia GDL de ArchiCAD

57

Captulo 5: Formas Tridimensionales

Ejemplo:

XWALL_ "Whitewash", "Whitewash", 3.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.3, 1.2, 1.2, 0.0, 0.0, 0.0, 15, 15, 15, 15, 3, 0.25, 0.0, 1.25, 2.5, 1.25, 1.5, 2.25, 2.5, 2.25, 0.5, 3.25, 2.5, 0

"Whitewash", "Whitewash",

-255, -255, -255,

58

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

CROOF_

topmat, botmat, sidemat, n, xb, yb, xe, ye, height, angle, thickness, x1, y1, alpha1, mask1, , xn, yn, alphan, maskn Cubierta inclinada con los bordes en ngulo a medida topmat, botmat, sidemat: nmero/ndice de materiales inferior, superior y lateral n: xb, yb, xe, ye: height: angle: thickness: xi, yi: alphai: el nmero de nodos en el polgono de cubierta lnea de referencia (vector) la altura de la cubierta en la lnea de referencia (superficie inferior) ngulo de rotacin del plano de cubierta alrededor de la lnea de referencia dada, en grados (antihorario) grosor de la cubierta medida perpendicularmente al plano de cubierta las coordenadas de los nodos del polgono inferior de la cubierta ngulo entre la cara que pertenece a la arista i de la cubierta y el plano perpendicular al de cubierta, -90 < alphai < 90. Mirando en la direccin de la arista del polgono de cubierta correctamente orientado, el ngulo de rotacin antihorario es positivo.

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

Manual de Referencia GDL de ArchiCAD

59

Captulo 5: Formas Tridimensionales

Ejemplos:

CROOF_ 1, 9, 0, 0, 1, 0, (x2,y2) 0.0, -30, 2.5, 0, 0, -60, 10, 0, 0, 10, 20, -30, 0, 20, 0, 0, 0, 0, 2, 5, 0, 8, 5, 0, 5, 15, 0, 2, 5, 0,

1,

1,

! materiales

! lnea de referencia (x1,y1) ! altura ! ngulo ! grosor 15, 15, 15, 15, -1, 15, 15, 15, -1

60

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

L=0.25 R=(0.6^2+L^2)/(2*L) A=ASN(0.6/R) CROOF_ "Roof Tile","Pine","Pine", 16, 2, 0, 0, 0, 0, 45, -0.2*SQR(2), 0, 0, 0, 15, 3.5, 0, 0, 15, 3.5, 3, -45, 15, 0, 3, 0, 15, 0, 0, 0, -1, 0.65, 1, -45, 15, 1.85, 1, 0, 15, 1.85, 2.4-L, 0, 13, 1.25, 2.4-R, 0, 900, 0, 2*A, 0, 4015, 0.65, 1, 0, -1, 2.5, 2, 45, 15, 3, 2, 0, 15, 3, 2.5, -45, 15, 2.5, 2.5, 0, 15, 2.5, 2, 0, -1

Manual de Referencia GDL de ArchiCAD

61

Captulo 5: Formas Tridimensionales

MESH

a, b, m, n, mask, z11, z12, . . . z1m, z21, z22, . . . z2m, ... zn1, zn2, . . . znm Malla suavizada simple basada en un rectngulo con una red equidistante. Los lados del rectngulo de base son a y b; los puntos m y n estn sobre los ejes x e y respectivamente, zij es la altura del nodo. Visibilidad mask = j1 + 4*j3 + 16*j5 + 32*j6 + 64*j7 donde j1, j3, j5, j6, j7 pueden ser 0 or 1. j1 (1): j3 (4): j5 (16): j6 (32): j7 (64): la superficie de base est presente. las superficies laterales estn presentes. las aristas de base y laterales son visibles. las aristas superiores son visibles. las aristas superiores son visibles, la superficie superior no est suavizada.
Z

Zij
Y

n j
b

1 1
a

Restriccin de parmetros: m > 2, n > 2

62

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

Ejemplos:

MESH 50, 30, 5, 6, 1+4+16+32+64, 2, 4, 6, 7, 8, 10, 3, 4, 5, 6, 7, 9, 5, 5, 7, 8, 10, 9, 4, 5, 6, 7, 9, 8, 2, 4, 5, 6, 8, 6

MESH 90,100, 12,8, 1+4+16+32+64, 17,16,15,14,13,12,11,10,10,10,10, 9, 16,14,13,11,10, 9, 9, 9,10,10,12,10, 16,14,12,11, 5, 5, 5, 5, 5,11,12,11, 16,14,12,11, 5, 5, 5, 5, 5,11,12,12, 16,14,12,12, 5, 5, 5, 5, 5,11,12,12, 16,14,12,12, 5, 5, 5, 5, 5,11,13,14, 17,17,15,13,12,12,12,12,12,12,15,15, 17,17,15,13,12,12,12,12,13,13,16,16

Manual de Referencia GDL de ArchiCAD

63

Captulo 5: Formas Tridimensionales

ARMC

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

r2

r1 Y

Ejemplo:

ROTY CYLIND ADDZ ARMC ADDZ ROTZ ARMC ADDZ ROTZ ARMC

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

64

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

ARME

l, r1, r2, h, d Trozo de tubo que empieza desde un elipsoide en el plano y-z; parmetros de acuerdo con la figura (las curvas de interseccin se calculan y dibujan tambin). Restriccin de parmetros: r1 > r2+ d l > h* (1 - (r 2 - d)2 / r12)
Z d r2

Y r1

Ejemplo:

ELLIPS 3,4 FOR i=1 TO 6 ARME 6,4,0.5,3,3.7-0.2*i ROTZ 30 NEXT i

Manual de Referencia GDL de ArchiCAD

65

Captulo 5: Formas Tridimensionales

ELBOW

r1, alpha, r2 Segmento de codo en el plano x-z. El radio del arco es r1, el ngulo es alpha y el radio del segmento de codo es r2. Alpha est en grados. Restriccin de parmetros: r1 > r2
Z

alp

ha

r1

X r2

Ejemplo:

ROTY 90 ELBOW 2.5, 180, ADDZ -4 CYLIND 4,1 ROTZ -90 MULZ -1 ELBOW 5, 180, DEL 1 ADDX 10 CYLIND 4, ADDZ 4 ROTZ 90 ELBOW 2.5, 180,

66

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

5.2 Formas generadas desde polilneas


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

Manual de Referencia GDL de ArchiCAD

67

Captulo 5: Formas Tridimensionales

Masking Los valores de mask se usan para mostrar o esconder superficies y/ o aristas caractersticas de la forma 3D. Los valores de mask son especficos de cada elemento y se puede encontrar una definicin ms detallada en sus correspondientes secciones/captulos. mask = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 donde j1, j2, j3, j4, j5, j6, j7 pueden ser 0 or 1. j1, j2, j3, j4 representan las superficies presentes (1) o no (0). j5, j6, j7 representan qu aristas son visibles (1) o invisibles (0). j1 : superficie inferior. j2 : superficie superior. j3 : superficie lateral j4 : superficie de la otra cara j5 : aristas de la base j6 : aristas superiores j7: seccin transversal/aristas de la superficie visibles, la superficie no se suaviza. Para permitir todas las caras y aristas, ajustar el valor de mask a 127. Status Los valores de status se usan para exponer dnde un punto dado de una polilnea dejar atrs un trazo ntido de su trayectoria de rotacin. 0: 1: -1 : arcos/aristas laterales que arrancan del nodo son todos visibles. arcos/aristas laterales que arrancan del nodo se usan solo para mostrar el contorno. slo para EXTRUDE: marca el final del polgono cerrado o de un hueco, y significa que el siguiente nodo ser el primer nodo de otro hueco.

Para crear una forma suavizada en 3D, ajuste todos los valores de status a 1. Use status=0 para crear una cresta. En el Captulo "Cdigos de Status Adicionales para Polilneas" se describen cdigos adicionales para segmentos tangentes y arcos. Se reservan otros valores para futuras mejoras.

68

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

EXTRUDE

n, dx, dy, dz, mask, x1, y1, s1, . . . xn, yn, sn Prisma genrico que usa una polilnea en el plano x-y como base. El vector desplazamiento entre bases es (dx, dy, dz). Es una generalizacin de las declaraciones PRISM y SLAB. No es necesario que la polilnea de base sea cerrada ni que las aristas laterales sean perpendiculares al plano x-y. La polilnea de base puede incluir huecos, al igual que PRISM_. Es posible controlar la visibilidad de las aristas de contorno n: nmero de nodos de la polilnea. mask : si : controla la existencia de las caras superior, inferior y (en el caso de una polilnea abierta) lateral. status de las aristas laterales o marca el final de un polgono o hueco.

Restriccin de parmetros: n>2


Z j6 j2

j3 Y

n X 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

Captulo 5: Formas Tridimensionales

Valores de status 0: las aristas laterales que empiezan en el nodo son visibles. 1: -1 : las aristas laterales que empiezan en el nodo se usan para mostrar el contorno. marca el final del polgono cerrado o de un hueco, y significa que el siguiente nodo ser el primer vrtice de otro hueco.

Ejemplos:

EXTRUDE 0, 1, 2, 3, 4, 5, 6, 3, 0, 2, 3, 4, 3, 2,

14, 0, -3, -2, -4, -2, -3, 0, 4, 0, 0, 2, 0, -2, 0,

1, 0, 0, 1, 0, 1, 0, 0, 0, -1, 0, 0, 0, 0, -1

1,

4,

1+2+4+16+32,

70

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

A=5 : B=5 R=2 : S=1 C=R-S D=A-R E=B-R EXTRUDE 28, 0, D+R*SIN(0), D+R*SIN(15), D+R*SIN(30), D+R*SIN(45), D+R*SIN(60), D+R*SIN(75), D+R*SIN(90), A, 0, 0, C, D+S*SIN(0), D+S*SIN(15), D+S*SIN(30), D+S*SIN(45), D+S*SIN(60), D+S*SIN(75), D+S*SIN(90), A-C,B-C,0, R-S*COS(90), R-S*COS(75), R-S*COS(60), R-S*COS(45), R-S*COS(30), R-S*COS(15), R-S*COS(0), C,
Manual de Referencia GDL de ArchiCAD

-1, 0, 4, 0, R-R*COS(0), R-R*COS(15), R-R*COS(30), R-R*COS(45), R-R*COS(60), R-R*COS(75), R-R*COS(90), B, B, 0, 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), 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+2+4+16+32, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, -1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1

71

Captulo 5: Formas Tridimensionales

PYRAMID

n, h, mask, x1, y1, s1, . . . xn, yn, sn Pirmide basada en una polilnea en el plano x-y. El vrtice de la pirmide se sita en (0, 0, h). n: nmero de nodos de la polilnea. mask : si : controla la existencia de las caras inferior y (en el caso de una polilnea abierta) lateral. status de las aristas laterales.

Restricciones de parmetros: h>0 n>2


Z

Y j3 n j1 X 1 2 j5

mask = j1 + 4*j3 + 16*j5 donde j1, j3, j5 pueden ser 0 or 1. j1 (1): j3 (4): j5 (16): la superficie de la base est presente. la superficie lateral (cerrada) est presente. las aristas de la base son visibles.

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 mostrar el contorno.

72

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

Ejemplo:

PYRAMID

PYRAMID

ADDX ADDY GOSUB ADDX GOSUB ADDY GOSUB ADDX GOSUB END 100: PYRAMID

4, -2, -2, 2, 2, 4, -1, 1, 1, -1, -1.4 -1.4 100 2.8 100 2.8 100 -2.8 100

1.5, -2, 2, 2, -2, 4, -1, -1, 1, 1,

1+4+16, 0, 0, 0, 0 21, 0, 0, 0, 0

4, -0.25, 0.25, 0.25, -0.25,

1.5, -0.25, -0.25, 0.25, 0.25,

21, 0, 0, 0, 0

RETURN

Manual de Referencia GDL de ArchiCAD

73

Captulo 5: Formas Tridimensionales

REVOLVE

n, alpha, mask, x1, y1, s1, . . . xn, yn, sn Superficie generada por la rotacin de una polilnea definida en el plano x-y alrededor del eje x. n: nmero de nodos de la polilnea. alpha: mask: s i: ngulo de barrido en grados. controla la existencia de las caras inferior, superior y (en el caso de alpha < 360) lateral. status de los arcos laterales.

Restricciones de parmetros: n>2 yi > 0.0 yi e yi + 1 (p.e. el valor y de dos nodos vecinos) no debe ser cero a la vez.
Z

j1 j4 j6 j3 alpha j2 1 2 j5 n Y

74

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

Masking mask = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 donde j1, j2, j3, j4, j5, j6, j7 pueden ser 0 o 1. j1 (1): j2 (2): j3 (4): j4 (8): j5 (16): j6 (32): j7 (64): superficie inferior presente. superficie superior presente. superficie lateral presente en el ngulo inicial. superficie lateral presente en el ngulo final. aristas de superficie lateral visibles en ngulo inicial. aristas de superficie lateral visibles en ngulo final. aristas de la seccin transversal visibles, superficie no suavizada.

Valores de status 0: arcos laterales que arrancan del nodo todos visibles. 1: 2: arcos laterales que arrancan del nodo se usan para mostrar el contorno. si usa el Rendering de ArchiCAD o Z-buffer y define superficies suavizadas, el borde lateral que pertenece a este punto define una rotura. Esta solucin es equivalente a definir nodos adicionales; el compilador realiza el clculo. El algoritmo de FotoRendering no cambia. Cuando utilice otros mtodos de rendering, tendr el mismo efecto que usar 0.

Ejemplos:

Manual de Referencia GDL de ArchiCAD

75

Captulo 5: Formas Tridimensionales

ROTY -90 REVOLVE 22, 360, 1+64, 0, 1.982, 0, 0.093, 2, 0, 0.144, 1.845, 0, 0.220, 1.701, 0, 0.318, 1.571, 0, 0.436, 1.459, 0, 0.617, 1.263, 0, 0.772, 1.045, 0, 0.896, 0.808, 0, 0.987, 0.557, 0, 1.044, 0.296, 0, 1.064, 0.030, 0, 1.167, 0.024, 0, 1.181, 0.056, 0, 1.205, 0.081, 0, 1.236, 0.096, 0, 1.270, 0.1, 0, 1.304, 0.092, 0, 1.333, 0.073, 0, 1.354, 0.045, 0, 1.364, 0.012, 0, 1.564, 0, 0

76

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

revolucin sin cdigo de status 2:


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

el mismo resultado con cdigo 2:


ROTY -90 REVOLVE 18, 180, 48, 7, 1, 0, 6, 1, 2, 5.5, 2, 2, 5, 1, 2, 4, 1, 2, 3+COS(15), 1+SIN(15), 1, 3+COS(30), 1+SIN(30), 1, 3+COS(45), 1+SIN(45), 1, 3+COS(60), 1+SIN(60), 1, 3+COS(75), 1+SIN(75), 1, 3, 2, 1, 3+COS(105), 1+SIN(105), 1, 3+COS(120), 1+SIN(120), 1, 3+COS(135), 1+SIN(135), 1, 3+COS(150), 1+SIN(150), 1, 3+COS(165), 1+SIN(165), 1, 2, 1, 2, 1, 1, 0

Manual de Referencia GDL de ArchiCAD

77

Captulo 5: Formas Tridimensionales

RULED

n, mask, u1, v1, s1, . . . un, vn, sn, x1, y1, z1, . . . xn, yn, zn RULED es una superficie basada en una curva plana y una curva en el espacio que tienen el mismo nmero de nodos. Segmentos rectos conectan los nodos correspondientes a las dos polilneas. Es el nico elemento de GDL que permite superponer nodos vecinos. n: nmero de nodos de cada curva. mask : controla la existencia de las caras inferior, superior y lateral y la visibilidad de las aristas de la polilneas generatrices. El polgono lateral conecta el primer y ltimo nodos de las curvas, si alguna de ellas no est cerrada. coordenadas de los nodos de la curva plana. status de las aristas laterales. coordenadas de la curva en el espacio.

u i , vi : si : x i , yi , z i :

Restriccin de parmetros: n>1

2 j2 j6 1

j3 Y

n j1 X 1 2 j5

78

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

Masking mask = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6 + 64*j7 donde j1, j2, j3, j5, j6, j7 pueden ser 0 o 1. j1 (1): j2 (2): j3 (4): j5 (16): j6 (32): j7 (64): la superficie inferior est presente. la superficie superior est presente (no efectivo si la superficie superior no es plana). la superficie lateral est presente (un cuadrngulo plano o dos tringulos). las aristas de la curva plana son visibles. las aristas de la curva en el espacio son visibles. las aristas de la superficie son visibles, la superficie no se suaviza.

Valores de status 0: las aristas laterales que arrancan del nodo son todas visibles. 1: las aristas laterales que arrancan del nodo se usan para buscar el contorno.

Ejemplos:

Manual de Referencia GDL de ArchiCAD

79

Captulo 5: Formas Tridimensionales

R=3 RULED 16, 1+2+4+16+32, COS(22.5)*R, SIN(22.5)*R, COS(45)*R, SIN(45)*R, COS(67.5)*R, SIN(67.5)*R, COS(90)*R, SIN(90)*R, COS(112.5)*R, SIN(112.5)*R, COS(135)*R, SIN(135)*R, COS(157.5)*R, SIN(157.5)*R, COS(180)*R, SIN(180)*R, COS(202.5)*R, SIN(202.5)*R, COS(225)*R, SIN(225)*R, COS(247.5)*R, SIN(247.5)*R, COS(270)*R, SIN(270)*R, COS(292.5)*R, SIN(292.5)*R, COS(315)*R, SIN(315)*R, COS(337.5)*R, SIN(337.5)*R, COS(360)*R, SIN(360)*R, COS(112.5)*R, SIN(112.5)*R, COS(135)*R, SIN(135)*R, COS(157.5)*R, SIN(157.5)*R, COS(180)*R, SIN(180)*R, COS(202.5)*R, SIN(202.5)*R, COS(225)*R, SIN(225)*R, COS(247.5)*R, SIN(247.5)*R, COS(270)*R, SIN(270)*R, COS(292.5)*R, SIN(292.5)*R, COS(315)*R, SIN(315)*R, COS(337.5)*R, SIN(337.5)*R, COS(360)*R, SIN(360)*R, COS(22.5)*R, SIN(22.5)*R, COS(45)*R, SIN(45)*R, COS(67.5)*R, SIN(67.5)*R, COS(90)*R, SIN(90)*R,

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

80

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

SWEEP

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

scale : mask : u i , vi : si : x i , yi , z i :

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

Manual de Referencia GDL de ArchiCAD

81

Captulo 5: Formas Tridimensionales

Masking mask = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6 + 64*j7 donde j1, j2, j3, j5, j6, j7 pueden ser 0 o 1. j1 (1): j2 (2): j3 (4): j5 (16): j6 (32): j7 (64): la superficie inferior est presente. la superficie superior est presente. la superficie lateral est presente. las aristas inferiores son visibles. las aristas superiores son visibles. las aristas de la seccin transversal son visibles, la superficie est articulada.
Z j2 j6 m

2 Y j3 n X 1 2 j5 1

j1

Valores de status 0: todas las aristas laterales que arrancan del nodo son visibles. 1: Ejemplos: las aristas laterales que arrancan del nodo se usan para mostrar el contorno.

82

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

SWEEP 4, -0.5, 0.5, 0.5, -0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6

1+2+4+16+32,

Manual de Referencia GDL de ArchiCAD

83

Captulo 5: Formas Tridimensionales

TUBE

n, m, mask, u1, w1, s1, ... un, wn, sn, x1, y1, z1, angle1, ... xm, ym, zm, anglem Superficie generada por una polilnea que sigue la trayectoria de una curva en el espacio sin distorsin de la seccin generatriz. Las superficies de conexin interna pueden girar en el plano U-W del sistema de coordenadas instantneo U-V-W. eje V: aproxima la tangente de la curva generatriz en el punto correspondiente, eje W: eje U: perpendicular al eje V y apuntando hacia arriba con respecto al eje z local, perpendicular a los ejes V y W y formando con ellos un sistema de coordenadas Cartesianas segn la regla de la mano derecha.

Si el eje V es vertical, la direccin W no est correctamente definida. El eje W en el nodo previo de la trayectoria se usa para determinar una direccin horizontal. La seccin transversal del tubo, medida en medio de los segmentos de la trayectoria es siempre igual al polgono de base (u1, w1, ... un, wn). Las secciones en las uniones estn situadas en el plano bisector de los segmentos de unin. El polgono de base debe estar cerrado. n: nmero de nodos de la polilnea. m: ui, w i : si : x i , yi , z i : nmero de nodos de la trayectoria. coordenadas de los nodos de la polilnea de base. status de las aristas laterales. coordenadas de los nodos de la trayectoria curva. (La trayectoria comprende dos puntos ms que el nmero de secciones generadas. El primer y el ltimo puntos determinan la posicin el espacio de la primera y la ltima superficies que pertenecen al TUBE. Estos puntos slo juegan un papel determinando la normal de las superficies, no son nodos actuales de la trayectoria. La orientacin de las superficies es la misma que la de las superficies

84

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

que se generaran en los nodos ms cercanos a los dos extremos, si el TUBE continuara en las direcciones indicadas por ellos. anglei ngulo de rotacin de la seccin transversal. Masking mask = j1 + 2*j2 + 16*j5 + 32*j6 + 64*j7 donde j1, j2, j5, j6, j7 pueden ser 0 o 1. j1 (1): j2 (2): j5 (16): j6 (32): j7 (64): la superficie inferior est presente. la superficie final est presente. las aristas inferiores (en x1, y1, z1) son visibles. las aristas finales (en xm, ym, zm) son visibles. las aristas de la seccin transversal (excepto las lneas de conexin de caras coplanares) son visibles, la superficie est articulada.

Restricciones de parmetros: n>2 m>3


W m m-1 V W 1 2
alpha

U U

Valores de status 0: los bordes laterales que empiezan en el nodo son todos visibles. 1: los bordes laterales que empiezan en el nodo se utilizan para mostrar el contorno.

Manual de Referencia GDL de ArchiCAD

85

Captulo 5: Formas Tridimensionales

Ejemplos:

TUBE

4, 2.0, 0.0, 0.0, 2.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,

18, 0.0, 0.0, 0.4, 0.4, 0, 0, 0, 0, 4 4 4 4 4 4, 4 4 4 4 4 8, 8, 8,

16+32, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

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

86

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

TUBE

14, 0, 0.03, 0.03, 0.06, 0.05, 0.05, 0.05, 1, 0.08, 0.19, 0.19, 0.25, 0.25, 0, 0, 0, 0, -0.8, -0.8, -0.8,

6, 0,0, 0,0, 0.02, 0.02, 0.0699, 0.07, 0.15, 0, 90, 0.15, 0.19, 0.19, 0.25, 0.25, 1, 0.0001, 0, 0, 0.0001, 1,

1+2+16+32,

0, 0, 0, 1, 901, 801, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0

Manual de Referencia GDL de ArchiCAD

87

Captulo 5: Formas Tridimensionales

TUBE

3, 0, -0.5, 0, 0.2, 0, 0, 3, 3, 3, 3,

7, 0, 0, 0.5, 0, 0, 0, 0, 4, 4, 3.8,

16+32, 0, 0, 0, -0.2, 0, 5, 5, 5, 0, -0.2, 0, 0, 0, 0, 0, 0, 0

88

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

TUBEA

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

2 1 1

m-1

bisector plane

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

Manual de Referencia GDL de ArchiCAD

89

Captulo 5: Formas Tridimensionales

TUBEA 9, -1, 0, 0.8, 0.8, 0.8001, 3.2, 3.2, 4, 5, 0, 0, 4, 9, 9, 14, 20,

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

90

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

COONS

n, m, mask, x11, y11, z11, . . . x1n, y1n, z1n, x21, y21, z21, . . . x2n, y2n, z2n, x31, y31, z31, . . . x3m, y3m, z3m, x41, y41, z41, . . . x4m, y4m, z4m Superficie tipo Coons generada a partir de 4 curvas que la limitan. Masking mask = 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 donde j3, j4, j5, j6, j7 pueden ser 0 o 1. j3 (4): j4 (8): j5 (16): j6 (32): j7 (64): aristas del 1er lmite (x1, y1, z1) visibles. aristas del 2 lmite (x2, y2, z2) visibles. aristas del 3er lmite (x3, y3, z3) visibles. aristas del 4 lmite (x4, y4, z4) son visibles. aristas de superficie visibles, la superficie suavizada.

Restricciones de parmetros: n, m > 1


Z

1(n)

4(m)

2(n)

3(m)
X

Manual de Referencia GDL de ArchiCAD

91

Captulo 5: Formas Tridimensionales

Ejemplos:

COONS 6, 6, 4+8+16+32+64, !1er contorno, n=6 0, 0, 5, 1, 0, 4, 2, 0, 3, 3, 0, 2, 4, 0, 1, 5, 0, 0, !2 contorno, n=6 0, 5, 0, 1, 5, 1, 2, 5, 2, 3, 5, 3, 4, 5, 4, 5, 5, 5, !3er contorno, m=6 0, 0, 5, 0, 1, 4, 0, 2, 3, 0, 3, 2, 0, 4, 1, 0, 5, 0, !4 contorno, m=6 5, 0, 0, 5, 1, 1, 5, 2, 2, 5, 3, 3, 5, 4, 4, 5, 5, 5

92

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

ROTZ -90 ROTY 90 COONS 7, 6, !1er contorno, n=7 1, 2, 0.5, 1, 0.2, 0.5, -0.5, 0, 0.2, -0.5, 0.5, -1, 1, -2, !2 contorno, n=7 6, 10, 6.5, 4, 5, 1, 4, 0, 5, -1, 6.5, -4, 6, -10, !3er contorno, m=6 1, 2, 2, 4, 3, 6, 4, 8, 5, 9, 6, 10, !4 contorno, m=6 1, -2, 2, -4, 3, -6, 4, -8, 5, -9, 6, -10,

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

Manual de Referencia GDL de ArchiCAD

93

Captulo 5: Formas Tridimensionales

MASS

topmat, botmat, sidemat, n, m, mask, h, x1, y1, z1, s1, ... xn, yn, zn, sn, xn+1, yn+1, zn+1, sn+1, ... xn+m, yn+m, zn+m, sn+m topmat, botmat, sidemat: nombre/ndice de materiales superior, inferior y lateral n: m: h: xi, yi, zi : si : el nmero de nodos en el polgono de base el nmero de nodos sobre las crestas la altura de la cubierta (puede ser negativa) las coordenadas de los nodos similar a la declaracin PRISM_

Masking mask = j1 + 4*j3 + 16*j5 + 32*j6 + 64*j7 donde j1, j3, j5, j6, j7 pueden ser 0 o 1. j1 (1): j3 (4): j5 (16): j6 (32): j7 (64): la superficie de base est presente las superficies laterales estn presentes las aristas de la base y laterales son visibles las aristas superiores son visibles las aristas superiores son visibles, la superficie superior no est suavizada

Restricciones de parmetros: n > 3, m > 0


m-1

m n

1 2

dz plane

94

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

Ejemplo:

MASS 15, 0, 8, 8, 13, 16, 19, 23, 24, 24, 28, 28, 28, 0, 0, 0, 0, 28, 23, 23, 13, 13, 16, 16, 0, 28, 19, 19,

"Whitewash", "Whitewash", "Whitewash", 12, 117, -5.0, 12, 0, 15, 12, 0, 15, 0, 0, 15, 0, 0, 13, 0, 0, 13, 0, 0, 13, 0, 0, 13, 0, 0, 15, 12, 0, 15, 12, 0, 15, 20, 8, 13, 22, 8, 15, 22, 8, 15, 20, 8, 13, 12, 0, -1, 22, 22, 17, 0, 13, 0, 0, 19, 20, 20, 17, 0, 8, 8, 5, 5, 1, 1, 7, 7, 8, 8, 5, 5, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1

Manual de Referencia GDL de ArchiCAD

95

Captulo 5: Formas Tridimensionales

5.3 Elementos para la Visualizacin


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

radius

beta alpha

intensity dist1 dist2

96

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

Restricciones de parmetros: alpha < beta < 80 Combinaciones de parmetros que tienen significados especiales: radius = 0, alpha = 0, beta = 0 Un punto de luz, que irradia luz en todas direcciones y no arroja sombras. Los parmetros shadow y angfalloff se ignoran, suponindoles valores shadow = 0, angfalloff = 0. radius > 0, alpha = 0, beta = 0 Una luz direccional. Ejemplo:
LIGHT 1.0,0.2,0.3, 1, 1.0, 45.0,60.0, 0.3, 1.0,10.0, 0.2 ! ! ! ! ! ! ! RGB sombras activas radio angle1, angle2 angfalloff dist1, dist2 distfalloff

Dilogo de edicin de Lmparas en ArchiCAD:

Manual de Referencia GDL de ArchiCAD

97

Captulo 5: Formas Tridimensionales

Parte del correspondiente script GDL:


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

r = 0, alpha > 0, beta > 0

r > 0, alpha = 0, beta > 0

r > 0, alpha = 0, beta = 0 Tipos de luz usando distintos parmetros alpha y beta

98

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

PICTURE

expression, a, b, mask Elemento de imagen para FotoRendering. La expresin indica un nombre de archivo, una expresin numrica de un ndice de una imagen guardada como objeto de biblioteca. Un ndice 0 es un valor especial, se refiere a la imagen anterior de la biblioteca. Otras imgenes pueden guardarse en objetos de biblioteca slo al guardar el proyecto o elementos seleccionados conteniendo imgenes como Objetos ArchiCAD. La figura del fichero de referencia encaja en un rectngulo tratado como un RECT en cualquier otro mtodo de proyeccin 3D.

mask = alpha + distortion alpha : control del canal alpha 0 : no se usa canal alpha, la figura es un rectngulo 1 : se usa canal alpha, partes de la figura pueden ser transparentes. distortion : control de distorsin 0 : encaja la imagen en un rectngulo dado 2 : encaja la imagen en el centro de un rectngulo usando las proporciones naturales de la imagen 4 : llena el rectngulo con la imagen en posicin central usando sus proporciones naturales

Manual de Referencia GDL de ArchiCAD

99

Captulo 5: Formas Tridimensionales

5.4 Elemento de Texto


TEXT d, 0, expression Una representacin 3D en el estilo definido del valor de un texto o expresin de tipo numrico. Ver DEFINE STYLE y SET STYLE en el captulo "Atributos". d: grosor de los caracteres en metros En esta versin de GDL, el segundo parmetro es siempre cero. Ejemplos:

DEFINE STYLE "aa" "New York", 3, 7, 0 SET STYLE "aa" TEXT 0.005, 0, "3D Text"

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

Observacin: Para compatibilidad con el script GDL 2D, la altura de los caracteres se interpreta siempre en mm-s en las declaraciones DEFINE STYLE.

100

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

5.5 Primitivas
Las primitivas de la estructura de datos 3D son VERT, VECT, EDGE, PGON y BODY. Los cuerpos se representan por sus superficies y las conexiones entre ellas. La informacin para ejecutar un corte 3D proviene de la informacin de conexin El indexado empieza con 1, y cada nuevo cuerpo o una declaracin BASE reinicia el ndice a 1. Para cada arista, se almacenan los ndices de polgonos adyacentes (mximo 2). La orientacin de las aristas se define por los dos vrtices determinados como primero y segundo. Los polgonos son listados de aristas con una orientacin incluyendo los ndices de las aristas. Estos nmeros pueden tener un prefijo negativo. Esto significa que la arista dada se usa en direccin opuesta. Los polgonos pueden incluir huecos. En la lista de aristas, un ndice cero indica un nuevo hueco. Los huecos no deben incluir otros huecos. Una arista puede pertenecer de 0 a 2 polgonos. En el caso de cuerpos cerrados, la orientacin de los polgonos es correcta si la arista tiene distintos prefijos en la lista de aristas de los dos polgonos Los vectores normales a los polgonos se almacenan separadamente. En el caso de cuerpos cerrados, sealan del interior al exterior del cuerpo. La orientacin de la lista de aristas es antihoraria (matemticamente positiva), si se mira desde el exterior. La orientacin de los huecos es opuesta al polgono relativo. Los vectores normales a un cuerpo abierto deben sealar a la misma cara del cuerpo. Para determinar el interior y el exterior de los cuerpos, estos deben estar cerrados. Una definicin simple para un cuerpo cerrado es la siguiente: cada arista tiene exactamente dos polgonos adyacentes. La eficiencia de los algoritmos de corte, lneas ocultas o rendering es menor para cuerpos abiertos. Cada elemento tridimensional compuesto con parmetros regulares es un cuerpo cerrado en la estructura de datos interna 3D. La bsqueda de la lnea de contorno se basa en los bits de status de las aristas y sus polgonos adyacentes. Esto de define automticamente para elementos curvos compuestos, pero depende del usuario especificar correctamente estos bits en el caso de elementos primitivos.

Manual de Referencia GDL de ArchiCAD

101

Captulo 5: Formas Tridimensionales

En el caso de una definicin simplificada (PGON.ivect = 0 PGON.status < 0) las primitivas a las que se refiere por otras deben preceder a su referencia. En este caso, el orden que se recomienda es: VERT (TEVE) EDGE (VECT) PGON (PIPG) COOR BODY La bsqueda de polgonos adyacentes por las aristas se hace durante la ejecucin de la declaracin de cuerpo. La numeracin de VERTs, EDGEs, VECTs y PGONs es relativa a la ltima declaracin de BASE (implcita o explcita. Los valores de status se usan para almacenar informacin especial sobre las primitivas. Cada bit individual tiene habitualmente un significado independiente en el status, pero hay algunas excepciones. Valores dados pueden aadirse juntos. Otras combinaciones de bits que las dadas a continuacin estn estrictamente reservadas para uso interno. El valor por omisin para cada status es cero. VERT x, y, z Nodo en el espacio x-y-z, definido por 3 coordenadas. TEVE x, y, z, u, v Extensin de la declaracin VERT incluyendo una definicin de coordenadas de textura. Puede usarse en lugar de la declaracin VERT se precisan coordenadas de textura definidas por el usuario en lugar de las texturas automticas de ArchiCAD (ver la declaracin COOR). x, y, z: coordenadas de un nodo u, v: coordenadas de textura del nodo (u, v) deben especificarse coordenadas para cada vrtice del cuerpo actual y cada vrtice debe tener slo una coordenada de textura. Si las declaraciones VERT y TEVE se mezclan en una definicin de cuerpo, las coordenadas (u,v) no son efectivas. Nota: las coordenadas de textura (u, v) slo son efectivas en FotoRenderings, pero no para mapeado de tramas vectoriales.

102

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

VECT

x, y, z Definicin del vector normal a un polgono por 3 coordenadas. En el caso de definicin simplificada (PGON.ivect = 0) estas declaraciones pueden omitirse.

EDGE

vert1, vert2, pgon1, pgon2, status Definicin de una arista. vert1, vert2 : ndice de los extremos. Los ndices vert1 y vert2 deben ser distintos y referenciados a los VERTs previamente definidos. pgon1, pgon2 : ndices de los polgonos vecinos. Valores cero y negativos tienen el siguiente significado especial: 0 : arista solitaria o de extremo. <0 : ArchiCAD buscar posibles vecinos. Bits de status: 1 arista invisible. 2 arista de una superficie curvada. Bits de status reservados para uso futuro: 4 primera arista de una superficie curvada (solamente junto con 2). 8 16 32 64 ltima arista de una superficie curvada (solamente junto con 2). la arista es un segmento de arco. primer segmento de un arco (solamente junto con 16). ltimo segmento de un arco (solamente junto con 16).

Manual de Referencia GDL de ArchiCAD

103

Captulo 5: Formas Tridimensionales

PGON

n, ivect, status, edge1, edge2, . . . edgen n: ivect : nmero de aristas en la lista de aristas. ndice del vector normal. Debe referirse a un VECT previamente definido. Si ivect = 0, ArchiCAD calcular el vector normal durante el anlisis. Los ndices edge1, edge2, . . . edgen deben referirse a EDGEs previamente definidos. Un valor 0 significa el inicio o el final de una definicin de hueco. Un ndice negativo cambia la direccin de un vector normal o arista almacenados a la opuesta en el polgono. (El vector o la arista almacenados no cambian; otros polgonos pueden referirse a ellos usando la orientacin original con un ndice positivo.) Bits de status: 1 polgono invisible. 2 16 32 64 polgono en una superficie curva. polgono cncavo. polgono con hueco(s). hueco(s) convexo (s) (slo junto con 32). Bits de status reservados para uso futuro: 4 primer polgono de una superficie curva (slo junto con 2). 8 ltimo polgono de una superficie curva (slo junto con 2). Si el valor de status es negativo, ArchiCAD calcular el status del polgono (tal como polgono cncavo o con hueco). n = 0 se permite para usos especiales.

104

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

PIPG

filename, a, b, mask, n, ivect, status, edge1, edge2, . . . edgen Definicin de polgono de imagen. Los primeros 4 parmetros son los mismos que en el elemento PICTURE, los restantes son los mismos que en el elemento PGON.

COOR

wrap, vert1, vert2, vert3, vert4 Sistema de coordenadas local de un BODY para el relleno y mapeado. wrap : modo de envolver + tipo de proyeccin. Modos de envolver: 1: 2: 3: 4: 5: plano cbico cilndrico esfrico igual que el mapeado cilndrico, pero al renderizar las superficies superior e inferior tendrn un mapeado circular.

Tipos de proyeccin: 256 : el relleno empieza siempre en el origen del sistema de coordenadas local 1024 : proyeccin cuadrtica de la textura (recomendado) 2048 : proyeccin lineal de la textura basada en la distancia promedio 4096 : proyeccin lineal de la textura basada en la triangulacin normal Los 3 valores anteriores slo son efectivos con definiciones propias de coordenadas de texturas (ver la declaracin TEVE). vert1 : ndice de un VERT, representando el origen del sistema de coordenadas local. ndices de VERTs definiendo los 3 ejes coordenados. Use un signo menos antes de los ndices VERT si los usa slo para definir un sistema de coordenadas local.
Manual de Referencia GDL de ArchiCAD

vert2, vert3, vert4 :

105

Captulo 5: Formas Tridimensionales

Ejemplo de ejes de textura propios:

Y Z' Y' X'

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

"Face brick", 15, 15, 15, 15 !#1 !#2 !#3 !#4 -3, -4

"Face brick",

106

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

BODY

status Compone un cuerpo definido con las siguientes primitivas. Bits de status: 1 cuerpo cerrado. 2 4 cuerpo que incluye superficie(s) curva(s). modelo de superficie: cuando el cuerpo est cortado, no se originan superficies en el plano de corte. el cuerpo siempre arroja sombras, independientemente del algoritmo de preseleccin automtica. el cuerpo nunca arroja sombras.

32

64

Si ni 32 ni 64 estn definidos, se efecta la preseleccin automtica de sombras. Ver SHADOW en el Captulo "Atributos". Si el valor de status es negativo, ArchiCAD calcular el status del cuerpo. Ejemplo:
Z

6 1

7 4 Y 3

2 X

Manual de Referencia GDL de ArchiCAD

107

Captulo 5: Formas Tridimensionales

1: Descripcin Completa
VERT VERT VERT VERT VERT VERT VERT VERT EDGE EDGE EDGE EDGE EDGE EDGE EDGE EDGE EDGE EDGE EDGE EDGE VECT VECT VECT PGON PGON PGON PGON PGON PGON BODY 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, 4, 3, 0, 0, 0, 0, 0, 5, 6, 7, !#1 !#2 !#3 !#4 !#5 !#6 !#7 !#8 !#1 !#2 !#3 !#4 !#5 !#6 !#7 !#8 !#9 !#10 !#11 !#12 !#1 !#2 !#3 !#1 !VERT1,2,3,4 !#2 !VERT5,6,7,8 !#3 !VERT1,2,5,6 !#4 !VERT2,3,6,7 !#5 !VERT3,4,7,8 !#6 !VERT1,4,5,8 !CUBE

0 0 0 0 0 0 0 0 0 0 0 0

-2 8

4, -2, 4, 4, 1, 2,

1, 10, -5, -9 2, 11, -6, -10 3, 12, -7, -11 4, 9, -8, -12

4, -1, 1

108

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

2: (no hay referencia directa a los polgonos o vectores, Archicad los calcula)
VERT VERT VERT VERT VERT VERT VERT VERT EDGE EDGE EDGE EDGE EDGE EDGE EDGE EDGE EDGE EDGE EDGE EDGE PGON PGON PGON PGON PGON PGON BODY 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, 4, 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, -1, -1, 5, 6, 7, !#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

0 0 0 0 0 0 0 0 0 0 0 0 -2 8

4, 0, 4, 4, 0, 0,

1, 10, -5, -9 2, 11, -6, -10 3, 12, -7, -11 4, 9, -8, -12

4, 0, -1

BASE Pone a cero el contador para los elementos geomtricos del nivel bajo declaraciones (VERT, VECT, EDGE y PGON). Utilizado implcitamente despus de cada definicin de elemento compuesto.

Manual de Referencia GDL de ArchiCAD

109

Captulo 5: Formas Tridimensionales

5.6 Uso de los Datos 3D Binarios


BINARY mode [, section] Comando especial para incluir objetos binarios en un macro GDL. Un conjunto de vrtices, vectores, aristas, polgonos, cuerpos y materiales se lee desde una seccin especial del archivo del Objeto de Biblioteca. Estos se transforman de acuerdo con las transformaciones actuales y se combinan en el modelo 3D. Los datos contenidos en la seccin binaria no es editable para el usuario. mode: 0: 1: Las definiciones de PEN y MATERIAL son efectivas. 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. se utilizan las definiciones de PEN y MATERIAL almacenadas, los materiales no definidos se reemplazan por las definiciones actuales. se utilizan las definiciones almacenadas de PEN y MATERIAL , los materiales no definidos se reemplazan por los atributos almacenados por omisin. ndice de la parte binaria del 1 al 16.

2:

3:

seccin:

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

110

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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

Manual de Referencia GDL de ArchiCAD

111

Captulo 5: Formas Tridimensionales

5.7 Corte en 3D
CUTPLANE [x, y, z [, side]] [stmt1 stmt2 ... stmtn] o angle [stmt1 stmt2 ... stmtn] Crea un plano de corte y borra partes cortadas de formas incluidas. CUTPLANE puede contener diferentes nmeros de parmetros. CUTPLANE tiene: Sin Parmetros: plano x-y 1 parmetro: el plano de corte cruza el eje x, el ngulo est entre el plano de corte 2 parmetros: el plano de corte es paralelo al eje z, cruza el eje x y el y sobre lo valores dados 3 parmetros: cruza ejes x, y , z sobre los valores dados 4 parmetros: los tres primeros parmetros anteriores side = 0: side = 1: borra partes encima del plano de corte (por omisin) borra partes bajo el plano de corte; en caso de x-y, x-z, y-z, las partes en la direccin negativa del eje.

CUTEND CUTPLANE

CUTEND

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

112

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

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

CUTPLANE CUTPLANE CUTPLANE CUTPLANE ADD BRICK DEL CUTEND CUTEND CUTEND CUTEND
Manual de Referencia GDL de ArchiCAD

2, -2, -2, 2, -1, 2, 1

2, 2, -2, -2, -1, 2,

4 4 4 4 0 4

113

Captulo 5: Formas Tridimensionales

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

114

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

CUTPOLY

n, x1, y1, . . . xn, yn [, x, y, z] [stmt1 stmt2 ... stmtn] Similar al comando CUTPLANE, los parmetros de CUTPOLY se refieren al sistema de coordenadas actual. El polgono debe ser convexo y no puede tener auto-interseccin. La direccin de corte es el eje Z o puede especificarse un vector opcional (x, y, z) Los parmetros definen un "tubo" infinito: el polgono es la seccin transversal del tubo, la direccin de corte es la direccin del tubo. Se elimina todo lo que est en el interior del tubo. Ejemplos:

CUTEND

ROTX 90 MULZ -1 CUTPOLY 3, 0.5, 1, 2, 2, 3.5, 1, -1.8, 0, 1 DEL 1 BPRISM_ "Red brick", "Red brick", "Face brick", 4, 0.9, 7, 0.0, 0.0, 15, 6.0, 0.0, 15, 6.0, 3.0, 15, 0.0, 3.0, 15 CUTEND

Manual de Referencia GDL de ArchiCAD

115

Captulo 5: Formas Tridimensionales

A=1.0 D=0.1 CUTPOLY D, A-D, A-D, D, ROTX -90 CUTPOLY D, A-D, A-D, D, DEL 1 ROTY 90 CUTPOLY D, A-D, A-D, D, DEL 1 BLOCK A, CUTEND CUTEND CUTEND

4, D, D, A-D, A-D

4, D, D, A-D, A-D

4, D, D, A-D, A-D A, A

116

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

ROTX 90 FOR I=1 TO 3 FOR J=1 TO 5 CUTPOLY 4, 0, 0, 1, 1, 1, 0, ADDX 1.2 NEXT J DEL 5 ADDY 1.2 NEXT I DEL NTR()-1 ADD -0.2, -0.2, 0 BRICK 6.2, 3.8, 1 FOR K=1 TO 15 CUTEND NEXT K DEL TOP

0, 1

Manual de Referencia GDL de ArchiCAD

117

Captulo 5: Formas Tridimensionales

CUTPOLYA

n, status, d, x1, y1, mask1, . . . xn, yn, maskn [, x, y, z] [stmt1 stmt2 ... stmtn] Similar a la definicin CUTPOLY, pero con la posibilidad de controlar la visibilidad de las aristas de los polgonos generados. La forma de corte es un tubo semi-infinito con la seccin transversal poligonal definida. El final de la forma de corte no puede caer dentro del cuerpo.
Z

CUTEND

j2

j3 Y

i j1 i+1 X

status: 1: uso de los atributos propios del cuerpo para las aristas y polgonos generados 2: los polgonos de corte generados se tratarn como polgonos normales d: distancia entre el origen local y el extremo del tubo semi-infinito d = 0 significa cortar con un tubo infinito similar a la declaracin PRISM_ maski = j1 + 2 * j2 + 4 * j3

maski:

118

Manual de Referencia GDL de ArchiCAD

Captulo 5: Formas Tridimensionales

Ejemplo:

ROTX 90 FOR I=1 TO 3 FOR J=1 TO 5 CUTPOLYA 6, 1, 0, 1, 0.15, 5, 0.15, 0.15, 900, 0, 90, 4007, 0, 0.85, 5, 0.85, 0.85, 900, 0, 90, 4007 ADDX 1 NEXT J DEL 5 ADDY 1 NEXT I DEL NTR()-1 ADD -0.2, -0.2, 0 BRICK 5.4, 3.4, 0.5 FOR K=1 TO 15 CUTEND NEXT K DEL TOP

Manual de Referencia GDL de ArchiCAD

119

Captulo 5: Formas Tridimensionales

CUTSHAPE

d [stmt1 stmt2 ... stmtn] 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.

CUTEND

FOR I = 1 TO 5 ADDX 0.4 * I ADDZ 2.5 CUTSHAPE 0.4 DEL 2 ADDX 0.4 NEXT I DEL TOP BRICK 4.4, 0.5, 4 FOR I = 1 TO 5 CUTEND NEXT I

120

Manual de Referencia GDL de ArchiCAD

Captulo 6: Formas Bidimensionales

Formas Bidimensionales

Manual de Referencia GDL de ArchiCAD

121

Captulo 6: Formas Bidimensionales

6.1 Elementos de Dibujo


HOTSPOT2 x, y

(x, y)

LINE2

x1, y1, x2, y2


(x2, y2) Y

(x1, y1)

RECT2

x1, y1, x2, y2


(x2, y2) Y

(x1, y1)

122

Manual de Referencia GDL de ArchiCAD

Captulo 6: Formas Bidimensionales

POLY2

n, framefill, x1, y1, .... xn, yn Polgono abierto o cerrado con n bordes. Restricciones de parmetros: n>2
Y

framefill = j1 + 2*j2 + 4*j3 donde j1, j2, j3 pueden ser 0 or 1. j1 (1): j2 (2): j3 (4): POLY2_ slo contorno slo relleno cerrar un polgono abierto.

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

X
Manual de Referencia GDL de ArchiCAD

123

Captulo 6: Formas Bidimensionales

framefill = j1 + 2*j2 + 4*j3 donde j1, j2, j3 pueden ser 0 or 1. j1 (1): j2 (2): j3 (4): maski : slo contorno slo relleno cerrar un polgono abierto. 0: el siguiente segmento es invisible 1: el siguiente segmento es visible -1: fin de un contorno POLY2_A POLY2_B n, framefill, fillpen, x1, y1, mask1, ..., xn, yn, maskn n, framefill, fillpen, fillbkgdpen, x1, y1, mask1, ..., xn, yn, maskn Versiones avanzadas del comando POLY2_ , con parmetros adicionales: la pluma y el relleno. El resto de parmetros son similares a los descritos en la declaracin POLY2_. ARC2 x, y, r, alpha, beta Arco con centro en (x, y) desde un ngulo alpha hasta beta, con radio r. Alpha y beta estn en grados.

be ta

alpha
(x, y)

124

Manual de Referencia GDL de ArchiCAD

Captulo 6: Formas Bidimensionales

CIRCLE2

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

r
Y (x, y)

SPLINE2

n, status, x1, y1, angle1,, xn, yn, anglen Restriccin: n2 Spline, con n puntos de control. La tangente en el punto de control (xi, yi) est definida por anglei, el ngulo con eje Ox en grados.
angle i i 1 Y (x i ,yi ) n

Valores de status: 0: por defecto 1: 2: spline cerrada, el primer y ltimo nodos de la spline estarn conectados, cerrando as la spline spline autosuavizada, el valor del parmetro de ngulo de los nodos entre el primero y el ltimo no se usa al generar la spline. Se usa un algoritmo interno de autosuavizado.

Manual de Referencia GDL de ArchiCAD

125

Captulo 6: Formas Bidimensionales

Ejemplos:

SPLINE2 0, 0, 1, 2, 1.5, 1.5, 3, 4, 4, 3,

5, 2, 60, 30, -30, 45, -45

n = 5 FOR I = 1 TO n SPLINE2 4, 0.0, 2.0, -1.0, 1.8, -1.0, 1.0, 0.0, 0.0, MUL2 -1.0, SPLINE2 4, 0.0, 2.0, -1.0, 1.8, -1.0, 1.0, 0.0, 0.0, DEL 1 SPLINE2 4, 0.0, 2.0, 0.0, 2.5, 0.0, 2.4, 0.0, 2.0, ADD2 2.5, NEXT I

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

126

Manual de Referencia GDL de ArchiCAD

Captulo 6: Formas Bidimensionales

SPLINE2_A

n, status, x1, y1, angle1, lenPrev1, lenNext1, ... xn, yn, anglen, lenPrevn, lenNextn Extensin de la declaracin SPLINE2 (spline de Bzier), usada principalmente en generacin automtica de scripts 2D a causa de su complejidad (para ms detalles, vea el Manual de Referencia de ArchiCAD).
xti len Ne

Pr

ev

angle i i (x i ,yi ) n

len

Cdigos de status: 0: 1: 2: Por defecto spline cerrada, el primer y ltimo nodos de la spline estarn conectados, cerrando as la spline spline autosuavizada, los valores de los parmetros de ngulo, lenPrevi e lenNexti de los nodos entre el primero y el ltimo no se usa al generar la spline. Se usa un algoritmo interno de autosuavizado. coordenadas de los puntos de control

xi, yi:

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

Manual de Referencia GDL de ArchiCAD

127

Captulo 6: Formas Bidimensionales

Ejemplo:

SPLINE2A 0.0, 0.7, 1.9, 1.9, 1.8, 2.4, 3.5, 4.7, 6.0,

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

PICTURE2

expression, a, b, mask Puede usarse en 2D de manera similar al comando PICTURE en 3D. Una expresin indica un nombre de archivo, una expresin numrica, un ndice de una imagen guardada en el objeto. Un ndice 0 es un valor especial, se refiere a la imagen previa del objeto de biblioteca. El resto de imgenes solamente pueden guardarse en objetos al guardar el proyecto o elementos seleccionados conteniendo imgenes como Objetos de ArchiCAD.

128

Manual de Referencia GDL de ArchiCAD

Captulo 6: Formas Bidimensionales

6.2 Elemento de Texto


TEXT2 x, y, expression El valor de un clculo numrico o de texto, escrito en el estilo definido en las coordenadas x, y.
Y

ArchiCAD
(x,y)

Manual de Referencia GDL de ArchiCAD

129

Captulo 6: Formas Bidimensionales

6.3 Uso de Datos Binarios 2D


FRAGMENT2 fragment_index, use_current_attributes_flag El fragmento con el ndice dado se inserta en la Vista Completa 2D con las transformaciones actuales. use_current_attributes_flag : 0: El fragmento aparece con el color, tipo de lnea y tipo de trama definido para l 1: FRAGMENT2 Los ajustes del script se usan en lugar del color, tipo de lnea y tipo de trama del fragmento

ALL, use_current_attributes_flag Todos los fragmentos se insertan en la Vista Completa 2D con las transformaciones actuales. use_current_attributes_flag : 0: El fragmento aparece con el color, tipo de lnea y tipo de trama definido para l 1: Los ajustes del script se usan en lugar del color, tipo de lnea y tipo de trama del fragmento

130

Manual de Referencia GDL de ArchiCAD

Captulo 6: Formas Bidimensionales

6.4 Proyecciones 3D en 2D
PROJECT2 projcode, angle, method Crea una proyeccin del script 3D en el mismo elemento de biblioteca y aade las lneas generadas la smbolo paramtrico 2D. projcode: 3: Vista superior 4: Vista lateral 6: Axonometra frontal 7: Axonometra isomtrica 8: Axonometra monomtrica 9: Axonometra dimtrica -3: -6: -7: -8: -9: angle: method: 1: 2: almbrico opaco analtico Vista Inferior Frontal inferior Isomtrica inferior Monomtrica inferior Dimtrica inferior

ngulo de azimut definido en el dilogo de proyeccin 3D.

Manual de Referencia GDL de ArchiCAD

131

Captulo 6: Formas Bidimensionales

6.5 Dibujos en la Lista


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

132

Manual de Referencia GDL de ArchiCAD

Captulo 7: Cdigos de status adicionales para polilneas planas

Cdigos de status adicionales para polilneas planas

Manual de Referencia GDL de ArchiCAD

133

Captulo 7: Cdigos de status adicionales para polilneas planas

Las polilneas planas con cdigos de mask/status en los nodos son la base de muchos elementos en GDL: POLY_ maski PRISM_ CPRISM_ BPRISM_ FPRISM_ SPRISM_ CROOF_ EXTRUDE PYRAMID REVOLVE SWEEP TUBE TUBEA POLY2_ POLY2_A POLY2_B maski maski maski maski maski maski si si si si si si maski maski maski

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

134

Manual de Referencia GDL de ArchiCAD

Captulo 7: Cdigos de status adicionales para polilneas planas

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

x,y

Segmento por extremo absoluto x, y, s, donde 0 < s < 100

dy dx

100

Segmento por extremo relativo dx, dy, 100+s, donde 0 < s < 100

Manual de Referencia GDL de ArchiCAD

135

Captulo 7: Cdigos de status adicionales para polilneas planas

l a

200

Segmento por longitud y direccin l, a, 200+s, donde 0 < s < 100

300

Segmento tangente por longitud l, 0, 300+s, donde 0 < s < 100

(x1,y1)

600

Definir punto inicial x1, y1, 600,

136

Manual de Referencia GDL de ArchiCAD

Captulo 7: Cdigos de status adicionales para polilneas planas

700

Cerrar polilnea 0, 0, 700,

ey ex

800

Definir tangente ex, ey, 800,

(x0,y0)

900

Definir centro x0, y0, 900,

Manual de Referencia GDL de ArchiCAD

137

Captulo 7: Cdigos de status adicionales para polilneas planas

(x,y)

1000

Arco tangente a un extremo x, y, 1000+s, donde 0 < s < 100

r a

2000

Arco tangente por radio y ngulo r, a, 2000+s, donde 0 < s < 100

3000
x,y

Arco usando centro y punto en el radio final x, y, 3000+s, donde 0 < s < 100

138

Manual de Referencia GDL de ArchiCAD

Captulo 7: Cdigos de status adicionales para polilneas planas

4000

Arco usando centro y ngulo 0, a, 4000+s, donde 0 < s < 100

4000

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

Manual de Referencia GDL de ArchiCAD

139

Captulo 7: Cdigos de status adicionales para polilneas planas

Ejemplos:

EXTRUDE 0, 0, 7, 0, 7, 3, 6, 3, 5, 3, 1, 90, 2, 1, 1, 3, 3, 2,

1, 2.5, 0,-180, 1, 5, -1, 0, 2, 225, -1, 0, -1, 0, 0, 0, 1, 1, 0.5,360, 3.5,1.5, 1, 360,

21, 0, 0, 3, 1+2+4+16+32, 0, 0, 1, 1000, ! arco tangente a extremo 1001, ! arco tangente a extremo 2000, ! arco tangente por radio ! y ngulo 1001, ! arco tangente a extremo 900, ! definir centro 3000, ! arco usando punto inicial, ! centro ! y punto en radio final 900, ! definir centro 4001, ! arco usando punto inicial, ! centro y ngulo 1000, ! arco tangente a extremo 100, ! segmento por (dx, dy) 200, ! segmento por (long, ngulo) 800, ! definir tangente 1000, ! arco tangente a extremo -1, ! final de contorno 900, ! definir centro 4000, ! crculo completo usando centro ! y radio 900, ! definir centro 4001 ! crculo completo usando centro ! y radio

140

Manual de Referencia GDL de ArchiCAD

Captulo 7: Cdigos de status adicionales para polilneas planas

EXTRUDE

2+5+10+10+2, 0, 1+2+4+16+32, 0, 0, 900, 3, 360, 4001, 2.5, -1, 0, 2.5, 1, 0, 1.5, 1, 1, 1.5, -1, 1001, 2.5, -1, -1, 0, 2.5, 600, 0, -1, 800, 1, 1.5, 1001, -1, 0, 800, 0, 0.5, 1001, 0, 1, 800, -1, 1.5, 1001, 1, 0, 800, 0, 2.5, 1001, 0, 2.5, 700, -1.5, 0, 900, -2.5, 0, 600, -2.5, 1, 3000, -2.5, 1, 0, -1.5, 1, 0, -1.5, -1, 1001, -2.5, -1, 0, SQR(2)-1, 45, 200, -2.5, 0, 3000, -2.5, 0, 700, 0, -1.5, 900, 1, 360, 4000

0,

3,

Manual de Referencia GDL de ArchiCAD

141

Captulo 7: Cdigos de status adicionales para polilneas planas

EXTRUDE 0, 0, 3, 360, 2, 360,

3, 1, 900, 4001, 4000

1,

3,

1+2+4+16+32,

ROTY REVOLVE 7, 1, 6, 1, 5.5, 2, 5, 1, 4, 1, 3, 1, 0, 180, 2, 1, 1, 1,

-90 9, 180, 16+32, 0, 0, 0, 0, 0, 900, ! definir centro 4001, ! arco usando punto inicial, ! centro y ngulo 0, 0

142

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

Atributos

Manual de Referencia GDL de ArchiCAD

143

Captulo 8: Atributos

8.1 Directivas
Estas directivas influyen en la interpretacin de las declaraciones GDL subsiguientes. Su influencia permanece efectiva hasta la siguiente directiva o hasta el final del script. Los scripts llamados heredan las definiciones actuales, los cambios tienen influencia local. Saliendo del script reajusta las definiciones a tal como eran antes de la llamada a macro. Las directivas RADIUS, RESOL y TOLER definen la suavizacin de los elementos cilndricos 3D (CIRCLE, ARC, CYLIND, SPHERE, ELLIPS, CONE, ARMC, ARME, ELBOW, REVOLVE) y de los arcos en polilneas 2D que usan bordes curvos (ver el captulo "Cdigos de Status Adicionales para Polilneas Planas).

Directivas Usadas en Scripts 3D y 2D


[LET] varnam = n Asignacin de valor. La directiva LET es opcional. La variable almacenar el valor evaluado de n. RADIUS rmin, rmax Define la suavizacin de elementos cilndricos y arcos en polilneas. Un crculo de radio r se representa: si r < rmin, por un hexgono, si r > rmax, por un polgono de 36 caras, si rmin < r < rmax, por un polgono de (6+30*(rrmin)/(rmax rmin)) caras. La conversin del arco es proporcional a sto. Tras una declaracin RADIUS, las declaraciones previas RESOL y TOLER pierden su efecto. Restricciones de parmetros: rmin < rmax

144

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

Ejemplos:
RADIUS 1.1, 1.15 CYLIND 3.0, 1.0 RADIUS 0.9, 1.15 CYLIND 3.0, 1.0

RESOL

n Define la suavizacin de los elementos cilndricos. Los crculos se convierten en polgonos regulares de n caras. La conversin del arco es proporcional a sto. Tras una declaracin RESOL, las declaraciones previas RADIUS y TOLER pierden su efecto. Restriccin de parmetros: n>3 Por omisin:
RESOL 36

Ejemplos: n>3
RESOL 5 CYLIND 3.0, 1.0 RESOL 36 CYLIND 3.0, 1.0

TOLER

d Define la suavizacin de los elementos cilndricos. El error de aproximacin del arco (p.e. la mayor distancia entre un arco terico y la cuerda generada) ser menor que d. Tras una declaracin TOLER, las declaraciones previas RADIUS y RESOL pierden su efecto.

Manual de Referencia GDL de ArchiCAD

145

Captulo 8: Atributos

Ejemplos:
TOLER 0.1 CYLIND 3.0, 1.0 TOLER 0.01 CYLIND 3.0, 1.0

PEN

n Define el color actual. Restriccin de parmetros: 0 < n < 99 Por omisin: PEN 1 si no hay declaracin de PEN en el script. (Para tems de biblioteca, ArchiCAD lee valores por omisin desde la definicin del tem de biblioteca. Si el script se refiere a un ndice inexistente, PEN 1 ser la definicin por omisin.)

[SET] STYLE [SET] STYLE

name_string index Todos los textos generados despus representarn este estilo hasta la prxima declaracin de SET STYLE. El ndice es una constante referida a una pila de estilos en la estructura de datos interna de ArchiCAD. Esta pila se modifica durante el anlisis GDL y tambin puede ser modificada desde el programa. El uso del ndice en lugar del nombre del estilo se recomienda slo con un uso previo de la funcin IND descrita ms adelante. Por omisin:
SET STYLE 0

(tipo de la aplicacin, tamao 5 mm, insercin= 1, normal) si no hay declaracin de SET STYLE en el script. Ver tambin la funcin IND en el Captulo 10.

146

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

Directivas utilizadas slo en scripts 3D


MODEL MODEL MODEL WIRE SURFACE SOLID Ajusta el modo de representacin en el script actual. MODEL WIRE : almbrico solamente, sin superficies ni volmenes. Los objetos son transparentes. MODEL SURFACE, MODEL SOLID : La generacin de las superficies de seccin se basa en la relacin de las superficies lmite, por lo que ambos mtodos generan la misma estructura de datos internos 3D. Los objetos son opacos. La nica diferencia puede verse despus de haber cortado una parte del cuerpo MODEL SURFACE : el interior de los cuerpos ser visible, MODEL SOLID : pueden aparecer nuevas superficies. Por omisin:
MODEL SOLID

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


MODEL BLOCK ADDY MODEL BLOCK ADDY MODEL BLOCK WIRE 3,2,1 4 SURFACE 3,2,1 4 SOLID 3,2,1

Tras cortarlos con un plano:

Manual de Referencia GDL de ArchiCAD

147

Captulo 8: Atributos

[SET] MATERIAL [SET] MATERIAL

name_string index Todas las superficies generadas despus representarn este material hasta la prxima declaracin de MATERIAL. Las superficies en los cuerpos BPRISM_,CPRISM_, FPRISM_, SPRISM_, CSLAB_, CWALL_, BWALL_, XWALL_, CROOF, y MASS son excepciones a esta regla. El ndice es una constante referida a una pila de material en la estructura de datos interna de ArchiCAD. Esta pila se modifica durante el anlisis GDL y tambin puede ser modificada desde el programa. El uso del ndice en lugar del nombre del material se recomienda slo con un uso previo de la funcin IND. El ndice 0 tiene un significado especial: las superficies usan el color de la pluma actual y tienen una apariencia mate. Por omisin:
MATERIAL 0

si no hay declaracin de MATERIAL en el script. (Para objetos de Biblioteca, ArchiCAD lee los valores por defecto de las definiciones de la Biblioteca. Si el script se refiere a un ndice no existente, el ajuste por defecto ser MATERIAL 0). Ver tambin la descripcin de la funcin IND en el Apndice. SHADOW keyword1[, keyword2] Controla la proyeccin de sombras de los elementos en el FotoRendering y en las sombras vectoriales. keyword1: ON, AUTO u OFF keyword2: ON: OFF: AUTO: ON u OFF todos los elementos subsiguientes arrojarn sombras en todas las circunstancias. todos los elementos subsiguientes no arrojarn sombras en todas las circunstancias. la proyeccin de sombras se determinar automticamente.

Si define SHADOW OFF para partes ocultas, ahorrar espacio y tiempo de proceso. Definir SHADOW ON asegura que incluso los menores detalles arrojarn sombras. El segundo control opcional controla la aparicin de sombras en superficies.

148

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

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

SHADOW BRICK ADDX SHADOW BRICK ADDX SHADOW BRICK

OFF 1, 2 ON 1, 2 OFF 1,

1,

1,

1,

Directivas usadas slo en scripts 2D


[SET] FILL [SET] FILL name_string index Todos los polgonos 2D generados despus sern representados con esta trama hasta la siguiente declaracin SET FILL. El ndice es una constante referida a una pila de tramas en la estructura de datos interna de ArchiCAD. Esta pila se modifica durante el anlisis GDL y tambin puede ser modificada desde el programa. El uso del ndice en lugar del nombre de la trama se recomienda slo con un uso previo de la funcin IND. Por omisin:
SET FILL 0

trama vaca, si no hay declaracin de SET FILL en el script. Ver tambin la descripcin de la funcin IND en el Apndice.
Manual de Referencia GDL de ArchiCAD

149

Captulo 8: Atributos

[SET] LINE_TYPE [SET] LINE_TYPE

name_string index Todas las lneas 2D posteriores mostrarn este tipo de lnea (lneas, arcos y polilneas) hasta la prxima declaracin SET LINE_TYPE. El ndice es una constante referida a una pila de tipos de lnea en la estructura de datos interna de ArchiCAD. Esta pila se modifica durante el anlisis GDL y tambin puede ser modificada desde el programa. El uso del ndice en lugar del nombre del tipo de lnea se recomienda slo con un uso previo de la funcin IND. Por omisin:
SET LINE_TYPE 1

lnea continua, si no hay declaracin SET LINE_TYPE en el script. Ver tambin la descripcin de la funcin IND en el Apndice.

8.2 Definicin de Atributos


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

150

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

Definicin de materiales
DEFINE MATERIAL name type, m1, m2, . . . mn Cualquier script GDL puede incluir definiciones de materiales previas a la primera referencia a dicho material. El material definido de este modo puede usarse solamente en el script donde fue definido y en sus scripts secundarios. name : nombre del material. type : 0: definicin general, n=16 El significado de los parmetros y sus lmites se muestra en los siguientes ejemplos. 1: definicin simple, n=9 Los parmetros extra son constantes o calculados desde valores dados. 2-7: tipos de material predefinidos, n=3 Estos 3 valores son las componentes RGB del color de la superficie. Otros parmetros son constantes o calculados a partir del color. 2: mate 3: metlico 4: plstico 5: vidrio 6: incandescente 7: constante 10 : definicin general, parmetro de trama n=17 11 : definicin simple, parmetro de trama n=10 12-17 : tipos de materiales predefinidos con parmetro de trama, n=4 20: definicin general con trama, ndice de color de la trama e ndice de los parmetros de textura, n=19 21: definicin simple con trama, ndice de color de la trama e ndice de los parmetros de textura, n=12 22-27: tipos de material predefinido con trama, ndice de color de trama e ndice de los parmetros de textura, n=6
Manual de Referencia GDL de ArchiCAD

151

Captulo 8: Atributos

Ejemplos:
DEFINE MATERIAL "water" 0, 0.5284, 0.5989, 0.6167, ! surface RGB [0.0..1.0] 1.0, 0.5, 0.5, 0.9, ! ambient, diffuse, specular, transparent ! coefficients [0.0..1.0] 20, ! shining [0.0..100.0] 1, ! transparency attenuation [0.0..4.0] 0.5284, 0.5989, 0.6167, ! specular RGB [0.0..1.0] 0, 0, 0, ! emission RGB [0.0..1.0] 0.0 ! emission attenuation [0.0..65.5] DEFINE MATERIAL "asphalt" 1, 0.1995, 0.2023, 0.2418 ! surface RGB [0.0..1.0] 1.0, 1.0, 0.0, 0.0, ! ambient, diffuse, specular, transparent ! coefficients [0.0..1.0] 0, ! shining [0..100] 0 ! transparency attenuation [0..4] DEFINE MATERIAL "matte red" 2, 1.0, 0.0, 0.0 ! surface RGB [0.0..1.0] DEFINE MATERIAL "Red Brick" 10, 0.878294, 0.398199, 0.109468, 0.58, 0.85, 0.0, 0.0, 0, 0.0, 0.878401, 0.513481, 0.412253, 0.0, 0.0, 0.0, 0, IND(FILL, "common brick") ! fill index

152

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

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

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

Manual de Referencia GDL de ArchiCAD

153

Captulo 8: Atributos

DEFINE TEXTURE

name, filename, x, y, mask, angle Cualquier script GDL puede incluir definiciones de textura antes de la primera referencia a ese nombre de textura. La textura puede utilizarse slo en el script en que se defini y en los scripts sucesivos a este. name: nombre de la textura filename: x: y: mask: nombre de la imagen anchura lgica de la textura altura lgica de la textura j1 + 2 * j2 + 4 * j3 + 8 * j4 + 16 * j5 + 32 * j6 + 64 * j7 + 128 * j8 + 256 * j9 donde j1, j2, j3, j4, j5, j6, j7, j8, j9 puede ser 0 1. controles de canal Alfa (j1 j6): j1: el canal alfa cambia la transparencia de la textura j2: Mapeado Bump o perturbacin normal de la superficie. El mapeado Bump utiliza el canal Alfa para determinar la amplitud de la normal de la superficie. j3: j4: j5: j6: el canal alfa cambia el color difuso de la textura el canal alfa cambia el color especular de la textura el canal alfa cambia el color ambiente de la textura el canal alfa cambia el color de superficie de la textura

Controles de conexin (j7 j9): Si el valor es cero, se selecciona el modo normal:

y x
154
Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

j7:

la textura cambiar aleatoriamente.

x
j8: simetra en direccin X

y x
j9: simetra en direccin Y

y x
angle: ngulo de rotacin desde la orientacin natural. Ejemplo:
DEFINE TEXTURE "Brick" "Brick.PICT", 1.35, 0.3, 256+128, 35.0

Manual de Referencia GDL de ArchiCAD

155

Captulo 8: Atributos

Definicin de trama
DEFINE FILL name pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8, spacing, angle, n, freq1, dir1, offsetx1, offsety1, m1, len11, . . . lenm1, ... freqn, dirn, offsetxn, offsetyn, mn, lenn1, . . . lennm Cualquier script GDL puede incluir definiciones de tramas previas a la primera referencia a dicha trama. La trama definida de este modo puede usarse solamente en el script donde fue definido y en sus scripts secundarios.

len .... im leni2 Y leni1 diri offsetyi offsetx i X


freq
i

m line parts

freq

name :

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

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

spa cing *y
spa cing *x x

angle

156

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

spacing :

factor de espaciado entre lneas - define un factor de escala global para toda la trama. Todos los valores sern multiplicados por este nmero en ambas direcciones x e y. ngulo de rotacin global en grados nmero de lneas de trama frecuencia de la lnea (la distancia entre dos lneas es spacing * freqi) ngulo de direccin de la lnea en grados desplazamiento de la lnea desde el origen nmero de partes de lnea longitud de las partes de lnea (la longitud real es spacing * lenij). Las partes de lnea son segmentos y espacios unos a continuacin de otros. La primera parte de lnea es un segmento, una longitud cero significa un punto.

angle : n: freqi : diri : offsetxi, offsetyi : m i, lenij

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

Manual de Referencia GDL de ArchiCAD

157

Captulo 8: Atributos

Ejemplo:
DEFINE FILL "brick" 0.08333, 1.0, 3.0, 1.0, 3.0, 1.0, 1.5, 1.0, 0.0, 0.0, 90.0, 1.0, 90.0, 3.0, 90.0, 5.0 85, 255, 136, 255, 34, 255, 136, 255, 4, 0.0, 0.0, 0, 0.0, 0.0, 2, 1.5, 1.0, 0.75, 1.0, 1.0, 3.0, 4, 2,

Trama Bitmap: Trama:


pat1 pat2 pat3 pat4 pat5 pat6 pat7 pat8 = = = = = = = = 85 255 136 255 34 255 136 255

Valor binario:
01010101 11111111 10001000 11111111 00100010 11111111 10001000 11111111

Vista:

Trama vectorial:

158

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

Definicin de Trama Avanzada


DEFINE FILLA name pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8, spacingx, spacingy, angle, n, freq1, doffset1, dir1, offsetx1, offsety1, m1, len11, . . . lenm1, ... freqn, doffsetn,dirn, offsetxn, offsetyn, mn, lenn1, . . . lennm

len .... im leni2 Y leni1 diri offsetyi offsetx i X m line parts

freq

doffset i

freq

doffset i

Declaracin DEFINE FILL extendida. Parmetros adicionales:

spa cing y*y


spa cing x*x x

spacingx : spacingy :

Manual de Referencia GDL de ArchiCAD

angle

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

159

Captulo 8: Atributos

doffseti:

el desplazamiento del principio de la siguiente lnea de trama similar, medido a lo largo de la direccin de la lnea. Cada lnea de la serie ser dibujada a una distancia dada por freqi con un desplazamiento dado por doffseti La longitud real del desplazamiento ser spacing multiplicado por doffseti.
8, 8, 142, 128, 232, 142, 128, 232, 2, 2, 1, 1, 1, 3

Ejemplo:
DEFINE FILLA "TEST"

0.5, 0.5, 0, 2, 2, 1, 90, 0, 0, 1, 2, 0, 0, 0, FILL "TEST" POLY2 4, 6, -0.5, -0.5, 12, -0.5, 12, 6, -0.5, 6

Trama bitmap: Trama:


pat1 pat2 pat3 pat4 pat5 pat6 pat7 pat8 = = = = = = = = 8 142 128 232 8 142 128 232

Valor binario:
00001000 10001110 10000000 11101000 00001000 10001110 10000000 11101000 .

Vista:

Trama vectorial:

160

Manual de Referencia GDL de ArchiCAD

Captulo 8: Atributos

Definicin de tipos de lneas


DEFINE LINE_TYPE name spacing, n, len1, . . . lenn Cualquier script GDL puede incluir definiciones de tipos de lnea previas a la primera referencia a dicho tipo de lnea. El tipo de lnea definido de este modo puede usarse solamente en el script donde fue definido y en sus scripts secundarios. name : nombre del tipo de lnea. spacing : n: leni : factor de espaciado nmero de partes de lnea longitud de las partes de lnea (la longitud real es spacing * leni). Las partes de lnea son segmentos y espacios unos a continuacin de otros. La primera parte de lnea es un segmento, una longitud cero significa un punto.

Nota: En GDL slo pueden definirse tipos de lneas simples, es decir, las que consisten en segmentos y espacios, no hay posibilidad de definir lneas de smbolos. Ejemplo: DEFINE LINE_TYPE "line - - ." 1, 6, 0.005, 0.002, 0.001, 0.002, 0.0, 0.002

Manual de Referencia GDL de ArchiCAD

161

Captulo 8: Atributos

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

1 4 7
facecode :

2 5 8
0 1 2 4 8 16

3 6 9
combinacin de los siguientes valores: normal negrita cursiva subrayada hueca sombra

slant :

ngulo en grados (solamente para tipos PLOTMAKER y PLOTTER)

162

Manual de Referencia GDL de ArchiCAD

Captulo 9: Scripts No Geomtricos

Scripts No Geomtricos

Manual de Referencia GDL de ArchiCAD

163

Captulo 9: Scripts No Geomtricos

9.1 El Script de Propiedades


Los elementos de Biblioteca tienen una ventana de GDL reservada al script de Propiedades. Este script le permite asignar propiedades al elemento, dependiendo de parmetros y, mediante una directiva, definir su posicin en el listado de componentes final. Utilizando algunos comandos, es posible definir en el script componentes y descripciones locales, caractersticas familiares en las ventanas de Propiedades de versiones anteriores de ArchiCAD. Tambin pueden referenciarse descripciones y componentes desde bases de datos externas. La longitud del cdigo no puede exceder de 32 caracteres. En el script de Propiedades, tambin puede utilizar cualquier comando GDL que no genere una forma. DESCRIPTOR name [,code, keycode] Definicin de descripcin local. Los scripts pueden incluir cualquier nmero de DESCRIPTORs. name : puede extenderse a ms de una lnea. Las nuevas lneas pueden definirse por el carcter '\n' y los tabuladores por '\t'. Aadiendo '\' al final de una lnea le permite continuar la secuencia en la lnea siguiente sin aadir una nueva lnea. Dentro de la secuencia, si el carcter '\' es doble (\\), perder su funcin de control y significar simplemente '\'. La longitud mxima del texto (incluyendo caracteres de nueva lnea) es de 255 caracteres: los caracteres adicionales sern cortados por el compilador. Si necesita un texto ms largo, use varios DESCRIPTORs. code : keycode : REF DESCRIPTOR texto, define un cdigo para la descripcin texto, referencia a una clave en una base de datos externa. La clave se asignar a la descripcin.

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

COMPONENT

name, quantity, unit [, prop_with, code, keycode, unitcode] Definicin de componentes locales. Los scripts pueden incluir cualquier nmero de COMPONENTs.

164

Manual de Referencia GDL de ArchiCAD

Captulo 9: Scripts No Geomtricos

name : quantity : unit : prop_with :

nombre del componente (max. 128 caracteres) cantidad, una expresin numrica el texto usado para la descripcin de unidad un cdigo entre 1-6. Al hacer un listado, la cantidad de componentes definida anteriormente ser automticamente multiplicada por un valor calculado para el elemento listado

1: elemento 2: longitud 3: superficie A 4: superficie B 5: superficie 6: volumen code : keycode : texto, define un cdigo para el componente texto, hace referencia a una clave en una base de datos externa La clave se asignar al componente. unitcode : 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.

REF COMPONENT

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

BINARYPROP Referencia a datos de propiedades binarios (componentes y descripciones) definidos en el elemento de biblioteca en la seccin de Componentes/Descripciones. SURFACE3D ( ) VOLUME3D ( ) Estas funciones le dan la superficie y el volumen de la forma 3D del elemento de biblioteca.

Manual de Referencia GDL de ArchiCAD

165

Captulo 9: Scripts No Geomtricos

Atencin: Si coloca dos o ms formas en la misma posicin con los mismos parmetros, estas funciones le darn la suma total de las superficies y volmenes de todas las formas. POSITION position_keyword Efectivo slo en el Listado de Componentes. Cambia el tipo slo del elemento al que estn asociados los componentes y descripciones siguientes. Si no hay este tipo de directivas en el script de Propiedades, los componentes y descripciones sern listados con sus tipos de elementos por defecto. Las palabras clave son las siguientes: WALLS COLUMNS DOORS WINDOWS OBJECTS CEILS PITCHED_ROOFS LIGHTS HATCHES ROOMS MESHES Una directiva permanece vlida para todos los DESCRIPTORs y COMPONENTs siguientes hasta que se asigna la siguiente directiva. Un script puede incluir cualquier nmero de directivas. Ejemplo:
DESCRIPTOR "\tPainted box.\n\t Properties:\n\ \t\t - swinging doors\n\ \t\t - adjustable height\n\ \t\t - scratchproof" REF DESCRIPTOR "0001" s = SURFACE3D () ! wardrobe surface COMPONENT "glue", 1.5, "kg" COMPONENT "handle", 2 * c, "nb" ! c number of doors COMPONENT "paint", 0.5 * s, "kg" POSITION WALLS REF COMPONENT "0002"

DRAWING Se refiere al dibujo descrito en el script 2D del mismo elemento de biblioteca. selo para colocar dibujos en sus listados de materiales.

166

Manual de Referencia GDL de ArchiCAD

Captulo 9: Scripts No Geomtricos

9.2 El Script de Lista de Valores


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

Manual de Referencia GDL de ArchiCAD

167

Captulo 9: Scripts No Geomtricos

168

Manual de Referencia GDL de ArchiCAD

Captulo10: Expresiones y Funciones

10

Expresiones y Funciones

Manual de Referencia GDL de ArchiCAD

169

Captulo10: Expresiones y Funciones

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

10.1 Expresiones
Se pueden escribir expresiones compuestas en las declaraciones GDL, que pueden ser numricas o de texto. En los operadores hay constantes, variables, parmetros o llamadas a funcin y cualquier combinacin de ellos. Se usan pares de parntesis curvos (( )) (precedencia 1) para anular la precedencia por defecto de los operadores. Las variables de tipo simple pueden ser valores numricos y de texto, incluso en el mismo script, y pueden usarse en expresiones numricas y de texto respectivamente. Las operaciones que dan como resultado texto NO PUEDEN ser usadas directamente como nombres de macro en llamadas a macro, o como nombres de atributos en definiciones de material, trama, tipo de lnea o estilo. Las variables con valor de texto sern tratadas como tal y pueden ser usadas en cualquier lugar donde se requieran valores de texto. Si ms adelante en el script a la misma variable se le da un valor numrico, ser utilizable slo en expresiones numricas hasta que se le d otra vez valor de texto. En el proceso de precompilacin se comprueba el tipo de las expresiones. El GDL soporta matrices de una y dos dimensiones. Las variables devienen matrices despus de una declaracin, en la cual se especifican sus dimensiones mximas: DIM var1 [dim_1], var2 [dim_1][dim_2], ... Despus de la palabra clave DIM puede haber cualquier nmero de nombres de variables separados por comas. var1 yvar2 son los nombres de matriz, los nmeros entre parntesis representan las dimensiones de la matriz (constantes numricas). Las expresiones variables no pueden ser usadas como dimensiones. Los parmetros de los elementos de biblioteca tambin pueden ser matrices. Sus dimensiones se especifican en el dilogo del elemento. Las matrices de parmetros no tienen que declararse en el script. Al

170

Manual de Referencia GDL de ArchiCAD

Captulo10: Expresiones y Funciones

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

Ejemplos de expresiones de texto:


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

Ejemplos de expresiones usando matrices de valores:


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

Manual de Referencia GDL de ArchiCAD

171

Captulo10: Expresiones y Funciones

10.2 Operadores
Los operadores siguientes se enumeran en orden de precedencia decreciente. La evaluacin de una expresin empieza con el operador de precedencia ms alta y, si no, de izquierda a derecha.

Operadores aritmticos
^ (o **) * / MOD (or %) + Potencia de Multiplicacin Divisin Mdulo (parte restante) X MOD Y = X - Y * INT (X/Y) Suma Resta precedencia 4 precedencia 4 precedencia 2 precedencia 3 precedencia 3 precedencia 3

Note: + (suma) tambin puede aplicarse a expresiones de texto: el resultado es la concatenacin de textos.

Operadores Relacionales
= < > <= >= <> (o #) Igual Menor que Mayor que Menor o igual que Mayor o igual que No igual a precedencia 5 precedencia 5 precedencia 5 precedencia 5 precedencia 5 precedencia 5

Los operadores relacionales pueden utilizarse entre dos expresiones texto cualquiera. El resultado es un nmero 1 o 0. Esta funcin es sensible a maysculas o minsculas.

Operadores Booleanos
AND (o&) OR (o |) EXOR (o @) y lgico o lgico inclusivo o lgico exclusivo precedencia 6 precedencia 7 precedencia 8

172

Manual de Referencia GDL de ArchiCAD

Captulo10: Expresiones y Funciones

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

10.3 Funciones
Funciones Aritmticas
ABS (x) INT (x) FRA (x) SGN (x) SQR (x) Devuelve el valor absoluto de x. Devuelve la parte entera de x. (e.g. INT(1.23) = 1, INT(-1.23) = -2). Devuelve la parte fraccional de x. (e.g. FRA(1.23) = 0.23, FRA(-1.23) = 0.77). Devuelve +1.0 si x es positivo, -1.0 si negativo, de otro modo 0.0. Devuelve la raz cuadrada de x.

Funciones Circulares
Estas funciones usan grados para sus argumentos (COS, SIN, TAN) y para devolver valores (ACS, ASN, ATN). ACS (x) ASN (x) ATN (x) COS (x) SIN (x) TAN (x) PI Devuelve el arco coseno de x. (-1.0 < x < 1.0; 0 < ACS(x) < 180). Devuelve el arco seno de x. (-1.0 < x < 1.0; -90 < ASN(x) < 90). Devuelve el arco tangente de x. (-90 < ATN(x) < 90). Devuelve el coseno de x. Devuelve el seno de x. Devuelve la tangente de x. Devuelve la constante de Ludolph. ( = 3.1415926).

Manual de Referencia GDL de ArchiCAD

173

Captulo10: Expresiones y Funciones

Funciones Trascendentes
EXP (x) LGT (x) LOG (x) Devuelve la x a potencia de e. (e = 2.7182818). Devuelve el logaritmo decimal de x. Devuelve el logaritmo neperiano de x.

Funciones Booleanas
NOT (x) Devuelve falso (=0.0) si x es verdadero ( 0.0) y verdadero (=1.0) si x es falso (=0.0). (Negacin lgica).

Funciones Estadsticas
MIN (x1,x2, . . . xn) MAX (x1,x2, . . . xn) RND (x) Devuelve el menor de un numero ilimitado de argumentos. Devuelve el mayor de un numero ilimitado de argumentos. Devuelve un valor aleatorio entre 0.0 y x. (x > 0.0).

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

! 4.50 ! 2.34 ! 10.55

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

174

Manual de Referencia GDL de ArchiCAD

Captulo10: Expresiones y Funciones

%[0 or more flags] [field_width] [.precision] conv_spec flags (for m, mm, cm, e, df, di, sqm, sqcm, sqf, sqi, dd, gr, rad): none justificar derecha (por defecto) + justificar izquierda explicitar signo ms

space en lugar de un signo + flags (for m, mm, cm, df, di, sqm, sqcm, sqf, sqi, dd, gr, rad): '#' flags (for ffi, fdi, fi): '0' mostrar 0 pulgadas field_width: decimal entero no asignado el mnimo nmero de caracteres a generar precision: decimal entero no asignado el nmero de fraccionales a generar conv_spec (especificador de conversin): e m mm cm ffi fdi df fi di para reas: sqm - m2 sqcm - cm2 sqmm - mm2 sqf sqi
Manual de Referencia GDL de ArchiCAD

no mostrar ceros enteros

- formato exponencial (metros) - metros - milmetros - centmetros - pies y pulgadas - pies y pulgadas decimales - pies decimales - pulgadas fraccionales - pulgadas decimales

- pies2 - pulgadas2

175

Captulo10: Expresiones y Funciones

para ngulos : dd dms gr rad surv Ejemplos:


h = 23 nr = 0.345678 TEXT2 TEXT2 TEXT2 TEXT2 TEXT2 TEXT2 TEXT2 TEXT2 TEXT2 TEXT2 TEXT2 TEXT2 TEXT2 TEXT2 TEXT2 TEXT2 TEXT2 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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) 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) h-12, h-13, h-14, h-15, h-16, STR STR STR STR STR ("%#.3sqm", nr) ("%+sqcm", nr) ("% .2sqmm", nr) ("%-12sqf", nr) ("%10sqi", nr) !0.346 ! 35 ! 34.5678 ! 34.5678 !345.678000 !+3.456780e-01 !1'-2" !1'-1 5/8" ! 1'-1.609" ! 1.1341' !13 39/64" ! +13.6094" ! 346 !+3,456.78 ! 345,678.00 !3.72 ! 535.80

- grados decimales - grados, minutos, segundos - grados - radianes - unidad topogrfica

alpha = 88.657 TEXT2 TEXT2 TEXT2 TEXT2 TEXT2 TEXT2 0, 0, 0, 0, 0, 0, h-17, h-18, h-19, h-20, h-21, h-22, STR STR STR STR STR STR ("%+10.3dd", alpha) ! +88.657 ("%.1dms", alpha) !8839' ("%.2dms", alpha) !8839'25" ("%10.4gr", alpha) ! 98.5078G ("%rad", alpha) !1.55R ("%.2surv", alpha) !N 120'35" E

176

Manual de Referencia GDL de ArchiCAD

Captulo10: Expresiones y Funciones

SPLIT

(texto, format, var1 [, var2, ..., varn]) Divide el parmetro de texto segn el formato en uno o ms partes numricas o de texto. El proceso de divisin se detiene cuando se encuentra la primera parte no coincidente. Devuelve el nmero de valores ledos con xito. texto : format : el texto a dividir cualquier combinacin de constantes de texto, %s y %n -s. Las partes de la secuencia de texto deben encajar en las constantes de texto, %s denota cualquier valor de texto delimitado por espacios o tabuladores %n denota cualquier valor numrico. los nombres de variables para guardar las partes de texto divididas

vari : Ejemplo:

ss = "3 pieces 2x5 beam" n = SPLIT (ss, "%n pieces %nx%n %s", num, ss1, size1, ss2, size2, name) IF n = 6 THEN PRINT num, ss1, size1, ss2, size2, name !3 pieces 2 x 5 beam ELSE PRINT "ERROR" ENDIF

STW

(string_expression) Devuelve la longitud del texto en metros mostrado en el estilo actual. Ejemplo:

abcd
DEFINE STYLE "own" "Monaco", 180000 / A_, 0, 0 SET STYLE "own" string = "abcd" width = STW (string) / 1000 * A_ REQUEST ("Height_of_style", "own", height) height = height / 1000 * A_ text2 0,0, string rect2 0,0, width, -height
Manual de Referencia GDL de ArchiCAD

177

Captulo10: Expresiones y Funciones

STRLEN

(string_exp) Devuelve la longitud de la secuencia de texto (el nmero de caracteres)

STRSTR

(string_exp1, string_exp2) Devuelve la posicin de la primera aparicin del segundo texto en el primer texto. Si el primer texto no contiene al segundo, la funcin devuelve 0.

STRSUB

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

178

Manual de Referencia GDL de ArchiCAD

Captulo10: Expresiones y Funciones

Funciones Especiales
Las funciones especiales (junto a las variables globales) pueden ser usadas en el script para comunicar con ArchiCAD. O bien preguntan el estado actual y distintos ajustes de preferencias del programa, o bien se refieren al entorno actual del elemento de biblioteca. Tambin pueden usarse llamadas de peticin para comunicar con extensiones GDL. Hay dos tipos de funciones especiales: peticiones y la funcin IND: REQ REQUEST IND IND IND IND (parameter_string) (question_name, name | index, var1 [, var2,....]) (MATERIAL, name_string) (FILL, name_string) (LINE_TYPE, name_string) (STYLE, name_string) Vera ms detalles en el Apndice: Funciones Especiales

Manual de Referencia GDL de ArchiCAD

179

Captulo10: Expresiones y Funciones

180

Manual de Referencia GDL de ArchiCAD

Captulo 11: Declaraciones de Control

11

Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

181

Captulo 11: Declaraciones de Control

11.1 Declaraciones de control de flujo


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

NEXT

varnam ltima declaracin de un bucle FOR. La variable de bucle vara desde el initial_value hasta el end_value en incrementos (o decrementos) del step_value en cada ejecucin del cuerpo del bucle (declaraciones entre las declaraciones FOR y NEXT). Si la variable de loop excede el valor del end_value, el programa ejecuta la declaracin siguiendo la declaracin NEXT. Los dos fragmentos de programa siguientes son equivalentes:
! 1st A = B 1:IF C > 0 AND A > D OR C < 0 AND A < D THEN 2 PRINT A A = A + C GOTO 1

2:
! 2nd FOR A = B TO D STEP C PRINT A NEXT A

El ejemplo anterior muestra que un step_value = 0 provoca un bucle infinito. Solamente se permite una declaracin NEXT despus de una declaracin FOR. Est permitido salir del bucle con una declaracin GOTO (o IF ... GOTO) y volver a l, pero no est permitido entrar un bucle saltndose la declaracin FOR.

182

Manual de Referencia GDL de ArchiCAD

Captulo 11: Declaraciones de Control

DO [stmt1 stmt2 ... stmtn] condicin Las declaraciones entre las palabras claves se ejecutan mientras la condicin es verdadera. La condicin se comprueba despus de cada ejecucin de las declaraciones. WHILE condicin DO [stmt1 stmt2 ... stmtn] Las declaraciones entre las palabras claves se ejecutan mientras la condicin es verdadera. La condicin se comprueba antes de cada ejecucin de las declaraciones. REPEAT [stmt1 stmt2 ... stmtn] condicin Las declaraciones entre las palabras claves se ejecutan hasta que la condicin llega a ser verdadera. La condicin se comprueba despus de cada ejecucin de las declaraciones.

WHILE

ENDWHILE

UNTIL

Manual de Referencia GDL de ArchiCAD

183

Captulo 11: Declaraciones de Control

Ejemplo: Las 4 secuencias siguientes de comandos GDL son equivalentes:


! 1st FOR i = 1 TO 5 STEP 1 BRICK 0.5, 0.5, 0.1 ADDZ 0.3 NEXT i ! 2nd i = 1 DO BRICK 0.5, 0.5, 0.1 ADDZ 0.3 i = i + 1 WHILE i <= 5 ! 3rd i = 1 WHILE i <= 5 DO BRICK 0.5, 0.5, 0.1 ADDZ 0.3 i = i + 1 ENDWHILE ! 4th i = 1 REPEAT BRICK 0.5, 0.5, 0.1 ADDZ 0.3 i = i + 1 UNTIL i > 5

IF IF IF

condicin THEN label condicin GOTO label condicin GOSUB label Declaracin de salto condicional. Si el valor de la condicin es 0 , el comando no tiene efecto, de otro modo, la ejecucin contina en la etiqueta. Ejemplos:
IF IF IF A THEN 28 I > J GOTO 200+I*J I > 0 GOSUB 9000

184

Manual de Referencia GDL de ArchiCAD

Captulo 11: Declaraciones de Control

IF

condicin THEN declaracin [ELSE declaracin] or

IF

condicin THEN [stmt1 stmt2 ... stmtn] stmtn+1 stmtn2 ... stmtn+m]

[ELSE

ENDIF Si slo escribe un comando despus de palabras clave THEN y/o ELSE en la misma fila, no es necesario ENDIF. Un comando despus de THEN o ELSE en la misma fila significa un ENDIF definido. Si existe una nueva fila despus de THEN, los comandos sucesivos (todos ellos despus de la palabra clave ELSE o ENDIF) slo se ejecutarn si la expresin en la condicin es verdadera (diferente de cero). De otra forma, los comandos que sigan a ELSE se eliminarn. Si la palabra clave ELSE no existe, los comandos despus de ENDIF sern eliminados. Ejemplo:
IF a = b THEN height = 5 ELSE height = 7 IF needdoors THEN CALL "door_macro" PARAMETERS ADDX a ENDIF IF simple THEN HOTSPOT2 0, 0 RECT2 a, 0, 0, b ELSE PROJECT2 3, 270, 1 IF name = "Sphere" THEN ADDY b SPHERE 1 ELSE ROTX 90 TEXT 0.002, 0, name ENDIF
Manual de Referencia GDL de ArchiCAD

185

Captulo 11: Declaraciones de Control

GOTO

label Declaracin de salto incondicional. El programa ejecuta una rama de la declaracin indicada por el valor de la etiqueta Ejemplo:
GOTO K+2

GOSUB

label Llamada a subrutina interna donde la etiqueta es el punto de entrada de la subrutina. Ver Etiquetas en el captulo "Elementos Sintcticos Bsicos".

RETURN Vuelve de una subrutina interna. END EXIT Final del script GDL actual. El programa termina o vuelve al nivel anterior. Es posible usar varios ENDs o EXITs en un archivo GDL. BREAKPOINT expression Con este comando, se puede especificar un punto de interrupcin en el script GDL. El analizador (debugger) GDL se detendr en este comando si el valor del parmetro (una expresin numrica) es verdadero (1) y est activa la opcin Activar Interrupciones en el analizador. En el modo de ejecucin "normal", el intrprete GDL simplemente pasa sobre este comando.

186

Manual de Referencia GDL de ArchiCAD

Captulo 11: Declaraciones de Control

11.2 Manipulacin del Buffer de Parmetros


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

PUT

NSP = NSP+1

GET

NSP = NSP-1

USE

PUT

expression [ , expression ] . . . Almacena los valores dados en el orden dado en buffer de parmetros interno.

GET

(n) Usa los siguientes n valores del buffer de parmetros interno y los olvida.

Manual de Referencia GDL de ArchiCAD

187

Captulo 11: Declaraciones de Control

USE

(n) Usa los siguientes n valores del buffer de parmetros interno sin borrarlos. Las siguientes funciones USE y GET pueden usar la misma secuencia de parmetros.

NSP Devuelve el nmero de parmetros almacenados en el buffer. Ejemplo de uso del buffer de parmetros:
R=2 : B=6 : C=4 : D=10 N=12 S=180/N FOR T=0 TO 180 STEP S PUT R+R*COS(T), C-R*SIN(T), 1 NEXT T FOR I=1 TO 2 EXTRUDE 3+NSP/3, 0,0,D, 1+16, 0, B, 0, 2*R, B, 0, USE(NSP), 0, B, 0 MULY -1 NEXT I DEL 1 ADDZ D REVOLVE 3+NSP/3, 180, 0, 0, B, 0, 2*R, B, 0, GET(NSP), 0, B, 0

188

Manual de Referencia GDL de ArchiCAD

Captulo 11: Declaraciones de Control

La descripcin completa:
R=2 : B=6 : C=4 : D=10 FOR I=1 TO 2 EXTRUDE 16, 0,0,D, 1+16, 0, B, 0, 2*R, B, 0, 2*R, C, 1, R+R*COS(15), C-R*SIN(15), R+R*COS(30), C-R*SIN(30), R+R*COS(45), C-R*SIN(45), R+R*COS(60), C-R*SIN(50), R+R*COS(75), C-R*SIN(75), R+R*COS(90), C-R*SIN(90), R+R*COS(105), C-R*SIN(105), R+R*COS(120), C-R*SIN(120), R+R*COS(135), C-R*SIN(135), R+R*COS(150), C-R*SIN(150), R+R*COS(165), C-R*SIN(165), 0, B, 1, 0, B, 0 MULY -1 NEXT I DEL 1 ADDZ D REVOLVE 16, 180, 0, 0, B, 0, 2*R, B, 0, 2*R, C, 1, R+R*COS(15), C-R*SIN(15), R+R*COS(30), C-R*SIN(30), R+R*COS(45), C-R*SIN(45), R+R*COS(60), C-R*SIN(50), R+R*COS(75), C-R*SIN(75), R+R*COS(90), C-R*SIN(90), R+R*COS(105), C-R*SIN(105), R+R*COS(120), C-R*SIN(120), R+R*COS(135), C-R*SIN(135), R+R*COS(150), C-R*SIN(150), R+R*COS(165), C-R*SIN(165), 0, B, 1, 0, B, 0

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

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

Manual de Referencia GDL de ArchiCAD

189

Captulo 11: Declaraciones de Control

11.3 Objetos Macro


Aunque los objetos 3D que pueda necesitar pueden siempre descomponerse en elementos complejos o primitivos, a veces es deseable definir estos elementos complejos especialmente para ciertas aplicaciones. Estos elementos propios se llaman MACROs. CALL CALL macro_name_string [,parameter_list] macro_name_string PARAMETERS [name1=value1, namen=valuen] Los nombres de macro no deben ser ms largos de 31 caracteres. Los nombres macro pueden ser constantes de texto, variables de texto o parmetros. No puede utilizar operaciones de texto como un nombre macro con llamadas a macro. Atencin! Si se usan variables o parmetros de texto como nombres de macro, la macro llamada no se incluir en el proyecto de archivo aunque est activa la opcin "Incluir Todos los Objetos de Bibliotecas Cargadas". El nombre de macro debe ser colocado entre comillas (",',`,,,,,), a no ser que coincida con las definiciones de los identificadores, p.e. empieza con una letra o con los caracteres '_' o '~' y slo contiene letras, nmeros y los caracteres '_' y '~' . En otro caso, las comillas utilizadas en la declaracin CALL deben ser las mismas al principio y al final y deben ser diferentes de cualquier carcter del nombre de macro. Un nombre de macro, por s mismo, puede utilizarse tambin como comando, sin la palabra clave CALL: macro_name macro_name [parameter_list] PARAMETERS [name1=value1, namen=valuen] El primer tipo de llamada a macro puede utilizarse con textos GDL simples as como con tems de biblioteca, con la condicin de que su lista de parmetros contenga slo parmetros de una letra (AZ). Esta forma de llamadas a macro puede utilizarse para compatibilidad con versiones anteriores, pero le recomendamos el segundo tipo. El significado de la lista de parmetros es el siguiente: el valor del parmetro A ser el primer valor de la lista, el valor del parmetro B ser el segundo valor y as sucesivamente. Si el macro (del tem de biblioteca) no tiene un parmetro de letra nica correspondiente al valor, la interpretacin continuar ignorando este valor, pero recibir un aviso del programa. No se permiten expresiones de texto con este mtodo.

190

Manual de Referencia GDL de ArchiCAD

Captulo 11: Declaraciones de Control

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

CALL "door-1" PARAMETERS height = 2, a = 25.5, name = "Director" CALL "door-1" PARAMETERS ! use parameter default values door-1 PARAMETERS

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

Manual de Referencia GDL de ArchiCAD

191

Captulo 11: Declaraciones de Control

11.4 La Declaracin de Salida


PRINT expression [, expression ]. . . Escribe todos sus argumentos en un cuadro de dilogo. Los argumentos pueden ser textos o expresiones numricas de cualquier nmero en cualquier secuencia, separadas por comas. Ejemplos:
PRINT PRINT PRINT PRINT PRINT "loop-variable:", I J, K-3*L "Beginning of interpretation" a * SIN (alpha) + b * COS (alpha) "Parameter values: ", "a = ", a, ", b = ", b PRINT name + STR ("%m", i) + "." + ext

192

Manual de Referencia GDL de ArchiCAD

Captulo 11: Declaraciones de Control

11.5 Operaciones de Archivo


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

paramstring : texto, contiene los caracteres especficos de separacin de la extensin operacional y el modo de abertura. Su contenido se interpreta por la extensin. Abre un archivo. Su valor de retorno es un entero positivo que identificar el archivo especificado. Este valor ser el nmero de referencia de archivo en las instancias sucesivas. INPUT (channel, recordID, fieldID, var1 [, var2,...]) recordID, fieldID : la posicin inicial de tipo texto o numrico de la lectura, su contenido se interpreta por la extensin. El nmero de parmetros dados define el nmero de valores desde la posicin inicial leda desde el archivo identificado por el valor de canal. En la lista de parmetros debe existir como mnimo un valor. Esta funcin coloca los valores reales en los parmetros como estn ordenados. Los valores pueden ser numricos o de texto, independientemente del tipo de parmetro definido para almacenarlos. El valor de retorno es el nmero de los valores ledos satisfactoriamente. Cuando se encuentra un carcter de final de archivo, es -1.

Manual de Referencia GDL de ArchiCAD

193

Captulo 11: Declaraciones de Control

OUTPUT

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

CLOSE

channel Cierra el archivo identificado por el valor del canal.

194

Manual de Referencia GDL de ArchiCAD

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

12

Instrucciones Especiales para Puertas y Ventanas

Manual de Referencia GDL de ArchiCAD

195

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

12.1 Reglas Generales


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

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

196

Manual de Referencia GDL de ArchiCAD

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

12.2 Creacin de Elementos de Biblioteca Puerta/Ventana


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

Puertas/Ventanas Rectangulares en Muros Rectos


Esta es la manera ms sencilla y directa de crear puertas y ventanas. Se recomienda el uso de comandos GDL simples, como PRISM_ o RECT. Si desea que los materiales de superficie de los elementos puerta/ ventana coincidan con los del muro, la superficie inferior debe coincidir con el exterior, y la superficie superior con el interior del muro. Puede conseguir esto en los scripts usando las variables Globales G_, H_ e I_, que le dan los materiales del muro en el que se coloca la puerta/ventana. En el script 2D, las variables globales E_, F_ y A pueden ser tiles pues le dan los nmeros de pluma de contorno y relleno del muro adems del nmero de ndice del relleno del muro en que est colocada la puerta/ventana. En el caso de muros compuestos, debe usar las variables globales correspondientes. Vea el apndice para ms detalles. La Biblioteca ArchiCAD viene con un amplio conjunto de macros de puerta/ventana. Estos scripts GDL contienen elementos constructivos comunes usados por muchas puertas/ventanas en la Biblioteca ArchiCAD. Hay macros para generar marcos de uso comn, paneles y muchos otros tipos de elementos puerta/ ventana. Abra algunas puertas/ventanas para ver qu tipo de macros llaman y qu tipo de elementos generan estos macros

Manual de Referencia GDL de ArchiCAD

197

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

Ejemplo:

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

198

Manual de Referencia GDL de ArchiCAD

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

Ventanas No-Rectangulares en Muros Rectos


Al trabajar con puertas/ventanas, es importante saber que ArchiCAD siempre corta un hueco rectangular en el muro en el que coloca la puerta/ventana. El tamao de este hueco est determinado por los parmetros A y B de la puerta/ventana. Sin embargo, cuando la puerta/ventana no tiene un alzado rectangular, no llenar por completo el hueco rectangular. Hay dos soluciones: 1. El script 3D ha de contener partes que generen las zonas que llenan el hueco entre el cuerpo de la puerta/ventana y los bordes del hueco rectangular. En este caso, hay que poner atencin a la visibilidad de los bordes de estos rellenos.

2. Usar el comando WALLHOLE disponible a partir de ArchiCAD 6.0 Con este comando, es posible definir una forma poligonal para cortar el muro all donde se coloca la puerta/ventana.

Manual de Referencia GDL de ArchiCAD

199

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

WALLHOLE

n, status, x1, y1, mask1, ... xn, yn, maskn [, x, y, z] n: status : 1: usa los atributos propios del cuerpo para los polgonos y bordes generados 2: los polgonos de corte generados sern tratados como polgonos normales x i, yi : maski : x, y, z : coordenadas de la seccin transversal del polgono similar a la declaracin CUTPOLYA maski = j1 + 2 * j2 + 4 * j3 vector de direccin opcional (por defecto es el eje Z de la puerta/ventana) nmero de nodos del polgono

z x y Z n Y 1 i X j2 j1 j3 i+1

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

200

Manual de Referencia GDL de ArchiCAD

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

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

RESOL 72 L1=2.7 : L2=1.2 : H1=2.1 : H2=0.3 : H3=0.9 R=((L1/2)^2+H2^2)/(2*H2) A=ATN((L1/2)/(R-H2)) WALLHOLE 5,1, -L1/2,H3,15, L1/2,H3,15, L1/2,H1-H2,13, 0,H1-R,915, 0,2*A,4015 WALLHOLE 4,1, L1/2-L2,0,15, L1/2,0,15, L1/2,H3,15, L1/2-L2,H3,15

Manual de Referencia GDL de ArchiCAD

201

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

WALLHOLE 5,1, -0.45, 0, 15, 0.45, 0, 15, 0.45, 1.5, 15, 0, 1.95, 15, -0.45, 1.5, 15 PRISM_ 12, 0.1, -0.45, 0, 15, 0.45, 0, 15, 0.45, 1.5, 15, 0, 1.95, 15, -0.45, 1.5, 15, -0.45, 0, -1, -0.35, 0.1, 15, 0.35, 0.1, 15, 0.35, 1.45, 15, 0, 1.80, 15, -0.35, 1.44, 15, -0.35, 0.1, -1

202

Manual de Referencia GDL de ArchiCAD

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

Puertas/Ventanas Rectangulares en Muros Curvos


Al colocar puertas/ventanas en muros curvos, las caras del hueco cortado en el muro pueden variar de acuerdo con la siguiente figura.

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

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

Manual de Referencia GDL de ArchiCAD

203

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

Ejemplo:
Z

RESOL 72 ROTX -90 MULY -1 C= 0.12 : Z=(360*A)/(2*R_*PI) Y= (360*C)/(2*R_*PI) A1= 270+Z/2 : A2=270-Z/2 GOSUB 1 ADDZ B MULZ -1 GOSUB 1 DEL 2 ADDZ C GOSUB 2 MULX -1 GOSUB 2 END 1: PRISM_ 9, C, COS(A2)*R_, SIN(A2)*R_+R_, COS(A2+Y)*R_, SIN(A2+Y)*R_+R_, 0, R_, 0, Z-2*Y, COS(A1)*R_, SIN(A1)*R_+R_, COS(A1)*(R_-0.1), SIN(A1)*(R_-0.1)+R_, COS(A1-Y)*(R_-0.1), SIN(A1-Y)*(R_-0.1)+R_, 0, -(Z-2*Y), COS(A2)*(R_-0.1), SIN(A2)*(R_-0.1)+R_, RETURN 2: PRISM_ 4, B-2*C, COS(A2)*R_, SIN(A2)*R_+R_, COS(A2+Y)*R_, SIN(A2+Y)*R_+R_, COS(A2+Y)*(R_-0.1), SIN(A2+Y)*(R_-0.1)+R_, COS(A2)*(R_-0.1), SIN(A2)*(R_-0.1)+R_, RETURN

11, 13, 900, 4009, 11, 11, 13, 4009, 11

10, 15, 10, 10

204

Manual de Referencia GDL de ArchiCAD

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

Puertas/Ventanas No Rectangulares en Muros Curvos


Las reglas generales dadas para puertas/ventanas rectangulares en muros curvos se aplican tambin aqu. Ejemplo:

C=0.1 : D=0.025 Z=A/2-SQR(2)*C : Y=A/2-SQR(2)*C-D ADDY A/2 WALLHOLE 4, 1, 0, -A/2, 15, A/2, 0, 15, 0, A/2, 15, -A/2, 0, 15 PRISM_ 10, 0.1, 0, -A/2, 15, A/2, 0, 15, 0, A/2, 15, -A/2, 0, 15, 0, -A/2, -1, 0, -Z, 15, Z, 0, 15, 0, Z, 15, -Z, 0, 15, 0, -Z, -1 ADDZ 0.02 GOSUB 1 ADDZ 0.03

Manual de Referencia GDL de ArchiCAD

205

Captulo 12: Instrucciones Especiales para Puertas y Ventanas

GOSUB 1 ADDY -Z SET MATERIAL "Glass" ROTZ 45 RECT SQR(2)*Z, SQR(2)*Z END 1: PRISM_ 16, 0.03, 0, -Z, 15, D, -Y, 15, D, -D, 15, Y, -D, 15, Z, 0, 15, Z, D, 15, D, D, 15, D, Y, 15, 0, Z, 15, -D, Y, 15, -D, D, 15, -Y, D, 15, -Z, 0, 15, -Y, -D, 15, -D, -D, 15, -D, -Y, 15 RETURN

206

Manual de Referencia GDL de ArchiCAD

Apndice

Apndice
A: Lista de Variables Globales B: Funciones Especiales C: GDL Guardado desde la Planta D: Palabras Clave Slo para Vista 3D E: Palabras Clave Slo para Smbolo 2D F: Palabras Clave para Uso 2D y 3D G: Palabras Clave para Scripts No Geomtricos H: Palabras Clave Comunes I: Palabras Clave Reservadas y Caducadas J: Lista de Conversin de Antiguos Nombres de Variables Globales K: Listado Alfabtico de Palabras Clave L: Extensin de Texto

Manual de Referencia GDL de ArchiCAD

207

Apndice

Variables Globales

Las variables globales hacen posible guardar valores especiales del modelo. Esto le permite acceder a informacin geomtrica acerca del entorno del macro GDL. Por ejemplo, puede acceder a los parmetros del muro cuando define una ventana que debe encajar en el muro. Las variables Globales no se apilan durante las llamadas a macro.

Informacin general del entorno


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

Informacin de piso
GLOB_HSTORY_ELEV B_ altitud del piso origen el piso origen es sobre el que est colocado el objeto GLOB_HSTORY_HEIGHT Q_ altura del piso origen el piso origen es sobre el que est colocado el objeto GLOB_CSTORY_ELEV Q~ altitud del piso actual el piso actual es el que est visible en la Ventana de Planta GLOB_CSTORY_HEIGHT R~ altura del piso actual el piso actual es el que est visible en la Ventana de Planta GLOB_CH_STORY_DIST S~ posicin relativa del piso actual respecto al piso origen el piso actual es el que est visible en la Ventana de Planta

Informacin de animacin
GLOB_FRAME_NR N_ nmero de cuadro actual en animacin slo vlido para animacin, 0 para imagen fija GLOB_FIRST_FRAME O_ ndice del primer cuadro en animacin slo vlido para animacin, 0 para imagen fija

208

Manual de Referencia GDL de ArchiCAD

Apndice

GLOB_LAST_FRAME P_ ndice del ltimo cuadro en animacin slo vlido para animacin, 0 para imagen fija GLOB_EYEPOS_X K~ posicin actual de la cmara (x) slo vlido en proyeccin perspectiva, tanto para animacin como para imgenes fijas GLOB_EYEPOS_Y L~ posicin actual de la cmara (y) slo vlido en proyeccin perspectiva, tanto para animacin como para imgenes fijas GLOB_EYEPOS_Z M~ posicin actual de la cmara (z) slo vlido en proyeccin perspectiva, tanto para animacin como para imgenes fijas GLOB_TARGPOS_X N~ posicin actual del objetivo (x) slo vlido en proyeccin perspectiva, tanto para animacin como para imgenes fijas GLOB_TARGPOS_Y O~ posicin actual del objetivo (y) slo vlido en proyeccin perspectiva, tanto para animacin como para imgenes fijas GLOB_TARGPOS_Z P~ posicin actual del objetivo (z) slo vlido en proyeccin perspectiva, tanto para animacin como para imgenes fijas

Parmetros generales de elementos


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

Parmetros generales de elementos - slo disponibles para listados


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

Parmetros de Objetos, Lmparas, Puertas, Ventanas


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

209

Apndice

SYMB_VIEW_PEN L_ pluma por defecto del elemento de biblioteca aplicado en todos los bordes en la ventana 3D y en las ventanas de seccin/alzado SYMB_MAT M_ material por defecto del elemento de biblioteca SYMB_POS_X X~ posicin del elemento de biblioteca (x) relativo al origen del proyecto (excluyendo puerta, ventana: relativa al punto inicial del muro en que estn) SYMB_POS_Y Y~ posicin del elemento de biblioteca (y) relativo al origen del proyecto (excluyendo puerta, ventana: relativa al punto inicial del muro en que estn) SYMB_POS_Z Z~ posicin del elemento de biblioteca (z) relativo al origen del proyecto (excluyendo puerta, ventana: relativa al punto inicial del muro en que estn)

Parmetros de Objetos, Lmparas


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

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


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

Parmetros de Objeto, Lmpara - disponible slo para listado


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

210

Manual de Referencia GDL de ArchiCAD

Apndice

WIDO_REVEAL_SIDE E~ lado de reveal opuesto al de abertura 1- s, 0- no - al colocar un elemento, el valor por defecto es 0 para ventanas, 1 para puertas WIDO_FRAME_THICKNESS F~ grosor del marco de puerta/ventana al hacer simetras de puertas/ventanas, se recolocarn automticamente por este valor WIDO_POSITION H~ desplazamiento de puerta/ventana ngulo o distancia entre el eje de la abertura y el vector normal al punto de inicio del muro WIDO_ORIENTATION orientacin de abertura de puerta/ventana izquierda/derecha - funcionar bien slo si la puerta/ventana se cre segn los estndares locales WIDO_MARKER_TXT marca de texto de puerta/ventana como se define en el subdilogo Acotacin de Puerta/Ventana del dilogo de Definicin de Puerta/ Ventana WIDO_SUBFL_THICKNESS espesor del pavimento inferior (correccin de antepecho) como se define en el subdilogo Acotacin de Puerta/Ventana del dilogo de Definicin de Puerta/ Ventana WIDO_PREFIX prefijo de altura de antepecho de puerta/ventana como se define en el subdilogo Acotacin de Puerta/Ventana del dilogo de Definicin de Puerta/ Ventana WIDO_CUSTOM_MARKER conmutador de marca de puerta/ventana 1- los parmetros pueden usarse en el script 2D mientras no est presente la acotacin automtica WIDO_ORIG_DIST R_ distancia del origen local al final del muro distancia del origen local desde el centro del muro curvo, 0 para muros rectos

Parmetros de Lmparas - disponibles slo para listado


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

Parmetros de Muros - disponibles para Puertas/Ventanas


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

Manual de Referencia GDL de ArchiCAD

211

Apndice

WALL_HEIGHT D_ altura del muro WALL_MAT_A G_ material del muro en la cara opuesta a la de abertura en caso de aberturas esto puede variar de abertura a abertura colocada en el mismo muro WALL_MAT_B H_ material del muro en la cara de abertura puede variar de abertura a abertura colocada en el mismo muro WALL_MAT_EDGE I_ material de los bordes del muro WALL_LINE_TYPE tipo de lnea del muro aplicado en los contornos slo en la ventana de planta WALL_FILL A~ tipo de trama del muro ndice de trama - su valor es negativo en el caso de estructura compuesta WALL_FILL_PEN F_ pluma de la trama del muro WALL_COMPS_NAME estructura compuesta del muro nombre de la estructura compuesta WALL_SKINS_NUMBER nmero de capas de muro compuesto entre 1 y 8, 0 si se aplica una nica trama WALL_SKINS_PARAMS parmetros de las capas del muro compuesto matriz con 6 columnas: trama, grosor, pluma, pluma de trama, pluma de fondo de trama, status del ncleo y hasta 8 filas WALL_SECT_PEN E_ pluma de los contornos del muro en seccin se aplica a los contornos de superficies cortadas de muros en las ventanas de planta y de seccin/ alzado WALL_VIEW _PEN pluma de los contornos del muro visible aplicado a todos los contornos en la ventana 3D y en los contornos visibles en ventanas de seccin/alzado WALL_FBGD_PEN pluma del fondo de la trama del muro WALL_DIRECTION direccin del muro muros rectos: la direccin de la lnea de referencia, muros curvos: la direccin de la cuerda del arco WALL_POSITION coordenadas absolutas del muro la posicin del punto inicial del muro en relacin al origen del proyecto

Parmetros de Muros - disponibles slo para listados


WALL_LENGTH_A WALL_LENGTH_B WALL_SURFACE_A WALL_SURFACE_B referencia WALL_EDGE_SURF WALL_VOLUME WALL_DOORS_NR WALL_WINDS_NR WALL_HOLES_NR WALL_DOORS_SURF longitud del muro en el lado de la lnea de referencia longitud del muro en el lado opuesto de la lnea de referencia superficie del muro en el lado de la lnea de referencia superficie del muro en el lado opuesto de la lnea de superficie del borde del muro volumen del muro nmero de puertas en el muro nmero de ventanas en el muro nmero de aberturas vacas superficie de puertas en el muro
Manual de Referencia GDL de ArchiCAD

212

Apndice

WALL_WINDS_SURF WALL_HOLES_SURF WALL_WINDS_WID WALL_DOORS_WID WALL_COLUMNS_NR

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

Parmetros de Columnas - disponibles slo para listados


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

Parmetros de Forjados - disponibles slo para listados


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

213

Apndice

SLAB_COMPS_NAME estructura compuesta del forjado nombre de la estructura compuesta SLAB_SKINS_NUMBER nmero de capas de forjado compuestas entre 1 y 8, 0 se aplica una nica trama SLAB_SKINS_PARAMS parmetros de las capas del forjado compuesto matriz con 6 columnas: trama, grosor, pluma, pluma de trama, pluma de fondo de trama, status del ncleo y hasta 8 filas SLAB_SECT_PEN pluma de los contornos del forjado en seccin aplicado a los contornos de superficies cortadas en los planos de planta y de seccin/alzado SLAB_VIEW_PEN pluma del forjado visible aplicado en todas las aristas en la ventana 3D y en las aristas visibles en las ventanas de seccin/ alzado SLAB_TOP_SURF superficie superior del forjado SLAB_BOT_SURF superficie inferior del forjado SLAB_EDGE_SURF superficie de los bordes del forjado SLAB_PERIMETER permetro del forjado SLAB_VOLUME volumen del forjado SLAB_SEGMENTS_NR nmero de segmentos del forjado SLAB_HOLES_NR nmero de huecos del forjado SLAB_HOLES_AREA rea de los huecos del forjado SLAB_HOLES_PRM permetro de los huecos del forjado

Parmetros de Cubiertas - disponibles slo para listados


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

214

Manual de Referencia GDL de ArchiCAD

Apndice

ROOF_VIEW_PEN pluma de la cubierta visible aplicado en todas las aristas en la ventana 3D y en las aristas visibles en las ventanas de seccin/ alzado ROOF_BOTTOM_SURF superficie inferior de la cubierta ROOF_TOP_SURF superficie superior de la cubierta ROOF_EDGE_SURF superficie del borde de la cubierta ROOF_PERIMETER permetro de la cubierta ROOF_VOLUME volumen de la cubierta ROOF_SEGMENTS_NR nmero de segmentos de la cubierta ROOF_HOLES_NR nmero de huecos de la cubierta ROOF_HOLES_AREA rea de huecos de la cubierta ROOF_HOLES_PRM permetro de huecos de la cubierta

Parmetros de Trama - disponibles slo para listados


FILL_LINETYPE FILL_FILL FILL_FILL_PEN FILL_PEN FILL_FBGD_PEN FILL_SURF FILL_PERIMETER FILL_SEGMENT_NR FILL_HOLES_NR FILL_HOLES_PRM FILL_HOLES_AREA tipo de lnea de la trama tipo de trama de la trama pluma de trama de la trama pluma de la trama pluma del fondo de trama de la trama rea de la trama permetro de la trama nmero de segmentos de la trama nmero de huecos de la trama permetro de huecos de la trama rea de huecos de la trama

Parmetros de Malla - disponibles slo para listados


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

215

Apndice

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

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

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 S_ T_ U_ V_ W_ X_ Y_ Z_ G~ I~

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

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

216

Manual de Referencia GDL de ArchiCAD

Apndice

Funciones Especiales
REQ (parameter_string) Esta funcin pregunta el estado actual del programa. Este parmetro - la pregunta - es una cadena. El intrprete GDL responde con un valor numrico. Si no entiende la pregunta, la respuesta es negativa. Listado de preguntas actuales: "GDL_version" nmero de versin del intrprete/compilador del GDL. (Atencin: no es el mismo que la versin de ArchiCAD). "Program" cdigo del programa (1: ArchiCAD, 2: topCAD, etc.). "Serial_number" el nmero de serie de la llave. "Model_size" tamao en bytes de la estructura de datos 3D actual. "Red_of_material name" "Green_of_material name" "Blue_of_material name" Definen las componentes de color del material dado en valores RGB entre 0 y 1. "Red_of_pen index" "Green_of_pen index" "Blue_of_pen index" Definen las componentes de color de una pluma dada en valores RGB entre 0 y 1. "Pen_of_RGB r g b" Define el ndice de pluma de color ms prximo al color dado. Las constantes r, g y b figuran en la cadena entre 0 y 1.

Manual de Referencia GDL de ArchiCAD

217

Apndice

REQUEST

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

REQUEST

("Name_of_program", "", programname) Devuelve en la variable dada el nombre del programa, "ArchiCAD", "topCAD" , etc.

REQUEST REQUEST

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

REQUEST

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

REQUEST

("Name_of_plan", "", name) Devuelve en la variable dada el nombre del proyecto actual.

REQUEST

("Story", "", index, storyname) Devuelve en las variables index y storyname el ndice y el nombre del piso actual.

REQUEST

("Internal_id", "", id) Devuelve en la variable id el identificador interno del elemento de biblioteca.

REQUEST REQUEST REQUEST

("Linear_dimension", "", formatstr) ("Angular_dimension", "", formatstr) ("Angular_length_dimension", "", formatstr)


Manual de Referencia GDL de ArchiCAD

218

Apndice

REQUEST REQUEST REQUEST REQUEST REQUEST REQUEST

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

REQUEST

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

REQUEST

("Zone_category", "", name, code) Para Zonas, devuelve el nombre y el texto de cdigo de la categora de zona actual.

REQUEST

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

REQUEST

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

Manual de Referencia GDL de ArchiCAD

219

Apndice

REQUEST

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

REQUEST REQUEST REQUEST

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

REQUEST

("Height_of_style", name, height) Devuelve en la variable dada la altura del estilo de nombre medida en metros.

REQUEST

("Name_of_material", index, name) Devuelve en la variable dada el nombre del material identificado por su ndice.

REQUEST

("Name_of_fill", index, name) Devuelve en la variable de nombre el nombre de la trama identificada por su ndice.

REQUEST

("Name_of_line_type", index, name) Devuelve en la variable dada el nombre de la lnea identificada por su ndice.

REQUEST

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

220

Manual de Referencia GDL de ArchiCAD

Apndice

REQUEST

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

IND IND IND IND

(MATERIAL, name_string) (FILL, name_string) (LINE_TYPE, name_string) (STYLE, name_string) Esta funcin devuelve el ndice actual del atributo de material, trama, tipo de lnea o estilo. El uso principal del nmero resultante es transferirlo a un macro que requiere el mismo atributo que el macro llamado. El resultado es negativo para definiciones temporales y positivo para definiciones globales (ver los comandos Materiales..., Tipos de Trama... y Tipos de Lnea... en ArchiCAD). Ver tambin MATERIAL, FILL, LINE_TYPE, STYLE en el captulo "Definicin de Atributos en Lnea".

Manual de Referencia GDL de ArchiCAD

221

Apndice

GDL Creado desde la Planta


Al guardar el plano de planta como script GDL o elemento de Biblioteca se producirn los siguientes elementos GDL. Puede utilizar estos scripts GDL como plantillas para su propia biblioteca. Vea tambin el captulo "Formas Tridimensionales". Script 3D: Muros: Columnas: Forjados: Cubiertas Inclinadas: Mallas: Ventanas: Puertas: Objetos: Lmparas: CALL LIN_, xWALL_ cPRISM_ cPRISM_ cSLAB_, cROOF_ MASS

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

222

Manual de Referencia GDL de ArchiCAD

Apndice

Palabras Clave slo para la Vista 3D


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

Manual de Referencia GDL de ArchiCAD

223

Apndice

EXTRUDE PYRAMID REVOLVE RULED SWEEP TUBE, TUBEA COONS MESH MASS LIGHT PICTURE TEXT VERT, TEVE VECT EDGE PGON, PIPG COOR BODY BASE BINARY CUTPLANE CUTSHAPE CUTPOLY CUTPOLYA CUTEND DEFINE MATERIAL DEFINE TEXTURE [SET] MATERIAL SHADOW MODEL

224

Manual de Referencia GDL de ArchiCAD

Apndice

Palabras Clave slo para el Smbolo 2D


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

Manual de Referencia GDL de ArchiCAD

225

Apndice

Palabras Clave para uso 2D y 3D


DEL [LET] RADIUS RESOL TOLER PEN DEFINE STYLE [SET] STYLE

226

Manual de Referencia GDL de ArchiCAD

Apndice

Palabras Clave para Scripts No Geomtricos


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

Script de Lista de Valores


VALUES

Manual de Referencia GDL de ArchiCAD

227

Apndice

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

228

Manual de Referencia GDL de ArchiCAD

Apndice

Palabras Clave Reservadas


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

Manual de Referencia GDL de ArchiCAD

229

Apndice

Lista de Conversin de Antiguos Nombres de Variables Globales


Pueden usarse los nombres antiguos de variables globales, sin embargo se recomienda el uso de los nuevos nombres. Cada variable global antigua corresponde a una nueva con nombre largo. A_ B_ C_ D_ E_ F_ G_ H_ I_ J_ K_ L_ N_ N_ M_ P_ Q_ R_ S_ T_ U_ V_ W_ X_ Y_ Z_ 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

230

Manual de Referencia GDL de ArchiCAD

Apndice

A~ B~ C~ D~ E~ F~ G~ H~ I~ J~ K~ L~ M~ N~ O~ P~ Q~ R~ S~ T~ U~ V~ W~ X~ Y~ Z~

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

Manual de Referencia GDL de ArchiCAD

231

Apndice

Listado Alfabtico Actual de Palabras Clave GDL


ABS (x) ACS (x) ADD ADD2 ADDX ADDY ADDZ AND ARC ARC2 ARMC ARME ASN (x) ATN (x) BASE BINARY BLOCK BODY BPRISM_ mode [, section] a, b, c status topmat, botmat, sidemat, n, h, radius, x1, y1, mask1, . . . xn, yn, maskn expression a, b, c
Manual de Referencia GDL de ArchiCAD

dx, dy, dz x, y dx dy dz r, alpha, beta x, y, r, alpha, beta r1, r2, l, h, d, alpha l, r1, r2, h, d

BINARYPROP

BREAKPOINT BRICK

232

Apndice

BWALL_

leftmat, rightmat, sidemat, height, x1, x2, x3, x4, t, radius, mask1, mask2, mask3, mask4, n, xbeg1, lower1, xend1, upper1, framevis1, ... xbegn, lowern, xendn, uppern, framevisn, m, a1, b1, c1, d1, ... am, bm, cm, dm macro_name_string [parameter_list] macro_name_string PARAMETERS [name1=value1, . . . namen=valuen] r x, y, r channel

CALL CALL CIRCLE CIRCLE2 CLOSE

COMPONENT name, quantity, unit, [, prop_with, code, keycode, unitcode] CONE COONS h, r1, r2, alpha1, alpha2 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 wrap, vert1, vert2, vert3, vert4 topmat, botmat, sidemat, n, h, x1, y1, mask1, . . . xn, yn, maskn topmat, botmat, sidemat, n, xb, yb, xe, ye, height, angle, thickness, x1, y1, alpha1, mask1, . . . xn, yn, alphan, maskn topmat, botmat, sidemat, n, h, x1, y1, z1, mask1, . . . xn, yn, zn, maskn

COOR COS (x) CPRISM_ CROOF_

CSLAB_

Manual de Referencia GDL de ArchiCAD

233

Apndice

CUTPLANE

[x, y, z [, side]] statements CUTEND angle statements CUTEND n, status, d, x1, y1, . . . xn, yn, [, x, y, z] statements CUTEND

CUTPLANE

CUTPOLY

CUTPOLYA n, status, d, x1, y1, mask1, . . . xn, yn, maskn [, x, y, z] statements CUTEND CUTSHAPE d statements CUTEND 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 h, r

CWALL_

CYLIND

DEFINE FILL name pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8, spacing, angle, n, freq1, dir1, offsetx1, offsety1, m1, len11, . . . lenm1, ... freqn, dirn, offsetxn, offsetyn, mn, lenn1, . . . lennm

234

Manual de Referencia GDL de ArchiCAD

Apndice

DEFINE FILLA name pat1,pat2,pat3,pat4,pat5,pat6,pat7,pat8, spacingx, spacingy, angle, n, freq1, doffset1, dir1, offsetx1, offsety1, m1, len11, . . . lenm1, ... freqn, doffsetn,dirn, offsetxn, offsetyn, mn, lenn1, . . . lennm DEFINE LINE_TYPE name spacing, n, len1, . . . lenn DEFINE MATERIAL name type, m1, m2, . . . mn DEFINE STYLE DEFINE STYLE DEFINE STYLE DEL DEL DIM DO statements WHILE DRAWING DRAWING2 DRAWING3 EDGE ELBOW ELLIPS END EXIT EXOR EXP (x) EXTRUDE FILL FILL n, dx, dy, dz, mask, x1, y1, s1, . . . xn, yn, sn index name_string vert1, vert2, pgon1, pgon2, status r1, alpha, r2 h, r condition n TOP string var1 [dim_1], var2 [dim_1][dim_2], . . . name font_family, size, anchor, facecode name PLOTMAKER, size, anchor, slant name PLOTTER, size, anchor, slant

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

DESCRIPTOR

Manual de Referencia GDL de ArchiCAD

235

Apndice

FOR FPRISM_

varnam = initial_value TO end_value [STEP step_value] 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 GOTO IF IF IF IF IF label label cond GOSUB cond GOTO cond THEN condition THEN statements [ELSE statements] ENDIF IND IND IND IND IND INPUT INT (x) LET LGT (x) (FILL, name_string) (LINE_TYPE, name_string) (MATERIAL, name_string) (STYLE, name_string) (TEXTURE, name_string) (channel, recordID, fieldID, var1 [, var2, . . .] label label label

HOTSPOT2 x, y

condition THEN statement [ELSE statement]

236

Manual de Referencia GDL de ArchiCAD

Apndice

LIGHT

red, green, blue, shadow, radius, alpha, beta, angfalloff, dist1, dist2, distfalloff x1, y1, z1, x2, y2, z2

LIN_

LINE_TYPE index LINE_TYPE name_string LINE2 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 index name_string a, b, m, n, mask, z11, z12, . . . z1m, z21, z22, . . . z2m, ... zn1, zn2, . . . znm x1, y1, x2, y2

MATERIAL MATERIAL MESH

MAX (x1,x2, . . . xn)

MIN (x1,x2, . . . xn) MOD MODEL MODEL MODEL MUL MUL2 MULX MULY MULZ NEXT NOT (x)
Manual de Referencia GDL de ArchiCAD

SOLID SURFACE WIRE mx, my, mz x, y mx my mz varnam

237

Apndice

NSP NTR ( ) OPEN OR OUTPUT PEN PGON PI PICTURE PICTURE2 PIPG PLANE PLANE_ POLY POLY_ POLY2 POLY2_ POLY2_A POLY2_B filename, a, b, mask expression, a, b, mask filename, a, b, mask, n, ivect, status, edge1, edge2, . . . edgen n, x1, y1, z1, . . . xn, yn, zn n, x1, y1, z1, mask1, . . . xn, yn, zn, maskn n, x1, y1, . . . xn, yn n, x1, y1, mask1, . . . xn, yn, maskn n, framefill, x1, y1, . . . xn, yn n, framefill, x1, y1, mask1, . . . xn, yn, maskn n, framefill, fillpen, x1, y1, mask1, . . . xn, yn, maskn n, framefill, fillpen, fillbkgdpen, x1, y1, mask1, . . . xn, yn, maskn position_keyword [expression] [, expression] . . . n, h, x1, y1, . . . xn, yn n, h, x1, y1, mask1, . . . xn, yn, maskn projcode, angle, method expression [, expression] . . . n, h, mask, x1, y1, s1, . . . xn, yn, sn rmin, rmax a, b
Manual de Referencia GDL de ArchiCAD

(filter, filename, paramstring) channel, recordID, fieldID, expr1 [, expr2, . . .] n n, ivect, status, edge1, edge2, . . . edgen

POSITION PRINT PRISM PRISM_ PROJECT2 PUT PYRAMID RADIUS RECT

238

Apndice

RECT2

x1, y1, x2, y2

REF COMPONENT code [, num_expr [, keycode]] REF DESCRIPTOR code [, keycode] REPEAT statements UNTIL REQ (parameter_string) REQUEST RESOL RETURN REVOLVE RND (x) ROT ROT2 ROTX ROTY ROTZ RULED x, y, z, alpha alphaz alphax alphay alphaz n, mask, u1, v1, s1, . . . un, vn, sn, x1, y1, z1, . . . xn, yn, zn index name_string index name_string ndex name_string n, alpha, mask, x1, y1, s1, . . . xn, yn, sn (question_name, name | index, var1 [, var2, . . .]) n condition

SET FILL SET FILL

SET LINE_TYPE SET LINE_TYPE SET MATERIAL SET MATERIAL SET STYLE SET STYLE SGN (x) SHADOW SHADOW SHADOW
Manual de Referencia GDL de ArchiCAD

index name_string AUTO OFF ON

239

Apndice

SIN (x) SLAB SLAB_ SPHERE SPLINE2 SPLINE2_A n, h, x1, y1, z1, . . . xn, yn, zn n, h, x1, y1, z1, mask1, . . . xn, yn, zn, maskn r n, status, x1, y1, angle1, . . . xn, yn, anglen n, status, x1, y1, angle1, lenPrev1, lenNext1, ... xn, yn, anglen, lenPrevn, lenNextn (string, format, var1 [, var2, . . . varn]) topmat, botmat, sidemat, n, xb,yb, xe, ye, h, angle, x1, y1, mask1, . . . xn, yn, maskn (numeric_expression, len, frac) (formatstring, numeric_expression) (string_exp) (string_exp1, string_exp2) (string_exp, begpos, numchars) (string_expression) index name_string n, m, alpha, scale, mask, u1, v1, s1, . . . un, vn, sn, x1, y1, z1, . . . xm, ym, zm x, y, z, u, v d, 0, expression x, y, string d

SPLIT SPRISM_

SQR (x) STR STR STRLEN STRSTR STRSUB STW STYLE STYLE SWEEP

SURFACE3D ( )

TAN (x) TEVE TEXT TEXT2 TOLER

240

Manual de Referencia GDL de ArchiCAD

Apndice

TUBE

n, m, mask, u1, w1, s1, . . . un, wn, sn, x1, y1, z1, angle1, . . . xm, ym, zm, anglem n, m, mask, u1, w1, s1, . . . un, wn, sn, x1, y1, z1, . . . xm, ym, zm name, val1 [, val2, . . . valn] x, y, z x, y, z

TUBEA

USE (n) VALUES VECT VERT

VOLUME3D ( ) WALLHOLE n, status, x1, y1, mask1, . . . xn, yn, maskn [, x, y, z] WHILE condition DO statements ENDWHILE a11, a12, a13, a14, a21, a22, a23, a24, a31, a32, a33, a34 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

XFORM

XWALL_

Manual de Referencia GDL de ArchiCAD

241

Apndice

Extensin de Texto
Esta es una extensin de ejemplo que demuestra las posibilidades de las operaciones de archivo I/O. Otras extensiones de este tipo estn disponibles desde Graphisoft u otros vendedores. La extensin interpreta los textos en la lista de parmetros de los comandos OPEN, INPUT, OUTPUT. Asume que una carpeta llamada "ArchiCAD Data Folder" existe aparte de ArchiCAD para archivos definidos por el usuario. (El nombre de esta carpeta est definida en el recurso extensin, en donde puede localizarse). Si esa carpeta no existe, la extensin crea una. La carpeta puede contener subcarpetas en donde la extensin busca archivos existentes. Los archivos de tipo TEXTO se pueden leer y escribir. 1. channel = OPEN (filter, filename, paramstring) filter : especfico de la extensin, en el caso de la extensin de texto "TEXT" filename: el nombre del archivo por abrir paramstring: contiene los caracteres especficos de separacin de la extensin y el modo de abertura Este comando abre el archivo. Si el archivo en donde quiere escribir no existe, l lo crea. Si el archivo a leer no existe, se muestra un mensaje de error. Su valor de retorno es un entero positivo que identificar el archivo especfico. Este valor ser el futuro nmero de referencia del archivo. El paramstring puede contener lo siguiente: SEPARATOR = despus de la palabra clave entre comillas ('') puede asignar un carcter para utilizarlo en el archivo de texto (para lectura y escritura) para separar columnas. Los casos especiales son el tabulador ('\t') y la nueva fila ('\n').

242

Manual de Referencia GDL de ArchiCAD

Apndice

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

2. n = INPUT (channel, recordID, fieldID, var1 [, var2, ...]) recordID: nmero de columna (numrica o texto) fieldID: ndice de columna en la fila dada El comando lee tantos valores dados desde la posicin inicial del archivo, identificado por el valor de canal, como parmetros asignados tenga. En la lista de parmetros debe haber como mnimo un valor. La funcin coloca los valores ledos en los parmetros de la secuencia. Los valores pueden ser numricos o de texto con independencia del tipo de parmetro definido para ellos. En el lugar del valor del archivo, tambin puede tener expresiones de tipo numrico o de texto, cada una conteniendo constantes numricas o de texto as como llamadas a funciones matemticas GDL. Estas expresiones se evalan durante el proceso de entrada. Ejemplo: en el archivo de texto (separador es ','):
1.23,1'2","aaa",2 * SIN(45) + 1,SQR (3)

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

243

Apndice

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

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

244

Manual de Referencia GDL de ArchiCAD

Apndice

4. CLOSE channel Este comando cierra el archivo identificado por el valor de canal. Ejemplo: Un objeto GDL que simplemente copia el contenido del archivo "f1" en el "f2" y "f3", y escribe todos los valores tabulados en "f1" dentro de una fila separada en "f2" y "f3".
ch1 ch2 ch3 i = 1: = OPEN ("TEXT", "f1", "MODE=ro") = OPEN ("TEXT", "f2", "SEPARATOR='\n', MODE=wo") = OPEN ("TEXT", "f3", "SEPARATOR='\n', MODE=wo") 1 n = INPUT (ch1, i, 1, var1, var2, var3, var4) IF n <> -1 THEN OUTPUT ch2, 1, 0, var1, var2, var3, var4 OUTPUT ch3, 1, 0, var1, var2, var3, var4 i = i + 1 GOTO 1 ELSE GOTO 2 ENDIF 2: CLOSE ch1 CLOSE ch2 CLOSE ch3 END

Manual de Referencia GDL de ArchiCAD

245

Apndice

246

Manual de Referencia GDL de ArchiCAD

ndice

ndice
2D script 3D script 7 7

A
ABS 173 ACS 173 ADD 26 ADD2 29 ADDX 26 ADDY 26 ADDZ 26 Alias Wavefront 520 AND 172 ARC 36, 144 ARC2 124 ArchiSITE 2, 5 ARMC 64, 144 ARME 65, 144 Arrastrar & Soltar 20 ASN 173 ATN 173

B
BASE 109 BINARY 7, 110 BINARYPROP 7, 165 BLOCK 38 BODY 107 BPRISM_ 46, 134 BREAKPOINT 186 BRICK 38 BWALL_ 55

Manual de Referencia GDL de ArchiCAD

247

ndice

C
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

E
EDGE 103 ELBOW 66, 144 elementos de biblioteca ELLIPS 39, 144 ELSE 185 END 22, 186 ENDIF 185 ENDWHILE 183 Etiqueta 22 EXIT 22, 186 EXOR 172 EXP 174 expresiones 24 EXTRUDE 69, 134

F
FILL 149, 156, 191 FILLA 159 FOR 182 format string 174 FPRISM_ 48, 134 FRA 173 FRAGMENT2 7, 130

D
datos binarios 2D 7 datos binarios 3D 7 datos binarios de propiedades Declaraciones 22 DEFINE FILL 156 DEFINE FILLA 159 DEFINE LINE_TYPE 161 DEFINE MATERIAL 151 DEFINE STYLE 162 DEFINE TEXTURE 154 definicin de atributos 18 DEL 30 DEL TOP 30 descripciones 7 DESCRIPTOR 164 DIM 170 DO 183 DOORS 166 DRAWING2 132 DRAWING3 132 DXF 5

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

248

Manual de Referencia GDL de ArchiCAD

ndice

L
LET 144 LGT 174 LIGHT 96 LIGHTS 166 LIN_ 34 LINE_TYPE 150, 161, 191 LINE2 122 Lnea 22 Lista de Componentes 166 lista de valores 18, 167 LOG 174

P
PARAMETERS 190 Parmetros 8, 24, 171 PEN 146, 191 PGON 104 PI 173 PICTURE 8, 99 PICTURE2 8, 128 pila de transformacin 26 PIPG 105 PITCHED_ROOFS 166 PLANE 35 PLANE_ 35 POLY 34 POLY_ 35, 134 POLY2 123 POLY2_ 123, 134 POLY2_A 124, 134 POLY2_B 124, 134 POSITION 166 PRINT 192 PRISM 40 PRISM_ 41, 134 PROJECT2 131 PUT 187 PYRAMID 72, 134

M
MASS 94 Master script 7 MASTER_GDL 18, 23, 150, 167, 220 MASTEREND_GDL 18 MATERIAL 148, 151, 191 MAX 174 MESH 62 MIN 174 MOD 172 MODEL 147, 191 MUL 27 MUL2 29 MULX 27 MULY 27 MULZ 27

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

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

249

ndice

S
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

U
UNTIL 183 USE 188

V
valores de mask 42 VALUES 167 Variables 23 variables globales 18 VECT 103 VERT 102 VisualGDL 5 VOLUME3D 165

W
WALLHOLE 199, 200 WALLS 166 WHILE 183 WINDOWS 166 WIRE 147

X
XFORM 28 XWALL_ 57

T
TAN 173 TEVE 102 TEXT 100 TEXT2 129 TEXTURE 154 THEN 184, 185 Tipos simples 24 TO 182 TOLER 145, 191 trama bitmap 157 trama vectorial 157 TUBE 84, 134 TUBEA 89, 134

250

Manual de Referencia GDL de ArchiCAD

Contenido

Contenido
1 Introduccin 1
1.1 Acerca de este Manual ____________________________________________________ 2 1.2 Objetos de Biblioteca _____________________________________________________ 2 Sus fuentes de objetos de biblioteca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
La Biblioteca de Archicad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Bibliotecas Complementarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 StairMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Extensiones de Terceras Partes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Bibliotecas en formato DXF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Uso de sus propias habilidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5


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

1.3 Escritura en GDL _________________________________________________________ 7


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

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

Contenido

2 Elementos de Sintaxis Bsicos 3 Transformacin de Coordenadas

21 25

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

4 Formas Planas en 3D 5 Formas Tridimensionales

33 37

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

6 Formas Bidimensionales
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 _____________________________________________________

121
122 129 130 131 132

7 Cdigos de status adicionales para polilneas planas 8 Atributos

133 143

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

ii

Manual de Referencia GDL de ArchiCAD

Contenido

Definicin de tipos de lneas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Definicin de estilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

9 Scripts No Geomtricos

163

9.1 El Script de Propiedades ________________________________________________ 164 9.2 El Script de Lista de Valores _____________________________________________ 167

10 Expresiones y Funciones

169

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

11 Declaraciones de Control
11.1 Declaraciones de control de flujo ______________________________________ 11.2 Manipulacin del Buffer de Parmetros ________________________________ 11.3 Objetos Macro ________________________________________________________ 11.4 La Declaracin de Salida _______________________________________________ 11.5 Operaciones de Archivo _______________________________________________

181
182 187 190 192 193

12 Instrucciones Especiales para Puertas y Ventanas

195

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

Manual de Referencia GDL de ArchiCAD

iii

Contenido

Apndice
A B C D E F G H I J K L Variables Globales ____________________________________________________ Funciones Especiales _________________________________________________ GDL Creado desde la Planta ___________________________________________ Palabras Clave slo para la Vista 3D ___________________________________ Palabras Clave slo para el Smbolo 2D ________________________________ Palabras Clave para uso 2D y 3D ______________________________________ Palabras Clave para Scripts No Geomtricos ____________________________ Palabras Clave Comunes ______________________________________________ Palabras Clave Reservadas ____________________________________________ Lista de Conversin de Antiguos Nombres de Variables Globales ________ Listado Alfabtico Actual de Palabras Clave GDL ________________________ Extensin de Texto ___________________________________________________

207
208 217 222 223 225 226 227 228 229 230 232 242

ndice

247

iv

Manual de Referencia GDL de ArchiCAD