GDL Manual de Referencia.pdf

254
1 Capítulo 1: Introducción Manual de Referencia GDL de ArchiCAD 1 Introducción

Transcript of GDL Manual de Referencia.pdf

Page 1: GDL Manual de Referencia.pdf

1

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

1 Introducción

Graphisoft
Manual de Referencia GDL de ArchiCAD Copyright © 1998 by Graphisoft
Page 2: GDL Manual de Referencia.pdf

2

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

1.1 Acerca de este ManualEste manual es una referencia completa sobre el GDL (Lenguaje deDescripción Geométrica) disponible en ArchiCAD.

El manual está recomendado a aquellos usuarios de ArchiCAD quequieran ir más allá de las posibilidades de las herramientas deconstrucción y objetos de biblioteca suministradas con el paquete.

Primero, un capítulo corto a modo de mapa de carreteras le daráuna descripción de las diferentes maneras de modelar. Escribir enGDL es sólo una de las posibilidades. Esta parte merece ser leídasin tener en cuenta su habilidad y propósitos.

Después de esto, encontrará una descripción detallada de GDL,incluyendo la definición de sintaxis, comandos, variables, etc. Esuna materia más bien áspera, técnica y precisa.

Esta parte se recomienda para quienes que están dispuestos aescribir en GDL. Probablemente nunca leerá esta parte porcompleto, pero explorando sus contenidos su conocimiento,habilidades y ambiciones crecerán.

El manual asume que se está familiarizado con ArchiCAD por lomenos a un nivel intermedio, y que se han estudiado los capítuloscorrespondientes al Manual de Referencia de ArchiCAD.

1.2 Objetos de BibliotecaAdemás de las herramientas de modelado básicas de ArchiCAD -muros, forjados y cubiertas - hay otras que le permiten colocarelementos de forma y geometría predefinida en sus proyectos.Estas son Ventanas, Puertas, Objetos, Lámparas y Zonas yextensiones adicionales (StairMaker y ArchiSITE). Para colocar losdistintos tipos, necesita llevar a cabo acciones diferentes, una vezcolocados tienen comportamientos diferentes, y sus característicasse almacenan en cuatro tipos diferentes de documento.

Lo que todos estos elementos tienen en común, es la manera comose define su apariencia bi y tridimensional así como suspropiedades.

El Manual de Referencia de GDL le ayuda a aprender lasaplicaciones del potente Lenguaje de Descripción Geométrica deArchiCAD para vestir su proyecto con objetos, ornamentos y otrosdetalles de su propio diseño.

Page 3: GDL Manual de Referencia.pdf

3

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

Sus fuentes de objetos de biblioteca

La Biblioteca de ArchicadMerece la pena recorrer meticulosamente la Biblioteca de Archicadincluida con su paquete antes de empezar a crear partes debiblioteca por su cuenta. Estudie todas las posibilidades antes deempezar: descubrirá objetos de biblioteca que nunca antes habíapensado en usar.

También debería familiarizarse con las dimensiones típicas yparámetros adicionales de los objetos de biblioteca. Todos ellospueden modificarse a fin de ajustar los objetos a sus necesidades.

Page 4: GDL Manual de Referencia.pdf

4

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

Bibliotecas ComplementariasExisten diversas bibliotecas para diferentes usos tanto desdeGraphisoft (la Colección Graphisoft) y distribuidores locales(bibliotecas de personas, letras 3D, mobiliario de diseño, etc).

StairMakerStairMaker de Graphisoft es una utilidad de ArchiCAD con la quetiene acceso a una sofisticada biblioteca de objetos que le proveede varios modelos de escaleras que podrá ajustar a sus necesidadesmodificando sus parámetros.

Modelo de escaleras en espiral desde StairMaker

Page 5: GDL Manual de Referencia.pdf

5

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

Extensiones de Terceras PartesExisten diversos programas de terceras partes que pueden crear oeditar elementos de biblioteca de ArchiCAD. Los objetos creadoscon estas aplicaciones contienen scripts GDL así como otros datosdependiendo de la aplicación. Se puede acceder a ellos desdedentro de ArchiCAD o en modo aislado. Consulte a su Distribuidorde ArchiCAD para más información.

Modelo de teléfono de VisualGDL Modelo de terreno de ArchiSITE

Bibliotecas en formato DXFLas bibliotecas en DXF están ampliamente difundidas en el mundodel CAD y cubren casi todas las áreas de la ingeniería y el diseño.Muchos fabricantes ofrecen símbolos o modelos de sus productosen formato DXF.

ArchiCAD puede importar fácilmente estas bibliotecas.

Uso de sus propias habilidadesMuchas veces necesitará objetos que no encontrará en ningunabiblioteca. En este caso, todavía tiene algunas posibilidades sintocar el entorno de GDL.

Modelar en otras aplicaciones 3DArchiCAD puede importar cualquier modelo 3D que haga usando,p.e. Zoom o Alias Wavefront. Estas aplicaciones son modeladores3D genéricos que permiten formas de geometría libre. Con estemétodo, sin embargo, necesita aprender cómo trabajar con otraaplicación.

Page 6: GDL Manual de Referencia.pdf

6

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

Modelar con las herramientas propias deArchiCADLas herramientas de construcción de muros, forjados, cubiertas ydemás de ArchiCAD están a su disposición para que las use comopiezas a medida, sin tener en cuenta su función original. Se puede,por ejemplo, modelar una mesa fácilmente usando muros yforjados. Estas estructuras se pueden guardar como objetos debiblioteca para manejarlas como elementos de construcciónsimples. Estarán entonces disponibles para usarlos también enotros proyectos.

Los objetos de biblioteca originados desde el plano de plantapueden guardarse como scripts GDL o en formato binario.

Los scripts GDL son editables, por lo que se puede modificar elaspecto 3D del objeto de biblioteca modificando su script. Losobjetos de biblioteca binarios ofrecen mayor velocidad derepresentación 3D, pero sólo permiten una edición limitada. Siquiere efectuar otros tipos de modificaciones, deberá volver aldocumento original en el plano de planta para hacer cambios yguardar otro objeto de biblioteca binario.

Tracería de una ventana Gótica modelada con cubiertas y forjados

Si guarda elementos del plano de planta como un script GDL, lacomplejidad del script resultante depende del tipo de elementoque haya usado.

Para información detallada sobre los objetos de bibliotecaderivados desde un plano de planta de ArchiCAD, refiérase a loscapítulos “GDL creado desde el plano de planta” y “Crear objetosen ArchiCAD” en el Apéndice B.

Escritura en GDLSi quiere ir más allá de todas las posibilidades anteriores, o sinecesita objetos de biblioteca cuya forma pueda ser controlada con

Page 7: GDL Manual de Referencia.pdf

7

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

parámetros definibles por el usuario, su próximo paso será utilizarGDL y el entorno de escritura ofrecido por ArchiCAD.

1.3 Escritura en GDL

Qué es GDL?GDL es un lenguaje de programación paramétrico interno deArchiCAD parecido al lenguaje BASIC. Su objetivo es describirobjetos sólidos tridimensionales y los símbolos 2D que losrepresentan sobre el plano de planta, como puertas, ventanas,muebles, elementos estructurales, escaleras, etc. Se les llamaobjetos de biblioteca.

Estructura del Elemento de Biblioteca deArchiCADCada objeto de biblioteca descrito con GDL tiene scripts, que sonlistas de comandos GDL que construyen la forma 3D y el símbolo2D. Los objetos de biblioteca pueden también tener unadescripción para cálculos de cuantificación en ArchiCAD, llamadascript de propiedades.

Los comandos Master script se ejecutarán antes de cada script(como si se hubieran copiado antes del resto de scripts del objeto)

El script 2D contiene la descripción 2D paramétrica del dibujo.Los datos binarios 2D del objeto (contenido de la ventana delsímbolo 2D) pueden referenciarse usando el comandoFRAGMENT2. Si el script 2D está vacío, los datos binarios 2D seusarán para mostrar el objeto en planta.

El script 3D contiene la descripción paramétrica del modelo 3D.Los datos binarios 3D (que se generan durante una operación deimportación de Guardar Como…) pueden referenciarse usando elcomando BINARY.

El script de propiedades contiene componentes y descripcionesusados en listados de zonas, elementos y componentes. Los datosbinarios de propiedades descritos en las secciones decomponentes y descripciones del objeto, pueden referenciarseusando el comando BINARYPROP. Si el script de propiedades estávacío, los datos binarios de propiedades se usarán en el proceso decálculo.

En el value list script pueden definirse conjuntos de posiblesvalores para los parámetros de los objetos.

Page 8: GDL Manual de Referencia.pdf

8

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

Los parámetros definidos en la sección de parámetros se usancomo defecto en la definición de objeto al colocarlo en la planta.

La imagen previa aparece en el cuadro de diálogo de definiciónde objetos al mirar la biblioteca activa. Puede ser llamado con loscomandos PICTURE y PICTURE2 desde los scripts 3D y 2D.

En la sección de comentarios puede almacenarse cualquierinformación relacionada con el objeto.

ArchiCAD provee un entorno útil para escribir scripts GDL, convisualización en línea, y comprobación de sintaxis y errores.

Analizar, descomponer y simplificarLa mayoría de los objetos que desea crear, sea cual sea sucomplejidad, pueden descomponerse en bloques constructivos deformas geométricas simples. Empiece siempre con un breve ysimple análisis del futuro objeto y defina todas las unidadesgeométricas que lo componen. Cuando haya hecho ladescomposición, podrá traducir estos bloques al vocabulario dellenguaje GDL. Si el análisis es adecuado, la síntesis de estasentidades estará cerca del ideal.

Para hacer el análisis, se necesita una buena percepción espacial ypor lo menos un conocimiento a nivel básico de geometríadescriptiva.

Representación de ventanas de diversas complejidades

Para evitar obstáculos prematuros y seguir un aprendizajeuniforme, comience con objetos de dimensiones definidas yobtenga su forma más simple pero todavía reconocible. Cuando sefamiliarice con el modelado básico, podrá disminuir lasimplificación y acercarse cada vez más a la forma ideal.

“Ideal” no significa necesariamente “complicado”. En función de lanaturaleza del proyecto arquitectónico, el objeto de biblioteca idealpuede variar desde aproximado a preciso. La ventana de laizquierda de la ilustración anterior se adapta perfectamente el estilode visualización urbana de diseño. La ventana de la derecha puede

Page 9: GDL Manual de Referencia.pdf

9

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

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

ElaboraciónEn función de su propósito, los objetos paramétricos pueden variaren su elaboración. Los objetos para uso interno del estudio puedenser, por supuesto, menos precisos que los hechos para uso generalo para la distribución comercial.

Si sus símbolos tienen poca importancia en el plano o los cambiosparamétricos no necesitan aparecer en 2D, podrá omitir los scripts2D paramétricos.

Incluso si los cambios paramétricos están destinados a aparecer en2D, no es absolutamente necesario escribir un paramétrico 2D. Esposible efectuar modificaciones paramétricas en la ventana deScript 3D, usar la vista 3D de planta del objeto modificado como unsímbolo nuevo y guardar el objeto bajo un nombre nuevo.Obtendrá así un grupo de objetos similares derivados del originalmediante cambios paramétricos de sus valores por omisión.

Los objetos de biblioteca más complejos y sofisticados consisten endescripciones paramétricas 3D con sus correspondientes scriptsparamétricos 2D. Cualquier cambio en los parámetros afectará nosolamente a la vista 3D del objeto sino también a su aspecto en elplano de planta.

Para empezarLas necesidades de su diseño, sus conocimientos de programacióny de geometría descriptiva influirán probablemente en dóndeempezar en GDL.

No comience a practicar GDL teniendo en mente objetivoscomplicados. Aprenda GDL experimentando paso a paso contodos sus aspectos para volverlos a su favor. Siga lasrecomendaciones del nivel de experto más adelante.

Page 10: GDL Manual de Referencia.pdf

10

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

Si está familiarizado con cualquier lenguaje de programación comoel BASIC, podrá ir conociendo el GDL observando scriptsexistentes. Puede aprender mucho abriendo los objetos debiblioteca servidos con ArchiCAD y dando una mirada a sus scriptsGDL 2D y 3D. También puede guardar elementos del plano deplanta en formato GDL y ver el script resultante.

Si no está familiarizado con el lenguaje BASIC pero ha jugado conbloques de construcción (tipo LEGO), todavía puede encontrar sumanera de practicar GDL. Le aconsejamos que pruebe con loscomandos más simples ahora mismo y verifique su efecto en laventana 3D del objeto de biblioteca.

Para detalles sobre el entorno de edición de objetos de bibliotecaen ArchiCAD, vea el Manual de Referencia de ArchiCAD .

Comandos de Nivel BásicoEstos comandos son fáciles de comprender y usar. No requierenconocimientos de programación.

Sin embargo, se pueden crear objetos efectivos sólo con ellos.

Formas Simples

Las formas GDL son unidades geométricas básicas que se añaden aun objeto de biblioteca complejo. Son las piezas de LEGO del GDL.Se coloca una forma en el espacio escribiendo un comando en elscript GDL.

Un comando de forma consiste en una palabra clave que define eltipo de forma y algunos valores numéricos o parámetros alfabéticosque definen sus dimensiones. El número de valores varía con cadaforma.

Al principio, puede evitar el uso de parámetros y trabajar convalores fijos.

Puede comenzar con los siguientes comandos de forma:

En 3D:

BLOCK CYLIND SPHERE PRISM

En 2D:

LINE2 RECT2 POLY2 CIRCLE2 ARC2

Estos nombres hablan por sí mismos (si conoce el inglés).

Page 11: GDL Manual de Referencia.pdf

11

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

Transformaciones de Coordenadas

Las transformaciones de coordenadas son como mover su mano acierto lugar antes de poner una pieza de LEGO. Preparan laposición, orientación y escala de la próxima forma.

LG

Z

Z

X

Y

X

Y

BLOCK 1, 0.5, 0.5ADDX 1.5ROTY 30BLOCK 1, 0.5, 0.5

La ventana 3D del objeto de biblioteca le mostrará opcionalmentelas posiciones original (G = global) y actual (L = local) de la tríadade ejes coordenados para cualquier objeto presente.

Las transformaciones de coordenadas más simples son:

En 3D:

ADDX ADDY ADDZ

ROTX ROTY ROTZ

En 2D:

ADD2 ROT2

Los comandos que empiezan con ADD moverán la próxima forma,mientras que los que empiezan con ROT la girarán alrededor deuno de sus ejes.

Comandos de Nivel IntermedioEstos comandos son un poco más complejos. No porque requieranconocimientos de programación, sino porque describen formasmás complejas o transformaciones más abstractas.

Page 12: GDL Manual de Referencia.pdf

12

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

En 3D:

ELLIPS CONE

POLY_ LIN_ PLANE PLANE_

PRISM_ CPRISM_ SLAB SLAB_ CSLAB_

TEXT

En 2D:

HOTSPOT2 POLY2_ TEXT2 FRAGMENT2

Estos comandos requieren habitualmente más valores paradefinirlos que los básicos. Algunos de ellos precisan valores deestado para controlar la visibilidad de aristas y superficies.

Transformaciones de CoordenadasEn 3D:

MULX MULY MULZ

ADD MUL ROT

En 2D:

MUL2

PRISM 4, 1, 3, 0,3, 3, -3, 3,-3, 0

ADDZ -1MUL 0.666667, 0.666667, 1PRISM 4, 1, 3, 0,

3, 3, -3, 3,-3, 0

ADDZ -1MUL 0.666667, 0.666667, 1PRISM 4, 1, 3, 0,

3, 3, -3, 3,-3, 0

Page 13: GDL Manual de Referencia.pdf

13

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

Las transformaciones que empiezan con MUL cambiarán la escalade las formas siguientes, convertirán círculos en elipses y esferas enelipsoides. Con valores negativos pueden usarse para hacersimetrías. Los comandos de la segunda fila afectan a las tresdimensiones del espacio a la vez.

Comandos y Características de NivelAvanzadoEstos comandos añaden un nuevo nivel de complejidad. Ya sea porsu forma geométrica o porque representan el GDL como unlenguaje de programación.

En 3D:

BPRISM_ BWALL_ CWALL_ XWALL_

CROOF_ FPRISM_ SPRISM_

EXTRUDE PYRAMID REVOLVE RULED

SWEEP TUBE TUBEA COONS

MESH MASS

LIGHT PICTURE

Hay comandos de forma en este grupo que le permiten trazar unpolígono en el espacio con una base poligonal para hacersuperficies curvas suavizadas. Algunas formas requieren referenciasde materiales en su lista de parámetros.

Utilizando planos, polígonos y formas de corte, puede generarformas arbitrarias complejas más allá de las simples. Los comandoscorrespondientes son CUTPLANE, CUTPOLY, CUTPOLYA,CUTSHAPE y CUTEND.

En 2D:

PICTURE2 POLY2_A

SPLINE2 SPLINE2_A

Control de Flujo y Declaraciones CondicionalesFOR NEXT

DO WHILE ENDWHILE

REPEAT UNTIL

IF THEN ELSE ENDIF

GOTO GOSUB

RETURN END EXIT

Page 14: GDL Manual de Referencia.pdf

14

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

Estos comandos deben ser familiares a cualquiera que hayaprogramado alguna vez en un ordenador, pero son losuficientemente básicos como para que pueda comprender susconceptos sin experiencia de programación previa.

La permiten hacer partes del script repetitivas para colocarmontones de formas con poca escritura, o le permiten tomardecisiones basadas en cálculos previos.

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

ParámetrosEn este estadio de su aprendizaje, puede sustituir los valores fijoscon variables alfabéticas. Esto hace al objeto flexible. Se puedeacceder a estas variables a través del cuadro de diálogo deDefinición de objetos de biblioteca al trabajar en planta.

Llamadas a MacroNo se está limitado a las formas estándar GDL. Cualquier objeto debiblioteca existente puede ser una forma GDL en su totalidad. Paracolocarla, sólo debe "llamarla", escribiendo su nombre con losparámetros requeridos, como si fuera un comando estándar.

Page 15: GDL Manual de Referencia.pdf

15

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

Nivel ExpertoCuando tenga una buena comprensión de las características ycomandos anteriores, será capaz de escoger algunos de loscomandos restantes que necesite alguna vez, pero nofrecuentemente.

Nota: la capacidad de memoria de su ordenador puede limitar lalongitud de archivo de su script GDL, el número de llamadas aMacro y el número de transformaciones

Para información adicional sobre los comandos GDL anteriores,consulte el resto de este manual.

Para una consulta rápida de los comandos disponibles y suestructura de parámetros, elija la ventana de Ayuda apropiadadesde ArchiCAD.

Page 16: GDL Manual de Referencia.pdf

16

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

1.4 Cómo genera ArchiCAD unaimagen 3DEl modelado 3D en ArchiCAD está basado en cálculos de comaflotante, lo que significa que no hay límites al tamaño geométricodel modelo. Por grande que sea, mantiene la misma precisión enlos menores detalles.

El modelo 3D que finalmente ve en pantalla está compuesto porprimitivas geométricas. Estas primitivas se guardan en lamemoria de su ordenador en formato binario, y ArchiCAD lasgenera según la planta que se cree. La metamorfosis entre el planode planta arquitectónico y los datos binarios 3D se llamaconversión 3D.

Las primitivas son las siguientes:

- todos los vértices de los componentes constructivos

- todas las aristas que vinculan los vértices

- todas los polígonos de superficie entre las aristas.

Algunos grupos de primitivas se mantienen juntas como‘cuerpos’. Los cuerpos estructuran el modelo 3D. Todas lascaracterísticas de la visualización 3D en ArchiCAD - suavizarsuperficies, sombras arrojadas, brillo o materiales transparentes -están basadas en esta estructura de datos.

El espacio 3D en ArchiCADEl modelo 3D se crea en un espacio tridimensional medido por losejes x, y, z de un sistema de coordenadas principal, el origendel cual se llama origen global.

En ArchiCAD, se puede ver el origen global en la esquina inferiorizquierda de la hoja de trabajo si se abre el programa sin leerningún documento específico. Además, el origen global define lacota cero a la que se refieren todos los pisos en un documento deplanta.

Cuando se coloca un objeto en el diseño, la posición en el planoqueda definida por los valores sobre los ejes x e y de este sistemade coordenadas principal. El valor sobre el eje z puede ajustarse enel cuadro de diálogo de Definición de Objetos. Este valor será labase y la posición por omisión del sistema de coordenadas localdel objeto. Las formas descritas en el script se ubicarán en relacióna este sistema de coordenadas local.

Page 17: GDL Manual de Referencia.pdf

17

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

¿ Porqué necesita transformacionesde coordenadas ?Cada forma GDL está vinculada a la posición actual del sistema decoordenadas local. Por ejemplo, los BLOCKs están vinculados alorigen por una de sus esquinas, y la longitud, anchura y altura delbloque se miden a lo largo de los tres ejes, siempre en direcciónpositiva. Por esto el comando BLOCK requiere sólo tres parámetrosque definan las dimensiones sobre los ejes.

¿ Cómo generar otro bloque, desplazado y girado? Con la estructurade parámetros del BLOCK no hay manera de hacerlo. No hayparámetros para desplazar y girar.

La respuesta es mover el sistema de coordenadas hasta la posicióncorrecta antes de la aparición del comando BLOCK. Con loscomandos de transformación de coordenadas, se puede predefinirla posición y rotación del sistema alrededor de los ejes. Estastransformaciones no se aplican a las formas ya generadas. Sonefectivas sólo con las formas siguientes.

El motor de intérprete GDLCuando se ejecuta un script GDL, el motor de intérprete GDL deArchiCAD detectará la posición en el plano de planta, el tamaño,ángulo de rotación, parámetros de usuario definidos y posibleestado “simétrico” del objeto de biblioteca. Después mueve elsistema de coordenadas local a la posición correcta, a punto derecibir los comandos GDL del script del objeto de biblioteca. Cadavez que el intérprete encuentra un comando para una formabásica, genera las primitivas geométricas que estructuran estaforma concreta.

Cuando el intérprete ha terminado, el modelo 3D binario completoestará en memoria, y podrá efectuar recorridos, renderings oestudios de asoleo sobre él.

ArchiCAD contiene un pre-compilador y un intérprete para GDL.La interpretación de un script GDL usa este código pre-compilado.Esta característica incrementa la velocidad del análisis. Si el scriptse modifica, se genera un nuevo código..

Las estructuras de datos convertidos desde otros formatos (p.e.DXF, Zoom, Alias Wavefront) se guardan en una sección binariadel objeto de biblioteca. Esta sección se referencia con ladeclaración BINARY del script GDL.

Page 18: GDL Manual de Referencia.pdf

18

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

El orden de análisis de los scriptsGDLLos usuarios de ArchiCAD no tienen control sobre el orden en elque los elementos de biblioteca colocados en la Planta sonanalizados. El orden de análisis de los scripts de GDL se basa en laestructura interna de datos, más aún, las operaciones de Deshacero Rehacer pueden influir en ese orden. La única excepción a estaregla son scripts GDL especiales de la biblioteca activa, cuyosnombres empiezan por "MASTER_GDL" o "MASTEREND_GDL".

Los scripts cuyo nombre empieza por "MASTER_GDL" se ejecutanantes de una conversión a 3D, antes de crear una Sección/Alzado,antes de empezar un proceso de listado y después de cargar labiblioteca activa.

Los scripts cuyo nombre empieza por "MASTEREND_GDL" seejecutan después de una conversión a 3D, después de crear unaSección/Alzado, al finalizar un proceso de listado y cuando labiblioteca activa va a cambiar (Cargar Bibliotecas, Abrir unproyecto, Nuevo proyecto, Salir).

Estos scripts no se ejecutan cuando edita elementos de Biblioteca.Si su biblioteca contiene uno o más de tales scripts, se ejecutarántodos en un orden no definido.

Los scripts MASTER_GDL y MASTEREND_GDL pueden incluirdefiniciones de atributos, inicializaciones de GDL, variablesglobales de usuario, comandos 3D (efectivos sólo en el modelo3D), definiciones de lista de valores (vea el comando VALUES en elcapítulo de Scripts No Geométricos) y comandos específicos deGDL. Los atributos definidos en estos scripts se combinarán con elconjunto de atributos de ArchiCAD (los atributos de ArchiCAD conel mismo nombre no son sustituidos, mientras que los atributosoriginados desde GDL y no editados en ArchiCAD son siempresustituidos).

Page 19: GDL Manual de Referencia.pdf

19

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

1.5 Creación de objetos enArchiCADLos objetos de biblioteca 3D se han hecho tradicionalmenteescribiendo un script GDL y dibujando manualmente un símbolo2D. ArchiCAD ofrece cuatro maneras de automatizar este proceso,guardando conjuntos de elementos del plano de planta como unobjeto de biblioteca 3D individual.

1) Guardando el proyecto entero o los elementos seleccionadoscomo un documento GDL 3D (Guardar Como…> 3D GDL).

De esta manera, todos los elementos (o los seleccionados) delplano serán guardados como formas GDL 3D, como se describe enel Apéndice. Este documento GDL puede abrirse y editarse enArchiCAD, ya como documento GDL, ya como objeto de biblioteca(Guardar Especial > Objeto ArchiCAD).

2) Guardar todo el proyecto o los elementos seleccionados como unobjeto ArchiCAD.

Todos los elementos de la planta (o los seleccionados) seguardarán como un objeto completo con descripciones 2D y 3D.Este objeto es, de hecho, una representación de biblioteca de suplano de planta con partes 2D y 3D en script.

3) Guardar el modelo actualmente visible en la ventana 3D como unobjeto de biblioteca completo, con símbolo 2D y descripción 3D(Guardar como…> Objeto de Biblioteca).

La descripción 3D del objeto de biblioteca puede ser un script GDLo datos binarios no editables. El símbolo 2D se generadirectamente desde la proyección 3D.

Para crear un objeto de biblioteca, siga los pasos siguientes:

- Use las herramientas de ArchiCAD para construir el modelo.

- Active la ventana 3D para obtener la estructura de datos 3Ddel modelo y verlo en la proyección actual. Si guarda puertaso ventanas esto último no se aplica.

- Escoja Guardar como… en el menú Archivo y seleccione eltipo de documento Objeto de Biblioteca.

- Después de hacer clic en Guardar, defina las opcionesdeseadas en el cuadro de diálogo.

Page 20: GDL Manual de Referencia.pdf

20

Capítulo 1: Introducción

Manual de Referencia GDL de ArchiCAD

Objetos en general : el símbolo 2D se genera directamente desdelas vistas superior, lateral o inferior, ya sea en alámbrico o conlíneas ocultas. El símbolo y la forma 3D se ajustan automáticamenteal origen del objeto por la esquina inferior izquierda de laenvolvente de la forma si el origen del objeto no está incluido endicha envolvente

Puertas/ventanas: La posición por defecto del sistema decoordenadas de estos objetos de biblioteca está girado de modoque el plano x-y es vertical y el eje z se dirige en horizontal hacia elmuro. El origen está situado en el centro inferior de la abertura delmuro, en la cara exterior. De este modo, las puertas/ventanaspueden ser modeladas fácilmente con elementos en el plano x-y.Más detalles en el capítulo 'Especial Puertas y Ventanas' de esteManual.

4) Arrastrar & Soltar elementos seleccionados de la planta a cualquierventana de texto (ventana de script del objeto). En función deldestino, se generará una descripción GDL 2D (script 2D u otraventana de texto) o una descripción 3D (ventana de script 3D) delos elementos.

Page 21: GDL Manual de Referencia.pdf

21

Capítulo 2: Elementos de Sintaxis Básicos

Manual de Referencia GDL de ArchiCAD

2 Elementos de SintaxisBásicos

Page 22: GDL Manual de Referencia.pdf

22

Capítulo 2: Elementos de Sintaxis Básicos

Manual de Referencia GDL de ArchiCAD

El GDL no es sensible a las mayúsculas; no distingue entre éstas ylas minúsculas excepto en textos entre comillas. El final lógico deun script GDL se denota mediante las declaraciones END o EXIT alfinal del archivo.

Declaraciones Un programa de GDL consiste en declaraciones. Una declaraciónpuede empezar con una palabra clave (definiendo una forma, unatransformación de coordenadas o un control de flujo delprograma), con un nombre de macro, o con un nombre de variableseguido por un signo ‘=’ y una expresión matemática.

Línea Las declaraciones están en líneas separadas por separadores-de-línea (caracteres fin_de_línea).

Una coma (,) en la última posición indica que la declaracióncontinúa en la siguiente línea. Se usan dos puntos (:) para separardeclaraciones en una línea. Tras un signo de admiración final (!)puede escribir cualquier comentario en la línea. Pueden insertarselíneas en blanco en un script GDL sin ningún efecto y se puedeusar cualquier número de espacios o tabuladores entre operadoresy operandos. Es obligatorio el uso de un espacio o tabuladordespués de declaraciones de palabras clave y llamadas a macro.

Etiqueta Cualquier línea puede empezar con una etiqueta. Una etiqueta esun número entero seguido de dos puntos (:). La etiqueta es unareferencia para la declaración siguiente. Las etiquetas secomprueban para sucesos simples. La ejecución del programapuede continuar desde cualquier etiqueta indicada por unadeclaración GOTO o GOSUB.

Caracteres disponibles El texto GDL se compone de letras mayúsculas y minúsculas delalfabeto Inglés, números y los caracteres siguientes:

<espacio> _ (subrayado) ! : , ; . + –* / ^ = < > # ( ) |(barra vertical)

“ ‘ ` ´ ” “ ’ ‘ <fin_de_línea>

Secuencias de caracteres Cualquier secuencia de caracteres que esté colocada entre marcasde comillas (",',`,´,”,’,“,‘), o cualquier secuencia de caracteres sincomillas que no figure en el script como un identificador con unvalor dado (llamada a macro, nombre de atributo, nombre dearchivo). Las secuencias sin comillas se convertirán a mayúsculas,por lo que se recomienda usar comillas. La longitud máximapermitida en una secuencia es de 255 caracteres.

El carácter '\' tiene valores de control especiales. Su significadodepende del carácter siguiente.

Page 23: GDL Manual de Referencia.pdf

23

Capítulo 2: Elementos de Sintaxis Básicos

Manual de Referencia GDL de ArchiCAD

\\ '\' él mismo

\n nueva línea

\t tabulador

\new line continuar secuencia en siguiente línea sin una nuevalínea

\others no es correcto, producirá un aviso

Ejemplos:

"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 delalfabeto o un carácter '_' o '~' , consisten en letras, números ycaracteres '_' o '~'.

Mayúsculas y minúsculas se consideran iguales.

Los identificadores pueden ser palabras clave GDL, variableslocales o globales o secuencias (nombres). Las palabras clave ynombres de variables globales están determinadas por ArchiCAD;todos los demás identificadores pueden utilizarse como nombresde variable.

Variables Un programa en GDL puede manejar variables numéricas y detexto (definidas por sus identificadores), números y secuencias decaracteres.

Hay dos conjuntos de variables: locales y globales.

Todos los identificadores que no son palabras clave, variablesglobales, nombres de atributo, nombres de macro o archivo, seconsideran variables locales. Si se dejan sin inicializar, su valor será0.0. Las variables locales se apilan con llamadas a macro. Al volverde una llamada-a-macro el intérprete restaura sus valores.

Las variables globales tienen nombres reservados (la lista devariables globales disponibles en ArchiCAD se da en el Apéndice).No se apilan durante la llamadas a macro, permitiendo al usuarioalmacenar valores especiales de modelado y simular códigos deretorno desde macros. Las variables globales de usuario puedendefinirse en cualquier script, pero sólo serán efectivas en los scriptssubsiguientes. Si quiere asegurarse de que el script deseado seanaliza primero, defina estas variables en el objeto MASTER_GDL.El resto de variables globales puede usarse en sus scripts paracomunicarse con ArchiCAD.

Page 24: GDL Manual de Referencia.pdf

24

Capítulo 2: Elementos de Sintaxis Básicos

Manual de Referencia GDL de ArchiCAD

Utilizando el comando "=", puede asignar un número o valor detexto a las variables globales y locales.

Parámetros Los identificadores enumerados en la lista de elementos debiblioteca se llaman parámetros. Los identificadores de parámetrosno deben exceder de 32 caracteres. Dentro de un script, se aplicanlas mismas reglas que para las variables locales.

Los parámetros de los archivos de sólo texto GDL se identificancon letras A … Z.

Tipos simples Las expresiones, variables y parámetros pueden ser de dos tipossimples: numéricas o de texto.

Las expresiones numéricas son números constantes, variablesnuméricas o parámetros, funciones que devuelven valoresnuméricos y cualquier combinación de éstos en operaciones.

Las expresiones de texto son secuencias constantes, secuenciasvariables o parámetros, funciones que devuelven secuencias ycualquier combinación de éstos en operaciones que dan comoresultado secuencias de texto.

Tipos derivados Variables y parámetros también pueden ser matrices, y losparámetros pueden ser listas de valores de tipo simple.

Matrices son tablas de una o dos dimensiones de valoresnuméricos y/o de texto, a los que puede accederse directamentepor índices.

Listas de Valores son conjuntos de posibles valores numéricos o detexto. Pueden ser asignados a los parámetros en el script de lista devalores del objeto o en el script MASTER_GDL y aparecerá en ellistado de parámetros como un menú desplegable.

[aaa] Los paréntesis cuadrados indican que los elementos incluidos sonopcionales (si están en negrita, deben introducirse tal cual).

. . . El elemento previo puede ser repetido

varnam Cualquier nombre de variable GDL

prompt Cualquier secuencia de caracteres (no debe contener comillas)

TEXTO_NEGRITA

TEXTO_MAYÚSCULAS

caracteres especiales Deben introducirse tal cual.

otros_textos_minúsculas_en_lista_de_parámetros

Cualquier expresión GDL.

Page 25: GDL Manual de Referencia.pdf

25

Capítulo 3: Transformación de Coordenadas

Manual de Referencia GDL de ArchiCAD

3 Transformación deCoordenadas

Page 26: GDL Manual de Referencia.pdf

26

Capítulo 3: Transformación de Coordenadas

Manual de Referencia GDL de ArchiCAD

3.1 Transformaciones en elespacio TridimensionalEn GDL, todos los elementos geométricos están estrictamentevinculados al sistema de coordenadas local. Una esquina de unbloque, por ejemplo, está en el origen y sus caras están en losplanos x-y, x-z e y-z.

Para colocar un elemento geométrico en la posición deseada serequieren dos pasos. Primero, mover el sistema de coordenadas ala posición deseada. Segundo, generar el elemento. Cadamovimiento, rotación o deformación del sistema de coordenadas alo largo o alrededor de un eje se llama transformación.

Las transformaciones se almacenan en una pila; la interpretaciónempieza hacia atrás desde la última. Los scripts heredan esta pilade transformación; pueden insertarse nuevos elementos, pero nopueden borrarse más que los definidos localmente. Es posibleborrar una, varias o todas las transformaciones definidas en elscript actual. Al volver de un script, las transformaciones globalesdefinidas se eliminan de la pila

ADDX dxADDY dyADDZ dz

Mueven el sistema de coordenadas local dx, dy o dzrespectivamente 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 conDEL␣ 1.

Page 27: GDL Manual de Referencia.pdf

27

Capítulo 3: Transformación de Coordenadas

Manual de Referencia GDL de ArchiCAD

Ejemplo :

c

b

Z

a

Z

Y

Y

X

X

ADD a,b,c

MULX mxMULY myMULZ mz

Escala el sistema de coordenadas local a lo largo del eje dado.Valores negativos de mx, my, mz significan simetrías simultáneas.

MUL mx, my, mz

Substituye la secuencia MULX mx : MULY my : MULZ mz.

Tiene una sola entrada en la pila, y puede borrarse con DEL␣ 1.

ROTX alphaxROTY alphayROTZ alphaz

Gira el sistema de coordenadas local alrededor del eje dado unángulo de alphax, alphay, alphaz grados respectivamente, ensentido antihorario.

Ejemplo:

Y

X

X

Z

Y

beta

ROTZ beta

Page 28: GDL Manual de Referencia.pdf

28

Capítulo 3: Transformación de Coordenadas

Manual de Referencia GDL de ArchiCAD

ROT x, y, z, alpha

Gira el sistema de coordenadas local alrededor del eje definido porel vector (x, y, z) un ángulo de alpha grados, en sentidoantihorario.

Tiene una sola entrada en la pila, por lo que puede borrarse conDEL␣ 1.

XFORM a11

, a12

, a13

, a14

,a

21, a

22, a

23, a

24,

a31

, a32

, a33

, a34

Define una matriz de transformación completa. Se usaprincipalmente en generación automática de código GDL. Tieneuna sola entrada en la pila.

x’ = a11 * x + a12 * y + a13 * z + a14y’ = a21 * x + a22 * y + a23 * z + a24z’ = a31 * x + a32 * y + a33 * z + a34

Ejemplo:

A=60B=30XFORM 2, COS(A), COS(B)*0.6, 0, 0, SIN(A), SIN(B)*0.6, 0, 0, 0, 1, 0BLOCK 1, 1, 1

Page 29: GDL Manual de Referencia.pdf

29

Capítulo 3: Transformación de Coordenadas

Manual de Referencia GDL de ArchiCAD

3.2 Transformaciones en elespacio BidimensionalSon los equivalentes en el espacio 2D de las transformaciones 3DADD, MUL y ROTZ.

ADD2 x, y

Ejemplo:

X

Y

X

Y

b

a

ADD2 a, b

MUL2 x, y

ROT2 alpha

Ejemplo:

X

Y

X

Y

beta

ROT2 beta

Page 30: GDL Manual de Referencia.pdf

30

Capítulo 3: Transformación de Coordenadas

Manual de Referencia GDL de ArchiCAD

3.3 Manejo de la Pila deTransformación

DEL n [, beg_with]

Borra las n entradas previas de la pila de transformación.

Si no se especifica el parámetro beg_with, se borran las n entradasprevias en la pila de transformación. El sistema de coordenadaslocal vuelve atrás a una posición previa.

Si se especifica el parámetro beg_with, se borran n entradas haciaadelante, empezando con la determinada por beg_with. Lanumeración empieza con 1. Si el parámetro beg_with estáespecificado y es negativo, el borrado es hacia atrás.

Si se han emitido menos transformaciones en el script actual quelas descritas por el argumento n dado, sólo se borrarán lastransformaciones emitidas.

DEL TOP

Borra todas las transformaciones del script actual..

NTR ( )

Devuelve el número actual de transformaciones.

Page 31: GDL Manual de Referencia.pdf

31

Capítulo 3: Transformación de Coordenadas

Manual de Referencia GDL de ArchiCAD

Ejemplo:

BLOCK 1, 1, 1ADDX 2ADDY 2.5ADDZ 1.5ROTX -60ADDX 1.5BLOCK 1, 0.5, 2

DEL 1, 1 !Borra la transformación!ADDX 2

BLOCK 1, 0.5, 1

DEL 1, NTR()-2 !Borra la transformación!ADDZ 1.5

BLOCK 1, 0.5, 2

DEL -2, 3 !Borra la transformación!ROTX -60 y la ADDY 2.5

BLOCK 1, 0.5, 2

Page 32: GDL Manual de Referencia.pdf

32

Capítulo 3: Transformación de Coordenadas

Manual de Referencia GDL de ArchiCAD

Page 33: GDL Manual de Referencia.pdf

33

Capítulo 4: Formas Planas en 3D

Manual de Referencia GDL de ArchiCAD

4 Formas Planas en 3D

Page 34: GDL Manual de Referencia.pdf

34

Capítulo 4: Formas Planas en 3D

Manual de Referencia GDL de ArchiCAD

LIN_ x1, y

1, z

1, x

2, y

2, z

2

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

RECT a, b

Rectángulo en el plano x-y con caras a y b.

Restricción de parámetros:

a, b ≥ 0

X

Y

a

b

POLY n, x1, y

1, . . . x

n, y

n

Polígono con n aristas en el plano x-y. Las coordenadas de cadanodo i son (xi, yi, 0).

Restricción de parámetros:

n > 3

n

X

1 32

Y

Page 35: GDL Manual de Referencia.pdf

35

Capítulo 4: Formas Planas en 3D

Manual de Referencia GDL de ArchiCAD

POLY_ n, x1, y

1, mask

1, . . . x

n, y

n, mask

n

Similar a la declaración POLY normal, pero se puede omitircualquiera de las aristas. Si maski = 0, la arista que empieza en(xi,yi) será omitida. Si maski = 1, se mostrará el vértice.

maski = -1 se usa para definir huecos directamente. Ver PRISM_ enel Capítulo 3.2 para más detalles.

Restricción de parámetros:

n > 3

n

X

1 32

Y

n

X

1 32

Y

PLANE n, x1, y

1, z

1, . . . x

n, y

n, z

n

Polígono con n aristas en un plano arbitrario. Las coordenadas decada nodo i son (xi, yi, zi). El polígono debe ser plano de cara aobtener un rendering correcto, pero el intérprete no compruebaesta condición.

Restricción de parámetros:

n > 3

PLANE_ n, x1, y

1, z

1, mask

1, . . . x

n, y

n, z

n, mask

n

Similar a la declaración PLANE normal, pero se puede omitircualquiera de las aristas como en la declaración POLY_.

Restricción de parámetros:

n > 3

Page 36: GDL Manual de Referencia.pdf

36

Capítulo 4: Formas Planas en 3D

Manual de Referencia GDL de ArchiCAD

CIRCLE r

Círculo en el plano x-y con su centro en el origen y un radio r.

r

ARC r, alpha, beta

Arco (en modo Alámbrico) / sector circular (en otros modos) en elplano x-y con su centro en el origen desde un ángulo alpha hastabeta con un radio r.

Alpha y beta están en grados.

alpha

beta

Y

X

Page 37: GDL Manual de Referencia.pdf

37

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

5 Formas Tridimensionales

Page 38: GDL Manual de Referencia.pdf

38

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

5.1 Formas básicasBLOCK a, b, cBRICK a, b, c

La primera esquina del bloque está en el origen local y sus aristas,con longitudes a, b y c, están a lo largo de los ejes x, y, z,respectivamente.

Valores cero crean bloques degenerados (rectángulos o líneas).

Restricción de parámetros:

a, b, c > 0

Y

b

X

Z

a

c

CYLIND h, r

Cilindro recto, coaxial con el eje z con altura h y radio r.

Si h es cero, se genera un círculo en el plano x-y.

Si r es cero, se genera una línea a lo largo del eje z.

r

Z

Y

X

r

Z

Y

X

h

Page 39: GDL Manual de Referencia.pdf

39

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

SPHERE r

Esfera con su centro en el origen y radio r.

Y

X

Z

r

ELLIPS h, r

Medio elipsoide. Su sección transversal en el plano x-y es uncírculo con radio r, centrado en el origen. La longitud del semieje zes h.

rY

Z

X

h

Ejemplo:

ELLIPS r, r ! hemisferio

Page 40: GDL Manual de Referencia.pdf

40

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

CONE h, r1, r

2, alpha

1, alpha

2

Tronco de cono, donde alpha1 y alpha2 son los ángulos deinclinación de las superficies en los extremos del eje z, r1 y r2 sonlos radios de los círculos extremos y h es la altura a lo largo del eje z

Si h es cero, los valores de alpha1 y alpha2 se ignoran y se generaun anillo en el plano x-y.

Alpha1, alpha2 están en grados.

Restricción de parámetros:

0 < alpha1 < 180° y 0 < alpha2 < 180°

r2

r1Y

Z

X

Y Y

Z

Y

halpha1

alpha2

Ejemplo:

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

PRISM n, h, x1, y

1, . . . x

n, y

n

Prisma recto con base poligonal en el plano x-y (ver los parámetrosde POLY). La altura a lo largo del eje z es abs(h). Pueden usarsevalores de h negativos. En este caso, la segunda base del polígonoestá por debajo del plano x-y.

Restricción de parámetros:

n > 3

Y

n

Z

X 12

h

Page 41: GDL Manual de Referencia.pdf

41

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

PRISM_ n, h, x1, y

1, mask

1, . . . x

n, y

n, mask

n

Similar a la declaración PRISM, pero puede omitirse cualquiera delas aristas y caras horizontales.

Restricción de parámetros:

n > 3

Y

i

j4j2

j3

i+1j1

Z

X

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

maski = j

1 + 2*j

2 + 4*j

3 + 8*j

4 + 64*j

7

donde j1, j

2, j

3, j

4, j7 pueden ser 0 o 1.

Los números j1, j2, j3, j4 representan dónde los vértices y la cara

están presentes (1) o se omiten (0).

j1 : arista horizontal inferior

j2 : arista vertical

j3 : arista horizontal superior

j4 : cara

j7 : valor especial adicional efectivo sólo cuando j2 es 1 y controla el

punto de vista en función de la visibilidad de la arista verticalactual.

j2 = 0: la arista vertical es siempre invisible

j2 = 1 y j

7= 1: la arista vertical sólo es visible cuando es un

contorno aparente desde la actual dirección de vista

j2 = 1 y j

7 = 0: la arista vertical siempre es visible

Page 42: GDL Manual de Referencia.pdf

42

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Valores de mask (las líneas gruesas denotan aristas visibles) :

3

6

1

0

4

5

8

9

10

11

12

13

14

visible surfaceinvisible surface

7

2

15

3

Maski = -1 se usa para definir huecos directamente en el prisma.Marca el fin del contorno y el principio del hueco en el interior delcontorno. También se usa para indicar el final de un contorno dehueco y el principio de otro. Las coordenadas anteriores a este valordeben ser idénticas a las del primer punto del contorno/hueco. Si hausado el valor de mask -1, el último valor de mask en la lista deparámetros debe ser -1, indicando el final del último hueco.

Los huecos no deben estar conectados. Se prohiben interseccionesinternas del polígono para un coloreado/rendering correcto.

Ejemplos:

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

Page 43: GDL Manual de Referencia.pdf

43

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

ROTX 90PRISM_ 26, 1.2,

0.3, 0, 15,0.3, 0.06, 15,0.27, 0.06, 15,0.27, 0.21, 15,0.25, 0.23, 15,-0.25, 0.23, 15,-0.27, 0.21, 15,-0.27, 0.06, 15,-0.3, 0.06, 15,-0.3, 0, 15,0.3, 0, -1, !Fin de contorno0.10, 0.03, 15,0.24, 0.03, 15,0.24, 0.2, 15,0.10, 0.2, 15,0.10, 0.03, -1, !Fin del primer hueco0.07, 0.03, 15,0.07, 0.2, 15,-0.07, 0.2, 15,-0.07, 0.03, 15,0.07, 0.03, -1, !Fin del segundo hueco-0.24, 0.03, 15,-0.24, 0.2, 15,-0.1, 0.2, 15,-0.1, 0.03, 15,-0.24, 0.03, -1 !Fin del tercer hueco

Page 44: GDL Manual de Referencia.pdf

44

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

j7 = 0 j

7 = 1

R=1H=3PRISM_ 9, H, -R, R, 15, COS(180)*R, SIN(180)*R, 15, COS(210)*R, SIN(210)*R, 15, COS(240)*R, SIN(240)*R, 15, COS(270)*R, SIN(270)*R, 15, COS(300)*R, SIN(300)*R, 15, COS(330)*R, SIN(330)*R, 15, COS(360)*R, SIN(360)*R, 15, R, R, 15ADDX 5PRISM_ 9, H, -R, R, 15, COS(180)*R, SIN(180)*R, 64+15, COS(210)*R, SIN(210)*R, 64+15, COS(240)*R, SIN(240)*R, 64+15, COS(270)*R, SIN(270)*R, 64+15, COS(300)*R, SIN(300)*R, 64+15, COS(330)*R, SIN(330)*R, 64+15, COS(360)*R, SIN(360)*R, 64+15, R, R, 15

Page 45: GDL Manual de Referencia.pdf

45

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

CPRISM_ topmat, botmat, sidemat,n, h, x

1, y

1, mask

1, . . . x

n, y

n, mask

n

Extensión de la declaración PRISM_ , los primeros 3 parámetros seusan para el nombre/índice de material de las superficies superior,inferior y lateral. Los otros parámetros son los mismos que en ladeclaración PRISM_ anterior.

Restricción de parámetros:

n > 3

Ver también la declaración MATERIAL en el Capítulo de "Atributos"y la descripción de la función IND en el Apéndice.

Ejemplo:

CPRISM_ “Iron“, 0, T_, !”Hierro” es un material! predefinido.! 0 es un material! genérico.! T_ es una variable! global (un índice! de material)

13, 0.2,0, 0, 15,2, 0, 15,2, 2, 15,0, 2, 15,0, 0, -1, ! fin del contorno

0.2, 0.2, 15,1.8, 0.2, 15,1.0, 0.9, 15,0.2, 0.2, -1, ! fin del primer hueco0.2, 1.8, 15,1.8, 1.8, 15,1.0, 1.1, 15,0.2, 1.8, -1 ! fin del segundo hueco

Page 46: GDL Manual de Referencia.pdf

46

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

BPRISM_ topmat, botmat, sidemat,n, h, radio,x

1, y

1, mask

1, . . . x

n, y

n, mask

n

Prisma de aristas curvadas, basado en la misma estructura de datosque el elemento recto CPRISM_ .

El único parámetro adicional es el radio.

Deriva del correspondiente CPRISM_ al curvarse el plano x-y en uncilindro tangencial a dicho plano.

Las aristas a lo largo del eje x se transforman en arcos circulares; lasaristas a lo largo del eje y permanecen horizontales; las aristas a lolargo del eje z tendrán dirección radial.

Ver BWALL_ para detalles.

Ejemplos: (con los correspondientes CPRISM_):

BPRISM_ "Glass", "Glass", "Glass", 3, 0.4, 1, ! radio = 1 0, 0, 15, 5, 0, 15, 1.3, 2, 15

Page 47: GDL Manual de Referencia.pdf

47

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

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

Page 48: GDL Manual de Referencia.pdf

48

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

FPRISM_ topmat, botmat, sidemat, hillmat,n, thickness, angle, hill_height,x

1, y

1, mask

1,

...x

n, y

n, mask

n

Similar a la declaración PRISM_ con los parámetros adicionaleshillmat, angle y hill_height. Sobre el prisma recto se añade unaparte suavizada.

hillmat: el material de la cara de la parte suavizada

angle: el ángulo de inclinación de las aristas suavizadas.Restricción: 0 < angle < 90. Si el ángulo = 0 lasaristas suavizadas se ven en proyección ortogonalcomo un cuarto de círculo con una resoluciónespecificada por el comando RESOL.

hill_height: la altura de la parte suavizada. Observe que elparámetro thickness representa la altura total delFPRISM.

Restricción de parámetros:

n > 3

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

Vea su descripción en PRISM_ .

1

n

2

hill_height

thickness

angle

Page 49: GDL Manual de Referencia.pdf

49

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Ejemplos:

RESOL 10FPRISM_ "Roof Tile", "Red Brick", "Face brick",

"Roof Tile",4, 1.5, 0, 1.0, !ángulo= 00, 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

Page 50: GDL Manual de Referencia.pdf

50

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

SPRISM_ topmat, botmat, sidemat,n, x

b,y

b, x

e, y

e, h, angle,

x1, y

1, mask

1, . . . x

n, y

n, mask

n

Extensión de la declaración CPRISM_ con la posibilidad de tenerun polígono superior no paralelo al plano x-y. La definición delplano superior es similar a la definición de plano en la declaraciónCROOF_. La altura del prisma se define en la línea de referencia. Laintersección de los polígonos superior e inferior está prohibida.

Parámetros adicionales:

xb, y

b, x

e, y

e: línea de referencia (vector) coordenadas iniciales y finales,

angle: ángulo de rotación del polígono superior alrededor dela línea de referencia dada, en grados (antihorario)

Nota: todas las coordenadas z calculadas de los nodos del polígonosuperior deben ser positivas o 0

n

h

1

2

(x ,y )b b

(x ,y )ee

angle

Ejemplo:

SPRISM_ 'Grass', 'Earth', 'Earth',6,0, 0, 11, 6, 2, -10.0,0, 0, 15,10, 1, 15,11, 6, 15,5, 7, 15,4.5, 5.5, 15,1, 6, 15

Page 51: GDL Manual de Referencia.pdf

51

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

SLAB n, h, x1, y

1, z

1, . . . x

n, y

n, z

n

Prisma oblicuo. Las caras laterales son siempre perpendiculares alplano x-y, sus bases son polígonos planos girados sobre un ejeparalelo con el plano x-y. Pueden usarse valores de h negativos. Eneste caso, la segunda base del polígono está por debajo de la dada.

No se comprueba si los puntos están realmente en un plano. Losvértices no contenidos en el plano darán colores propios/renderings extraños.

Restricción de parámetros:

n > 3

Y

Z

X

SLAB_ n, h, x1, y

1, z

1, mask

1, . . . x

n, y

n, z

n, mask

n

Similar a la declaración SLAB, pero pueden omitirse cualquiera delas aristas y caras horizontales. Esta declaración es una analogía dela declaración PRISM_ .

CSLAB_ topmat, botmat, sidemat,n, h, x

1, y

1, z

1, mask

1, . . . x

n, y

n, z

n, mask

n

Extensión de la declaración SLAB_ ; los primeros 3 parámetros seusan para el nombre/índice de material de las superficies superior,inferior y lateral. Los otros parámetros son los mismos que en ladeclaración SLAB_ anterior.

Ver también la declaración MATERIAL en el Capítulo de Atributos yla función IND en el Apéndice.

Page 52: GDL Manual de Referencia.pdf

52

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

CWALL_ leftmat, rightmat, sidemat,height, x

1, x

2, x

3, x

4, t,

mask1, mask

2, mask

3, mask

4,

n,xbeg

1, lower

1, xend

1, upper

1, framevis

1,

...xbeg

n, lower

n, xend

n, upper

n, framevis

n,

m,a

1, b

1, c

1, d

1,

...a

m, b

m, c

m, d

m

leftmat, rightmat, sidemat:

Nombres/índices de Material para las superficies izquierda,derecha y lateral.

Las caras izquierda y derecha del muro siguen el eje x.

Ver también la declaración MATERIAL en el Capítulo deAtributos y la función IND en el Apéndice.

La línea de referencia del muro se transforma siempre coincidiendocon el eje x. Las caras del muro están en el plano x-z.

height :

Altura del muro en relación a su base.

x1, x

2, x

3, x

4 :

Proyección de los extremos del muro sobre el plano x-y,como se ve a continuación. Si el muro es rectangular,entoncesx1 = x4 = 0, x2 = x3 = longitud del muro.

t : grosor del muro.

t < 0 si el cuerpo del muro está a la derecha del eje x,

t > 0 si el cuerpo del muro está a la izquierda del eje x,

t = 0 el muro está representado por un polígono y segeneran ‘marcos’ alrededor de los huecos.

Page 53: GDL Manual de Referencia.pdf

53

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

x4 x2x3x1

Y

X

tmask

1, mask

2, mask

3, mask

4 :

Controlan la visibilidad de aristas y caras de los polígonos.

maski = j

1 + 2*j

2 + 4*j

3 + 8*j

4

donde j1, j

2, j

3, j

4 pueden ser 0 or 1.

Los números j1, j2, j3, j4 representan cuándo los vértices y la cara

están presentes (1) o se omiten (0).

j4

j3

Z

X

Y

j1

mask 1

j2

mask 4 mask 2

mask 3

n : el número de aberturas en el muro.

xbegi, lower

i, xend

i, upper

i :

coordenadas de las aberturas como sigue.

X

Z

xend i

low

eri

uppe

ri

xbeg i

heig

ht

Page 54: GDL Manual de Referencia.pdf

54

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

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 aristade la abertura por separado.

framevisi = - (1*j

1 + 2*j

2 + 4*j

3 + 8*j

4 + 16*j

5 + 32*j

6 +

64*j7 + 128*j

8) donde j

1, j2... j

8 pueden ser 0 o 1. Los números

j1 a j

4 controlan la visibilidad de las aristas del hueco en el

lado izquierdo de la superficie del muro, mientras que j5 a

j8 afectan a las aristas de la derecha, como se muestra en la

ilustración siguiente.

j4

j3

j1

j2

j5

j7

j6

j8

Y

Z

X

Una arista que sea perpendicular a la superficie del muro es visiblesi existen bordes visibles dibujados desde sus dos puntos extremos.

m: número de los planos de corte.

ai, bi, ci, di :

coeficientes de la ecuación que define el plano de corte[ai*x + bi*y + ci*z = di].

Partes de la cara positiva del plano de corte que seráncortadas y eliminadas (p.e. ai*x + bi*y + ci*z > di).

[ai, bi, ci]

Page 55: GDL Manual de Referencia.pdf

55

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

BWALL_ leftmat, rightmat, sidemat,height, x

1, x

2, x

3, x

4, t, radio,

mask1, mask

2, mask

3, mask

4,

n,xbeg

1, lower

1, xend

1, upper

1, framevis

1,

. . .xbeg

n, lower

n, xend

n, upper

n, framevis

n,

m,a

1, b

1, c

1, d

1,

. . .a

m, b

m, c

m, d

m

Muro curvo, basado en la misma estructura de datos que elelemento de muro recto CWALL_.

El único parámetro adicional es el radio.

Deriva del correspondiente CWALL_ curvando el plano x-z sobreun cilindro tangencial a este plano.

Las aristas a lo largo del eje x se transforman en arcos circulares; alo largo del eje y serán radiales, y las aristas verticales permanecenverticales. La curvatura se aproxima mediante un número desegmentos definido por la directiva RESOL, como para esferas ycilindros. Ver CWALL_ para detalles.

Page 56: GDL Manual de Referencia.pdf

56

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Ejemplos: un BWALL_ y el CWALL_ correspondiente

ROTZ -60BWALL_1, 1, 1,

4, 0, 6, 6, 0,0.3, 2,15, 15, 15, 15,5,1, 1, 3.8, 2.5, -255,1.8, 0, 3, 2.5, -255,4.1, 1, 4.5, 1.4, -255,4.1, 1.55,4.5, 1.95, -255,4.1, 2.1, 4.5, 2.5, -255,1,0, -0.25, 1, 3

Page 57: GDL Manual de Referencia.pdf

57

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

XWALL_ leftmat, rightmat, sidevmat, sidehmat,height, x

1, x

2, x

3, x

4,

y1, y

2, y

3, y

4,

t, radio,reserved1, reserved2,mask

1, mask

2, mask

3, mask

4,

n,xbeg

1, lower

1, xend

1, upper

1, framevis

1,

...xbeg

n, lower

n, xend

n, upper

n, framevis

n,

m,a

1, b

1, c

1, d

1,

...a

m, b

m, c

m, d

m

Definición de muro ampliada, basada en la misma estructura dedatos que el elemento BWALL_. Parámetros adicionales:

sidevmat, sidehmat: nombre o índice de los materiales de lascaras vertical y horizontal

y1, y

2, y

3, y

4: los extremos del muro proyectados en el plano x-y

como sigue

Y

Xy3

y1

y2

y4

x1 x2 x3 x4

reserved1, reserved2: reservado, siempre 0.

Page 58: GDL Manual de Referencia.pdf

58

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Ejemplo:

XWALL_"Whitewash", "Whitewash","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, -255,1.25,1.5, 2.25,2.5, -255,2.25,0.5, 3.25,2.5, -255,0

Page 59: GDL Manual de Referencia.pdf

59

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

CROOF_ topmat, botmat, sidemat,n, x

b, y

b, x

e, y

e, height, angle, thickness,

x1, y

1, alpha

1, mask

1,

…,x

n, y

n, alpha

n, mask

n

Cubierta inclinada con los bordes en ángulo a medida

topmat, botmat, sidemat:número/índice de materiales inferior, superior y lateral

n: el número de nodos en el polígono de cubierta

xb, y

b, x

e, y

e: línea de referencia (vector)

height: la altura de la cubierta en la línea de referencia(superficie inferior)

angle: ángulo de rotación del plano de cubierta alrededor dela línea de referencia dada, en grados (antihorario)

thickness: grosor de la cubierta medida perpendicularmente alplano de cubierta

xi, y

i: las coordenadas de los nodos del polígono inferior

de la cubierta

alphai: ángulo entre la cara que pertenece a la arista i de la

cubierta y el plano perpendicular al de cubierta, -90° <alpha

i < 90°. Mirando en la dirección de la arista del

polígono de cubierta correctamente orientado, elángulo de rotación antihorario es positivo.

La orientación de las aristas del polígono de cubierta es correcta si, enplanta, la secuencia de contorno es antihoraria y la de huecos horaria.

maski: define la visibilidad de las aristas de cubierta, vea el

comando PRISM_.

Restricción de parámetros:

n > 3

Page 60: GDL Manual de Referencia.pdf

60

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Ejemplos:

CROOF_ 1, 1, 1, ! materiales9,0, 0,1, 0, ! línea de referencia (x1,y1)

(x2,y2)0.0, ! altura-30, ! ángulo2.5, ! grosor0, 0, -60, 15,10, 0, 0, 15,10, 20, -30, 15,0, 20, 0, 15,0, 0, 0, -1,2, 5, 0, 15,8, 5, 0, 15,5, 15, 0, 15,2, 5, 0, -1

Page 61: GDL Manual de Referencia.pdf

61

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

L=0.25R=(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

Page 62: GDL Manual de Referencia.pdf

62

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

MESH a, b, m, n, mask,z

11, z

12, . . . z

1m,

z21

, z22

, . . . z2m

,. . .z

n1, z

n2, . . . z

nm

Malla suavizada simple basada en un rectángulo con una redequidistante. Los lados del rectángulo de base son a y b; los puntos my n están sobre los ejes x e y respectivamente, z

ij es la altura del nodo.

Visibilidad

mask = j

1 + 4*j

3 + 16*j

5 + 32*j

6 + 64*j

7

donde j1, j

3, j

5, j

6, j

7 pueden ser 0 or 1.

j1

(1): la superficie de base está presente.

j3

(4): las superficies laterales están presentes.

j5

(16): las aristas de base y laterales son visibles.

j6

(32): las aristas superiores son visibles.

j7

(64): las aristas superiores son visibles, la superficiesuperior no está suavizada.

i

n

m1

Y

Zij

1

Z

X

jb

a

Restricción de parámetros:

m > 2, n > 2

Page 63: GDL Manual de Referencia.pdf

63

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

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

Page 64: GDL Manual de Referencia.pdf

64

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

ARMC r1, r

2, l, h, d, alpha

Trozo de tubo que empieza en otro tubo; parámetros de acuerdocon la figura (las curvas de intersección se calculan y dibujantambién). Alpha está en grados.

Restricción de parámetros:

r1 > r

2 + d

r1 < l * sin(alpha) - r

2 * cos(alpha)

Y

X

Z

X

alpha

lh

r1

r2

d

Ejemplo:

ROTY 90CYLIND 10,1ADDZ 6ARMC 1, 0.9, 3, 0, 0, 45ADDZ -1ROTZ -90ARMC 1, 0.75,3, 0, 0, 90ADDZ -1ROTZ -90ARMC 1, 0.6, 3, 0, 0, 135

Page 65: GDL Manual de Referencia.pdf

65

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

ARME l, r1, r

2, h, d

Trozo de tubo que empieza desde un elipsoide en el plano y-z;parámetros de acuerdo con la figura (las curvas de intersección secalculan y dibujan también).

Restricción de parámetros:

r1 > r

2+ d

l > h*√ (1 - (r2 - d)2 / r

12)

Z

Y

r2

l

h

r1

d

Ejemplo:

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

Page 66: GDL Manual de Referencia.pdf

66

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

ELBOW r1, alpha, r

2

Segmento de codo en el plano x-z. El radio del arco es r1, el ánguloes alpha y el radio del segmento de codo es r2.

Alpha está en grados.

Restricción de parámetros:

r1 > r

2

Z

X

r1alpha

r2

Ejemplo:

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

Page 67: GDL Manual de Referencia.pdf

67

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

5.2 Formas generadas desdepolilíneasEstos elementos permiten crear formas 3D complejas usando unapolilínea y una regla constructiva. Se puede girar, proyectar otrasladar la polilínea dada. Los cuerpos resultantes generalizanalgunos elementos existentes, como PRISM_ y CYLIND.

Formas generadas desde una sola polilínea:

EXTRUDE

PYRAMID

REVOLVE

Formas generadas desde dos polilíneas:

RULED

SWEEP

TUBE

TUBEA

La primera polilínea está siempre en el plano x-y. Doscoordenadas determinan los puntos, el tercer valor (ver acontinuación) es el status . La segunda polilínea (RULED ySWEEP) es una curva en el espacio cuyos vértices se determinanpor tres valores coordenados.

Formas generadas desde cuatro polilíneas:

COONS

Forma generada a partir de polilíneas:

MASS

Restricciones generales para polilíneas:

Los vértices adyacentes no deben coincidir (exceptopara␣ RULED).

La polilínea no debe cortarse a sí misma (no se verifica, pero elcálculo de ocultos y rendering serán incorrectos).

Las polilíneas pueden ser abiertas o cerradas. En el último caso,el primer nodo debe repetirse al final de la declaración.

Page 68: GDL Manual de Referencia.pdf

68

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Masking

Los valores de mask se usan para mostrar o esconder superficies y/o aristas características de la forma 3D. Los valores de mask sonespecíficos de cada elemento y se puede encontrar una definiciónmás detallada en sus correspondientes secciones/capítulos.

mask = j1 + 2*j

2 + 4*j

3 + 8*j

4 + 16*j

5 + 32*j

6 + 64*j

7

donde j1, j

2, j

3, j

4, j

5, j

6, j

7 pueden ser 0 or 1.

j1, j

2, j

3, j

4 representan las superficies presentes (1) o no (0). j

5, j

6, j

7

representan qué aristas son visibles (1) o invisibles (0).

j1 : superficie inferior.

j2 : superficie superior.

j3 : superficie lateral

j4 : superficie de la otra cara

j5 : aristas de la base

j6 : aristas superiores

j7: sección transversal/aristas de la superficie visibles, la superficie

no se suaviza.

Para permitir todas las caras y aristas, ajustar el valor de mask a 127.

Status

Los valores de status se usan para exponer dónde un punto dadode una polilínea dejará atrás un trazo nítido de su trayectoria derotación.

0 : arcos/aristas laterales que arrancan del nodo sontodos visibles.

1 : arcos/aristas laterales que arrancan del nodo seusan solo para mostrar el contorno.

-1 : sólo para EXTRUDE: marca el final del polígonocerrado o de un hueco, y significa que el siguientenodo será el primer nodo de otro hueco.

Para crear una forma suavizada en 3D, ajuste todos los valores destatus a 1. Use status=0 para crear una cresta.

En el Capítulo "Códigos de Status Adicionales para Polilíneas" sedescriben códigos adicionales para segmentos tangentes y arcos. Sereservan otros valores para futuras mejoras.

Page 69: GDL Manual de Referencia.pdf

69

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

EXTRUDE n, dx, dy, dz, mask, x1, y

1, s

1, . . . x

n, y

n, s

n

Prisma genérico que usa una polilínea en el plano x-y como base.El vector desplazamiento entre bases es (dx, dy, dz).

Es una generalización de las declaraciones PRISM y SLAB. No esnecesario que la polilínea de base sea cerrada ni que las aristaslaterales sean perpendiculares al plano x-y. La polilínea de basepuede incluir huecos, al igual que PRISM_. Es posible controlar lavisibilidad de las aristas de contorno

n : número de nodos de la polilínea.

mask : controla la existencia de las caras superior, inferior y(en el caso de una polilínea abierta) lateral.

si : status de las aristas laterales o marca el final de unpolígono o hueco.

Restricción de parámetros:

n > 2

Z

X 1

2

n

Y

j1

j2

j3

j5

j6

Masking

mask = j1 + 2*j

2 + 4*j

3 + 16*j

5 + 32*j

6

donde j1, j

2, j

3, j

5, j

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

Page 70: GDL Manual de Referencia.pdf

70

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Valores de status

0 : las aristas laterales que empiezan en el nodo sonvisibles.

1 : las aristas laterales que empiezan en el nodo seusan para mostrar el contorno.

-1 : marca el final del polígono cerrado o de un hueco,y significa que el siguiente nodo será el primervértice de otro hueco.

Ejemplos:

EXTRUDE 14, 1, 1, 4, 1+2+4+16+32,0, 0, 0,1, -3, 0,2, -2, 1,3, -4, 0,4, -2, 1,5, -3, 0,6, 0, 0,3, 4, 0,0, 0, -1,

2, 0, 0,3, 2, 0,4, 0, 0,3, -2, 0,2, 0, -1

Page 71: GDL Manual de Referencia.pdf

71

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

A=5 : B=5 R=2 : S=1 C=R-S D=A-R E=B-REXTRUDE 28, -1, 0, 4, 1+2+4+16+32,

0, 0, 0,D+R*SIN(0), R-R*COS(0), 1,D+R*SIN(15), R-R*COS(15), 1,D+R*SIN(30), R-R*COS(30), 1,D+R*SIN(45), R-R*COS(45), 1,D+R*SIN(60), R-R*COS(60), 1,D+R*SIN(75), R-R*COS(75), 1,D+R*SIN(90), R-R*COS(90), 1,A, B, 0,0, B, 0,0, 0, -1,

C, C, 0,D+S*SIN(0), R-S*COS(0), 1,D+S*SIN(15), R-S*COS(15), 1,D+S*SIN(30), R-S*COS(30), 1,D+S*SIN(45), R-S*COS(45), 1,D+S*SIN(60), R-S*COS(60), 1,D+S*SIN(75), R-S*COS(75), 1,D+S*SIN(90), R-S*COS(90), 1,A-C,B-C,0,R-S*COS(90), E+S*SIN(90), 1,R-S*COS(75), E+S*SIN(75), 1,R-S*COS(60), E+S*SIN(60), 1,R-S*COS(45), E+S*SIN(45), 1,R-S*COS(30), E+S*SIN(30), 1,R-S*COS(15), E+S*SIN(15), 1,R-S*COS(0), E+S*SIN(0), 1,C, C, -1

Page 72: GDL Manual de Referencia.pdf

72

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

PYRAMID n, h, mask, x1, y

1, s

1, . . . x

n, y

n, s

n

Pirámide basada en una polilínea en el plano x-y. El vértice de lapirámide se sitúa en (0, 0, h).

n : número de nodos de la polilínea.

mask : controla la existencia de las caras inferior y (en elcaso de una polilínea abierta) lateral.

si : status de las aristas laterales.

Restricciones de parámetros:

h > 0

n > 2

1

Z

2

n

X

j3

j1

Y

j5

h

mask = j1 + 4*j3 + 16*j5

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

j1

(1): la superficie de la base está presente.

j3

(4): la superficie lateral (cerrada) está presente.

j5

(16): las aristas de la base son visibles.

Valores de status

0 : las aristas laterales que arrancan del nodo son todasvisibles.

1 : las aristas laterales que arrancan del nodo se usanpara mostrar el contorno.

Page 73: GDL Manual de Referencia.pdf

73

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Ejemplo:

PYRAMID 4, 1.5, 1+4+16,-2, -2, 0,-2, 2, 0,2, 2, 0,2, -2, 0

PYRAMID 4, 4, 21,-1, -1, 0,1, -1, 0,1, 1, 0,-1, 1, 0

ADDX -1.4ADDY -1.4GOSUB 100ADDX 2.8GOSUB 100ADDY 2.8GOSUB 100ADDX -2.8GOSUB 100END

100:PYRAMID 4, 1.5, 21,

-0.25, -0.25, 0,0.25, -0.25, 0,0.25, 0.25, 0,-0.25, 0.25, 0

RETURN

Page 74: GDL Manual de Referencia.pdf

74

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

REVOLVE n, alpha, mask, x1, y

1, s

1, . . . x

n, y

n, s

n

Superficie generada por la rotación de una polilínea definida en elplano x-y alrededor del eje x.

n: número de nodos de la polilínea.

alpha: ángulo de barrido en grados.

mask: controla la existencia de las caras inferior, superior y(en el caso de alpha < 360) lateral.

si: status de los arcos laterales.

Restricciones de parámetros:

n > 2

yi > 0.0

yi e y

i +

1 (p.e. el valor y de dos nodos vecinos) no debe ser

cero a la vez.

j6

j1

j3

j2

j4

1

n

Z

2

Y

j5

alpha

Page 75: GDL Manual de Referencia.pdf

75

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Masking

mask = j1 + 2*j

2 + 4*j

3 + 8*j

4 + 16*j

5 + 32*j

6 + 64*j

7

donde j1, j

2, j

3, j

4, j

5, j

6, j

7 pueden ser 0 o 1.

j1

(1): superficie inferior presente.

j2 (2): superficie superior presente.

j3 (4): superficie lateral presente en el ángulo inicial.

j4 (8): superficie lateral presente en el ángulo final.

j5

(16): aristas de superficie lateral visibles en ángulo inicial.

j6

(32): aristas de superficie lateral visibles en ángulo final.

j7

(64): aristas de la sección transversal visibles, superficieno suavizada.

Valores de status

0 : arcos laterales que arrancan del nodo todos visibles.

1 : arcos laterales que arrancan del nodo se usan paramostrar el contorno.

2 : si usa el Rendering de ArchiCAD o Z-buffer y definesuperficies suavizadas, el borde lateral que pertenece aeste punto define una rotura. Esta solución esequivalente a definir nodos adicionales; el compiladorrealiza el cálculo. El algoritmo de FotoRendering nocambia. Cuando utilice otros métodos de rendering,tendrá el mismo efecto que usar 0.

Ejemplos:

Page 76: GDL Manual de Referencia.pdf

76

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

ROTY -90REVOLVE 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

Page 77: GDL Manual de Referencia.pdf

77

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

revolución sin código de status 2: el mismo resultado con código 2:

ROTY -90 ROTY -90REVOLVE 26, 180, 16+32, REVOLVE 18, 180, 48, 7, 1, 0, 7, 1, 0, 6.0001, 1, 1, 6, 1, 2, 6, 1, 0, 5.5, 2, 2, 5.9999, 1.0002, 1, 5, 1, 2, 5.5001, 1.9998, 1, 4, 1, 2, 5.5, 2, 0, 3+COS(15), 1+SIN(15), 1, 5.4999, 1.9998, 1, 3+COS(30), 1+SIN(30), 1, 5.0001, 1.0002, 1, 3+COS(45), 1+SIN(45), 1, 5, 1, 0, 3+COS(60), 1+SIN(60), 1, 4.9999, 1, 1, 3+COS(75), 1+SIN(75), 1, 4.0001, 1, 1, 3, 2, 1, 4, 1, 0, 3+COS(105), 1+SIN(105), 1, 3+COS(15), 1+SIN(15), 1, 3+COS(120), 1+SIN(120), 1, 3+COS(30), 1+SIN(30), 1, 3+COS(135), 1+SIN(135), 1, 3+COS(45), 1+SIN(45), 1, 3+COS(150), 1+SIN(150), 1, 3+COS(60), 1+SIN(60), 1, 3+COS(165), 1+SIN(165), 1, 3+COS(75), 1+SIN(75), 1, 2, 1, 2, 3, 2, 1, 1, 1, 0 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

Page 78: GDL Manual de Referencia.pdf

78

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

RULED n, mask,u

1, v

1, s

1, . . . u

n, v

n, s

n,

x1, y

1, z

1, . . . x

n, y

n, z

n

RULED es una superficie basada en una curva plana y una curva enel espacio que tienen el mismo número de nodos. Segmentosrectos conectan los nodos correspondientes a las dos polilíneas.

Es el único elemento de GDL que permite superponer nodosvecinos.

n : número de nodos de cada curva.

mask : controla la existencia de las caras inferior, superior ylateral y la visibilidad de las aristas de la polilíneasgeneratrices. El polígono lateral conecta el primer yúltimo nodos de las curvas, si alguna de ellas noestá cerrada.

ui, vi : coordenadas de los nodos de la curva plana.

si : status de las aristas laterales.

xi, yi, zi : coordenadas de la curva en el espacio.

Restricción de parámetros:

n > 1

j3

j61

n

j2

j5

1

Z

2

n

Xj1

Y

2

Page 79: GDL Manual de Referencia.pdf

79

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Masking

mask = j

1 + 2*j

2 + 4*j

3 + 16*j

5 + 32*j

6 + 64*j

7

donde j1, j

2, j

3, j

5, j

6, j

7 pueden ser 0 o 1.

j1

(1): la superficie inferior está presente.

j2

(2): la superficie superior está presente (no efectivo si lasuperficie superior no es plana).

j3

(4): la superficie lateral está presente (un cuadránguloplano o dos triángulos).

j5

(16): las aristas de la curva plana son visibles.

j6

(32): las aristas de la curva en el espacio son visibles.

j7

(64): las aristas de la superficie son visibles, la superficieno se suaviza.

Valores de status

0 : las aristas laterales que arrancan del nodo son todasvisibles.

1 : las aristas laterales que arrancan del nodo se usanpara buscar el contorno.

Ejemplos:

Page 80: GDL Manual de Referencia.pdf

80

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

R=3RULED 16, 1+2+4+16+32,

COS(22.5)*R, SIN(22.5)*R, 0,COS(45)*R, SIN(45)*R, 0,COS(67.5)*R, SIN(67.5)*R, 0,COS(90)*R, SIN(90)*R, 0,COS(112.5)*R, SIN(112.5)*R, 0,COS(135)*R, SIN(135)*R, 0,COS(157.5)*R, SIN(157.5)*R, 0,COS(180)*R, SIN(180)*R, 0,COS(202.5)*R, SIN(202.5)*R, 0,COS(225)*R, SIN(225)*R, 0,COS(247.5)*R, SIN(247.5)*R, 0,COS(270)*R, SIN(270)*R, 0,COS(292.5)*R, SIN(292.5)*R, 0,COS(315)*R, SIN(315)*R, 0,COS(337.5)*R, SIN(337.5)*R, 0,COS(360)*R, SIN(360)*R, 0,COS(112.5)*R, SIN(112.5)*R, 10,COS(135)*R, SIN(135)*R, 10,COS(157.5)*R, SIN(157.5)*R, 10,COS(180)*R, SIN(180)*R, 10,COS(202.5)*R, SIN(202.5)*R, 10,COS(225)*R, SIN(225)*R, 10,COS(247.5)*R, SIN(247.5)*R, 10,COS(270)*R, SIN(270)*R, 10,COS(292.5)*R, SIN(292.5)*R, 10,COS(315)*R, SIN(315)*R, 10,COS(337.5)*R, SIN(337.5)*R, 10,COS(360)*R, SIN(360)*R, 10,COS(22.5)*R, SIN(22.5)*R, 10,COS(45)*R, SIN(45)*R, 10,COS(67.5)*R, SIN(67.5)*R, 10,COS(90)*R, SIN(90)*R, 10

Page 81: GDL Manual de Referencia.pdf

81

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

SWEEP n, m, alpha, scale, mask,u

1, v

1, s

1, . . . u

n, v

n, s

n,

x1, y

1, z

1, . . . x

m, y

m, z

m

Superficie generada por una polilínea que se desplaza siguiendo latrayectoria curva de otra polilínea en el espacio.

La polilínea puede ser abierta o cerrada. Puede girarse y escalarseincrementalmente en su propio plano.

El plano de la polilínea sigue la trayectoria curva. La curva en elespacio tiene su inicio en el plano x-y. Si no se encuentra estacondición, la curva es movida a lo largo del eje z hasta quearranque del plano x-y.

La sección transversal en el punto (xi, yi, zi) es perpendicular alsegmento 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 otrasformas complejas.

n : número de nodos de la polilínea.

m : número de nodos de la trayectoria.

alpha : incremento de la rotación de la polilínea sobre supropio plano, desde un punto de la trayectoria hastael siguiente.

scale : incremento del factor de escala de la polilínea,desde un punto de la trayectoria hasta el siguiente.

mask : controla la existencia de las superficies y aristasinferiores, superiores y laterales.

ui, vi : coordenadas de los nodos de la polilínea de base.

si : status de las aristas laterales.

xi, yi, zi : coordenadas de los nodos de la trayectoria curva.

Restricciones de parámetros:

n > 1

m > 1

z1 < z2

Page 82: GDL Manual de Referencia.pdf

82

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Masking

mask = j

1 + 2*j

2 + 4*j

3 + 16*j

5 + 32*j

6 + 64*j

7

donde j1, j

2, j

3, j

5, j

6, j

7 pueden ser 0 o 1.

j1

(1): la superficie inferior está presente.

j2

(2): la superficie superior está presente.

j3

(4): la superficie lateral está presente.

j5

(16): las aristas inferiores son visibles.

j6

(32): las aristas superiores son visibles.

j7

(64): las aristas de la sección transversal son visibles, lasuperficie está articulada.

j3

j2

j5

j6

2

1

Z

2

n

Xj1

Y

m

1

Valores de status

0 : todas las aristas laterales que arrancan del nodo sonvisibles.

1 : las aristas laterales que arrancan del nodo se usanpara mostrar el contorno.

Ejemplos:

Page 83: GDL Manual de Referencia.pdf

83

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

SWEEP 4, 12, 7.5, 1, 1+2+4+16+32,-0.5, -0.25, 0, 0.5, -0.25, 0, 0.5, 0.25, 0,-0.5, 0.25, 0,

0, 0, 0.5,0, 0, 1,0, 0, 1.5,0, 0, 2,0, 0, 2.5,0, 0, 3,0, 0, 3.5,0, 0, 4,0, 0, 4.5,0, 0, 5,0, 0, 5.5,0, 0, 6

Page 84: GDL Manual de Referencia.pdf

84

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

TUBE n, m, mask,u

1, w

1, s

1,

. . .u

n, w

n, s

n,

x1, y

1, z

1, angle

1,

. . .x

m, y

m, z

m, angle

m

Superficie generada por una polilínea que sigue la trayectoria deuna curva en el espacio sin distorsión de la sección generatriz. Lassuperficies de conexión interna pueden girar en el plano U-W delsistema de coordenadas instantáneo U-V-W.

eje V: aproxima la tangente de la curva generatriz en elpunto correspondiente,

eje W: perpendicular al eje V y apuntando hacia arriba conrespecto al eje z local,

eje U: perpendicular a los ejes V y W y formando con ellosun sistema de coordenadas Cartesianas según laregla de la mano derecha.

Si el eje V es vertical, la dirección W no está correctamentedefinida. El eje W en el nodo previo de la trayectoria se usa paradeterminar una dirección horizontal.

La sección transversal del tubo, medida en medio de los segmentosde la trayectoria es siempre igual al polígono de base (u

1, w

1, ... u

n,

wn). Las secciones en las uniones están situadas en el plano

bisector de los segmentos de unión. El polígono de base debe estarcerrado.

n : número de nodos de la polilínea.

m: número de nodos de la trayectoria.

ui, wi : coordenadas de los nodos de la polilínea de base.

si : status de las aristas laterales.

xi, yi, zi : coordenadas de los nodos de la trayectoria curva.

(La trayectoria comprende dos puntos más que elnúmero de secciones generadas. El primer y elúltimo puntos determinan la posición el espacio dela primera y la última superficies que pertenecen alTUBE. Estos puntos sólo juegan un papeldeterminando la normal de las superficies, no sonnodos actuales de la trayectoria. La orientación delas superficies es la misma que la de las superficies

Page 85: GDL Manual de Referencia.pdf

85

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

que se generarían en los nodos más cercanos a losdos extremos, si el TUBE continuara en lasdirecciones indicadas por ellos.

anglei ángulo de rotación de la sección transversal.

Masking

mask = j1 + 2*j2 + 16*j5 + 32*j6 + 64*j7

donde j1, j2, j5, j6, j7 pueden ser 0 o 1.

j1

(1): la superficie inferior está presente.

j2

(2): la superficie final está presente.

j5

(16): las aristas inferiores (en x1, y

1, z

1) son visibles.

j6

(32): las aristas finales (en xm, y

m, z

m) son visibles.

j7

(64): las aristas de la sección transversal (excepto laslíneas de conexión de caras coplanares) sonvisibles, la superficie está articulada.

Restricciones de parámetros:

n > 2

m > 3

W

U

Wm

m-1

21

alpha

V

U

Valores de status

0 : los bordes laterales que empiezan en el nodo sontodos visibles.

1 : los bordes laterales que empiezan en el nodo seutilizan para mostrar el contorno.

Page 86: GDL Manual de Referencia.pdf

86

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Ejemplos:

TUBE 4, 18, 16+32,2.0, 0.0, 0,0.0, 0.0, 0,0.0, 0.4, 0,2.0, 0.4, 0,

-1, 0, 0, 0,0, 0, 0, 0,4, 0, 0.1, 0,6, 0, 0.15, 0,6+4*SIN(15), 4 - 4*COS(15), 0.2, 0,6+4*SIN(30), 4 - 4*COS(30), 0.25, 0,6+4*SIN(45), 4 - 4*COS(45), 0.3, 0,6+4*SIN(60), 4 - 4*COS(60), 0.35, 0,6+4*SIN(75), 4 - 4*COS(75), 0.4, 0,10, 4, 0.45, 0,6+4*SIN(105), 4 - 4*COS(105), 0.5, 0,6+4*SIN(120), 4 - 4*COS(120), 0.55, 0,6+4*SIN(135), 4 - 4*COS(135), 0.6, 0,6+4*SIN(150), 4 - 4*COS(150), 0.65, 0,6+4*SIN(165), 4 - 4*cos(165), 0.7, 0,6, 8, 0.75, 0,0, 8, 1, 0,-1, 8, 1, 0

Page 87: GDL Manual de Referencia.pdf

87

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

TUBE 14, 6, 1+2+16+32,0, 0,0,0.03, 0,0,0.03, 0.02, 0,0.06, 0.02, 0,0.05, 0.0699, 0,0.05, 0.07, 1,0.05, 0.15, 901,1, 0, 801,0.08, 90, 2000,0.19, 0.15, 0,0.19, 0.19, 0,0.25, 0.19, 0,0.25, 0.25, 0,0, 0.25, 0,0, 1, 0, 0,0, 0.0001, 0, 0,0, 0, 0, 0,-0.8, 0, 0, 0,-0.8, 0.0001, 0, 0,-0.8, 1, 0, 0

Page 88: GDL Manual de Referencia.pdf

88

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

TUBE 3, 7, 16+32,0, 0, 0,-0.5, 0, 0,0, 0.5, 0,

0.2, 0, -0.2, 0,0, 0, 0, 0,0, 0, 5, 0,3, 0, 5, 0,3, 4, 5, 0,3, 4, 0, 0,3, 3.8, -0.2, 0

Page 89: GDL Manual de Referencia.pdf

89

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

TUBEA n, m, mask,u

1, w

1, s

1,

. . .u

n, w

n, s

n,

x1, y

1, z

1,

. . .x

m, y

m, z

m

2m-1 m1

1

n

bisector plane

TUBEA es una superficie generada por una polilínea que sedesplaza a lo largo de una trayectoria curva en el espacio, con unalgoritmo diferente a la declaración TUBE.

La sección generada en cada unión de la trayectoria es igual alpolígono de base (u

1, w

1, ... u

n, w

n) y está situada en el plano

bisector de las proyecciones de los segmentos de unión sobre elplano x-y local. El polígono de base puede estar abierto: en estecaso las secciones se generarán de manera que alcancen el planox-y local, como en el caso de las superficies REVOLVE.

La sección transversal del tubo, medida en el medio de lossegmentos de trayectoria puede ser distinta al polígono de base.

Ejemplos:

Page 90: GDL Manual de Referencia.pdf

90

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

TUBEA 9, 7, 1 + 2 + 16 + 32,-1, 1, 0,0, 2, 0,0.8, 2, 0,0.8, 1.6, 0,0.8001, 1.6, 1,3.2, 1.6, 0,3.2, 2, 0,4, 2, 0,5, 1, 0,0, -7, 0,0, 0, 0,4, 0, 1,9, 3, 2.25,9, 10, 2.25,14, 10, 2.25,20, 15, 5

Page 91: GDL Manual de Referencia.pdf

91

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

COONS n, m, mask,x1

1, y1

1, z1

1, . . . x1

n, y1

n, z1

n,

x21, y2

1, z2

1, . . . x2

n, y2

n, z2

n,

x31, y3

1, z3

1, . . . x3

m, y3

m, z3

m,

x41, y4

1, z4

1, . . . x4

m, y4

m, z4

m

Superficie tipo Coons generada a partir de 4 curvas que la limitan.

Masking

mask = 4*j

3 + 8*j

4 + 16*j

5 + 32*j

6 + 64*j

7

donde j3, j

4, j

5, j

6, j

7 pueden ser 0 o 1.

j3

(4): aristas del 1er límite (x1, y1, z1) visibles.

j4

(8): aristas del 2º límite (x2, y2, z2) visibles.

j5

(16): aristas del 3er límite (x3, y3, z3) visibles.

j6

(32): aristas del 4º límite (x4, y4, z4) son visibles.

j7

(64): aristas de superficie visibles, la superficie suavizada.

Restricciones de parámetros:

n, m > 1

4(m)

2(n)

3(m)

1(n)

Z

Y

X

Page 92: GDL Manual de Referencia.pdf

92

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Ejemplos:

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

!2º contorno, n=60, 5, 0,1, 5, 1,2, 5, 2,3, 5, 3,4, 5, 4,5, 5, 5,

!3 er contorno, m=60, 0, 5,0, 1, 4,0, 2, 3,0, 3, 2,0, 4, 1,0, 5, 0,

!4º contorno, m=65, 0, 0,5, 1, 1,5, 2, 2,5, 3, 3,5, 4, 4,5, 5, 5

Page 93: GDL Manual de Referencia.pdf

93

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

ROTZ -90ROTY 90COONS 7, 6, 4+8+16+32+64,

!1 er contorno, n=71, 2, 0,0.5, 1, 0, 0.2, 0.5, 0,-0.5, 0, 0, 0.2, -0.5, 0,0.5, -1, 0,1, -2, 0,!2º contorno, n=76, 10, -2,6.5, 4, -1.5,5, 1, -1.2,4, 0, -1,5, -1, -1.2,6.5, -4, -1.5,6, -10, -2,

!3 er contorno, m=61, 2, 0,2, 4, -0.5,3, 6, -1,4, 8, -1.5,5, 9, -1.8,6, 10, -2,!4º contorno, m=61, -2, 0,2, -4, -0.5,3, -6, -1,4, -8, -1.5,5, -9, -1.8,6, -10, -2

Page 94: GDL Manual de Referencia.pdf

94

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

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

1, y

1, z

1, s

1,

. . .x

n, y

n, z

n, s

n,

xn+1

, yn+1

, zn+1

, sn+1

, . . .x

n+m, y

n+m, z

n+m, s

n+m

topmat, botmat, sidemat:

nombre/índice de materiales superior, inferior y lateral

n : el número de nodos en el polígono de base

m : el número de nodos sobre las crestas

h: la altura de la cubierta (puede ser negativa)

xi, y

i, z

i : las coordenadas de los nodos

si : similar a la declaración PRISM_

Masking

mask = j

1 + 4*j

3 + 16*j

5 + 32*j

6 + 64*j

7

donde j1, j

3, j

5, j

6, j

7 pueden ser 0 o 1.

j1

(1): la superficie de base está presente

j3

(4): las superficies laterales están presentes

j5

(16): las aristas de la base y laterales son visibles

j6

(32): las aristas superiores son visibles

j7

(64): las aristas superiores son visibles, la superficiesuperior no está suavizada

Restricciones de parámetros:

n > 3, m > 0

dz plane

1

2

n

m-1

m

Page 95: GDL Manual de Referencia.pdf

95

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Ejemplo:

MASS "Whitewash", "Whitewash", "Whitewash",15, 12, 117, -5.0, 0, 12, 0, 15, 8, 12, 0, 15, 8, 0, 0, 15,13, 0, 0, 13,16, 0, 0, 13,19, 0, 0, 13,23, 0, 0, 13,24, 0, 0, 15,24, 12, 0, 15,28, 12, 0, 15,28, 20, 8, 13,28, 22, 8, 15, 0, 22, 8, 15, 0, 20, 8, 13, 0, 12, 0, -1,

0, 22, 8, 0,28, 22, 8, -1,23, 17, 5, 0,23, 0, 5, -1,13, 13, 1, 0,13, 0, 1, -1,16, 0, 7, 0,16, 19, 7, -1, 0, 20, 8, 0,28, 20, 8, -1,19, 17, 5, 0,19, 0, 5, -1

Page 96: GDL Manual de Referencia.pdf

96

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

5.3 Elementos para laVisualización

LIGHT red, green, blue, shadow,radius, alpha, beta, angfalloff,dist1, dist2, distfalloff

Fuente luminosa que irradia luz coloreada [red, green, blue] desde elorigen local a lo largo del eje x. La luz se proyecta paralelamente aleje x desde una fuente puntual o circular. Tiene una intensidadmáxima dentro del tronco de cono de ángulo alpha y disminuyehasta cero en el tronco de cono de ángulo beta. Esta disminución secontrola por el parámetro angfalloff. (Cero da a la luz un contornonítido, valores mayores indican transiciones suaves.) El efecto de laluz está limitado a lo largo del eje definido por los valores de cortedist1 y dist2. El parámetro distfalloff controla la caída de intensidad enfunción de la distancia. (Un valor cero significa una intensidadconstante, valores mayores se usan para caídas más fuertes.)

Las transformaciones GDL afectan solo al punto inicial y a ladirección de la luz.

El parámetro shadow controla si la luz arroja sombras.

0 : no hay sombras arrojadas

1 : hay sombras arrojadas

dist1

dist2

betaalpha

radi

us

intensity

Page 97: GDL Manual de Referencia.pdf

97

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Restricciones de parámetros:

alpha < beta < 80°

Combinaciones de parámetros que tienen significados especiales:

radius = 0, alpha = 0, beta = 0

Un punto de luz, que irradia luz en todas direcciones y noarroja sombras.

Los parámetros shadow y angfalloff se ignoran,suponiéndoles valores shadow␣ =␣ 0, angfalloff␣ =␣ 0.

radius > 0, alpha = 0, beta = 0

Una luz direccional.

Ejemplo:LIGHT 1.0,0.2,0.3, ! RGB 1, ! sombras activas 1.0, ! radio 45.0,60.0, ! angle1, angle2 0.3, ! angfalloff 1.0,10.0, ! dist1, dist2 0.2 ! distfalloff

Diálogo de edición de Lámparas en ArchiCAD:

Page 98: GDL Manual de Referencia.pdf

98

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Parte del correspondiente script GDL:

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

r = 0, alpha > 0, beta > 0

r > 0, alpha = 0, beta > 0

r > 0, alpha = 0, beta = 0

Tipos de luz usando distintos parámetros alpha y beta

Page 99: GDL Manual de Referencia.pdf

99

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

PICTURE expression, a, b, mask

Elemento de imagen para FotoRendering.

La expresión indica un nombre de archivo, una expresiónnumérica de un índice de una imagen guardada como objeto debiblioteca. Un índice 0 es un valor especial, se refiere a la imagenanterior de la biblioteca. Otras imágenes pueden guardarse enobjetos de biblioteca sólo al guardar el proyecto o elementosseleccionados conteniendo imágenes como Objetos ArchiCAD.La figura del fichero de referencia encaja en un rectángulo tratadocomo un RECT en cualquier otro método de proyección 3D.

mask = alpha + distortion

alpha : control del canal alpha

0 : no se usa canal alpha, la figura es un rectángulo

1 : se usa canal alpha, partes de la figura pueden sertransparentes.

distortion : control de distorsión

0 : encaja la imagen en un rectángulo dado

2 : encaja la imagen en el centro de un rectángulousando las proporciones naturales de la imagen

4 : llena el rectángulo con la imagen en posicióncentral usando sus proporciones naturales

Page 100: GDL Manual de Referencia.pdf

100

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

5.4 Elemento de TextoTEXT d, 0, expression

Una representación 3D en el estilo definido del valor de un texto oexpresión de tipo numérico. Ver DEFINE STYLE y SET STYLE en elcapítulo "Atributos".

d: grosor de los caracteres en metros

En esta versión de GDL, el segundo parámetro es siempre cero.

Ejemplos:

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

nombre= "Grand"

ROTX 90ROTY -30TEXT 0.003, 0, nombre

ADDX STW (nombre)/1000ROTY 60TEXT 0.003, 0, "Hotel"

Observación: Para compatibilidad con el script GDL 2D, la alturade los caracteres se interpreta siempre en mm-s en lasdeclaraciones DEFINE STYLE.

Page 101: GDL Manual de Referencia.pdf

101

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

5.5 PrimitivasLas primitivas de la estructura de datos 3D son VERT, VECT, EDGE,PGON y BODY. Los cuerpos se representan por sus superficies ylas conexiones entre ellas. La información para ejecutar un corte 3Dproviene de la información de conexión

El indexado empieza con 1, y cada nuevo cuerpo o unadeclaración BASE reinicia el índice a 1. Para cada arista, sealmacenan los índices de polígonos adyacentes (máximo 2). Laorientación de las aristas se define por los dos vérticesdeterminados como primero y segundo.

Los polígonos son listados de aristas con una orientaciónincluyendo los índices de las aristas. Estos números pueden tenerun prefijo negativo. Esto significa que la arista dada se usa endirección opuesta. Los polígonos pueden incluir huecos. En la listade aristas, un índice cero indica un nuevo hueco. Los huecos nodeben incluir otros huecos. Una arista puede pertenecer de 0 a 2polígonos. En el caso de cuerpos cerrados, la orientación de lospolígonos es correcta si la arista tiene distintos prefijos en la lista dearistas de los dos polígonos

Los vectores normales a los polígonos se almacenanseparadamente. En el caso de cuerpos cerrados, señalan delinterior al exterior del cuerpo. La orientación de la lista de aristas esantihoraria (matemáticamente positiva), si se mira desde el exterior.La orientación de los huecos es opuesta al polígono relativo. Losvectores normales a un cuerpo abierto deben señalar a la mismacara del cuerpo.

Para determinar el interior y el exterior de los cuerpos, estos debenestar cerrados. Una definición simple para un cuerpo cerrado es lasiguiente: cada arista tiene exactamente dos polígonos adyacentes.

La eficiencia de los algoritmos de corte, líneas ocultas o renderinges menor para cuerpos abiertos. Cada elemento tridimensionalcompuesto con parámetros regulares es un cuerpo cerrado en laestructura de datos interna 3D.

La búsqueda de la línea de contorno se basa en los bits de status delas aristas y sus polígonos adyacentes. Esto de defineautomáticamente para elementos curvos compuestos, perodepende del usuario especificar correctamente estos bits en el casode elementos primitivos.

Page 102: GDL Manual de Referencia.pdf

102

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

En el caso de una definición simplificada (PGON.ivect = 0 óPGON.status < 0) las primitivas a las que se refiere por otras debenpreceder a su referencia. En este caso, el orden que se recomiendaes:

VERT (TEVE)

EDGE

(VECT)

PGON (PIPG)

COOR

BODY

La búsqueda de polígonos adyacentes por las aristas se hacedurante la ejecución de la declaración de cuerpo.

La numeración de VERTs, EDGEs, VECTs y PGONs es relativa a laúltima declaración de BASE (implícita o explícita.

Los valores de status se usan para almacenar información especialsobre las primitivas. Cada bit individual tiene habitualmente unsignificado independiente en el status, pero hay algunasexcepciones.

Valores dados pueden añadirse juntos. Otras combinaciones de bitsque las dadas a continuación están estrictamente reservadas parauso interno. El valor por omisión para cada status es cero.

VERT x, y, z

Nodo en el espacio x-y-z, definido por 3 coordenadas.

TEVE x, y, z, u, v

Extensión de la declaración VERT incluyendo una definición decoordenadas de textura. Puede usarse en lugar de la declaraciónVERT se precisan coordenadas de textura definidas por el usuarioen lugar de las texturas automáticas de ArchiCAD (ver ladeclaración COOR).

x, y, z: coordenadas de un nodo

u, v: coordenadas de textura del nodo

(u, v) deben especificarse coordenadas para cada vértice delcuerpo actual y cada vértice debe tener sólo una coordenada detextura. Si las declaraciones VERT y TEVE se mezclan en unadefinición de cuerpo, las coordenadas (u,v) no son efectivas.

Nota: las coordenadas de textura (u, v) sólo son efectivas enFotoRenderings, pero no para mapeado de tramas vectoriales.

Page 103: GDL Manual de Referencia.pdf

103

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

VECT x, y, z

Definición del vector normal a un polígono por 3 coordenadas. Enel caso de definición simplificada (PGON.ivect␣ =␣ 0) estasdeclaraciones pueden omitirse.

EDGE vert1, vert

2, pgon

1, pgon

2, status

Definición de una arista.

vert1, vert2 : índice de los extremos.

Los índices vert1 y vert2 deben ser distintos y referenciados a losVERTs previamente definidos.

pgon1, pgon2 :índices de los polígonos vecinos. Valores cero ynegativos tienen el siguiente significado especial:

0 : arista solitaria o de extremo.

<0 : ArchiCAD buscará posibles vecinos.

Bits de status:

1 arista invisible.

2 arista de una superficie curvada.

Bits de status reservados para uso futuro:

4 primera arista de una superficie curvada

(solamente junto con 2).

8 última arista de una superficie curvada

(solamente junto con 2).

16 la arista es un segmento de arco.

32 primer segmento de un arco

(solamente junto con 16).

64 último segmento de un arco

(solamente junto con 16).

Page 104: GDL Manual de Referencia.pdf

104

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

PGON n, ivect, status, edge1, edge

2, . . . edge

n

n : número de aristas en la lista de aristas.

ivect : índice del vector normal. Debe referirse a un VECTpreviamente definido.

Si ivect = 0, ArchiCAD calculará el vector normaldurante el análisis.

Los índices edge1, edge2, . . . edgen deben referirse a EDGEspreviamente definidos. Un valor 0 significa el inicio o el final deuna definición de hueco.

Un índice negativo cambia la dirección de un vector normal o aristaalmacenados a la opuesta en el polígono. (El vector o la aristaalmacenados no cambian; otros polígonos pueden referirse a ellosusando la orientación original con un índice positivo.)

Bits de status:

1 polígono invisible.

2 polígono en una superficie curva.

16 polígono cóncavo.

32 polígono con hueco(s).

64 hueco(s) convexo (s)

(sólo junto con 32).

Bits de status reservados para uso futuro:

4 primer polígono de una superficie curva

(sólo junto con 2).

8 último polígono de una superficie curva

(sólo junto con 2).

Si el valor de status es negativo, ArchiCAD calculará el status delpolígono (tal como polígono cóncavo o con hueco).

n = 0 se permite para usos especiales.

Page 105: GDL Manual de Referencia.pdf

105

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

PIPG filename, a, b, mask, n, ivect, status, edge1, edge

2, . . . edge

n

Definición de polígono de imagen. Los primeros 4 parámetros sonlos mismos que en el elemento PICTURE, los restantes son losmismos que en el elemento PGON.

COOR wrap, vert1, vert

2, vert

3, vert

4

Sistema de coordenadas local de un BODY para el relleno ymapeado.

wrap : modo de envolver + tipo de proyección.

Modos de envolver:

1 : plano

2 : cúbico

3 : cilíndrico

4 : esférico

5 : igual que el mapeado cilíndrico, pero alrenderizar las superficies superior e inferiortendrán un mapeado circular.

Tipos de proyección:

256 : el relleno empieza siempre en el origen delsistema de coordenadas local

1024 : proyección cuadrática de la textura(recomendado)

2048 : proyección lineal de la textura basada en ladistancia promedio

4096 : proyección lineal de la textura basada en latriangulación normalLos 3 valores anteriores sólo son efectivoscon definiciones propias de coordenadas detexturas (ver la declaración TEVE).

vert1 : índice de un VERT, representando el origen delsistema de coordenadas local.

vert2, vert3, vert4 :

índices de VERTs definiendo los 3 ejescoordenados.

Use un signo menos antes de los índices VERT si los usa sólo paradefinir un sistema de coordenadas local.

Page 106: GDL Manual de Referencia.pdf

106

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Ejemplo de ejes de textura propios:

X

Y

X'

Y'

Z

Z'

CSLAB_"Face brick", "Face brick", "Face brick",4, 0.5,

0, 0, 0, 15,1, 0, 0, 15,1, 1, 1, 15,0, 1, 1, 15

BASEVERT 1, 0, 0 !#1VERT 1, 1, 1 !#2VERT 0, 0, 0 !#3VERT 1, 0, 1 !#4COOR 2, -1, -2, -3, -4BODY 1

Page 107: GDL Manual de Referencia.pdf

107

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

BODY status

Compone un cuerpo definido con las siguientes primitivas.

Bits de status:

1 cuerpo cerrado.

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

4 modelo de superficie: cuando el cuerpo estácortado, no se originan superficies en el plano decorte.

32 el cuerpo siempre arroja sombras,independientemente del algoritmo de preselecciónautomática.

64 el cuerpo nunca arroja sombras.

Si ni 32 ni 64 están definidos, se efectúa la preselección automáticade sombras. Ver SHADOW en el Capítulo "Atributos".

Si el valor de status es negativo, ArchiCAD calculará el status delcuerpo.

Ejemplo:

1

3

Y

7

X

Z

5 8

4

6

2

Page 108: GDL Manual de Referencia.pdf

108

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

1: Descripción Completa

VERT 0.0, 0.0, 0.0 !#1VERT 1.0, 0.0, 0.0 !#2VERT 1.0, 1.0, 0.0 !#3VERT 0.0, 1.0, 0.0 !#4VERT 0.0, 0.0, 1.0 !#5VERT 1.0, 0.0, 1.0 !#6VERT 1.0, 1.0, 1.0 !#7VERT 0.0, 1.0, 1.0 !#8EDGE 1, 2, 1, 3, 0 !#1EDGE 2, 3, 1, 4, 0 !#2EDGE 3, 4, 1, 5, 0 !#3EDGE 4, 1, 1, 6, 0 !#4EDGE 5, 6, 2, 3, 0 !#5EDGE 6, 7, 2, 4, 0 !#6EDGE 7, 8, 2, 5, 0 !#7EDGE 8, 5, 2, 6, 0 !#8EDGE 1, 5, 6, 3, 0 !#9EDGE 2, 6, 3, 4, 0 !#10EDGE 3, 7, 4, 5, 0 !#11EDGE 4, 8, 5, 6, 0 !#12VECT 1.0, 0.0, 0.0 !#1VECT 0.0, 1.0, 0.0 !#2VECT 0.0, 0.0, 1.0 !#3PGON 4, -3, 0, -1, -4, -3, -2 !#1

!VERT1,2,3,4PGON 4, 3, 0, 5, 6, 7, 8 !#2

!VERT5,6,7,8PGON 4, -2, 0, 1, 10, -5, -9 !#3

!VERT1,2,5,6PGON 4, 1, 0, 2, 11, -6, -10 !#4

!VERT2,3,6,7PGON 4, 2, 0, 3, 12, -7, -11 !#5

!VERT3,4,7,8PGON 4, -1, 0, 4, 9, -8, -12 !#6

!VERT1,4,5,8BODY 1 !CUBE

Page 109: GDL Manual de Referencia.pdf

109

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

2: (no hay referencia directa a los polígonos o vectores, Archicad loscalcula)

VERT 0.0, 0.0, 0.0 !#1VERT 1.0, 0.0, 0.0 !#2VERT 1.0, 1.0, 0.0 !#3VERT 0.0, 1.0, 0.0 !#4VERT 0.0, 0.0, 1.0 !#5VERT 1.0, 0.0, 1.0 !#6VERT 1.0, 1.0, 1.0 !#7VERT 0.0, 1.0, 1.0 !#8EDGE 1, 2, -1, -1, 0 !#1EDGE 2, 3, -1, -1, 0 !#2EDGE 3, 4, -1, -1, 0 !#3EDGE 4, 1, -1, -1, 0 !#4EDGE 5, 6, -1, -1, 0 !#5EDGE 6, 7, -1, -1, 0 !#6EDGE 7, 8, -1, -1, 0 !#7EDGE 8, 5, -1, -1, 0 !#8EDGE 1, 5, -1, -1, 0 !#9EDGE 2, 6, -1, -1, 0 !#10EDGE 3, 7, -1, -1, 0 !#11EDGE 4, 8, -1, -1, 0 !#12PGON 4, 0, -1, -1, -4, -3, -2 !#1

!VERT1,2,3,4PGON 4, 0, -1, 5, 6, 7, 8 !#2

!VERT5,6,7,8PGON 4, 0, -1, 1, 10, -5, -9 !#3

!VERT1,2,5,6PGON 4, 0, -1, 2, 11, -6, -10 !#4

!VERT2,3,6,7PGON 4, 0, -1, 3, 12, -7, -11 !#5

!VERT3,4,7,8PGON 4, 0, -1, 4, 9, -8, -12 !#6

!VERT1,4,5,8BODY -1 !CUBE

BASE

Pone a cero el contador para los elementos geométricos del nivelbajo declaraciones (VERT, VECT, EDGE y PGON). Utilizadoimplícitamente después de cada definición de elementocompuesto.

Page 110: GDL Manual de Referencia.pdf

110

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

5.6 Uso de los Datos 3D BinariosBINARY mode [, section]

Comando especial para incluir objetos binarios en un macro GDL.Un conjunto de vértices, vectores, aristas, polígonos, cuerpos ymateriales se lee desde una sección especial del archivo del Objetode Biblioteca. Estos se transforman de acuerdo con lastransformaciones actuales y se combinan en el modelo 3D. Losdatos contenidos en la sección binaria no es editable para elusuario.

mode:

0: Las definiciones de PEN y MATERIAL son efectivas.

1: Las definiciones de PEN y MATERIAL no tienenefecto. El elemento de Biblioteca se mostrará conlos colores almacenados y las definiciones dematerial. La apariencia de Superficie es constante.

2: se utilizan las definiciones de PEN y MATERIALalmacenadas, los materiales no definidos sereemplazan por las definiciones actuales.

3: se utilizan las definiciones almacenadas de PEN yMATERIAL , los materiales no definidos sereemplazan por los atributos almacenados poromisión.

sección: índice de la parte binaria del 1 al 16.

Utilizando 0 para la sección de índice, puede referirsesimultáneamente a todas las partes binarias existentes.

Sólo las secciones con un valor de índice de 1 pueden guardarsedesde dentro de GDL, los comandos BINARY sin los argumentosde sección también se refieren a éste. Los otras seccionesindexadas se utilizarán por herramientas de terceras partes(StairMaker, ArchiSITE, VisualGDL, etc.)

Si abre archivos con una estructura de datos diferente a la deArchiCAD (DXF, ZOOM) sus descripciones 3D se convertirán aformato binario.

Es posible guardar un Elemento de Biblioteca en formato binario através del comando Abrir Item de Biblioteca del menú Archivo.

Page 111: GDL Manual de Referencia.pdf

111

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Puede guardar desde la ventana de edición principal del Objeto deBiblioteca a través del comando Guardar como… Si el recuadroGuardar en formato binario está marcado en el diálogo Guardarcomo… el texto GDL del Objeto de Biblioteca actual será sustituidopor una descripción binaria.

Truco: Guardar el modelo 3D después de una operación de corte3D permite guardar el modelo seccionado. De este modo podrácrear formas truncadas.

Puede guardar su Objeto de Biblioteca en formato binario sólo si elmodelo 3D ya ha sido generado, es decir, cuando haya visto lavista 3D al menos una vez.

Sustituyendo la descripción GDL del Objeto de Biblioteca por unadescripción binaria puede reducirse considerablemente el tiempode conversión a 3D del objeto.

Por otra parte, la descripción 3D binaria no es paramétrica y ocupamayor espacio en disco que un algoritmo programado en GDL.

Page 112: GDL Manual de Referencia.pdf

112

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

5.7 Corte en 3DCUTPLANE [x, y, z [, side]]

[stmt1stmt2...stmtn]

CUTENDo

CUTPLANE angle[stmt1stmt2...stmtn]

CUTENDCrea un plano de corte y borra partes cortadas de formas incluidas.CUTPLANE puede contener diferentes números de parámetros.

CUTPLANE tiene:

Sin Parámetros: plano x-y

1 parámetro: el plano de corte cruza el eje x, el ángulo está entreel plano de corte

2 parámetros: el plano de corte es paralelo al eje z, cruza el eje x yel y sobre lo valores dados

3 parámetros: cruza ejes x, y , z sobre los valores dados

4 parámetros: los tres primeros parámetros anteriores

side = 0: borra partes encima del plano de corte (por omisión)

side = 1: borra partes bajo el plano de corte; en caso de x-y,x-z, y-z, las partes en la dirección negativa del eje.

El corte (sin el parámetro side ) borra partes encima del plano decorte. Si los tres primeros parámetros definen los planos x-y, x-z oy-z (por ejemplo 1.0, 1.0, 0.0 define el plano x-y ), las partes en ladirección positiva del tercer eje se borrarán.

Puede añadirse cualquier número y clase de comandos entreCUTPLANE y CUTEND. Los macros pueden contener CUTPLANEs.

Los parámetros CUTPLANE se refieren al sistema de coordenadasactual.

Las transformaciones entre CUTPLANE y CUTEND no tienen efectoen este plano muy cortado, pero cualquier CUTPLANEs sucesivo setransformará: De forma que: utilice tantas transformaciones para

Page 113: GDL Manual de Referencia.pdf

113

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

definir el CUTPLANE como sea necesario, después borre estastransformaciones 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, suCUTPLANE será efectivo en todas las formas hasta el final del script.

CUTPLANEs en macros afectan sólo a las formas del macro, inclusosi CUTEND se pierde.

Si se llama un macro entre CUTPLANE y CUTEND, las formas delmacro se cortarán.

Las definiciones de material, plumas y tramas son efectivas en lassuperficies cortadas.

Sea cuidadoso con lo siguiente:

- Si CUTPLANE no se cierra con CUTEND, en un escenariorecargado, se borrarán todas las formas. Por eso siempre recibeun mensaje de aviso en referencia a los CUTENDs perdidos.

- Si la transformación utilizada solamente para colocar elCUTPLANE no se borra, puede pensar que CUTPLANE está enuna posición incorrecta cuando, en realidad, son las formaslas que se han movido.

Ejemplos:

CUTPLANE 2, 2, 4CUTPLANE -2, 2, 4CUTPLANE -2, -2, 4CUTPLANE 2, -2, 4

ADD -1, -1, 0BRICK 2, 2, 4DEL 1

CUTENDCUTENDCUTENDCUTEND

Page 114: GDL Manual de Referencia.pdf

114

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

CUTPLANE CUTPLANE 1, 1, 0, 1 SPHERE 2 SPHERE 2CUTEND CUTEND

CUTPLANE 1.8, 1.8, CUTPLANE 1.8, 1.8, 1.8 1.8, 1 SPHERE 2 SPHERE 2CUTEND CUTEND

CUTPLANE 60 CUTPLANE -120 BRICK 2, 2, 2 BRICK 2, 2, 2CUTEND CUTEND

Page 115: GDL Manual de Referencia.pdf

115

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

CUTPOLY n,x

1, y

1, . . . x

n, y

n

[, x, y, z][stmt1stmt2...stmtn]

CUTEND

Similar al comando CUTPLANE, los parámetros de CUTPOLY serefieren al sistema de coordenadas actual. El polígono debe serconvexo y no puede tener auto-intersección. La dirección de cortees el eje Z o puede especificarse un vector opcional (x, y, z)

Los parámetros definen un "tubo" infinito: el polígono es la seccióntransversal del tubo, la dirección de corte es la dirección del tubo.Se elimina todo lo que está en el interior del tubo.

Ejemplos:

ROTX 90MULZ -1CUTPOLY 3,

0.5, 1,2, 2,3.5, 1,-1.8,0, 1

DEL 1BPRISM_ "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

Page 116: GDL Manual de Referencia.pdf

116

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

A=1.0D=0.1CUTPOLY 4,

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

ROTX -90CUTPOLY 4,

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

DEL 1ROTY 90CUTPOLY 4,

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

DEL 1BLOCKA, A, A

CUTENDCUTENDCUTEND

Page 117: GDL Manual de Referencia.pdf

117

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

ROTX 90FOR I=1 TO 3

FOR J=1 TO 5 CUTPOLY 4,

0, 0, 1, 0,1, 1, 0, 1

ADDX 1.2NEXT JDEL 5ADDY 1.2

NEXT IDEL NTR()-1ADD -0.2, -0.2,0BRICK 6.2, 3.8, 1FOR K=1 TO 15

CUTENDNEXT KDEL TOP

Page 118: GDL Manual de Referencia.pdf

118

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

CUTPOLYA n, status, d,x

1, y

1, mask

1, . . . x

n, y

n, mask

n

[, x, y, z][stmt1stmt2...stmtn]

CUTEND

Similar a la definición CUTPOLY, pero con la posibilidad decontrolar la visibilidad de las aristas de los polígonos generados. Laforma de corte es un tubo semi-infinito con la sección transversalpoligonal definida. El final de la forma de corte no puede caerdentro del cuerpo.

i

Y

X

Z

jj

j

i+11

2 3

status:

1: uso de los atributos propios del cuerpo para las aristas ypolígonos generados

2: los polígonos de corte generados se tratarán comopolígonos normales

d: distancia entre el origen local y el extremo del tubosemi-infinitod = 0 significa cortar con un tubo infinito

maski: similar a la declaración PRISM_

maski = j

1 + 2 * j

2 + 4 * j

3

Page 119: GDL Manual de Referencia.pdf

119

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

Ejemplo:

ROTX 90FOR 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 1NEXT JDEL 5ADDY 1

NEXT IDEL NTR()-1ADD -0.2, -0.2,0BRICK 5.4, 3.4, 0.5FOR K=1 TO 15

CUTENDNEXT KDEL TOP

Page 120: GDL Manual de Referencia.pdf

120

Capítulo 5: Formas Tridimensionales

Manual de Referencia GDL de ArchiCAD

CUTSHAPE d[stmt1stmt2...stmtn]

CUTEND

Si d = 0.0 la forma de corte es el plano X-Y, el corte elimina la partesuperior del plano X-Y.

d < 0.0 significa un corte en L. Se elimina la parte superior delplano X-Y con x ≥ 0.

d > 0.0 significa un corte en U. Similar al corte en L, se elimina laparte superior del plano X-Y con 0 < x < d.

FOR I = 1 TO 5ADDX 0.4 * IADDZ 2.5CUTSHAPE 0.4DEL 2ADDX 0.4

NEXT IDEL TOPBRICK 4.4, 0.5, 4FOR I = 1 TO 5

CUTENDNEXT I

Page 121: GDL Manual de Referencia.pdf

121

Capítulo 6: Formas Bidimensionales

Manual de Referencia GDL de ArchiCAD

6 Formas Bidimensionales

Page 122: GDL Manual de Referencia.pdf

122

Capítulo 6: Formas Bidimensionales

Manual de Referencia GDL de ArchiCAD

6.1 Elementos de Dibujo

HOTSPOT2 x, y

(x, y)

Y

X

LINE2 x1, y

1, x

2, y

2

Y

(x1, y1)

X

(x2, y2)

RECT2 x1, y

1, x

2, y

2

Y

(x1, y1)

X

(x2, y2)

Page 123: GDL Manual de Referencia.pdf

123

Capítulo 6: Formas Bidimensionales

Manual de Referencia GDL de ArchiCAD

POLY2 n, framefill, x1, y

1, .... x

n, y

n

Polígono abierto o cerrado con n bordes.

Restricciones de parámetros:

n > 2

n

12

Y

X

framefill = j1 + 2*j

2 + 4*j

3

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

j1 (1): sólo contorno

j2 (2): sólo relleno

j3 (4): cerrar un polígono abierto.

POLY2_ n, framefill, x1, y

1, mask

1, .... x

n, y

n, mask

n

Similar a la declaración normal POLY2, pero se puede omitircualquiera de los bordes. Si mask

i = 0, se omitirá el borde que arranca

del vértice (xi, y

i) . Si mask

i = 1, se mostrará el vértice. mask

i = 1 se usa

para definir huecos directamente. Ver PRISM_ para más detalles.

Restricciones de parámetros:

n > 2

n

12

Y

X

Page 124: GDL Manual de Referencia.pdf

124

Capítulo 6: Formas Bidimensionales

Manual de Referencia GDL de ArchiCAD

framefill = j1 + 2*j

2 + 4*j

3

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

j1 (1): sólo contorno

j2 (2): sólo relleno

j3 (4): cerrar un polígono abierto.

maski : 0: el siguiente segmento es invisible

1: el siguiente segmento es visible

-1: fin de un contorno

POLY2_A n, framefill, fillpen,x

1, y

1, mask

1, ..., x

n, y

n, mask

n

POLY2_B n, framefill, fillpen,fillbkgdpen,x

1, y

1, mask

1, ..., x

n, y

n, mask

n

Versiones avanzadas del comando POLY2_ , con parámetrosadicionales: la pluma y el relleno. El resto de parámetros sonsimilares a los descritos en la declaración POLY2_.

ARC2 x, y, r, alpha, beta

Arco con centro en (x, y) desde un ángulo alpha hasta beta, conradio r.

Alpha y beta están en grados.

(x, y)

beta

alpha

X

Yr

Page 125: GDL Manual de Referencia.pdf

125

Capítulo 6: Formas Bidimensionales

Manual de Referencia GDL de ArchiCAD

CIRCLE2 x, y, r

Círculo con centro en (x, y), y radio r.

(x, y)YY

X

r

SPLINE2 n, status, x1, y

1, angle

1,…, x

n, y

n, angle

n

Restricción:

n ≥ 2

Spline, con n puntos de control. La tangente en el punto de control(x

i,␣ y

i) está definida por angle

i, el ángulo con eje Ox en grados.

(x ,y )1 n

angle i

ii i

X

Y

Valores de status:

0: por defecto

1: spline cerrada, el primer y último nodos de la splineestarán conectados, cerrando así la spline

2: spline autosuavizada, el valor del parámetro deángulo de los nodos entre el primero y el último nose usa al generar la spline. Se usa un algoritmointerno de autosuavizado.

Page 126: GDL Manual de Referencia.pdf

126

Capítulo 6: Formas Bidimensionales

Manual de Referencia GDL de ArchiCAD

Ejemplos:

SPLINE2 5, 2,0, 0, 60,1, 2, 30,1.5, 1.5, -30,3, 4, 45,4, 3, -45

n = 5FOR I = 1 TO n

SPLINE2 4, 0,0.0, 2.0, 135.0,-1.0, 1.8, 240.0,-1.0, 1.0, 290.0,0.0, 0.0, 45.0

MUL2 -1.0, 1.0SPLINE2 4, 0,

0.0, 2.0, 135.0,-1.0, 1.8, 240.0,-1.0, 1.0, 290.0,0.0, 0.0, 45.0

DEL 1SPLINE2 4, 0,

0.0, 2.0, 100.0,0.0, 2.5, 0.0,0.0, 2.4, 270.0,0.0, 2.0, 270.0

ADD2 2.5, 0NEXT I

Page 127: GDL Manual de Referencia.pdf

127

Capítulo 6: Formas Bidimensionales

Manual de Referencia GDL de ArchiCAD

SPLINE2_A n, status,x

1, y

1, angle

1, lenPrev

1, lenNext

1,

...x

n, y

n, angle

n, lenPrev

n, lenNext

n

Extensión de la declaración SPLINE2 (spline de Bézier), usadaprincipalmente en generación automática de scripts 2D a causa desu complejidad (para más detalles, vea el Manual de Referencia deArchiCAD).

1 n

angle i

ii i

X

Y (x ,y )lenP

revi

lenN

exti

Códigos de status:

0: Por defecto

1: spline cerrada, el primer y último nodos de la splineestarán conectados, cerrando así la spline

2: spline autosuavizada, los valores de los parámetrosde ángulo, lenPrev

i e lenNext

i de los nodos entre el

primero y el último no se usa al generar la spline. Seusa un algoritmo interno de autosuavizado.

xi, y

i: coordenadas de los puntos de control

lenPrevi, lenNext

i:

longitudes de las tangentes para los puntos decontrol anteriores y posteriores

anglei: ángulo de la dirección de la tangente

Page 128: GDL Manual de Referencia.pdf

128

Capítulo 6: Formas Bidimensionales

Manual de Referencia GDL de ArchiCAD

Ejemplo:

SPLINE2A 9, 2,0.0, 0.0, 0.0, 0.0, 0.0,0.7, 1.5, 15, 0.9, 1.0,1.9, 0.8, 72, 0.8, 0.3,1.9, 1.8, 100, 0.3, 0.4,1.8, 3.1, 85, 0.4, 0.5,2.4, 4.1, 352, 0.4, 0.4,3.5, 3.3, 338, 0.4, 0.4,4.7, 3.7, 36, 0.4, 0.8,6.0, 4.6, 0, 0.0, 0.0

PICTURE2 expression, a, b, mask

Puede usarse en 2D de manera similar al comando PICTURE en 3D.

Una expresión indica un nombre de archivo, una expresiónnumérica, un índice de una imagen guardada en el objeto. Uníndice 0 es un valor especial, se refiere a la imagen previa delobjeto de biblioteca. El resto de imágenes solamente puedenguardarse en objetos al guardar el proyecto o elementosseleccionados conteniendo imágenes como Objetos de ArchiCAD.

Page 129: GDL Manual de Referencia.pdf

129

Capítulo 6: Formas Bidimensionales

Manual de Referencia GDL de ArchiCAD

6.2 Elemento de TextoTEXT2 x, y, expression

El valor de un cálculo numérico o de texto, escrito en el estilodefinido en las coordenadas x, y.

Y

X

ArchiCAD(x,y)

Page 130: GDL Manual de Referencia.pdf

130

Capítulo 6: Formas Bidimensionales

Manual de Referencia GDL de ArchiCAD

6.3 Uso de Datos Binarios 2DFRAGMENT2 fragment_index, use_current_attributes_flag

El fragmento con el índice dado se inserta en la Vista Completa 2Dcon las transformaciones actuales.

use_current_attributes_flag :

0: El fragmento aparece con el color, tipo de línea ytipo de trama definido para él

1: Los ajustes del script se usan en lugar del color, tipode línea y tipo de trama del fragmento

FRAGMENT2 ALL, use_current_attributes_flag

Todos los fragmentos se insertan en la Vista Completa 2D con lastransformaciones actuales.

use_current_attributes_flag :

0: El fragmento aparece con el color, tipo de línea ytipo de trama definido para él

1: Los ajustes del script se usan en lugar del color, tipode línea y tipo de trama del fragmento

Page 131: GDL Manual de Referencia.pdf

131

Capítulo 6: Formas Bidimensionales

Manual de Referencia GDL de ArchiCAD

6.4 Proyecciones 3D en 2DPROJECT2 projcode, angle, method

Crea una proyección del script 3D en el mismo elemento debiblioteca y añade las líneas generadas la símbolo paramétrico 2D.

projcode:3: Vista superior4: Vista lateral6: Axonometría frontal7: Axonometría isométrica8: Axonometría monométrica9: Axonometría dimétrica

-3: Vista Inferior-6: Frontal inferior-7: Isométrica inferior-8: Monométrica inferior-9: Dimétrica inferior

angle: ángulo de azimut definido en el diálogo deproyección 3D.

method:1: alámbrico2: opaco analítico

Page 132: GDL Manual de Referencia.pdf

132

Capítulo 6: Formas Bidimensionales

Manual de Referencia GDL de ArchiCAD

6.5 Dibujos en la ListaEstos comandos sólo son efectivos cuando se crea una lista deelementos.

Cuando un objeto de biblioteca es un objeto especial depropiedades y está de alguna manera asociado a un objeto (Objeto,Puerta, Ventana o Lámpara) situado en planta, incluir los siguientescomandos en su script 2D se referirá a las partes 2D y 3D de dichoobjeto. Esta es una referencia virtual que se resuelve durante elproceso de listado, usando el script 2D o 3D del elemento listado.

DRAWING2

Crea un dibujo del objeto asociado con el objeto de propiedadesque contiene este comando.

DRAWING3 projcode, angle, method

Similar a PROJECT2, crea una proyección del script 3D del objetoasociado con el objeto de propiedades que contiene este comando.Todos los parámetros son similares a los de PROJECT2.

Page 133: GDL Manual de Referencia.pdf

133

Capítulo 7: Códigos de status adicionales para polilíneas planas

Manual de Referencia GDL de ArchiCAD

7 Códigos de statusadicionales para polilíneasplanas

Page 134: GDL Manual de Referencia.pdf

Capítulo 7: Códigos de status adicionales para polilíneas planas

Manual de Referencia GDL de ArchiCAD134

Las polilíneas planas con códigos de mask/status en los nodos sonla base de muchos elementos en GDL:

POLY_ maski

PRISM_ maski

CPRISM_ maski

BPRISM_ maski

FPRISM_ maski

SPRISM_ maski

CROOF_ maski

EXTRUDE si

PYRAMID si

REVOLVE si

SWEEP si

TUBE si

TUBEA si

POLY2_ maski

POLY2_A maski

POLY2_B maski

La resolución de los arcos se controla mediante directivas descritasen el capítulo "Atributos".

En el caso de la declaración POLY2_ , si la resolución es mayor que8, se generan arcos reales, si no todos los arcos generados estaránsegmentados.

Los siguientes códigos adicionales de mask/status le permiten crearsegmentos y arcos en la polilínea usando coacciones especiales. Serefieren al siguiente segmento o arco. Los códigos de mask/statusoriginales sólo son efectivos donde están especificados (se incluye"+s" después del código adicional).

Page 135: GDL Manual de Referencia.pdf

135

Capítulo 7: Códigos de status adicionales para polilíneas planas

Manual de Referencia GDL de ArchiCAD

Parte previa de la polilínea: se definen posición actual y tangente.

0

x,y

Segmento por extremo absoluto

x, y, s,

donde 0 < s < 100

dx

100

dy

Segmento por extremo relativo

dx, dy, 100+s,

donde 0 < s < 100

Page 136: GDL Manual de Referencia.pdf

Capítulo 7: Códigos de status adicionales para polilíneas planas

Manual de Referencia GDL de ArchiCAD136

l

200

a

Segmento por longitud y dirección

l, a, 200+s,

donde 0 < s < 100

300l

Segmento tangente por longitud

l, 0, 300+s,

donde 0 < s < 100

(x1,y1)600

Definir punto inicial

x1, y1, 600,

Page 137: GDL Manual de Referencia.pdf

137

Capítulo 7: Códigos de status adicionales para polilíneas planas

Manual de Referencia GDL de ArchiCAD

700

Cerrar polilínea

0, 0, 700,

800

ey

ex

Definir tangente

ex, ey, 800,

900

(x0,y0)

Definir centro

x0, y0, 900,

Page 138: GDL Manual de Referencia.pdf

Capítulo 7: Códigos de status adicionales para polilíneas planas

Manual de Referencia GDL de ArchiCAD138

1000

(x,y)

Arco tangente a un extremo

x, y, 1000+s,

donde 0 < s < 100

2000

r

a

Arco tangente por radio y ángulo

r, a, 2000+s,

donde 0 < s < 100

x,y

3000

Arco usando centro y punto en el radio final

x, y, 3000+s,

donde 0 < s < 100

Page 139: GDL Manual de Referencia.pdf

139

Capítulo 7: Códigos de status adicionales para polilíneas planas

Manual de Referencia GDL de ArchiCAD

a4000

Arco usando centro y ángulo

0, a, 4000+s,

donde 0 < s < 100

r

4000

Círculo completo usando centro y radio

r, 360, 4000+s,

donde 0 < s < 100

En este caso, el status s se refiere a todo el círculo

Todos los valores de ángulos están en grados. Las coordenadasomitidas marcadas con 0 (para códigos 300, 700, 4000) puedentener cualquier valor.

Page 140: GDL Manual de Referencia.pdf

Capítulo 7: Códigos de status adicionales para polilíneas planas

Manual de Referencia GDL de ArchiCAD140

Ejemplos:

EXTRUDE 21, 0, 0, 3, 1+2+4+16+32, 0, 0, 0, 7, 0, 0, 7, 3, 1, 6, 3, 1000, ! arco tangente a extremo 5, 3, 1001, ! arco tangente a extremo 1, 90, 2000, ! arco tangente por radio

! y ángulo 2, 3, 1001, ! arco tangente a extremo 1, 3, 900, ! definir centro 1, 2, 3000, ! arco usando punto inicial,

! centro! y punto en radio final

1, 2.5, 900, ! definir centro 0,-180, 4001, ! arco usando punto inicial,

! centro y ángulo 1, 5, 1000, ! arco tangente a extremo-1, 0, 100, ! segmento por (dx, dy) 2, 225, 200, ! segmento por (long, ángulo)-1, 0, 800, ! definir tangente-1, 0, 1000, ! arco tangente a extremo 0, 0, -1, ! final de contorno 1, 1, 900, ! definir centro0.5,360, 4000, ! círculo completo usando centro

! y radio3.5,1.5, 900, ! definir centro 1, 360, 4001 ! círculo completo usando centro

! y radio

Page 141: GDL Manual de Referencia.pdf

141

Capítulo 7: Códigos de status adicionales para polilíneas planas

Manual de Referencia GDL de ArchiCAD

EXTRUDE 2+5+10+10+2, 0, 0, 3,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

Page 142: GDL Manual de Referencia.pdf

Capítulo 7: Códigos de status adicionales para polilíneas planas

Manual de Referencia GDL de ArchiCAD142

EXTRUDE 3, 1, 1, 3, 1+2+4+16+32,0, 0, 900,

3, 360, 4001, 2, 360, 4000

ROTY -90REVOLVE 9, 180, 16+32,

7, 1, 0, 6, 1, 0, 5.5, 2, 0, 5, 1, 0, 4, 1, 0, 3, 1, 900, ! definir centro 0, 180, 4001, ! arco usando punto inicial,

! centro y ángulo 2, 1, 0, 1, 1, 0

Page 143: GDL Manual de Referencia.pdf

143

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

8 Atributos

Page 144: GDL Manual de Referencia.pdf

144

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

8.1 DirectivasEstas directivas influyen en la interpretación de las declaracionesGDL subsiguientes. Su influencia permanece efectiva hasta lasiguiente directiva o hasta el final del script. Los scripts llamadosheredan las definiciones actuales, los cambios tienen influencialocal. Saliendo del script reajusta las definiciones a tal como eranantes de la llamada a macro.

Las directivas RADIUS, RESOL y TOLER definen la suavización delos elementos cilíndricos 3D (CIRCLE, ARC, CYLIND, SPHERE,ELLIPS, CONE, ARMC, ARME, ELBOW, REVOLVE) y de los arcos enpolilíneas 2D que usan bordes curvos (ver el capítulo "Códigos deStatus Adicionales para Polilíneas Planas).

Directivas Usadas en Scripts 3D y2D

[LET] varnam = n

Asignación de valor. La directiva LET es opcional. La variablealmacenará el valor evaluado de n.

RADIUS rmin, rmax

Define la suavización de elementos cilíndricos y arcos enpolilíneas.

Un círculo de radio r se representa:

si r < rmin, por un hexágono,

si r > rmax, por un polígono de 36 caras,

si rmin < r < rmax, por un polígono de (6+30*(r–rmin)/(rmax–rmin)) caras.

La conversión del arco es proporcional a ésto.

Tras una declaración RADIUS, las declaraciones previas RESOL yTOLER pierden su efecto.

Restricciones de parámetros:

rmin < rmax

Page 145: GDL Manual de Referencia.pdf

145

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

Ejemplos:

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

RESOL n

Define la suavización de los elementos cilíndricos. Los círculos seconvierten en polígonos regulares de n caras.

La conversión del arco es proporcional a ésto.

Tras una declaración RESOL, las declaraciones previas RADIUS yTOLER pierden su efecto.

Restricción de parámetros:

n > 3

Por omisión:

RESOL 36Ejemplos:

n > 3

RESOL 5 RESOL 36CYLIND 3.0, 1.0 CYLIND 3.0, 1.0

TOLER d

Define la suavización de los elementos cilíndricos. El error deaproximación del arco (p.e. la mayor distancia entre un arcoteórico y la cuerda generada) será menor que d.

Tras una declaración TOLER, las declaraciones previas RADIUS yRESOL pierden su efecto.

Page 146: GDL Manual de Referencia.pdf

146

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

Ejemplos:

TOLER 0.1 TOLER 0.01CYLIND 3.0, 1.0 CYLIND 3.0, 1.0

PEN n

Define el color actual.

Restricción de parámetros:

0 < n < 99

Por omisión:

PEN 1si no hay declaración de PEN en el script.

(Para ítems de biblioteca, ArchiCAD lee valores por omisión desdela definición del ítem de biblioteca. Si el script se refiere a un índiceinexistente, PEN 1 será la definición por omisión.)

[SET] STYLE name_string[SET] STYLE index

Todos los textos generados después representarán este estilo hastala próxima declaración de SET STYLE.

El índice es una constante referida a una pila de estilos en laestructura de datos interna de ArchiCAD. Esta pila se modificadurante el análisis GDL y también puede ser modificada desde elprograma. El uso del índice en lugar del nombre del estilo serecomienda sólo con un uso previo de la función IND descrita másadelante.

Por omisión:

SET STYLE 0(tipo de la aplicación, tamaño 5 mm, inserción= 1, normal) si nohay declaración de SET STYLE en el script.

Ver también la función IND en el Capítulo 10.

Page 147: GDL Manual de Referencia.pdf

147

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

Directivas utilizadas sólo en scripts3D

MODEL WIREMODEL SURFACEMODEL SOLID

Ajusta el modo de representación en el script actual.

MODEL WIRE : alámbrico solamente, sin superficies ni volúmenes.

Los objetos son transparentes.

MODEL␣ SURFACE, MODEL␣ SOLID : La generación de lassuperficies de sección se basa en la relación de las superficieslímite, por lo que ambos métodos generan la misma estructura dedatos internos 3D. Los objetos son opacos.

La única diferencia puede verse después de haber cortado unaparte del cuerpo

MODEL SURFACE : el interior de los cuerpos será visible,

MODEL SOLID : pueden aparecer nuevas superficies.

Por omisión:

MODEL SOLIDPara ilustrar los tres métodos de modelado, tomemos tres bloques:

MODEL WIREBLOCK 3,2,1ADDY 4MODEL SURFACEBLOCK 3,2,1ADDY 4MODEL SOLIDBLOCK 3,2,1

Tras cortarlos con un plano:

Page 148: GDL Manual de Referencia.pdf

148

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

[SET] MATERIAL name_string[SET] MATERIAL index

Todas las superficies generadas después representarán este materialhasta la próxima declaración de MATERIAL. Las superficies en loscuerpos 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 laestructura de datos interna de ArchiCAD. Esta pila se modificadurante el análisis GDL y también puede ser modificada desde elprograma. El uso del índice en lugar del nombre del material serecomienda sólo con un uso previo de la función IND.

El índice 0 tiene un significado especial: las superficies usan elcolor de la pluma actual y tienen una apariencia mate.

Por omisión:

MATERIAL 0si no hay declaración de MATERIAL en el script.

(Para objetos de Biblioteca, ArchiCAD lee los valores por defectode las definiciones de la Biblioteca. Si el script se refiere a un índiceno existente, el ajuste por defecto será MATERIAL 0).

Ver también la descripción de la función IND en el Apéndice.

SHADOW keyword1[, keyword2]

Controla la proyección de sombras de los elementos en elFotoRendering y en las sombras vectoriales.

keyword1: ON, AUTO u OFF

keyword2: ON u OFF

ON: todos los elementos subsiguientes arrojaránsombras en todas las circunstancias.

OFF: todos los elementos subsiguientes no arrojaránsombras en todas las circunstancias.

AUTO: la proyección de sombras se determinaráautomáticamente.

Si define SHADOW OFF para partes ocultas, ahorrará espacio ytiempo de proceso.

Definir SHADOW ON asegura que incluso los menores detallesarrojarán sombras.

El segundo control opcional controla la aparición de sombras ensuperficies.

Page 149: GDL Manual de Referencia.pdf

149

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

SHADOW keyword1, OFF desactiva las sombras vectoriales sobrelas superficies siguientes.

SHADOW keyword1, ON reactiva las sombras vectoriales.

Por omisión:

SHADOW AUTO

SHADOW OFFBRICK 1, 1, 1ADDX 2SHADOW ONBRICK 1, 1, 2ADDX 2SHADOW OFFBRICK 1, 1, 3

Directivas usadas sólo en scripts 2D

[SET] FILL name_string[SET] FILL index

Todos los polígonos 2D generados después serán representadoscon esta trama hasta la siguiente declaración SET FILL.

El índice es una constante referida a una pila de tramas en laestructura de datos interna de ArchiCAD. Esta pila se modificadurante el análisis GDL y también puede ser modificada desde elprograma. El uso del índice en lugar del nombre de la trama serecomienda sólo con un uso previo de la función IND.

Por omisión:

SET FILL 0trama vacía, si no hay declaración de SET FILL en el script. Vertambién la descripción de la función IND en el Apéndice.

Page 150: GDL Manual de Referencia.pdf

150

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

[SET] LINE_TYPE name_string[SET] LINE_TYPE index

Todas las líneas 2D posteriores mostrarán este tipo de línea (líneas,arcos y polilíneas) hasta la próxima declaración SET LINE_TYPE.

El índice es una constante referida a una pila de tipos de línea en laestructura de datos interna de ArchiCAD. Esta pila se modificadurante el análisis GDL y también puede ser modificada desde elprograma. El uso del índice en lugar del nombre del tipo de línease recomienda sólo con un uso previo de la función IND.

Por omisión:

SET LINE_TYPE 1

línea continua, si no hay declaración SET LINE_TYPE en el script.Ver también la descripción de la función IND en el Apéndice.

8.2 Definición de AtributosLos atributos en ArchiCAD pueden crearse usando los diálogos dematerial, trama y tipo de línea. Estos atributos de planta pueden serreferenciados desde cualquier script GDLLos atributos también pueden ser definidos en scripts GDL. Haydos casos distintos:

1. Definición de atributos en el script MASTER_GDL. El scriptMASTER_GDL se interpreta cuando la biblioteca que lo contiene secarga en memoria. Los atributos MASTER_GDL se combinan con losde la planta; los atributos de ArchiCAD con los mismos nombres noson sustituidos. Una vez cargado el MASTER_GDL, los atributosdefinidos en él pueden referenciarse desde cualquier script.

2. Definición de atributos en objetos de biblioteca. Los materiales ytexturas definidas de este modo pueden ser usados en el script yen sus scripts secundarios. Tramas y tipos de línea definidos yusados en el script 2D tienen el mismo comportamiento que siestuvieran definidos en el script MASTER_GDL.

El comando Comprobar Scripts GDL en la ventana de script leayuda a verificar si los parámetros de material, trama, tipo de líneao estilo son correctos.

Cuando alguno de estos parámetros es diferente en lainterpretación 3D, pero no existe un mensaje de error, es posibleque uno o más parámetros sean incorrectos. El comandoComprobar Scripts GDL le ayuda a encontrar estos parámetros conmensajes detallados.

Page 151: GDL Manual de Referencia.pdf

151

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

Definición de materiales

DEFINE MATERIAL name type, m1, m

2, . . . m

n

Cualquier script GDL puede incluir definiciones de materialesprevias a la primera referencia a dicho material. El material definidode este modo puede usarse solamente en el script donde fuedefinido y en sus scripts secundarios.

name : nombre del material.

type : 0 : definición general, n=16

El significado de los parámetros y sus límites semuestra en los siguientes ejemplos.

1: definición simple, n=9

Los parámetros extra son constantes o calculadosdesde valores dados.

2-7: tipos de material predefinidos, n=3

Estos 3 valores son las componentes RGB del colorde la superficie. Otros parámetros son constantes ocalculados a partir del color.

2: mate

3: metálico

4: plástico

5: vidrio

6: incandescente

7: constante

10 : definición general, parámetro de trama n=17

11 : definición simple, parámetro de trama n=10

12-17 : tipos de materiales predefinidos conparámetro de trama, n=4

20: definición general con trama, índice de color dela trama e índice de los parámetros de textura, n=19

21: definición simple con trama, índice de color dela trama e índice de los parámetros de textura, n=12

22-27: tipos de material predefinido con trama,índice de color de trama e índice de los parámetrosde textura, n=6

Page 152: GDL Manual de Referencia.pdf

152

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

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

Page 153: GDL Manual de Referencia.pdf

153

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

DEFINE MATERIAL "Yellow Brick+*" 20,1, 1, 0,

! surface RGB [0.0 .. 1.0]0.58, 0.85, 0, 0,

! ambient, diffuse, specular, transparent! coefficients [0.0 .. 1.0]

0,! shining [0.0 .. 100.0]

0,! transparency attenuation [0.0 .. 4.0]

0.878401, 0.513481, 0.412253,! specular RGB [0.0 .. 1.0]

0, 0, 0,! emission RGB [0.0 .. 1.0]

0,! emission attenuation [0.0 .. 65.5]

IND(FILL, "Brick Jointing 25x75"), 61, IND(TEXTURE, "Brick")! Fill index, color index, texture index

Significados especiales para los tipos 20 - 27:

- Si el número de pluma es cero, las tramas vectoriales segenerarán con la pluma activa.

- El valor cero para el índice de textura le permite definirmateriales sin trama vectorial o textura.

Page 154: GDL Manual de Referencia.pdf

154

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

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

Cualquier script GDL puede incluir definiciones de textura antes dela primera referencia a ese nombre de textura. La textura puedeutilizarse sólo en el script en que se definió y en los scriptssucesivos a este.

name: nombre de la textura

filename: nombre de la imagen

x: anchura lógica de la textura

y: altura lógica de la textura

mask: j1 + 2 * j

2 + 4 * j

3 + 8 * j

4 + 16 * j

5 +

32 * j6 + 64 * j

7 + 128 * j

8 + 256 * j

9

donde j1, j

2, j

3, j

4, j

5, j

6, j

7, j

8, j

9 puede ser 0 ó 1

.

controles de canal Alfa (j1…

j6):

j1: el canal alfa cambia la transparencia de la textura

j2: Mapeado Bump o perturbación normal de la

superficie.

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

j3: el canal alfa cambia el color difuso de la textura

j4: el canal alfa cambia el color especular de la textura

j5: el canal alfa cambia el color ambiente de la textura

j6: el canal alfa cambia el color de superficie de la

textura

Controles de conexión (j7…

j9):

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

x

y

Page 155: GDL Manual de Referencia.pdf

155

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

j7: la textura cambiará aleatoriamente.

x

y

j8: simetría en dirección X

x

y

j9: simetría en dirección Y

x

y

angle: ángulo de rotación desde la orientación natural.

Ejemplo:

DEFINE TEXTURE "Brick" "Brick.PICT", 1.35, 0.3, 256+128, 35.0

Page 156: GDL Manual de Referencia.pdf

156

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

Definición de trama

DEFINE FILL name pat1, pat

2, pat

3, pat

4, pat

5, pat

6, pat

7, pat

8,

spacing, angle, n,freq

1, dir

1, offsetx

1, offsety

1, m

1,

len11

, . . . lenm1

,...freq

n, dir

n, offsetx

n, offsety

n, m

n,

lenn1

, . . . lennm

Cualquier script GDL puede incluir definiciones de tramas previasa la primera referencia a dicha trama. La trama definida de estemodo puede usarse solamente en el script donde fue definido y ensus scripts secundarios.

offsetx

freq

freq

len

len....len

offsety

i1Y

dir

X

i2

im

i

i

line partsm

i

i

i

name : nombre de la trama.

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

definición del patrón, 8 números entre 0 y 255representando valores binarios. Define el aspectobitmap de la trama.

y

x

spacing*y

spacing*x

angle

Page 157: GDL Manual de Referencia.pdf

157

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

spacing : factor de espaciado entre líneas - define un factorde escala global para toda la trama. Todos losvalores serán multiplicados por este número enambas direcciones x e y.

angle : ángulo de rotación global en grados

n : número de líneas de trama

freqi : frecuencia de la línea (la distancia entre dos líneases spacing␣ *␣ freqi)

diri : ángulo de dirección de la línea en grados

offsetxi,

offsetyi : desplazamiento de la línea desde el origen

mi, número de partes de línea

lenij longitud de las partes de línea (la longitud real esspacing␣ *␣ lenij). Las partes de línea son segmentos yespacios unos a continuación de otros. La primeraparte de línea es un segmento, una longitud cerosignifica un punto.

La trama bitmap está definida sólo por los parámetros pat1...pat

8 y

se usa en ArchiCAD cuando se ajusta Opciones / Opciones deVisualización / Tramas de Polígonos / Tramas Bitmap. Paradefinirla, escoja la unidad de trama más pequeña, y represéntelacomo puntos y huecos usando una cuadrícula de 8x8. Los 8parámetros de trama son representaciones decimales de los valoresbinarios en las líneas de la cuadrícula (un punto es 1, un hueco es0).

La trama vectorial (Opciones / Opciones de Visualización / Tramasde Polígonos / Tramas Vectoriales) queda definida en la segundaparte de la definición de trama como una colección de líneasdiscontinuas repetidas con una frecuencia dada (freq

i). Cada línea

de la colección se describe por su dirección (diri), su

desplazamiento desde el origen (offsetxi, offsety

i) y la definición de

línea discontinua que contiene segmentos y espacios con unalongitud dada (len

ij) a continuación de cada uno.

Nota: Sólo pueden definirse en GDL tramas simples, no es posibledefinir tramas de símbolos.

Page 158: GDL Manual de Referencia.pdf

158

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

Ejemplo:

DEFINE FILL "brick" 85, 255, 136, 255,34, 255, 136, 255,

0.08333, 0.0, 4, 1.0, 0.0, 0.0, 0.0, 0, 3.0, 90.0, 0.0, 0.0, 2, 1.0, 1.0, 3.0, 90.0, 1.5, 1.0, 4, 1.0, 3.0, 1.0, 1.0, 1.5, 90.0, 0.75, 3.0, 2,

1.0, 5.0

Trama Bitmap:Trama: Valor binario: Vista:pat1 = 85 01010101 • • • •pat2 = 255 11111111 ••••••••pat3 = 136 10001000 • •pat4 = 255 11111111 ••••••••pat5 = 34 00100010 • •pat6 = 255 11111111 ••••••••pat7 = 136 10001000 • •pat8 = 255 11111111 ••••••••

Trama vectorial:

Page 159: GDL Manual de Referencia.pdf

159

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

Definición de Trama Avanzada

DEFINE FILLA name pat1, pat

2, pat

3, pat

4, pat

5, pat

6, pat

7, pat

8,

spacingx, spacingy, angle, n,freq

1, doffset

1, dir

1, offsetx

1, offsety

1, m

1,

len11

, . . . lenm1

,...freq

n, doffset

n,dir

n, offsetx

n, offsety

n, m

n,

lenn1

, . . . lennm

offsetx

len

len....len

offsety freq

freq doffset

doffset

i1Y

dir

X

i2

im

i

i

line partsm

i

i

i

i

i

Declaración DEFINE FILL extendida. Parámetros adicionales:

xspacingx*x

spacingy*y

y

angle

spacingx : factor de espaciado en la dirección x

spacingy : factor de espaciado en la dirección y

Estos dos parámetros definen un factor de escalaglobal para toda la trama. Todos los valores en ladirección x serán multiplicados por spacingx ytodos los valores en la dirección y seránmultiplicados por spacingy.

Page 160: GDL Manual de Referencia.pdf

160

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

doffseti: el desplazamiento del principio de la siguiente línea

de trama similar, medido a lo largo de la direcciónde la línea. Cada línea de la serie será dibujada auna distancia dada por freq

i con un desplazamiento

dado por doffseti La longitud real del

desplazamiento será spacing multiplicado pordoffset

i.

Ejemplo:

DEFINE FILLA "TEST" 8, 142, 128, 232,8, 142, 128, 232,

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

Trama bitmap:Trama: Valor binario: Vista:pat1 = 8 00001000 .pat2 = 142 10001110 • •••pat3 = 128 10000000 •pat4 = 232 11101000 ••• •pat5 = 8 00001000 •pat6 = 142 10001110 • •••pat7 = 128 10000000 •pat8 = 232 11101000 ••• •

Trama vectorial:

Page 161: GDL Manual de Referencia.pdf

161

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

Definición de tipos de líneas

DEFINE LINE_TYPE name spacing, n, len1, . . . len

n

Cualquier script GDL puede incluir definiciones de tipos de líneaprevias a la primera referencia a dicho tipo de línea. El tipo de líneadefinido de este modo puede usarse solamente en el script dondefue definido y en sus scripts secundarios.

name : nombre del tipo de línea.

spacing : factor de espaciado

n : número de partes de línea

leni : longitud de las partes de línea (la longitud real esspacing␣ *␣ leni). Las partes de línea son segmentos yespacios unos a continuación de otros. La primeraparte de línea es un segmento, una longitud cerosignifica un punto.

Nota: En GDL sólo pueden definirse tipos de líneas simples, esdecir, las que consisten en segmentos y espacios, no hayposibilidad de definir líneas de símbolos.

Ejemplo:

DEFINE LINE_TYPE "line - - ." 1, 6, 0.005, 0.002, 0.001, 0.002, 0.0, 0.002

Page 162: GDL Manual de Referencia.pdf

162

Capítulo 8: Atributos

Manual de Referencia GDL de ArchiCAD

Definición de estilo

DEFINE STYLE name font_family, size, anchor, facecodeDEFINE STYLE name PLOTMAKER, size, anchor, slantDEFINE STYLE name PLOTTER, size, anchor, slant

Cualquier script GDL puede incluir definiciones de estilo previas ala primera referencia a dicho estilo. El estilo definido de este modopuede usarse solamente para elementos 2D en el script donde fuedefinido y en sus scripts secundarios.

name : nombre del estilo

font_family : nombre de la familia de tipos usada (p.e. Geneva)

size : altura de los caracteres en mm.

anchor : código del punto de posición en el texto

2 3

4 5 6

7 8 9

1

facecode : combinación de los siguientes valores:

0 normal

1 negrita

2 cursiva

4 subrayada

8 huecahueca

16 sombrasombra

slant : ángulo en grados (solamente para tiposPLOTMAKER y PLOTTER)

Page 163: GDL Manual de Referencia.pdf

163

Capítulo 9: Scripts No Geométricos

Manual de Referencia GDL de ArchiCAD

9 Scripts No Geométricos

Page 164: GDL Manual de Referencia.pdf

164

Capítulo 9: Scripts No Geométricos

Manual de Referencia GDL de ArchiCAD

9.1 El Script de PropiedadesLos elementos de Biblioteca tienen una ventana de GDL reservada alscript de Propiedades. Este script le permite asignar propiedades alelemento, dependiendo de parámetros y, mediante una directiva,definir su posición en el listado de componentes final. Utilizandoalgunos comandos, es posible definir en el script componentes ydescripciones locales, características familiares en las ventanas dePropiedades de versiones anteriores de ArchiCAD. También puedenreferenciarse descripciones y componentes desde bases de datosexternas. La longitud del código no puede exceder de 32 caracteres.

En el script de Propiedades, también puede utilizar cualquiercomando GDL que no genere una forma.

DESCRIPTOR name [,code, keycode]

Definición de descripción local. Los scripts pueden incluircualquier número de DESCRIPTORs.

name : puede extenderse a más de una línea. Las nuevaslíneas pueden definirse por el carácter '\n' y lostabuladores por '\t'. Añadiendo '\' al final de unalínea le permite continuar la secuencia en la líneasiguiente sin añadir una nueva línea. Dentro de lasecuencia, si el carácter '\' es doble (\\), perderásu función de control y significará simplemente '\'.La longitud máxima del texto (incluyendo caracteresde nueva línea) es de 255 caracteres: los caracteresadicionales serán cortados por el compilador. Sinecesita un texto más largo, use varios DESCRIPTORs.

code : texto, define un código para la descripción

keycode : texto, referencia a una clave en una base de datosexterna. La clave se asignará a la descripción.

REF DESCRIPTOR code [, keycode]

Referencia por código y código llave a unadescripción en una base de datos externa.

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

Definición de componentes locales. Los scripts pueden incluircualquier número de COMPONENTs.

Page 165: GDL Manual de Referencia.pdf

165

Capítulo 9: Scripts No Geométricos

Manual de Referencia GDL de ArchiCAD

name : nombre del componente (max. 128 caracteres)

quantity : cantidad, una expresión numérica

unit : el texto usado para la descripción de unidad

prop_with : un código entre 1-6. Al hacer un listado, la cantidadde componentes definida anteriormente seráautomáticamente multiplicada por un valorcalculado para el elemento listado

1: elemento2: longitud3: superficie A4: superficie B5: superficie6: volumen

code : texto, define un código para el componente

keycode : texto, hace referencia a una clave en una base dedatos externa

La clave se asignará al componente.

unitcode : texto, hace referencia a una unidad en una base dedatos externa que controla el formato de salida de lacantidad de componentes. Esto sustituirá la unidaddefinida localmente.

REF COMPONENT code [, keycode [, num_expr]]

Referencia por código y código llave a un componente en una basede datos externa. El valor por el que multiplicar en la base de datosde componentes puede ser sustituido por la expresión numéricaopcional especificada aquí.

BINARYPROP

Referencia a datos de propiedades binarios (componentes ydescripciones) definidos en el elemento de biblioteca en la secciónde Componentes/Descripciones.

SURFACE3D ( )

VOLUME3D ( )

Estas funciones le dan la superficie y el volumen de la forma 3D delelemento de biblioteca.

Page 166: GDL Manual de Referencia.pdf

166

Capítulo 9: Scripts No Geométricos

Manual de Referencia GDL de ArchiCAD

Atención: Si coloca dos o más formas en la misma posición conlos mismos parámetros, estas funciones le darán la suma total delas superficies y volúmenes de todas las formas.

POSITION position_keyword

Efectivo sólo en el Listado de Componentes.

Cambia el tipo sólo del elemento al que están asociados loscomponentes y descripciones siguientes. Si no hay este tipo dedirectivas en el script de Propiedades, los componentes ydescripciones serán listados con sus tipos de elementos pordefecto. Las palabras clave son las siguientes:

WALLSCOLUMNSDOORSWINDOWSOBJECTSCEILSPITCHED_ROOFSLIGHTSHATCHESROOMSMESHES

Una directiva permanece válida para todos los DESCRIPTORs yCOMPONENTs siguientes hasta que se asigna la siguiente directiva.Un script puede incluir cualquier número de directivas.

Ejemplo:

DESCRIPTOR "\tPainted box.\n\t Properties:\n\ \t\t - swinging doors\n\ \t\t - adjustable height\n\ \t\t - scratchproof"REF DESCRIPTOR "0001"s = SURFACE3D () ! wardrobe surfaceCOMPONENT "glue", 1.5, "kg"COMPONENT "handle", 2 * c, "nb" ! c number of doorsCOMPONENT "paint", 0.5 * s, "kg"POSITION WALLSREF COMPONENT "0002"

DRAWING

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

Page 167: GDL Manual de Referencia.pdf

167

Capítulo 9: Scripts No Geométricos

Manual de Referencia GDL de ArchiCAD

9.2 El Script de Lista de ValoresLas Listas de Valores son conjuntos de posibles valores numéricoso de texto. Pueden ser aplicados a los parámetros como se defineen el script lista de valores del elemento de biblioteca o en el scriptMASTER_GDL. El tipo de parámetro ha de tener una lista devalores de cualquier tipo simple. El compilador comprueba lacompatibilidad del tipo.

El script de lista de valores será interpretado cada vez que cambieun parámetro de tipo de lista de valores, y los posibles valoresdefinidos en el script aparecerán en un menú desplegable. Elcomando de definición de lista es:

VALUES name, val1 [, val

2, ..., val

n]

name: nombre de los parámetros

vali : valores posibles

Page 168: GDL Manual de Referencia.pdf

168

Capítulo 9: Scripts No Geométricos

Manual de Referencia GDL de ArchiCAD

Page 169: GDL Manual de Referencia.pdf

169

Capítulo10: Expresiones y Funciones

Manual de Referencia GDL de ArchiCAD

10Expresiones y Funciones

Page 170: GDL Manual de Referencia.pdf

170

Capítulo10: Expresiones y Funciones

Manual de Referencia GDL de ArchiCAD

Todos los parámetros de las formas GDL pueden ser resultado decálculos. Por ejemplo, se puede definir que la altura de un cilindrosea cinco veces el radio de su base, o previamente a definir uncubo, mover el sistema de coordenadas en cada dirección la mitaddel tamaño del cubo, para tener el origen en el centro del cubo enlugar de en la esquina inferior izquierda.

De cara a definir estos cálculos el GDL ofrece un amplio númerode herramientas matemáticas: expresiones, operadores y funciones.

10.1 ExpresionesSe pueden escribir expresiones compuestas en las declaracionesGDL, que pueden ser numéricas o de texto. En los operadores hayconstantes, variables, parámetros o llamadas a función y cualquiercombinación de ellos. Se usan pares de paréntesis curvos (( ))(precedencia 1) para anular la precedencia por defecto de losoperadores.

Las variables de tipo simple pueden ser valores numéricos y detexto, incluso en el mismo script, y pueden usarse en expresionesnuméricas y de texto respectivamente. Las operaciones que dancomo resultado texto NO PUEDEN ser usadas directamente comonombres de macro en llamadas a macro, o como nombres deatributos en definiciones de material, trama, tipo de línea o estilo.Las variables con valor de texto serán tratadas como tal y puedenser usadas en cualquier lugar donde se requieran valores de texto.Si más adelante en el script a la misma variable se le da un valornumérico, será utilizable sólo en expresiones numéricas hasta quese le dé otra vez valor de texto. En el proceso de precompilación secomprueba el tipo de las expresiones.

El GDL soporta matrices de una y dos dimensiones. Las variablesdevienen matrices después de una declaración, en la cual seespecifican sus dimensiones máximas:

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

Después de la palabra clave DIM puede haber cualquier númerode nombres de variables separados por comas. var1 yvar2 son losnombres de matriz, los números entre paréntesis representan lasdimensiones de la matriz (constantes numéricas). Las expresionesvariables no pueden ser usadas como dimensiones.

Los parámetros de los elementos de biblioteca también pueden sermatrices. Sus dimensiones se especifican en el diálogo del elemento.Las matrices de parámetros no tienen que declararse en el script. Al

Page 171: GDL Manual de Referencia.pdf

171

Capítulo10: Expresiones y Funciones

Manual de Referencia GDL de ArchiCAD

referenciar un elemento de biblioteca usando una declaración CALL,el parámetro actual ha de ser una matriz con las mismas dimensiones.

Los elementos de las matrices pueden referenciarse donde se quieraen el script, pero si hay variables, sólo después de la declaración:

var1 [num_expr] o var1

var2 [num_expr1][num_expr2] o var2

Escribir el nombre de matriz sin valores de índice actual significareferenciar toda la matriz, lo cual se acepta en algunos casos(declaraciones CALL, PRINT, LET, PUT, REQUEST, INPUT, OUTPUT).Los elementos de matriz pueden ser usados en cualquier expresiónnumérica o de texto, pueden ser valores numéricos o de textodados. Los índices empiezan con 1, y cualquier expresión numéricapuede ser usada como índice.Los nombres de matriz no pueden ser usados después en el mismoscript como nombres de variables simples.Si el valor de un índice actual llega a ser mayor que la dimensióndeclarada o que la dimensión de parámetros, se obtendrá unmensaje de error.

Ejemplos de expresiones numéricas:

Z5.5(+15)-XA*(B+C)SIN(X+Y)*ZA+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) + "." + extstring_param <> "Mode 1"

Ejemplos de expresiones usando matrices de valores:

DIM tab [5], tab2 [3][4] ! declaracióntab [1] + tab [2]tab2 [2][3] + APRINT tab

Page 172: GDL Manual de Referencia.pdf

172

Capítulo10: Expresiones y Funciones

Manual de Referencia GDL de ArchiCAD

10.2 OperadoresLos operadores siguientes se enumeran en orden de precedenciadecreciente. La evaluación de una expresión empieza con eloperador de precedencia más alta y, si no, de izquierda a derecha.

Operadores aritméticos

^ (o **) Potencia de precedencia 2

* Multiplicación precedencia 3

/ División precedencia 3

MOD (or %) Módulo (parte restante) precedencia 3

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

+ Suma precedencia 4

- Resta precedencia 4

Note: + (suma) también puede aplicarse a expresiones de texto: elresultado es la concatenación de textos.

Operadores Relacionales

= Igual precedencia 5

< Menor que precedencia 5

> Mayor que precedencia 5

<= Menor o igual que precedencia 5

>= Mayor o igual que precedencia 5

<> (o #) No igual a precedencia 5

Los operadores relacionales pueden utilizarse entre dosexpresiones texto cualquiera. El resultado es un número 1 o 0. Estafunción es sensible a mayúsculas o minúsculas.

Operadores Booleanos

AND (o&) y lógico precedencia 6

OR (o |) o lógico inclusivo precedencia 7

EXOR (o @) o lógico exclusivo precedencia 8

Page 173: GDL Manual de Referencia.pdf

173

Capítulo10: Expresiones y Funciones

Manual de Referencia GDL de ArchiCAD

El GDL usa solamente números de coma flotante, mientras que losoperadores Booleanos trabajan con números reales. Así 0.0significa “falso”, mientras que cualquier otro número significa“verdadero”. El valor de una expresión lógica también es real, p.e.1.0 para “verdadero” y 0.0 para “falso”.

10.3 Funciones

Funciones Aritméticas

ABS (x) Devuelve el valor absoluto de x.

INT (x) Devuelve la parte entera de x.(e.g. INT(1.23) = 1, INT(-1.23) = -2).

FRA (x) Devuelve la parte fraccional de x.(e.g. FRA(1.23) = 0.23, FRA(-1.23) = 0.77).

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

SQR (x) Devuelve la raíz cuadrada de x.

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

ACS (x) Devuelve el arco coseno de x.(-1.0 < x < 1.0; 0° < ACS(x) < 180°).

ASN (x) Devuelve el arco seno de x.(-1.0 < x < 1.0; -90° < ASN(x) < 90°).

ATN (x) Devuelve el arco tangente de x.(-90° < ATN(x) < 90°).

COS (x) Devuelve el coseno de x.

SIN (x) Devuelve el seno de x.

TAN (x) Devuelve la tangente de x.

PI Devuelve la constante de Ludolph. (π = 3.1415926…).

Page 174: GDL Manual de Referencia.pdf

174

Capítulo10: Expresiones y Funciones

Manual de Referencia GDL de ArchiCAD

Funciones Trascendentes

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

LGT (x) Devuelve el logaritmo decimal de x.

LOG (x) Devuelve el logaritmo neperiano de x.

Funciones Booleanas

NOT (x) Devuelve falso (=0.0) si x es verdadero (≠ 0.0) yverdadero (=1.0) si x es falso (=0.0).(Negación lógica).

Funciones Estadísticas

MIN (x1,x

2, . . . x

n) Devuelve el menor de un numero ilimitado de argumentos.

MAX (x1,x

2, . . . x

n) Devuelve el mayor de un numero ilimitado de argumentos.

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

Funciones de texto

STR (numeric_expression, len, frac)STR (formatstring, numeric_expression)

La primera forma de la función crea una secuencia de texto desdeel valor actual de la expresión numérica. El máximo número decaracteres numéricos en el texto es len, mientras que fracrepresenta el número que sigue a la coma flotante.

Ejemplo:

A=4.5B=2.345TEXT2 0, 2, STR(A, 8, 2) ! 4.50TEXT2 0, 1, STR(B, 8, 2) ! 2.34TEXT2 0, 0, STR(A*B, 8, 2) ! 10.55

En el segundo caso, el formatstring puede ser una variable o unaconstante. Si el formato está vacío, se interpreta como metros, conuna precisión de tres decimales (ceros enteros).

El formatstring puede ser como el que se muestra a continuación:

Page 175: GDL Manual de Referencia.pdf

175

Capítulo10: Expresiones y Funciones

Manual de Referencia GDL de ArchiCAD

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

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

none justificar derecha (por defecto)

- justificar izquierda

+ explicitar signo más

space en lugar de un signo +

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

'#' no mostrar ceros enteros

flags (for ffi, fdi, fi):

'0' mostrar 0 pulgadas

field_width: decimal entero no asignado

el mínimo número de caracteres a generar

precision: decimal entero no asignado

el número de fraccionales a generar

conv_spec (especificador de conversión):

e - formato exponencial (metros)

m - metros

mm - milímetros

cm - centímetros

ffi - pies y pulgadas

fdi - pies y pulgadas decimales

df - pies decimales

fi - pulgadas fraccionales

di - pulgadas decimales

para áreas:

sqm - m2

sqcm - cm2

sqmm - mm2

sqf - pies2

sqi - pulgadas2

Page 176: GDL Manual de Referencia.pdf

176

Capítulo10: Expresiones y Funciones

Manual de Referencia GDL de ArchiCAD

para ángulos :

dd - grados decimales

dms - grados, minutos, segundos

gr - grados

rad - radianes

surv - unidad topográfica

Ejemplos:

h = 23nr = 0.345678

TEXT2 0, h, STR ("%m", nr) !0.346TEXT2 0, h-1, STR ("%#10.2m", nr) ! 35TEXT2 0, h-2, STR ("%.4cm", nr) ! 34.5678TEXT2 0, h-3, STR ("%12.4cm", nr) ! 34.5678TEXT2 0, h-4, STR ("%.6mm", nr) !345.678000TEXT2 0, h-5, STR ("%+15e", nr) !+3.456780e-01

TEXT2 0, h-6, STR ("%ffi", nr) !1'-2"TEXT2 0, h-7, STR ("%0.16ffi", nr) !1'-1 5/8"TEXT2 0, h-8, STR ("% .3fdi", nr) ! 1'-1.609"TEXT2 0, h-9, STR ("% -10.4df", nr) ! 1.1341'TEXT2 0, h-10, STR ("%0.64fi", nr) !13 39/64"TEXT2 0, h-11, STR ("%+12.4di", nr) ! +13.6094"

TEXT2 0, h-12, STR ("%#.3sqm", nr) ! 346TEXT2 0, h-13, STR ("%+sqcm", nr) !+3,456.78TEXT2 0, h-14, STR ("% .2sqmm", nr) ! 345,678.00TEXT2 0, h-15, STR ("%-12sqf", nr) !3.72TEXT2 0, h-16, STR ("%10sqi", nr) ! 535.80

alpha = 88.657

TEXT2 0, h-17, STR ("%+10.3dd", alpha) ! +88.657°TEXT2 0, h-18, STR ("%.1dms", alpha) !88°39'TEXT2 0, h-19, STR ("%.2dms", alpha) !88°39'25"TEXT2 0, h-20, STR ("%10.4gr", alpha) ! 98.5078GTEXT2 0, h-21, STR ("%rad", alpha) !1.55RTEXT2 0, h-22, STR ("%.2surv", alpha) !N 1°20'35" E

Page 177: GDL Manual de Referencia.pdf

177

Capítulo10: Expresiones y Funciones

Manual de Referencia GDL de ArchiCAD

SPLIT (texto, format, var1 [, var

2, ..., var

n])

Divide el parámetro de texto según el formato en uno o más partesnuméricas o de texto. El proceso de división se detiene cuando seencuentra la primera parte no coincidente. Devuelve el número devalores leídos con éxito.

texto : el texto a dividir

format : cualquier combinación de constantes de texto, %s y%n -s. Las partes de la secuencia de texto debenencajar en las constantes de texto, %s denotacualquier valor de texto delimitado por espacios otabuladores %n denota cualquier valor numérico.

vari : los nombres de variables para guardar las partes de

texto divididas

Ejemplo:

ss = "3 pieces 2x5 beam"n = SPLIT (ss, "%n pieces %nx%n %s", num, ss1,size1, ss2, size2, name)

IF n = 6 THEN PRINT num, ss1, size1, ss2, size2, name !3 pieces 2 x 5 beamELSE PRINT "ERROR"ENDIF

STW (string_expression)

Devuelve la longitud del texto en metros mostrado en el estiloactual.

Ejemplo:

abcdabcdDEFINE STYLE "own" "Monaco", 180000 / A_, 0, 0SET STYLE "own"string = "abcd"

width = STW (string) / 1000 * A_REQUEST ("Height_of_style", "own", height)height = height / 1000 * A_text2 0,0, stringrect2 0,0, width, -height

Page 178: GDL Manual de Referencia.pdf

178

Capítulo10: Expresiones y Funciones

Manual de Referencia GDL de ArchiCAD

STRLEN (string_exp)

Devuelve la longitud de la secuencia de texto (el número decaracteres)

STRSTR (string_exp1, string_exp2)

Devuelve la posición de la primera aparición del segundo texto enel primer texto. Si el primer texto no contiene al segundo, lafunción devuelve 0.

STRSUB (string_exp, begpos, numchars)

Devuelve una subsecuencia del parámetro de texto que empiezaen la posición dada por el parámetro begpos y su longitud esnumchars 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) ! FlowersTEXT2 0, -2, STRSUB (string, len - 4, 5) ! .PICT

Page 179: GDL Manual de Referencia.pdf

179

Capítulo10: Expresiones y Funciones

Manual de Referencia GDL de ArchiCAD

Funciones EspecialesLas funciones especiales (junto a las variables globales) pueden serusadas en el script para comunicar con ArchiCAD. O bienpreguntan el estado actual y distintos ajustes de preferencias delprograma, o bien se refieren al entorno actual del elemento debiblioteca. También pueden usarse llamadas de petición paracomunicar con extensiones GDL.

Hay dos tipos de funciones especiales: peticiones y la función IND:

REQ (parameter_string)

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

IND (MATERIAL, name_string)IND (FILL, name_string)IND (LINE_TYPE, name_string)IND (STYLE, name_string)

Vera más detalles en el Apéndice: Funciones Especiales

Page 180: GDL Manual de Referencia.pdf

180

Capítulo10: Expresiones y Funciones

Manual de Referencia GDL de ArchiCAD

Page 181: GDL Manual de Referencia.pdf

181

Capítulo 11: Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

11Declaraciones de Control

Page 182: GDL Manual de Referencia.pdf

182

Capítulo 11: Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

11.1 Declaraciones de control deflujo

FOR varnam = initial_value TO end_value [ STEP step_value ]

Primera declaración de un bucle FOR. Si la palabra clave STEP y elstep_value no se encuentran, se asumen con valor uno.

Una variable global no está permitida como una variable de controlde bucle.

Ejemplo:

FOR I=1 TO 10 STEP 2PRINT I

NEXT I

NEXT varnam

Última declaración de un bucle FOR.

La variable de bucle varía desde el initial_value hasta el end_valueen incrementos (o decrementos) del step_value en cada ejecucióndel cuerpo del bucle (declaraciones entre las declaraciones FOR yNEXT). Si la variable de loop excede el valor del end_value, elprograma ejecuta la declaración siguiendo la declaración NEXT.

Los dos fragmentos de programa siguientes son equivalentes:

! 1st A = B1:IF C > 0 AND A > D OR C < 0 AND A < D THEN 2 PRINT A A = A + C GOTO 12:

! 2nd FOR A = B TO D STEP C

PRINT A NEXT A

El ejemplo anterior muestra que un step_value = 0 provoca unbucle infinito.

Solamente se permite una declaración NEXT después de unadeclaración FOR. Está permitido salir del bucle con una declaraciónGOTO (o IF ... GOTO) y volver a él, pero no está permitido entrarun bucle saltándose la declaración FOR.

Page 183: GDL Manual de Referencia.pdf

183

Capítulo 11: Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

DO[stmt1stmt2...stmtn]

WHILE condición

Las declaraciones entre las palabras claves se ejecutan mientras lacondición es verdadera.

La condición se comprueba después de cada ejecución de lasdeclaraciones.

WHILE condición DO[stmt1stmt2...stmtn]

ENDWHILE

Las declaraciones entre las palabras claves se ejecutan mientras lacondición es verdadera.

La condición se comprueba antes de cada ejecución de lasdeclaraciones.

REPEAT[stmt1stmt2...stmtn]

UNTIL condición

Las declaraciones entre las palabras claves se ejecutan hasta que lacondición llega a ser verdadera.

La condición se comprueba después de cada ejecución de lasdeclaraciones.

Page 184: GDL Manual de Referencia.pdf

184

Capítulo 11: Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

Ejemplo:

Las 4 secuencias siguientes de comandos GDL son equivalentes:

! 1stFOR i = 1 TO 5 STEP 1 BRICK 0.5, 0.5, 0.1 ADDZ 0.3NEXT i

! 2ndi = 1DO BRICK 0.5, 0.5, 0.1 ADDZ 0.3 i = i + 1WHILE i <= 5

! 3rdi = 1WHILE i <= 5 DO BRICK 0.5, 0.5, 0.1 ADDZ 0.3 i = i + 1ENDWHILE

! 4thi = 1REPEAT BRICK 0.5, 0.5, 0.1 ADDZ 0.3 i = i + 1UNTIL i > 5

IF condición THEN labelIF condición GOTO labelIF condición GOSUB label

Declaración de salto condicional. Si el valor de la condición es 0 ,el comando no tiene efecto, de otro modo, la ejecución continúaen la etiqueta.

Ejemplos:

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

Page 185: GDL Manual de Referencia.pdf

185

Capítulo 11: Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

IF condición THEN declaración [ELSE declaración]

or

IF condición THEN[stmt1stmt2...stmtn]

[ELSEstmtn+1stmtn2...stmtn+m]

ENDIF

Si sólo escribe un comando después de palabras clave THEN y/oELSE en la misma fila, no es necesario ENDIF. Un comandodespués de THEN o ELSE en la misma fila significa un ENDIFdefinido.

Si existe una nueva fila después de THEN, los comandos sucesivos(todos ellos después de la palabra clave ELSE o ENDIF) sólo seejecutarán si la expresión en la condición es verdadera (diferentede cero). De otra forma, los comandos que sigan a ELSE seeliminarán. Si la palabra clave ELSE no existe, los comandosdespués de ENDIF serán eliminados.

Ejemplo:

IF a = b THEN height = 5 ELSE height = 7

IF needdoors THEN CALL "door_macro" PARAMETERS ADDX aENDIF

IF simple THEN HOTSPOT2 0, 0 RECT2 a, 0, 0, bELSE PROJECT2 3, 270, 1

IF name = "Sphere" THEN ADDY b SPHERE 1ELSE ROTX 90 TEXT 0.002, 0, nameENDIF

Page 186: GDL Manual de Referencia.pdf

186

Capítulo 11: Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

GOTO label

Declaración de salto incondicional. El programa ejecuta una ramade la declaración indicada por el valor de la etiqueta

Ejemplo:

GOTO K+2

GOSUB label

Llamada a subrutina interna donde la etiqueta es el punto deentrada de la subrutina.

Ver Etiquetas en el capítulo "Elementos Sintácticos Básicos".

RETURN

Vuelve de una subrutina interna.

ENDEXIT

Final del script GDL actual. El programa termina o vuelve al nivelanterior. Es posible usar varios ENDs o EXITs en un archivo GDL.

BREAKPOINT expression

Con este comando, se puede especificar un punto de interrupciónen el script GDL. El analizador (debugger) GDL se detendrá en estecomando si el valor del parámetro (una expresión numérica) esverdadero (1) y está activa la opción Activar Interrupciones en elanalizador. En el modo de ejecución "normal", el intérprete GDLsimplemente pasa sobre este comando.

Page 187: GDL Manual de Referencia.pdf

187

Capítulo 11: Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

11.2 Manipulación del Buffer deParámetrosEl buffer de parámetros es una estructura de datos interna quepuede utilizarse si algunos valores (coordenadas, por ejemplo)cambian según una regla definida que puede ser descrita utilizandouna expresión matemática, si desea almacenar los valores actualesde sus variables, o en algunos casos más.

El buffer de parámetros es una cadena infinitamente larga endonde puede almacenar valores numéricos utilizando el comandoPUT. El comando PUT almacena los valores dados al final delbuffer. Estos valores pueden utilizarse después (comandos GET yUSE) en el mismo orden consecutivo en el que se entraron (deforma que el primer valor guardado será el primero que se utilice).Un comando GET(n) o USE(n) es equivalente a n valoresseparados por comas. Pueden utilizarse en cualquier parámetroGDL en donde se necesiten n valores.

NSP = NSP+1PUT

NSP = NSP-1GET

USE

PUT expression [ , expression ] . . .

Almacena los valores dados en el orden dado en buffer deparámetros interno.

GET (n)

Usa los siguientes n valores del buffer de parámetros interno y losolvida.

Page 188: GDL Manual de Referencia.pdf

188

Capítulo 11: Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

USE (n)

Usa los siguientes n valores del buffer de parámetros interno sinborrarlos. Las siguientes funciones USE y GET pueden usar lamisma secuencia de parámetros.

NSP

Devuelve el número de parámetros almacenados en el buffer.

Ejemplo de uso del buffer de parámetros:

R=2 : B=6 : C=4 : D=10N=12

S=180/NFOR T=0 TO 180 STEP S PUT R+R*COS(T), C-R*SIN(T), 1NEXT 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 -1NEXT IDEL 1ADDZ DREVOLVE 3+NSP/3, 180, 0, 0, B, 0, 2*R, B, 0, GET(NSP), 0, B, 0

Page 189: GDL Manual de Referencia.pdf

189

Capítulo 11: Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

La descripción completa:

R=2 : B=6 : C=4 : D=10

FOR I=1 TO 2 EXTRUDE 16, 0,0,D, 1+16, 0, B, 0, 2*R, B, 0, 2*R, C, 1, R+R*COS(15), C-R*SIN(15), 1, R+R*COS(30), C-R*SIN(30), 1, R+R*COS(45), C-R*SIN(45), 1, R+R*COS(60), C-R*SIN(50), 1, R+R*COS(75), C-R*SIN(75), 1, R+R*COS(90), C-R*SIN(90), 1, R+R*COS(105), C-R*SIN(105), 1, R+R*COS(120), C-R*SIN(120), 1, R+R*COS(135), C-R*SIN(135), 1, R+R*COS(150), C-R*SIN(150), 1, R+R*COS(165), C-R*SIN(165), 1, 0, B, 1, 0, B, 0 MULY -1NEXT IDEL 1ADDZ DREVOLVE 16, 180, 0, 0, B, 0, 2*R, B, 0, 2*R, C, 1, R+R*COS(15), C-R*SIN(15), 1, R+R*COS(30), C-R*SIN(30), 1, R+R*COS(45), C-R*SIN(45), 1, R+R*COS(60), C-R*SIN(50), 1, R+R*COS(75), C-R*SIN(75), 1, R+R*COS(90), C-R*SIN(90), 1, R+R*COS(105), C-R*SIN(105), 1, R+R*COS(120), C-R*SIN(120), 1, R+R*COS(135), C-R*SIN(135), 1, R+R*COS(150), C-R*SIN(150), 1, R+R*COS(165), C-R*SIN(165), 1, 0, B, 1, 0, B, 0

Page 190: GDL Manual de Referencia.pdf

190

Capítulo 11: Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

11.3 Objetos MacroAunque los objetos 3D que pueda necesitar pueden siempredescomponerse en elementos complejos o primitivos, a veces esdeseable definir estos elementos complejos especialmente paraciertas aplicaciones. Estos elementos propios se llaman MACROs.

CALL macro_name_string [,parameter_list]

CALL macro_name_string PARAMETERS [name1=value

1,… name

n=value

n]

Los nombres de macro no deben ser más largos de 31 caracteres.

Los nombres macro pueden ser constantes de texto, variables detexto o parámetros. No puede utilizar operaciones de texto comoun nombre macro con llamadas a macro. ¡Atención! Si se usanvariables o parámetros de texto como nombres de macro, la macrollamada no se incluirá en el proyecto de archivo aunque esté activala opción "Incluir Todos los Objetos de Bibliotecas Cargadas".

El nombre de macro debe ser colocado entre comillas (",',`,´,”,’,“,‘),a no ser que coincida con las definiciones de los identificadores,p.e. empieza con una letra o con los caracteres '_' o '~' y sólocontiene letras, números y los caracteres '_' y '~' . En otro caso, lascomillas utilizadas en la declaración CALL deben ser las mismas alprincipio y al final y deben ser diferentes de cualquier carácter delnombre de macro.

Un nombre de macro, por sí mismo, puede utilizarse también comocomando, sin la palabra clave CALL:

macro_name [parameter_list]

macro_name PARAMETERS [name1=value

1,… name

n=value

n]

El primer tipo de llamada a macro puede utilizarse con textos GDLsimples así como con ítems de biblioteca, con la condición de quesu lista de parámetros contenga sólo parámetros de una letra(A…Z). Esta forma de llamadas a macro puede utilizarse paracompatibilidad con versiones anteriores, pero le recomendamos elsegundo tipo. El significado de la lista de parámetros es elsiguiente: el valor del parámetro A será el primer valor de la lista, elvalor del parámetro B será el segundo valor y así sucesivamente. Siel macro (del ítem de biblioteca) no tiene un parámetro de letraúnica correspondiente al valor, la interpretación continuaráignorando este valor, pero recibirá un aviso del programa. No sepermiten expresiones de texto con este método.

Page 191: GDL Manual de Referencia.pdf

191

Capítulo 11: Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

El segundo tipo sólo puede utilizarse con elementos de bibliotecacon características plenas y no con archivos GDL textuales.Después de la palabra clave PARAMETERS necesita listar losnombres de parámetros de la macro llamada en cualquiersecuencia, con una marca '=' y un valor para cada uno. Puedeutilizar expresiones de tipo texto, pero tenga cuidado en dar unvalor de texto solamente a los parámetros de tipo texto del macrollamado. Si no se puede encontrar un nombre de parámetro en lalista de parámetros en la llamada a macro, recibirá un mensaje deerror. A los parámetros de la macro llamada que no estén listadosen la llamada a macro se les dará su valor por omisión originalcomo fue definido en el ítem de biblioteca llamado.

Una macro GDL tiene su propio entorno que depende de su ordende llamada. Los valores actuales de las opciones MODEL, RADIUS,RESOL, TOLER, PEN, LINE_TYPE, MATERIAL, FILL, STYLE,SHADOW y las transformaciones actuales son válidas en la macro.Puede usarlos o modificarlos, pero las modificaciones tienen unefecto local solamente. No tendrán efecto en el nivel del que elmacro fue llamado.

Dar parámetros a una llamada a macro significa asignarlosimplícitamente en el nivel del macro.

Los parámetros A y B se usan generalmente para redimensionar losobjetos.

Ejemplos:

CALL "leg" 2, , 5 ! A = 2, B = 0, C = 5leg 2, , 5

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

CALL "door-1" PARAMETERS! use parameter default values

door-1 PARAMETERS

En resumen: donde no necesite un parámetro con un nombre largoo de texto, utilizar el tipo de texto GDL puede ser suficiente. Estetipo GDL puede ser llamado solamente con el primer tipo dellamadas a macro, dado que no tiene una lista de parámetrosmodificable. Por otra parte, si no desea limitar sus nombres deparámetros de macro a letras entre A y Z, o si desea incluir textosen la lista de parámetros, su macro debe ser un ítem de biblioteca yllamado de acuerdo con el segundo tipo de sintaxis GDL.

Page 192: GDL Manual de Referencia.pdf

192

Capítulo 11: Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

11.4 La Declaración de SalidaPRINT expression [, expression ]. . .

Escribe todos sus argumentos en un cuadro de diálogo. Losargumentos pueden ser textos o expresiones numéricas decualquier número en cualquier secuencia, separadas por comas.

Ejemplos:

PRINT "loop-variable:", IPRINT J, K-3*LPRINT "Beginning of interpretation"PRINT a * SIN (alpha) + b * COS (alpha)PRINT "Parameter values: ", "a = ", a,

", b = ", bPRINT name + STR ("%m", i) + "." + ext

Page 193: GDL Manual de Referencia.pdf

193

Capítulo 11: Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

11.5 Operaciones de ArchivoLas siguientes palabras clave le permiten abrir archivos externospara leer/escribir y manipularlos mediante colocar/obtener valoresdesde/hacia scripts GDL. Este proceso implica necesariamente lautilización de extensiones especiales de ArchiCAD. Los archivos detexto pueden manejarse con la extensión TEXT GDL I/O. Lasextensiones para otros tipos de archivo pueden ser desarrolladaspor terceras partes.

OPEN (filter, filename, paramstring)

filter : texto, el nombre de una extensión existente

filename : texto, el nombre del archivo

paramstring : texto, contiene los caracteres específicos deseparación de la extensión operacional y el modode abertura. Su contenido se interpreta por laextensión.

Abre un archivo. Su valor de retorno es un entero positivo queidentificará el archivo especificado. Este valor será el número dereferencia de archivo en las instancias sucesivas.

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

recordID, fieldID :

la posición inicial de tipo texto o numérico de lalectura, su contenido se interpreta por la extensión.

El número de parámetros dados define el número de valores desdela posición inicial leída desde el archivo identificado por el valor decanal. En la lista de parámetros debe existir como mínimo un valor.Esta función coloca los valores reales en los parámetros como estánordenados. Los valores pueden ser numéricos o de texto,independientemente del tipo de parámetro definido paraalmacenarlos.

El valor de retorno es el número de los valores leídossatisfactoriamente. Cuando se encuentra un carácter de final dearchivo, es -1.

Page 194: GDL Manual de Referencia.pdf

194

Capítulo 11: Declaraciones de Control

Manual de Referencia GDL de ArchiCAD

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

recordID, fieldID:

la posición inicial de tipo texto o numérico de lalectura, su contenido se interpreta por la extensión.

Escribe tantos valores en el archivo identificado por el valor decanal desde la posición dada como expresiones se hayan definido.Debe existir una expresión como mínimo. El tipo de valores es elmismo que el de las expresiones.

CLOSE channel

Cierra el archivo identificado por el valor del canal.

Page 195: GDL Manual de Referencia.pdf

195

Capítulo 12: Instrucciones Especiales para Puertas y Ventanas

Manual de Referencia GDL de ArchiCAD

12Instrucciones Especialespara Puertas y Ventanas

Page 196: GDL Manual de Referencia.pdf

196

Capítulo 12: Instrucciones Especiales para Puertas y Ventanas

Manual de Referencia GDL de ArchiCAD

12.1 Reglas GeneralesEste capítulo trata de las diversas opciones especiales relacionadascon la creación de elementos de biblioteca tipo Puerta/Ventana

Una vez insertada una puerta/ventana en un muro, la posición pordefecto del sistema de coordenadas de estos elementos de bibliotecaestá girada de manera que el plano x-y sea vertical y el eje z se sitúehorizontalmente sobre el muro. El origen se coloca en el centro de labase de la abertura del muro, y en su cara exterior. De este modo,puertas y ventanas pueden modelarse fácilmente mediante elementosen el plano x-y. Ver las ilustraciones siguientes.

A consecuencia del comportamiento especial de estos objetos debiblioteca, el símbolo 2D se genera desde una proyección interna noaccesible de otro modo a los usuarios. (una vista lateral de arribaabajo desde una dirección de 90 grados). El símbolo y la forma 3D seencajarán en el origen de la puerta/ventana por el centro (x) de labase (y) de la caja de contorno, pero no se harán ajustes a lo largo deleje z para permitir a los usuarios diseñar puertas y ventanassobresaliendo del muro en cualquier dirección z.

Considerando estas reglas, he aquí algunos trucos que le ayudarana construir puertas y ventanas que funcionen adecuadamente:

- Al construir la puerta/ventana en el plano de planta, pienseque la está mirando desde el interior del muro en que lainsertará.

- Piense en la Cota Cero del Proyecto como en la superficieexterior del muro.

- Los elementos que deban estar en el interior del muro, como elmarco de la ventana, deben estar por encima de la Cota Cero.

- Las hojas de las puertas que se abren al exterior deben estarpor debajo de la Cota Cero.

Page 197: GDL Manual de Referencia.pdf

197

Capítulo 12: Instrucciones Especiales para Puertas y Ventanas

Manual de Referencia GDL de ArchiCAD

12.2 Creación de Elementos deBiblioteca Puerta/VentanaAl crear elementos de biblioteca de tipo Puerta/Ventana, existendiversas posibilidades, presentando diferentes problemas:

- Creación de puertas/ventanas rectangulares en muros rectos

- Creación de puertas/ventanas no rectangulares en murosrectos

- Creación de puertas/ventanas rectangulares en muros curvos

- Creación de puertas/ventanas no rectangulares en muroscurvos

Puertas/Ventanas Rectangulares enMuros RectosEsta es la manera más sencilla y directa de crear puertas y ventanas.Se recomienda el uso de comandos GDL simples, como PRISM_ oRECT.

Si desea que los materiales de superficie de los elementos puerta/ventana coincidan con los del muro, la superficie inferior debecoincidir con el exterior, y la superficie superior con el interior delmuro. Puede conseguir esto en los scripts usando las variablesGlobales G_, H_ e I_, que le dan los materiales del muro en el quese coloca la puerta/ventana. En el script 2D, las variables globalesE_, F_ y A˜ pueden ser útiles pues le dan los números de pluma decontorno y relleno del muro además del número de índice delrelleno del muro en que está colocada la puerta/ventana. En elcaso de muros compuestos, debe usar las variables globalescorrespondientes. Vea el apéndice para más detalles.

La Biblioteca ArchiCAD viene con un amplio conjunto de macrosde puerta/ventana. Estos scripts GDL contienen elementosconstructivos comunes usados por muchas puertas/ventanas en laBiblioteca ArchiCAD. Hay macros para generar marcos de usocomún, paneles y muchos otros tipos de elementos puerta/ventana. Abra algunas puertas/ventanas para ver qué tipo demacros llaman y qué tipo de elementos generan estos macros

Page 198: GDL Manual de Referencia.pdf

198

Capítulo 12: Instrucciones Especiales para Puertas y Ventanas

Manual de Referencia GDL de ArchiCAD

Ejemplo:

Z

Y

X

A=0.9: B=1.5: C=0.1: D=0.08E=0.08: F=0.9: G=0.03: H=3PRISM_ 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, 0BRICK A-2*D, E, CADDX -G/2, -F+D, C/2GOSUB 1ADDZ -GGOSUB 1DEL 2MATERIAL "Glass"RECT A-2*D, F-DADDY F-D+ERECT A-2*D, B-F-E-DEND

1: FOR I=1 TO H-1ADDX (A-2*D)/3BLOCK G, F-D, GADDY F+E-DBLOCK G, B-F-D-E, GDEL 1NEXT IDEL H-1RETURN

Page 199: GDL Manual de Referencia.pdf

199

Capítulo 12: Instrucciones Especiales para Puertas y Ventanas

Manual de Referencia GDL de ArchiCAD

Ventanas No-Rectangulares enMuros RectosAl trabajar con puertas/ventanas, es importante saber queArchiCAD siempre corta un hueco rectangular en el muro en el quecoloca la puerta/ventana. El tamaño de este hueco estádeterminado por los parámetros A y B de la puerta/ventana. Sinembargo, 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 quellenan el hueco entre el cuerpo de la puerta/ventana y los bordesdel hueco rectangular. En este caso, hay que poner atención a lavisibilidad de los bordes de estos rellenos.

Y

X

Z

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

Page 200: GDL Manual de Referencia.pdf

200

Capítulo 12: Instrucciones Especiales para Puertas y Ventanas

Manual de Referencia GDL de ArchiCAD

WALLHOLE n, status,x

1, y

1, mask

1,

...x

n, y

n, mask

n

[, x, y, z]

n : número de nodos del polígono

status :1: usa los atributos propios del cuerpo para lospolígonos y bordes generados2: los polígonos de corte generados serán tratadoscomo polígonos normales

xi, y

i : coordenadas de la sección transversal del polígono

maski : similar a la declaración CUTPOLYA

maski = j

1 + 2 * j

2 + 4 * j

3

x, y, z : vector de dirección opcional (por defecto es el eje Zde la puerta/ventana)

x

z

y

1

n

i

i+1j1

j2

j3Z

Y

X

Este comando puede usarse en el script 3D de puertas/ventanaspara cortar huecos a medida en el muro donde están colocadas.Durante la generación 3D del muro actual, el script 3D de todas suspuertas/ventanas se interpreta sin generación de modelo, pararecoger los comandos WALLHOLE. Si existen, ArchiCAD cortará elmuro actual usando un tubo infinito con la sección transversalpoligonal y dirección definidas en el script. Puede haber cualquiernúmero de WALLHOLES para cada puerta/ventana, por lo que esposible cortar varios huecos en la misma puerta/ventana, inclusocon intersecciones. Si en un script 3D de puerta/ventana seinterpreta al menos un comando WALLHOLE, ArchiCAD nogenerará la abertura rectangular correspondiente.

Page 201: GDL Manual de Referencia.pdf

201

Capítulo 12: Instrucciones Especiales para Puertas y Ventanas

Manual de Referencia GDL de ArchiCAD

Nota: El reveal 3D no se generará automáticamente para loshuecos a medida, deberá generarlo desde el script.

El hueco hecho de este modo sólo será visible en 3D, dado que loscomandos WALLHOLE no tienen efecto en 2D. Se puede escribiruna representación 2D si es necesario (usada con el marcodesactivado en planta).

Se recomienda el uso de polígonos de sección transversal convexa;el uso de polígonos cóncavos puede dar errores de corte osombreados/renderings extraños. Los polígonos convexos puedencombinarse para obtener los cóncavos).

Ejemplos:

RESOL 72L1=2.7 : L2=1.2 : H1=2.1 : H2=0.3 : H3=0.9R=((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

Page 202: GDL Manual de Referencia.pdf

202

Capítulo 12: Instrucciones Especiales para Puertas y Ventanas

Manual de Referencia GDL de ArchiCAD

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

Page 203: GDL Manual de Referencia.pdf

203

Capítulo 12: Instrucciones Especiales para Puertas y Ventanas

Manual de Referencia GDL de ArchiCAD

Puertas/Ventanas Rectangulares enMuros CurvosAl colocar puertas/ventanas en muros curvos, las caras del huecocortado en el muro pueden variar de acuerdo con la siguientefigura.

El hueco en el muro de la izquierda se crea cuando ArchiCAD cortaautomáticamente el hueco para la puerta/ventana. En este caso lascaras tienen dirección radial. A la derecha, el hueco se cortausando el comando WALLHOLE en el Script 3D del objeto puerta/ventana. El propio objeto debe escribirse tomando estos factoresen consideración.

Otro aspecto a considerar es si la puerta/ventana colocada en elmuro curvo es recta o curva.

En el caso de una puerta/ventana recta, como en la figuraizquierda, la anchura y espesor del objeto y el espesor del muroestán muy relacionadas, dado que por encima de una determinadadimensión, el Objeto no podrá estar en el muro. Al usar puertas/ventanas curvas, este problema no ocurre.

Page 204: GDL Manual de Referencia.pdf

204

Capítulo 12: Instrucciones Especiales para Puertas y Ventanas

Manual de Referencia GDL de ArchiCAD

Ejemplo:

Y

X

Z

RESOL 72ROTX -90MULY -1C= 0.12 : Z=(360*A)/(2*R_*PI)Y= (360*C)/(2*R_*PI)A1= 270+Z/2 : A2=270-Z/2GOSUB 1ADDZ BMULZ -1GOSUB 1DEL 2ADDZ CGOSUB 2MULX -1GOSUB 2END1:PRISM_ 9, C,

COS(A2)*R_, SIN(A2)*R_+R_, 11,COS(A2+Y)*R_, SIN(A2+Y)*R_+R_, 13,0, R_, 900,0, Z-2*Y, 4009,COS(A1)*R_, SIN(A1)*R_+R_, 11,COS(A1)*(R_-0.1), SIN(A1)*(R_-0.1)+R_, 11,COS(A1-Y)*(R_-0.1), SIN(A1-Y)*(R_-0.1)+R_, 13,0, -(Z-2*Y), 4009,COS(A2)*(R_-0.1), SIN(A2)*(R_-0.1)+R_, 11

RETURN2:PRISM_ 4, B-2*C,

COS(A2)*R_, SIN(A2)*R_+R_, 10,COS(A2+Y)*R_, SIN(A2+Y)*R_+R_, 15,COS(A2+Y)*(R_-0.1), SIN(A2+Y)*(R_-0.1)+R_, 10,COS(A2)*(R_-0.1), SIN(A2)*(R_-0.1)+R_, 10

RETURN

Page 205: GDL Manual de Referencia.pdf

205

Capítulo 12: Instrucciones Especiales para Puertas y Ventanas

Manual de Referencia GDL de ArchiCAD

Puertas/Ventanas No Rectangularesen Muros CurvosLas reglas generales dadas para puertas/ventanas rectangulares enmuros curvos se aplican también aquí.

Ejemplo:

C=0.1 : D=0.025Z=A/2-SQR(2)*C : Y=A/2-SQR(2)*C-DADDY A/2WALLHOLE 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.02GOSUB 1ADDZ 0.03

Page 206: GDL Manual de Referencia.pdf

206

Capítulo 12: Instrucciones Especiales para Puertas y Ventanas

Manual de Referencia GDL de ArchiCAD

GOSUB 1ADDY -ZSET MATERIAL "Glass"ROTZ 45RECT SQR(2)*Z, SQR(2)*ZEND1: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

Page 207: GDL Manual de Referencia.pdf

207

Apéndice

Manual de Referencia GDL de ArchiCAD

Apéndice

A: Lista de Variables Globales

B: Funciones Especiales

C: GDL Guardado desde la Planta

D: Palabras Clave Sólo para Vista 3D

E: Palabras Clave Sólo para Símbolo 2D

F: Palabras Clave para Uso 2D y 3D

G: Palabras Clave para Scripts NoGeométricos

H: Palabras Clave Comunes

I: Palabras Clave Reservadas y Caducadas

J: Lista de Conversión de AntiguosNombres de Variables Globales

K: Listado Alfabético de Palabras Clave

L: Extensión de Texto

Page 208: GDL Manual de Referencia.pdf

208

Apéndice

Manual de Referencia GDL de ArchiCAD

A Variables GlobalesLas variables globales hacen posible guardar valores especiales del modelo. Esto le permiteacceder a información geométrica acerca del entorno del macro GDL. Por ejemplo, puedeacceder a los parámetros del muro cuando define una ventana que debe encajar en el muro.Las variables Globales no se apilan durante las llamadas a macro.

Información general del entornoGLOB_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, 1-masterscript

GLOB_CONTEXT contexto de aparición1- editor de objetos, 2- planta, 3- vista 3D, 4- alzado/sección, 5- diálogo de ajuste, 6- lista

GLOB_SCALE A_ escala de dibujosegún la ventana actual

GLOB_NORTH_DIR U~ dirección del Norterelativa al sistema de coordenadas por defecto del proyecto, según los ajustes hechos en el diálogoSol…

GLOB_DRAWING_BGD_PEN pluma del color de fondo del dibujola pluma más parecida de la paleta actual al color de fondo de la ventana actual

Información de pisoGLOB_HSTORY_ELEV B_ altitud del piso origen

el piso origen es sobre el que está colocado el objetoGLOB_HSTORY_HEIGHT Q_ altura del piso origen

el piso origen es sobre el que está colocado el objetoGLOB_CSTORY_ELEV Q~ altitud del piso actual

el piso actual es el que está visible en la Ventana de PlantaGLOB_CSTORY_HEIGHT R~ altura del piso actual

el piso actual es el que está visible en la Ventana de PlantaGLOB_CH_STORY_DIST S~ posición relativa del piso actual respecto al piso origen

el piso actual es el que está visible en la Ventana de Planta

Información de animaciónGLOB_FRAME_NR N_ número de cuadro actual en animación

sólo válido para animación, 0 para imagen fijaGLOB_FIRST_FRAME O_ índice del primer cuadro en animación

sólo válido para animación, 0 para imagen fija

Page 209: GDL Manual de Referencia.pdf

209

Apéndice

Manual de Referencia GDL de ArchiCAD

GLOB_LAST_FRAME P_ índice del último cuadro en animaciónsólo válido para animación, 0 para imagen fija

GLOB_EYEPOS_X K~ posición actual de la cámara (x)sólo válido en proyección perspectiva, tanto para animación como para imágenes fijas

GLOB_EYEPOS_Y L~ posición actual de la cámara (y)sólo válido en proyección perspectiva, tanto para animación como para imágenes fijas

GLOB_EYEPOS_Z M~ posición actual de la cámara (z)sólo válido en proyección perspectiva, tanto para animación como para imágenes fijas

GLOB_TARGPOS_X N~ posición actual del objetivo (x)sólo válido en proyección perspectiva, tanto para animación como para imágenes fijas

GLOB_TARGPOS_Y O~ posición actual del objetivo (y)sólo válido en proyección perspectiva, tanto para animación como para imágenes fijas

GLOB_TARGPOS_Z P~ posición actual del objetivo (z)sólo válido en proyección perspectiva, tanto para animación como para imágenes fijas

Parámetros generales de elementosGLOB_LAYER capa del elemento

nombre de la capa al que está asignado el elementoGLOB_ID ID de usuario del elemento

ID definido en el cuadro de diálogoGLOB_INTID ID interno del elemento

el ID interno único generado por el programa (no controlable por el usuario)GLOB_ELEVATION J_ altitud de la base del elemento

relativa al origen del proyecto (excluyendo puerta, ventana: altura de antepecho, según ajustesactuales)

Parámetros generales de elementos - sólo disponibles para listadosGLOB_ELEM_TYPE tipo de elemento

1- objeto, 2- lámpara, 3- ventana, 4- puerta, 5- muro, 6- columna, 7- forjado, 8- cubierta, 9-trama, 10- malla

Parámetros de Objetos, Lámparas, Puertas, VentanasSYMB_LINETYPE tipo de línea del elemento de biblioteca

aplicado como tipo de línea por defecto del símbolo 2DSYMB_FILL tipo de trama del elemento de biblioteca

aplicado sobre superficies cortadas de elementos de biblioteca en ventanas de sección/alzadoSYMB_FILL_PEN pluma de la trama del elemento de biblioteca

aplicado sobre superficies cortadas de elementos de biblioteca en ventanas de sección/alzadoSYMB_FBGD_PEN pluma del fondo de la trama del elemento de biblioteca

aplicado sobre superficies cortadas de elementos de biblioteca en ventanas de sección/alzadoSYMB_SECT_PEN pluma del elemento de biblioteca en sección

aplicado sobre contornos de superficies cortadas de elementos de biblioteca en ventanas desección/alzado

Page 210: GDL Manual de Referencia.pdf

210

Apéndice

Manual de Referencia GDL de ArchiCAD

SYMB_VIEW_PEN L_ pluma por defecto del elemento de bibliotecaaplicado en todos los bordes en la ventana 3D y en las ventanas de sección/alzado

SYMB_MAT M_ material por defecto del elemento de bibliotecaSYMB_POS_X X~ posición del elemento de biblioteca (x)

relativo al origen del proyecto (excluyendo puerta, ventana: relativa al punto inicial del muro enque están)

SYMB_POS_Y Y~ posición del elemento de biblioteca (y)relativo al origen del proyecto (excluyendo puerta, ventana: relativa al punto inicial del muro enque están)

SYMB_POS_Z Z~ posición del elemento de biblioteca (z)relativo al origen del proyecto (excluyendo puerta, ventana: relativa al punto inicial del muro enque están)

Parámetros de Objetos, LámparasSYMB_ROTANGLE W~ ángulo de rotación del elemento de biblioteca

rotación numérica desde los ajustes del diálogo ejecutada alrededor del punto de anclaje actualSYMB_MIRRORED V~ elemento de biblioteca simétrico

0- no , 1- simétrico (la simetría se ejecuta alrededor del punto de anclaje actual)

Parámetros de Objetos, Lámparas, Puertas, Ventanas - disponible sólo para listadoSYMB_A_SIZE longitud/anchura nominal del elemento de biblioteca

longitud del objeto/lámpara, anchura de ventana/puerta (parámetro fijado)SYMB_B_SIZE longitud/anchura nominal del elemento de biblioteca

anchura del objeto/lámpara, altura de ventana/puerta (parámetro fijado)

Parámetros de Objeto, Lámpara - disponible sólo para listadoSYMB_Z_SIZE altura nominal del elemento de biblioteca

si el primer parámetro de usuario se nombra en formato zzxyz será usado para altura nominal, sino 0

Parámetros de Ventana, Puerta

WIDO_REVEAL_ON reveal de puerta/ventana activo0- reveal inactivo 1- reveal activo

WIDO_SILL K_ antepecho de puerta/ventanapara muros curvos: en dirección radial al tamaño nominal de la esquina de la abertura

WIDO_RIGHT_JAMB B~ jamba izquierda de puerta/ventanacomo se define en el diálogo de Definición de la Abertura

WIDO_LEFT_JAMB jamba derecha de puerta/ventanacomo se define en el diálogo de Definición de la Abertura

WIDO_THRES_DEPTH C~ antepecho/peldaño de puerta/ventanacomo se define en el diálogo de Definición de la Abertura

WIDO_HEAD_DEPTH D~ grosor de dintel de puerta/ventanacomo se define en el diálogo de Definición de la Abertura

Page 211: GDL Manual de Referencia.pdf

211

Apéndice

Manual de Referencia GDL de ArchiCAD

WIDO_REVEAL_SIDE E~ lado de reveal opuesto al de abertura1- 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/ventanaal hacer simetrías de puertas/ventanas, se recolocarán automáticamente por este valor

WIDO_POSITION H~ desplazamiento de puerta/ventanaángulo o distancia entre el eje de la abertura y el vector normal al punto de inicio del muro

WIDO_ORIENTATION orientación de abertura de puerta/ventanaizquierda/derecha - funcionará bien sólo si la puerta/ventana se creó según los estándares locales

WIDO_MARKER_TXT marca de texto de puerta/ventanacomo se define en el subdiálogo Acotación de Puerta/Ventana del diálogo de Definición de Puerta/Ventana

WIDO_SUBFL_THICKNESS espesor del pavimento inferior (corrección de antepecho)como se define en el subdiálogo Acotación de Puerta/Ventana del diálogo de Definición de Puerta/Ventana

WIDO_PREFIX prefijo de altura de antepecho de puerta/ventanacomo se define en el subdiálogo Acotación de Puerta/Ventana del diálogo de Definición de Puerta/Ventana

WIDO_CUSTOM_MARKER conmutador de marca de puerta/ventana1- los parámetros pueden usarse en el script 2D mientras no esté presente la acotación automática

WIDO_ORIG_DIST R_ distancia del origen local al final del murodistancia del origen local desde el centro del muro curvo, 0 para muros rectos

Parámetros de Lámparas - disponibles sólo para listadoLIGHT_ON luz encendida

0- luz apagada, 0- luz encendida: como se define en el diálogo de Definición de Lámparas(parámetro fijado)

LIGHT_RED componente rojo del color de la luzcomo se define en el diálogo de Definición de Lámparas (parámetro fijado)

LIGHT_GREEN componente verde del color de la luzcomo se define en el diálogo de Definición de Lámparas (parámetro fijado)

LIGHT_BLUE componente azul del color de la luzcomo se define en el diálogo de Definición de Lámparas (parámetro fijado)

LIGHT_INTENSITY intensidad de la luzcomo se define en el diálogo de Definición de Lámparas (parámetro fijado)

Parámetros de Muros - disponibles para Puertas/VentanasWALL_RESOL J~ resolución 3D de un muro curvo

efectivo sólo en 3DWALL_THICKNESS C_ grosor del muro

en el caso de muros inclinados: el grosor del muro en el eje de abertura (eje z local)WALL_INCL inclinación de las superficies del muro

el ángulo entre las dos superficies inclinadas del muro - 0 para muros rectos normales

Page 212: GDL Manual de Referencia.pdf

212

Apéndice

Manual de Referencia GDL de ArchiCAD

WALL_HEIGHT D_ altura del muroWALL_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 muroWALL_MAT_B H_ material del muro en la cara de abertura

puede variar de abertura a abertura colocada en el mismo muroWALL_MAT_EDGE I_ material de los bordes del muroWALL_LINE_TYPE tipo de línea del muro

aplicado en los contornos sólo en la ventana de plantaWALL_FILL A~ tipo de trama del muro

índice de trama - su valor es negativo en el caso de estructura compuestaWALL_FILL_PEN F_ pluma de la trama del muroWALL_COMPS_NAME estructura compuesta del muro

nombre de la estructura compuestaWALL_SKINS_NUMBER número de capas de muro compuesto

entre 1 y 8, 0 si se aplica una única tramaWALL_SKINS_PARAMS parámetros de las capas del muro compuesto

matriz con 6 columnas: trama, grosor, pluma, pluma de trama, pluma de fondo de trama, statusdel núcleo y hasta 8 filas

WALL_SECT_PEN E_ pluma de los contornos del muro en secciónse aplica a los contornos de superficies cortadas de muros en las ventanas de planta y de sección/alzado

WALL_VIEW _PEN pluma de los contornos del muro visibleaplicado a todos los contornos en la ventana 3D y en los contornos visibles en ventanas desección/alzado

WALL_FBGD_PEN pluma del fondo de la trama del muroWALL_DIRECTION dirección del muro

muros rectos: la dirección de la línea de referencia, muros curvos: la dirección de la cuerda delarco

WALL_POSITION coordenadas absolutas del murola posición del punto inicial del muro en relación al origen del proyecto

Parámetros de Muros - disponibles sólo para listadosWALL_LENGTH_A longitud del muro en el lado de la línea de referenciaWALL_LENGTH_B longitud del muro en el lado opuesto de la línea de referenciaWALL_SURFACE_A superficie del muro en el lado de la línea de referenciaWALL_SURFACE_B superficie del muro en el lado opuesto de la línea de

referenciaWALL_EDGE_SURF superficie del borde del muroWALL_VOLUME volumen del muroWALL_DOORS_NR número de puertas en el muroWALL_WINDS_NR número de ventanas en el muroWALL_HOLES_NR número de aberturas vacíasWALL_DOORS_SURF superficie de puertas en el muro

Page 213: GDL Manual de Referencia.pdf

213

Apéndice

Manual de Referencia GDL de ArchiCAD

WALL_WINDS_SURF superficie de ventanas en el muroWALL_HOLES_SURF superficie de aberturas vacías en el muroWALL_WINDS_WID anchura combinada de ventanas en el muroWALL_DOORS_WID anchura combinada de puertas en el muroWALL_COLUMNS_NR número de columnas en el muro

Parámetros de Columnas - disponibles sólo para listadosCOLU_CORE propiedades núcleo/recubrimiento

sirve para compatibilidad: sólo es efectivo en el script de propiedades de archivos CPS(Column.Properties)

COLU_HEIGHT altura de la columnaCOLU_VENEER_WIDTH grosor del recubrimiento de la columnaCOLU_MAT material de la columna

Nota: La envolvente del muro sustituirá el material de columna por los materiales de los murosconectados

COLU_LINETYPE tipo de línea de la columnaaplicado en los contornos sólo en la ventana de planta

COLU_CORE_FILL trama del núcleo de la columnaCOLU_VENEER_FILL relleno del recubrimiento de la columnaCOLU_SECT_PEN pluma de los contornos de la columna en sección

aplicado en contornos de superficies cortadas en la ventanas de planta y de alzado/secciónCOLU_VIEW_PEN pluma de la columna visible

aplicado a todos los contornos en la ventana 3D y en los contornos visibles en ventanas desección/alzado

COLU_CORE_FILL_PEN pluma de la trama del núcleo de la columnaCOLU_CORE_FBGD_PEN pluma del fondo de la trama del núcleo de la columnaCOLU_VENEER_FILL_PEN pluma de la trama del recubrimiento de columnaCOLU_VENEER_FBGD_PEN pluma del fondo de la trama del recubrimiento de columnaCOLU_CORE_SURF superficie del núcleo de la columnaCOLU_CORE_VOL volumen del núcleo de la columnaCOLU_VENEER_SURF superficie del recubrimiento de la columnaCOLU_VENEER_VOL volumen del recubrimiento de la columna

Parámetros de Forjados - disponibles sólo para listadosSLAB_THICKNESS grosor del forjadoSLAB_MAT_TOP material de la superficie superior del forjadoSLAB_MAT_EDGE material de los bordes del forjadoSLAB_MAT_BOTT material de la superficie inferior del forjadoSLAB_LINETYPE tipo de línea del forjadoSLAB_FILL trama del forjado

índice de trama - su valor es negativo en el caso de una estructura compuestaSLAB_FILL_PEN pluma de la trama del forjadoSLAB_FILLBGD_PEN pluma del fondo de la trama del forjado

Page 214: GDL Manual de Referencia.pdf

214

Apéndice

Manual de Referencia GDL de ArchiCAD

SLAB_COMPS_NAME estructura compuesta del forjadonombre de la estructura compuesta

SLAB_SKINS_NUMBER número de capas de forjado compuestasentre 1 y 8, 0 se aplica una única trama

SLAB_SKINS_PARAMS parámetros de las capas del forjado compuestomatriz con 6 columnas: trama, grosor, pluma, pluma de trama, pluma de fondo de trama, statusdel núcleo y hasta 8 filas

SLAB_SECT_PEN pluma de los contornos del forjado en secciónaplicado a los contornos de superficies cortadas en los planos de planta y de sección/alzado

SLAB_VIEW_PEN pluma del forjado visibleaplicado en todas las aristas en la ventana 3D y en las aristas visibles en las ventanas de sección/alzado

SLAB_TOP_SURF superficie superior del forjadoSLAB_BOT_SURF superficie inferior del forjadoSLAB_EDGE_SURF superficie de los bordes del forjadoSLAB_PERIMETER perímetro del forjadoSLAB_VOLUME volumen del forjadoSLAB_SEGMENTS_NR número de segmentos del forjadoSLAB_HOLES_NR número de huecos del forjadoSLAB_HOLES_AREA área de los huecos del forjadoSLAB_HOLES_PRM perímetro de los huecos del forjado

Parámetros de Cubiertas - disponibles sólo para listadosROOF_THICKNESS grosor de la cubiertaROOF_ANGLE pendiente de la cubiertaROOF_MAT_TOP material de la superficie superior de la cubiertaROOF_MAT_EDGE material de los bordes de la cubiertaROOF_MAT_BOTT material de la superficie inferior de la cubiertaROOF_LINETYPE tipo de línea de la cubierta

aplicado en los contornos sólo en la ventana de plantaROOF_FILL trama de la cubierta

índice de trama - su valor es negativo en el caso de una estructura compuestaROOF_FILL_PEN pluma de la trama de la cubiertaROOF_FBGD_PEN pluma del fondo de trama de la cubiertaROOF_COMPS_NAME estructura compuesta de la cubierta

nombre de la estructura compuestaROOF_SKINS_NUMBER número de capas compuestas de cubiertas

entre 1 y 8, 0 si se aplica una única tramaROOF_SKINS_PARAMS parámetros de las capas compuestas de cubierta

matriz con 6 columnas: trama, grosor, pluma, pluma de trama, pluma de fondo de trama, statusdel núcleo y hasta 8 filas

ROOF_SECT_PEN pluma de los contornos de cubierta en secciónaplicado a contornos de superficies cortadas de muros en las ventanas de planta y alzado/sección

Page 215: GDL Manual de Referencia.pdf

215

Apéndice

Manual de Referencia GDL de ArchiCAD

ROOF_VIEW_PEN pluma de la cubierta visibleaplicado en todas las aristas en la ventana 3D y en las aristas visibles en las ventanas de sección/alzado

ROOF_BOTTOM_SURF superficie inferior de la cubiertaROOF_TOP_SURF superficie superior de la cubiertaROOF_EDGE_SURF superficie del borde de la cubiertaROOF_PERIMETER perímetro de la cubiertaROOF_VOLUME volumen de la cubiertaROOF_SEGMENTS_NR número de segmentos de la cubiertaROOF_HOLES_NR número de huecos de la cubiertaROOF_HOLES_AREA área de huecos de la cubiertaROOF_HOLES_PRM perímetro de huecos de la cubierta

Parámetros de Trama - disponibles sólo para listadosFILL_LINETYPE tipo de línea de la tramaFILL_FILL tipo de trama de la tramaFILL_FILL_PEN pluma de trama de la tramaFILL_PEN pluma de la tramaFILL_FBGD_PEN pluma del fondo de trama de la tramaFILL_SURF área de la tramaFILL_PERIMETER perímetro de la tramaFILL_SEGMENT_NR número de segmentos de la tramaFILL_HOLES_NR número de huecos de la tramaFILL_HOLES_PRM perímetro de huecos de la tramaFILL_HOLES_AREA área de huecos de la trama

Parámetros de Malla - disponibles sólo para listadosMESH_TYPE tipo de la malla

1- cuerpo cerrado, 2 - superior & borde, 3 - sólo superficie superiorMESH_BASE_OFFSET desplazamiento de la superficie inferior al nivel de baseMESH_USEREDGE_PEN pluma de las crestas definidas por el usuario en la mallaMESH_TRIEDGE_PEN pluma de las caras trianguladas de la mallaMESH_SECT_PEN pluma de los contornos de la malla en sección

aplicado a los contornos de superficies cortadas de muros en las ventanas de planta y de alzado/sección

MESH_VIEW_PEN pluma de los contornos visiblesaplicado a todas las aristas en la ventana 3D y en las aristas visibles en las ventanas de alzado/sección

MESH_MAT_TOP material de la superficie superior de la mallaMESH_MAT_EDGE material de las caras de la mallaMESH_MAT_BOTT material de la superficie inferior de la mallaMESH_LINETYPE tipo de línea de la malla

aplicado a los contornos sólo en la ventana de planta

Page 216: GDL Manual de Referencia.pdf

216

Apéndice

Manual de Referencia GDL de ArchiCAD

MESH_FILL tipo de trama de la mallaMESH_FILL_PEN pluma de la trama de la mallaMESH_FBGD_PEN pluma del fondo de trama de la mallaMESH_BOTTOM_SURF superficie inferior de la mallaMESH_TOP_SURF superficie superior de la mallaMESH_EDGE_SURF superficie de las caras de la mallaMESH_PERIMETER perímetro de la mallaMESH_VOLUME volumen de la mallaMESH_SEGMENTS_NR número de segmentos de la mallaMESH_HOLES_NR número de huecos de la mallaMESH_HOLES_AREA área de huecos de la mallaMESH_HOLES_PRM perímetro de huecos de la trama

Variables globales libres para usuariosGLOB_USER_1 S_GLOB_USER_2 T_GLOB_USER_3 U_GLOB_USER_4 V_GLOB_USER_5 W_GLOB_USER_6 X_GLOB_USER_7 Y_GLOB_USER_8 Z_GLOB_USER_9 G~GLOB_USER_10 I~ las variables globales libres para usuarios de 1 a 10 están inicializadas al

número por defectoGLOB_USER_11GLOB_USER_12GLOB_USER_13GLOB_USER_14GLOB_USER_15GLOB_USER_16GLOB_USER_17GLOB_USER_18GLOB_USER_19GLOB_USER_20 las variables globales libres para usuarios de 11 a 20 están inicializadas al

texto por defecto

Page 217: GDL Manual de Referencia.pdf

217

Apéndice

Manual de Referencia GDL de ArchiCAD

B Funciones EspecialesREQ (parameter_string)

Esta función pregunta el estado actual del programa. Esteparámetro - la pregunta - es una cadena. El intérprete GDLresponde con un valor numérico. Si no entiende la pregunta, larespuesta es negativa.

Listado de preguntas actuales:

"GDL_version"

número de versión del intérprete/compilador del GDL.(Atención: no es el mismo que la versión de ArchiCAD).

"Program"

código del programa (1: ArchiCAD, 2: topCAD, etc.).

"Serial_number"

el número de serie de la llave.

"Model_size"

tamaño en bytes de la estructura de datos 3D actual.

"Red_of_material name""Green_of_material name""Blue_of_material name"

Definen las componentes de color del material dado envalores 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 envalores RGB entre 0 y 1.

"Pen_of_RGB r g b"

Define el índice de pluma de color más próximo al colordado. Las constantes r, g y b figuran en la cadena entre 0 y1.

Page 218: GDL Manual de Referencia.pdf

218

Apéndice

Manual de Referencia GDL de ArchiCAD

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

El primer parámetro representa la pregunta mientras que lasegunda representa el objeto de la cuestión (si existe) y puede serun texto o de tipo numérico ( por ejemplo, la pregunta puede ser"Rgb_of_material" y el objeto el nombre de material, o"Rgb_of_pen" y el objeto el índice de pluma). Los otros parámetrosson nombres de variable en el que los valores de retorno (lasrespuestas) se almacenan. El valor de la función de retorno es elnúmero de la respuesta (en caso de una pregunta mal formulada onombre inexistente, el valor será 0).

REQUEST ("Name_of_program", "", programname)

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

REQUEST ("Name_of_macro", "", myname)

REQUEST ("Name_of_main", "", mainname)

Después de ejecutar estas funciones de llamada, la variablemyname contendrá el nombre del macro, mientras que mainnamecontendrá el nombre del macro principal (si no existe, texto vacío).

REQUEST ("ID_of_main", "", idstring)

Para los ítems de Biblioteca colocados en la Planta, devuelve elidentificador definido en el diálogo de herramientas en la variableidstring (en caso contrario texto vacío).

REQUEST ("Name_of_plan", "", name)

Devuelve en la variable dada el nombre del proyecto actual.

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

Devuelve en las variables index y storyname el índice y el nombredel piso actual.

REQUEST ("Internal_id", "", id)

Devuelve en la variable id el identificador interno del elemento debiblioteca.

REQUEST ("Linear_dimension", "", formatstr)

REQUEST ("Angular_dimension", "", formatstr)

REQUEST ("Angular_length_dimension", "", formatstr)

Page 219: GDL Manual de Referencia.pdf

219

Apéndice

Manual de Referencia GDL de ArchiCAD

REQUEST ("Radial_dimension", "", formatstr)

REQUEST ("Level_dimension", "", formatstr)

REQUEST ("Elevation_dimension", "", formatstr)

REQUEST ("Window_door_dimension", "", formatstr)

REQUEST ("Sill_height_dimension", "", formatstr)

REQUEST ("Area_dimension", "", formatstr)

Estas llamadas le permiten obtener los formatos de medidasdefinidas en el diálogo de Opciones/Preferencias/Acotaciones.Estas llamadas devuelven un texto de formato que puede utilizarsecomo primer parámetro en la función STR ().

Ejemplo:

format = ""num = 60.55REQUEST ("Angular_dimension", "", format) !”%.2dd”TEXT2 0, 0, STR (format, num) !60.55°

REQUEST ("Clean_intersections", "", state)

Devuelve el estado de la característica Limpiar Intersecciones delmenú Opciones (1 si está activo, 0 si inactivo).

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

Para Zonas, devuelve el nombre y el texto de código de lacategoría de zona actual.

REQUEST ("Zone_relations", "", catname, code, name, nr [,catname2, code2, name2, nr2])

Devuelve en las variables dadas el nombre de categoría de zona,código de categoría de zona, nombre de zona y número de la zonadonde está el elemento de biblioteca que contiene esta pregunta.Para puertas y ventanas puede haber un máximo de 2 zonas. Elvalor de retorno de la pregunta es el número de valoressatisfactorios 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 columnascolocadas en la zona actual. Efectivo sólo para Sellos de Zona.

Page 220: GDL Manual de Referencia.pdf

220

Apéndice

Manual de Referencia GDL de ArchiCAD

REQUEST ("Custom_auto_label", "", name)

Devuelve en la variable de nombre el nombre de la auto-etiqueta amedida del elemento de biblioteca, o un texto vacío si no existeésta.

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

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

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

Al igual que la función REQ() ( en una sola llamada), devuelve enlas variables especificadas el valor de los componentes r, g, b delmaterial y pluma, o el índice de la pluma correspondiente a losvalores r, g, b dados.

REQUEST ("Height_of_style", name, height)

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

REQUEST ("Name_of_material", index, name)

Devuelve en la variable dada el nombre del material identificadopor su índice.

REQUEST ("Name_of_fill", index, name)

Devuelve en la variable de nombre el nombre de la tramaidentificada por su índice.

REQUEST ("Name_of_line_type", index, name)

Devuelve en la variable dada el nombre de la línea identificada porsu índice.

REQUEST ("Name_of_style", index, name)

Devuelve en la variable dada el nombre del estilo identificado porsu índice.

Si índice < 0, se refiere a un material, trama, tipo de línea o estilodefinido en el script GDL o en el archivo MASTER_GDL. Unallamada de una pregunta con índice = 0 devuelve en la variable elnombre del material o tipo de línea por defecto (Texto vacío paratrama y estilo)El valor de retorno de la pregunta es el número de valoressatisfactorios obtenidos (1 si no ocurren errores, 0 para un errorcuando el índice no es válido).

Page 221: GDL Manual de Referencia.pdf

221

Apéndice

Manual de Referencia GDL de ArchiCAD

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

Si la pregunta no es ninguna de las vistas anteriormente, la funciónREQUEST () intenta utilizarla como una extensión de nombreespecífico. Si está extensión se encuentra en la carpeta deextensiones, se utilizará para obtener tantos valores para cuantosnombres de variable se hayan especificado. El parámetro de textoes interpretado por la extensión.

IND (MATERIAL, name_string)

IND (FILL, name_string)

IND (LINE_TYPE, name_string)

IND (STYLE, name_string)

Esta función devuelve el índice actual del atributo de material,trama, tipo de línea o estilo. El uso principal del número resultantees transferirlo a un macro que requiere el mismo atributo que elmacro llamado. El resultado es negativo para definicionestemporales y positivo para definiciones globales (ver los comandosMateriales..., Tipos de Trama... y Tipos de Línea... en ArchiCAD).

Ver también MATERIAL, FILL, LINE_TYPE, STYLE en el capítulo"Definición de Atributos en Línea".

Page 222: GDL Manual de Referencia.pdf

222

Apéndice

Manual de Referencia GDL de ArchiCAD

C GDL Creado desde laPlantaAl guardar el plano de planta como script GDL o elemento deBiblioteca se producirán los siguientes elementos GDL. Puedeutilizar estos scripts GDL como plantillas para su propia biblioteca.Vea también el capítulo "Formas Tridimensionales".

Script 3D:

Muros: LIN_, xWALL_

Columnas: cPRISM_

Forjados: cPRISM_

Cubiertas Inclinadas: cSLAB_, cROOF_

Mallas: MASS

Ventanas:

Puertas: CALL

Objetos:

Lámparas:

Los planos de corte definidos en el diálogo de Planos de Corte 3D(activado con el comando de Sección 3D): CUTPLANE angle

CUTPLANE

Los planos de corte y polígonos generados por Cubiertas :

CUTPOLY and CUTPLANE

Script 2D:

HOTSPOT2, POLY2_B, LINE2

CALL

Page 223: GDL Manual de Referencia.pdf

223

Apéndice

Manual de Referencia GDL de ArchiCAD

D Palabras Clave sólo para laVista 3DADDX, 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

Page 224: GDL Manual de Referencia.pdf

224

Apéndice

Manual de Referencia GDL de ArchiCAD

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

Page 225: GDL Manual de Referencia.pdf

225

Apéndice

Manual de Referencia GDL de ArchiCAD

E Palabras Clave sólo para elSímbolo 2DADD2

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

Page 226: GDL Manual de Referencia.pdf

226

Apéndice

Manual de Referencia GDL de ArchiCAD

F Palabras Clave para uso 2Dy 3DDEL

[LET]

RADIUS

RESOL

TOLER

PEN

DEFINE STYLE

[SET] STYLE

Page 227: GDL Manual de Referencia.pdf

227

Apéndice

Manual de Referencia GDL de ArchiCAD

G Palabras Clave para ScriptsNo GeométricosScript de PropiedadesDESCRIPTOR

COMPONENT

REF

SURFACE3D

VOLUME3D

POSITION

WALLS

COLUMNS

DOORS

WINDOWS

OBJECTS

PITCHED_ROOFS

HIP_ROOFS

LIGHTS

HATCHES

ROOMS

MESHES

DRAWING

BINARYPROP

Script de Lista de ValoresVALUES

Page 228: GDL Manual de Referencia.pdf

228

Apéndice

Manual de Referencia GDL de ArchiCAD

H Palabras Clave ComunesOperadores

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

Page 229: GDL Manual de Referencia.pdf

229

Apéndice

Manual de Referencia GDL de ArchiCAD

I Palabras Clave ReservadasLas palabras clave listadas a continuación están reservadas, existenpor razones de compatibilidad o no han sido hechas públicas.

BAS

BOX

GDLBIN

LIN

LINE

NOD

NODE

ORIGO

PARS

RECT_

SFLINE

TET

TETRA

TRI

WALL_

VOCA

UI_INFIELD

UI_OUTFIELD

UI_BUTTON

UI_PAGE

UI_DIALOG

UI_OK

UI_CANCEL

UI_PREV

UI_NEXT

UI_SEPARATOR

UI_GROUPBOX

UI_PICT

Page 230: GDL Manual de Referencia.pdf

230

Apéndice

Manual de Referencia GDL de ArchiCAD

J Lista de Conversión deAntiguos Nombres deVariables GlobalesPueden usarse los nombres antiguos de variables globales, sinembargo se recomienda el uso de los nuevos nombres. Cadavariable global antigua corresponde a una nueva con nombrelargo.

A_ GLOB_SCALEB_ GLOB_HSTORY_ELEVC_ WALL_THICKNESSD_ WALL_HEIGHTE_ WALL_OUTLINE_PENF_ WALL_FILL_PENG_ WALL_MAT_AH_ WALL_MAT_BI_ WALL_MAT_EDGE J_ GLOB_ELEVATIONK_ WIDO_SILLL_ SYMB_PENN_ SYMB_MATN_ GLOB_FRAME_NRM_ GLOB_FIRST_FRAMEP_ GLOB_LAST_FRAMEQ_ GLOB_HSTORY_HEIGHTR_ WIDO_ORIG_DISTS_ GLOB_USER_1T_ GLOB_USER_2U_ GLOB_USER_3V_ GLOB_USER_4W_ GLOB_USER_5X_ GLOB_USER_6Y_ GLOB_USER_7Z_ GLOB_USER_8

Page 231: GDL Manual de Referencia.pdf

231

Apéndice

Manual de Referencia GDL de ArchiCAD

A~ WALL_FILLB~ WIDO_RIGHT_JAMBC~ WIDO_THRES_DEPTHD~ WIDO_HEAD_DEPTHE~ WIDO_REVEAL_SIDEF~ WIDO_FRAME_THICKNESSG~ GLOB_USER_9H~ WIDO_POSITIONI~ GLOB_USER_10J~ WALL_RESOLK~ GLOB_EYEPOS_XL~ GLOB_EYEPOS_YM~ GLOB_EYEPOS_ZN~ GLOB_TARGPOS_XO~ GLOB_TARGPOS_YP~ GLOB_TARGPOS_ZQ~ GLOB_CSTORY_ELEVR~ GLOB_CSTORY_HEIGHTS~ GLOB_CH_STORY_DISTT~ GLOB_SCRIPT_TYPEU~ GLOB_NORTH_DIRV~ SYMB_MIRROREDW~ SYMB_ROTANGLEX~ SYMB_POS_XY~ SYMB_POS_YZ~ SYMB_POS_Z

Page 232: GDL Manual de Referencia.pdf

232

Apéndice

Manual de Referencia GDL de ArchiCAD

K Listado Alfabético Actualde Palabras Clave GDL

ABS (x)

ACS (x)

ADD dx, dy, dz

ADD2 x, y

ADDX dx

ADDY dy

ADDZ dz

AND

ARC r, alpha, beta

ARC2 x, y, r, alpha, beta

ARMC r1, r

2, l, h, d, alpha

ARME l, r1, r

2, h, d

ASN (x)

ATN (x)

BASE

BINARY mode [, section]

BINARYPROP

BLOCK a, b, c

BODY status

BPRISM_ topmat, botmat, sidemat,n, h, radius,x

1, y

1, mask

1, . . . x

n, y

n, mask

n

BREAKPOINT expression

BRICK a, b, c

Page 233: GDL Manual de Referencia.pdf

233

Apéndice

Manual de Referencia GDL de ArchiCAD

BWALL_ leftmat, rightmat, sidemat,height, x

1, x

2, x

3, x

4, t, radius,

mask1, mask

2, mask

3, mask

4,

n,xbeg

1, lower

1, xend

1, upper

1, framevis

1,

. . .xbeg

n, lower

n, xend

n, upper

n, framevis

n,

m,a

1, b

1, c

1, d

1,

. . .a

m, b

m, c

m, d

m

CALL macro_name_string [parameter_list]

CALL macro_name_string PARAMETERS [name1=value

1,

. . . namen=value

n]

CIRCLE r

CIRCLE2 x, y, r

CLOSE channel

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

CONE h, r1, r

2, alpha

1, alpha

2

COONS n, m, mask,x

11, y

11, z

11, . . . x

1n, y

1n, z

1n,

x21

, y21

, z21

, . . . x2n

, y2n

, z2n

,x

31, y

31, z

31, . . . x

3m, y

3m, z

3m,

x41

, y41

, z41

, . . . x4m

, y4m

, z4m

COOR wrap, vert1, vert

2, vert

3, vert

4

COS (x)

CPRISM_ topmat, botmat, sidemat,n, h, x

1, y

1, mask

1, . . . x

n, y

n, mask

n

CROOF_ topmat, botmat, sidemat,n,x

b, y

b, x

e, y

e, height, angle,

thickness,x

1, y

1, alpha

1, mask

1, . . . x

n, y

n, alpha

n, mask

n

CSLAB_ topmat, botmat, sidemat,n, h, x

1, y

1, z

1, mask

1, . . . x

n, y

n, z

n, mask

n

Page 234: GDL Manual de Referencia.pdf

234

Apéndice

Manual de Referencia GDL de ArchiCAD

CUTPLANE [x, y, z [, side]]statementsCUTEND

CUTPLANE anglestatementsCUTEND

CUTPOLY n, status, d,x

1, y

1, . . . x

n, y

n,

[, x, y, z]statementsCUTEND

CUTPOLYA n, status, d,x

1, y

1, mask

1, . . . x

n, y

n, mask

n

[, x, y, z]statementsCUTEND

CUTSHAPE dstatementsCUTEND

CWALL_ leftmat, rightmat, sidemat,height, x

1, x

2, x

3, x

4, t,

mask1, mask

2, mask

3, mask

4,

n,xbeg

1, lower

1, xend

1, upper

1, framevis

1,

. . .xbeg

n, lower

n, xend

n, upper

n, framevis

n,

m,a

1, b

1, c

1, d

1,

. . .a

m, b

m, c

m, d

m

CYLIND h, r

DEFINE FILL name pat1, pat

2, pat

3, pat

4, pat

5, pat

6, pat

7, pat

8,

spacing, angle, n,freq

1, dir

1, offsetx

1, offsety

1, m

1,

len11

, . . . lenm1

,. . .freq

n, dir

n, offsetx

n, offsety

n, m

n,

lenn1

, . . . lennm

Page 235: GDL Manual de Referencia.pdf

235

Apéndice

Manual de Referencia GDL de ArchiCAD

DEFINE FILLA name pat1,pat

2,pat

3,pat

4,pat

5,pat

6,pat

7,pat

8,

spacingx, spacingy, angle, n,freq

1, doffset

1, dir

1, offsetx

1, offsety

1, m

1,

len11

, . . . lenm1

,. . .freq

n, doffset

n,dir

n, offsetx

n, offsety

n, m

n,

lenn1

, . . . lennm

DEFINE LINE_TYPE name spacing, n, len1, . . . len

n

DEFINE MATERIAL name type, m1, m

2, . . . m

n

DEFINE STYLE name font_family, size, anchor, facecode

DEFINE STYLE name PLOTMAKER, size, anchor, slant

DEFINE STYLE name PLOTTER, size, anchor, slant

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

DEL n

DEL TOP

DESCRIPTOR string

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

DOstatementsWHILE condition

DRAWING

DRAWING2

DRAWING3

EDGE vert1, vert2, pgon1, pgon2, status

ELBOW r1, alpha, r2

ELLIPS h, r

END

EXIT

EXOR

EXP (x)

EXTRUDE n, dx, dy, dz, mask, x1, y

1, s

1, . . . x

n, y

n, s

n

FILL index

FILL name_string

Page 236: GDL Manual de Referencia.pdf

236

Apéndice

Manual de Referencia GDL de ArchiCAD

FOR varnam = initial_value TO end_value [STEPstep_value]

FPRISM_ topmat, botmat, sidemat, hillmat,n, thickness, angle, hill_height,x

1, y

1 , mask

1,

. . .x

n, y

n, mask

n

FRA (x)

FRAGMENT2 ALL, use_current_attributes_flag

FRAGMENT2 plane_index, use_current_attributes_flag

GET (n)

GOSUB label

GOTO label

HOTSPOT2 x, y

IF cond GOSUB label

IF cond GOTO label

IF cond THEN label

IF condition THEN statement [ELSE statement]

IF condition THEN

statements

[ELSE

statements]

ENDIF

IND (FILL, name_string)

IND (LINE_TYPE, name_string)

IND (MATERIAL, name_string)

IND (STYLE, name_string)

IND (TEXTURE, name_string)

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

INT (x)

LET

LGT (x)

Page 237: GDL Manual de Referencia.pdf

237

Apéndice

Manual de Referencia GDL de ArchiCAD

LIGHT red, green, blue, shadow,radius, alpha, beta, angfalloff,dist

1, dist

2, distfalloff

LIN_ x1, y

1, z

1, x

2, y

2, z

2

LINE_TYPE index

LINE_TYPE name_string

LINE2 x1, y

1, x

2, y

2

LOG (x)

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

1, y

1, z

1, s

1,

. . .x

n, y

n, z

n, s

n,

xn+1

, yn+1

, zn+1

, sn+1

, . . .x

n+m, y

n+m, z

n+m, s

n+m

MATERIAL index

MATERIAL name_string

MAX (x1,x

2, . . . x

n)

MESH a, b, m, n, mask,z

11, z

12, . . . z

1m,

z21

, z22

, . . . z2m

,. . .z

n1, z

n2, . . . z

nm

MIN (x1,x

2, . . . x

n)

MOD

MODEL SOLID

MODEL SURFACE

MODEL WIRE

MUL mx, my, mz

MUL2 x, y

MULX mx

MULY my

MULZ mz

NEXT varnam

NOT (x)

Page 238: GDL Manual de Referencia.pdf

238

Apéndice

Manual de Referencia GDL de ArchiCAD

NSP

NTR ( )

OPEN (filter, filename, paramstring)

OR

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

PEN n

PGON n, ivect, status, edge1, edge

2, . . . edge

n

PI

PICTURE filename, a, b, mask

PICTURE2 expression, a, b, mask

PIPG filename, a, b, mask,n, ivect, status, edge

1, edge

2, . . . edge

n

PLANE n, x1, y

1, z

1, . . . x

n, y

n, z

n

PLANE_ n, x1, y

1, z

1, mask

1, . . . x

n, y

n, z

n, mask

n

POLY n, x1, y

1, . . . xn, yn

POLY_ n, x1, y

1, mask

1, . . . x

n, y

n, mask

n

POLY2 n, framefill, x1, y

1, . . . x

n, y

n

POLY2_ n, framefill, x1, y

1, mask

1, . . . x

n, y

n, mask

n

POLY2_A n, framefill, fillpen,x

1, y

1, mask

1, . . . x

n, y

n, mask

n

POLY2_B n, framefill, fillpen,fillbkgdpen,x

1, y

1, mask

1, . . . x

n, y

n, mask

n

POSITION position_keyword

PRINT [expression] [, expression] . . .

PRISM n, h, x1, y

1, . . . x

n, y

n

PRISM_ n, h, x1, y

1, mask

1, . . . x

n, y

n, mask

n

PROJECT2 projcode, angle, method

PUT expression [, expression] . . .

PYRAMID n, h, mask, x1, y

1, s

1, . . . x

n, y

n, s

n

RADIUS rmin, rmax

RECT a, b

Page 239: GDL Manual de Referencia.pdf

239

Apéndice

Manual de Referencia GDL de ArchiCAD

RECT2 x1, y

1, x

2, y

2

REF COMPONENT code [, num_expr [, keycode]]

REF DESCRIPTOR code [, keycode]

REPEATstatementsUNTIL condition

REQ (parameter_string)

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

RESOL n

RETURN

REVOLVE n, alpha, mask, x1, y

1, s

1, . . . x

n, y

n, s

n

RND (x)

ROT x, y, z, alpha

ROT2 alphaz

ROTX alphax

ROTY alphay

ROTZ alphaz

RULED n, mask,u

1, v

1, s

1, . . . u

n, v

n, s

n,

x1, y

1, z

1, . . . x

n, y

n, z

n

SET FILL index

SET FILL name_string

SET LINE_TYPE index

SET LINE_TYPE name_string

SET MATERIAL ndex

SET MATERIAL name_string

SET STYLE index

SET STYLE name_string

SGN (x)

SHADOW AUTO

SHADOW OFF

SHADOW ON

Page 240: GDL Manual de Referencia.pdf

240

Apéndice

Manual de Referencia GDL de ArchiCAD

SIN (x)

SLAB n, h, x1, y

1, z

1, . . . x

n, y

n, z

n

SLAB_ n, h, x1, y

1, z

1, mask

1, . . . x

n, y

n, z

n, mask

n

SPHERE r

SPLINE2 n, status, x1, y

1, angle

1, . . . x

n, y

n, angle

n

SPLINE2_A n, status,x

1, y

1, angle

1, lenPrev

1, lenNext

1,

. . .x

n, y

n, angle

n, lenPrev

n, lenNext

n

SPLIT (string, format, var1 [, var

2, . . . var

n])

SPRISM_ topmat, botmat, sidemat,n, x

b,y

b, x

e, y

e, h, angle,

x1, y

1, mask

1, . . . x

n, y

n, mask

n

SQR (x)

STR (numeric_expression, len, frac)

STR (formatstring, numeric_expression)

STRLEN (string_exp)

STRSTR (string_exp1, string_exp2)

STRSUB (string_exp, begpos, numchars)

STW (string_expression)

STYLE index

STYLE name_string

SURFACE3D ( )

SWEEP n, m, alpha, scale, mask,u

1, v

1, s

1, . . . u

n, v

n, s

n,

x1, y

1, z

1, . . . x

m, y

m, z

m

TAN (x)

TEVE x, y, z, u, v

TEXT d, 0, expression

TEXT2 x, y, string

TOLER d

Page 241: GDL Manual de Referencia.pdf

241

Apéndice

Manual de Referencia GDL de ArchiCAD

TUBE n, m, mask,u

1, w

1, s

1, . . . u

n, w

n, s

n,

x1, y

1, z

1, angle

1, . . . x

m, y

m, z

m, angle

m

TUBEA n, m, mask,u

1, w

1, s

1, . . . u

n, w

n, s

n,

x1, y

1, z

1, . . . x

m, y

m, z

m

USE (n)

VALUES name, val1 [, val

2, . . . val

n]

VECT x, y, z

VERT x, y, z

VOLUME3D ( )

WALLHOLE n, status,x

1, y

1, mask

1, . . . x

n, y

n, mask

n

[, x, y, z]

WHILE condition DOstatementsENDWHILE

XFORM a11

, a12

, a13

, a14

,a

21, a

22, a

23, a

24,

a31

, a32

, a33

, a34

XWALL_ leftmat, rightmat, sidevmat, sidehmat,height, x

1, x

2, x

3, x

4,

y1, y

2, y

3, y

4,

t, radius,reserved1, reserved2,mask

1, mask

2, mask

3, mask

4,

n,xbeg

1, lower

1, xend

1, upper

1, framevis

1,

. . .xbeg

n, lower

n, xend

n, upper

n, framevis

n,

m,a

1, b

1, c

1, d

1,

. . .a

m, b

m, c

m, d

m

Page 242: GDL Manual de Referencia.pdf

242

Apéndice

Manual de Referencia GDL de ArchiCAD

L Extensión de TextoEsta es una extensión de ejemplo que demuestra las posibilidadesde las operaciones de archivo I/O. Otras extensiones de este tipoestán disponibles desde Graphisoft u otros vendedores.

La extensión interpreta los textos en la lista de parámetros de loscomandos OPEN, INPUT, OUTPUT.

Asume que una carpeta llamada "ArchiCAD Data Folder" existeaparte de ArchiCAD para archivos definidos por el usuario. (Elnombre de esta carpeta está definida en el recurso extensión, endonde puede localizarse). Si esa carpeta no existe, la extensióncrea una. La carpeta puede contener subcarpetas en donde laextensión busca archivos existentes. Los archivos de tipo TEXTO sepueden leer y escribir.

1. channel = OPEN (filter, filename, paramstring)

filter : específico de la extensión, en el caso de laextensión de texto "TEXT"

filename: el nombre del archivo por abrir

paramstring: contiene los caracteres específicos de separación dela extensión y el modo de abertura

Este comando abre el archivo. Si el archivo en donde quiereescribir no existe, él lo crea. Si el archivo a leer no existe, semuestra un mensaje de error.

Su valor de retorno es un entero positivo que identificará el archivoespecífico. Este valor será el futuro número de referencia delarchivo.

El paramstring puede contener lo siguiente:

• SEPARATOR = después de la palabra clave entre comillas ('')puede asignar un carácter para utilizarlo en el archivo de texto(para lectura y escritura) para separar columnas.

Los casos especiales son el tabulador ('\t') y la nueva fila ('\n').

Page 243: GDL Manual de Referencia.pdf

243

Apéndice

Manual de Referencia GDL de ArchiCAD

• MODE = después de la palabra clave el modo de abertura aseguir. Sólo existen tres modos de abertura:

RO (sólo lectura)

WA (sólo escritura, añadir) al final del archivo

WO (sólo escritura, re-escritura) ¡todos los datos delarchivo se perderán!

Un archivo no puede abrirse para leer y escribir al mismo tiempo.

Ponga siempre una coma (,) entre el SEPARATOR y el MODE.

Si utiliza palabras clave que no existen, si los caracteres deseparación son incorrectos o no hay nada en el string deparámetros, la extensión utilizará las definiciones por omisión:SEPARATOR = '\t', MODE = RO.

Ejemplo:

ch1 = OPEN ("TEXT", "file1", "SEPARATOR=';', MODE=RO") ch2 = OPEN ("TEXT", "file2", "") ch3 = OPEN ("TEXT", "file3", "SEPARATOR='\n', MODE=WO")

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

recordID: número de columna (numérica o texto)

fieldID: índice de columna en la fila dada

El comando lee tantos valores dados desde la posición inicial delarchivo, identificado por el valor de canal, como parámetrosasignados tenga. En la lista de parámetros debe haber comomínimo un valor. La función coloca los valores leídos en losparámetros de la secuencia. Los valores pueden ser numéricos o detexto con independencia del tipo de parámetro definido para ellos.En el lugar del valor del archivo, también puede tener expresionesde tipo numérico o de texto, cada una conteniendo constantesnuméricas o de texto así como llamadas a funciones matemáticasGDL. Estas expresiones se evalúan durante el proceso de entrada.

Ejemplo: en el archivo de texto (separador es ','):

1.23,1'2","aaa",2 * SIN(45) + 1,SQR (3)

El valor de retorno es el número de valores leídossatisfactoriamente, para el final de archivo (-1).

Tanto los números de columna como los de fila deben ser enterospositivos, de otra forma se mostrará un mensaje de error.

Si el número de fila o de columna son incorrectos, la entrada no serealizará. (n = 0)

Page 244: GDL Manual de Referencia.pdf

244

Apéndice

Manual de Referencia GDL de ArchiCAD

En la identificación de fila y columna, se asignará el mismo númerode valores desde la posición inicial dada que de parámetros, o sihay más parámetros que valores, los parámetros sin valorcorrespondiente se ajustarán a cero.

Para las columnas vacías (no hay nada entre los caracteres deseparación) los parámetros serán ajustados a cero.

Ejemplo:

nr = INPUT (ch1, 1, 1, v1, v2, v3)! entrada de tres valores de la primera

columna ! de la primera fila PRINT nr, v1, v2, v3

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

recordID : si es positivo, los valores de salida irán seguidos deuna nueva columna

fieldID : si no tiene cometido, su valor no se usa

Este comando da salida a tantos valores dentro del archivoidentificado por el canal de valor de la posición dada comoexpresiones definidas. Debe haber como mínimo una expresión.Los tipos de valor de salida son los mismos que los de lasexpresiones.

Para una extensión de texto el OUTPUT, en secuencia(dependiendo del modo de abertura) colocará las expresionesdadas en posiciones consecutivas utilizando los caracteres deseparación dados al abrir el archivo entre él mediante re-escritura oañadidura al final del archivo. En este caso la posición dada no seinterpreta.

El recordID se utiliza para dirigir las nuevas columnas en lassalidas.

Si el recordID es positivo, los valores de salida irán seguidos deuna nueva fila, de otra forma el último valor irá seguido por uncarácter separador.

Ejemplo:

string = "Date: 19.01.1996" a = 1.5 OUTPUT ch2, 1, 0, string ! texto seguido por una nueva fila OUTPUT ch2, 0, 0, a, a + 1, a + 2 ! carácter separador después de +2 sin fila nueva

Page 245: GDL Manual de Referencia.pdf

245

Apéndice

Manual de Referencia GDL de ArchiCAD

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 = OPEN ("TEXT", "f1", "MODE=ro")ch2 = OPEN ("TEXT", "f2", "SEPARATOR='\n', MODE=wo")ch3 = OPEN ("TEXT", "f3", "SEPARATOR='\n', MODE=wo")i = 11: 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 ENDIF2: CLOSE ch1 CLOSE ch2 CLOSE ch3END

Page 246: GDL Manual de Referencia.pdf

246

Apéndice

Manual de Referencia GDL de ArchiCAD

Page 247: GDL Manual de Referencia.pdf

247

Índice

Manual de Referencia GDL de ArchiCAD

Índice

2D script 73D script 7

A

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

B

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

Page 248: GDL Manual de Referencia.pdf

248

Índice

Manual de Referencia GDL de ArchiCAD

C

CALL 190CEILS 166CIRCLE 36, 144CIRCLE2 125CLOSE 194COLUMNS 166comentario 8COMPONENT 164, 165, 166componentes 7CONE 40, 144COONS 91COOR 105COS 173CPRISM_ 45, 134CROOF_ 59, 134CSLAB_ 51CUTEND 112CUTPLANE 112CUTPOLY 115CUTPOLYA 118CUTSHAPE 120CWALL_ 52CYLIND 38, 144

D

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

E

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

F

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

G

GET 187GOSUB 22, 184, 186GOTO 22, 184, 186Graphisoft Collection 4

H

HATCHES 166HOTSPOT2 122

I

IF 184, 185imagen previa 8IND 179, 221INPUT 193, 243INT 173

Page 249: GDL Manual de Referencia.pdf

249

Índice

Manual de Referencia GDL de ArchiCAD

L

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

M

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

N

NEXT 182NOT 174NSP 188NTR 30

O

OBJECTS 166OPEN 193, 242OR 172origen global 16OUTPUT 194, 244

P

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

R

RADIUS 144, 191RECT 34RECT2 122REF 164REPEAT 183REQ 179, 217REQUEST 179, 218RESOL 145, 191RETURN 186REVOLVE 74, 134, 144RND 174ROT 28ROT2 29ROTX 27ROTY 27ROTZ 27RULED 78

Page 250: GDL Manual de Referencia.pdf

250

Índice

Manual de Referencia GDL de ArchiCAD

S

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

T

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

U

UNTIL 183USE 188

V

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

W

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

X

XFORM 28XWALL_ 57

Page 251: GDL Manual de Referencia.pdf

i

Contenido

Manual de Referencia GDL de ArchiCAD

Contenido

1 Introducción 1

1.1 Acerca de este Manual ____________________________________________________ 2

1.2 Objetos de Biblioteca _____________________________________________________ 2Sus fuentes de objetos de biblioteca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

La Biblioteca de Archicad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Bibliotecas Complementarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4StairMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Extensiones de Terceras Partes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

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

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

1.3 Escritura en GDL _________________________________________________________ 7Qué es GDL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Estructura del Elemento de Biblioteca de ArchiCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Analizar, descomponer y simplificar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Elaboración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Para empezar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Comandos de Nivel Básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Comandos de Nivel Intermedio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Comandos y Características de Nivel Avanzado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Nivel Experto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.4 Cómo genera ArchiCAD una imagen 3D __________________________________ 16El espacio 3D en ArchiCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16¿ Porqué necesita transformaciones de coordenadas ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17El motor de intérprete GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17El orden de análisis de los scripts GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.5 Creación de objetos en ArchiCAD ________________________________________ 19

Page 252: GDL Manual de Referencia.pdf

ii

Contenido

Manual de Referencia GDL de ArchiCAD

2 Elementos de Sintaxis Básicos 21

3 Transformación de Coordenadas 25

3.1 Transformaciones en el espacio Tridimensional __________________________ 26

3.2 Transformaciones en el espacio Bidimensional ___________________________ 29

3.3 Manejo de la Pila de Transformación _____________________________________ 30

4 Formas Planas en 3D 33

5 Formas Tridimensionales 37

5.1 Formas básicas _________________________________________________________ 38

5.2 Formas generadas desde polilíneas ______________________________________ 67

5.3 Elementos para la Visualización__________________________________________ 96

5.4 Elemento de Texto _____________________________________________________ 100

5.5 Primitivas _____________________________________________________________ 101

5.6 Uso de los Datos 3D Binarios ___________________________________________ 110

5.7 Corte en 3D____________________________________________________________ 112

6 Formas Bidimensionales 121

6.1 Elementos de Dibujo ___________________________________________________ 122

6.2 Elemento de Texto _____________________________________________________ 129

6.3 Uso de Datos Binarios 2D _______________________________________________ 130

6.4 Proyecciones 3D en 2D _________________________________________________ 131

6.5 Dibujos en la Lista _____________________________________________________ 132

7 Códigos de status adicionales para polilíneas planas 133

8 Atributos 143

8.1 Directivas _____________________________________________________________ 144Directivas Usadas en Scripts 3D y 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144Directivas utilizadas sólo en scripts 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147Directivas usadas sólo en scripts 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

8.2 Definición de Atributos_________________________________________________ 150Definición de materiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151Definición de trama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156Definición de Trama Avanzada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

Page 253: GDL Manual de Referencia.pdf

iii

Contenido

Manual de Referencia GDL de ArchiCAD

Definición de tipos de líneas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161Definición de estilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

9 Scripts No Geométricos 163

9.1 El Script de Propiedades ________________________________________________ 164

9.2 El Script de Lista de Valores _____________________________________________ 167

10 Expresiones y Funciones 169

10.1 Expresiones __________________________________________________________ 170

10.2 Operadores ___________________________________________________________ 172Operadores aritméticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172Operadores Relacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172Operadores Booleanos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

10.3 Funciones ____________________________________________________________ 173Funciones Aritméticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Funciones Circulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Funciones Trascendentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174Funciones Booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174Funciones Estadísticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174Funciones de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174Funciones Especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

11 Declaraciones de Control 181

11.1 Declaraciones de control de flujo ______________________________________ 182

11.2 Manipulación del Buffer de Parámetros ________________________________ 187

11.3 Objetos Macro ________________________________________________________ 190

11.4 La Declaración de Salida_______________________________________________ 192

11.5 Operaciones de Archivo _______________________________________________ 193

12 Instrucciones Especiales para Puertas y Ventanas 195

12.1 Reglas Generales ______________________________________________________ 196

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

Page 254: GDL Manual de Referencia.pdf

iv

Contenido

Manual de Referencia GDL de ArchiCAD

Apéndice 207

A Variables Globales ____________________________________________________ 208

B Funciones Especiales _________________________________________________ 217

C GDL Creado desde la Planta ___________________________________________ 222

D Palabras Clave sólo para la Vista 3D ___________________________________ 223

E Palabras Clave sólo para el Símbolo 2D ________________________________ 225

F Palabras Clave para uso 2D y 3D ______________________________________ 226

G Palabras Clave para Scripts No Geométricos____________________________ 227

H Palabras Clave Comunes ______________________________________________ 228

I Palabras Clave Reservadas ____________________________________________ 229

J Lista de Conversión de Antiguos Nombres de Variables Globales ________ 230

K Listado Alfabético Actual de Palabras Clave GDL ________________________ 232

L Extensión de Texto ___________________________________________________ 242

Índice 247