guide de reference gdl

Upload: sebby2012

Post on 22-Jul-2015

322 views

Category:

Documents


2 download

TRANSCRIPT

Guide de rfrence GDL

Graphisoft Visitez le site web de Graphisoft http://www.graphisoft.com pour la liste des distributeurs et la disponibilit des produits. Guide de rfrence GDL Copyright 2001 par Graphisoft, tous droits rservs. La reproduction, la divulgation, la paraphrase ou la traduction en un autre langage sont interdites sans permission crite de Graphisoft. Le projet Nokia K2 utilis pour lillustration du coffret et des couvertures de manuel ArchiCAD sont la proprit de Helin & Co. Architects, Helsinki, Finlande. Premire impression. Marques dposes ArchiCAD et ArchiFM sont des marques dposes et GDL, PlotMaker, PlotFlow, Meander, StairMaker, RoofMaker, Project Reviewer et TrussMaker sont des marques commerciales de Graphisoft. GDL Object Web Plug-in, GDL Object Explorer, GDL Object Adapter et GDL Object Publisher sont des marques commerciales dtenues en commun par Graphisoft et GDL Technology Services Ltd. Waste Text Engine copyright by Marco Piovanelli. Tous les autres noms de marque appartiennent leurs propritaires respectifs.

Chapitre 1 : Introduction

Chapitre 1IntroductionLe prsent manuel est une rfrence complexe du langage de programmation GDL (Langage de Description Gometrique) de Graphisoft. Ce manuel est recommand pour les utilisateurs qui voudraient dvelopper les possibilits reprsentes par les outils de construction et par la bibliothque dobjets inclus avec les logiciel de Graphisoft. Il donne la description dtaille de GDL, y compris la dfinition de la syntaxe, des commandes et des paramtres.

Guide de rfrence GDL

1

Chapitre 1 : Introduction

1.1 Lcriture de Scripts GDLQuest-ce que le GDL?GDL est le langage de programmation paramtrique intgr dArchiCAD, semblable au BASIC. Il sert dcrire des objets solides en trois dimension et les symboles en deux dimensions qui les reprsentent sur le Plan: portes, fentres, meubles, lments structuraux, escaliers, etc. Ces objets sappellent lments de bibliothque.

Structure de l'Elment de bibliothque ArchiCADTout lment de bibliothque dcrit en GDL possde des scripts, cest--dire des listes de commandes GDL qui construisent la forme 3D et le symbole 2D. Les Elments de bibliothque peuvent mme inclure un descriptif pour le Mtr dans ArchiCAD. Les commandes du script matre seront excutes avant tout script (comme s'ils taient copis devant les autres scripts de l'lment de bibliothque). Le script 2D contient la description paramtrique du dessin 2D. IL est possible de faire rfrence aux donnes 2D binaires de l'lment de bibliothque (le contenu de la fentre Symbole 2D) en utilisant la commande FRAGMENT2. Si le script 2D est vide, les donnes 2D binaires seront utilises pour afficher l'lment de bibliothque sur le plan. Le script 3D contient la description du modle 3D. Il est possible de faire rfrence aux donnes 3D binaires (gnres en important ou en enregistrant) avec la commande BINARY. Le script descriptif contient les composants et descripteurs utiliss par les listes d'lments, de composants et de zones. Il est possible de faire rfrence aux donnes descriptives binaires dcrites dans les sections composants et descripteurs de l'lment de bibliothque au moyen de la commande BINARYPROP. Si le script descriptif est vide, les donnes descriptives binaires seront utilises pour la cration de la liste. Dans le script de liste de valeurs on peut dfinir des jeux de valeurs possibles pour les paramtres de l'lment de bibliothque. Le jeu de paramtres choisis dans la section paramtres sera utilis par dfaut pour l'lment de bibliothque lors de son placement sur le plan.

2

Guide de rfrence GDL

Chapitre 1 : Introduction

L'image de prvisualisation est affiche dans le dialogue de l'lment de bibliothque en naviguant dans la bibliothque. Il est possible d'y faire rfrence partir des scripts 3D et 2D au moyen des commandes PICTURE et PICTURE2. Dans la section commentaire on peut stocker des informations textuelles sur l'lment de bibliothque. ArchiCAD offre un environnement confortable pour lcriture de scripts GDL, avec visualisation rapide et vrification de la syntaxe et des erreurs.

Analyser, dcomposer et simplifierTous les objets, mme les plus complexes, peuvent tre dcomposs en blocs de construction de formes gomtriques simples. Avant de sattaquer lcriture des scripts, il vaut mieux commencer par une courte analyse de lobjet crer et par la dfinition des units gomtriques qui le composent. Une fois les composants dtermins, il est possible de les traduire dans le vocabulaire GDL. Si lanalyse est correcte, la synthse des units approchera la solution idale. Pour faire cette analyse, il est utile davoir des connaissances en gomtrie descriptive.

Deux modles de fentre Commencez par des objets de dimensions faciles dfinir et choisissez leurs formes les plus simples. Au fur et mesure de votre apprentissage, vous pourrez vous orienter vers les formes plus complexes, en vous rapprochant de plus en plus de lidal. Idal nest pas forcment synonyme de compliqu. Le degr dlaboration de llment de bibliothque idal dpend de la nature du projet darchitecture donn. La fentre gauche sur lillustration convient parfaitement au style de la visualisation dun modle, tandis que celle de droite ajoute un brin de ralisme et de dtail qui peuvent tre utiliss ultrieurement dans la phase du projet dexcution.Guide de rfrence GDL

3

Chapitre 1 : Introduction

ElaborationLlaboration des objets paramtriques est donc fortement varie. Par exemple, les objets personnaliss utiliss lintrieur dun bureau dtude seront sans doute moins dvelopps que ceux destins une distribution commerciale. Si vos symboles nont que peu dimportance sur le plan et les changements de paramtres ne doivent pas tre ncessairement visibles en 2D, vous pouvez dlaisser totalement le script 2D paramtrique. Mme si les changements paramtriques doivent se voir en 2D, il nest pas absolument ncessaire dcrire un script 2D. Vous pouvez faire des modifications paramtriques dans la fentre du script 3D, utiliser la vue de dessus de lobjet modifi comme un nouveau symbole et enregistrer lobjet modifi sous un nouveau nom. Vous pouvez ainsi obtenir toute une srie dobjets similaires drivs du mme original en en modifiant les valeurs de paramtres par dfaut.

Les lments de bibliothque les plus complexes et les plus sophistiqus comprennent une description paramtrique 3D avec un script paramtrique 2D correspondant. Les changements apports leurs rglages affectent non seulement limage de lobjet en 3D, mais aussi son apparence sur le Plan.

Premiers pasLes besoins de votre projet, vos connaissances en programmation et en gomtrie descriptive influenceront grandement quel point vous commencerez crire des scripts GDL. Ne commencez pas par les formes les plus complexes. Apprenez GDL pas pas, essayez plusieurs possibilits et vous en tirerez rapidement profit. Nous vous recommandons daller du plus simple vers le plus difficile, suivant les niveaux dtaills plus loin.

4

Guide de rfrence GDL

Chapitre 1 : Introduction

Si vous connaissez dj une langue de programmation du genre BASIC, vous pouvez commencer vous familiariser avec GDL en lisant des scripts existants. Vous en apprendrez beaucoup en ouvrant les lments de bibliothque livrs avec ArchiCAD et en regardant leurs scripts 2D et 3D. Vous pouvez galement enregistrer des lments de Plan au format GDL et examiner le script ainsi obtenu. Si vous vous ntes pas familiariss avec le BASIC mais vous avez jou avec des lments de construction, vous apprendrez facilement GDL par la pratique. Commencez par les commandes les plus simples suivant leurs effets dans la Fentre 3D de llment de bibliothque. Pour en savoir plus sur lenvironnement de ldition des lments de bibliothque dans ArchiCAD, voir la commande de menu Ouvrir Elment de bibliothque au Chapitre 5 du Guide de rfrence ArchiCAD.

Commandes du premier niveauCes commandes sont faciles comprendre et utiliser. Elles ne ncessitent pas de connaissances en programmation. Vous pouvez pourtant crer de nouveaux objets trs utile, mme en nutilisant que les commandes de ce premier groupe.

Formes simplesLes formes GDL sont des units gomtriques simples qui composent ensemble un lment de bibliothque complexe. Les formes sont places dans lespace 3D en crivant une instruction dans le script GDL. Les commandes de forme consistent dun mot-clef qui dfinit le type de la forme et dun certain nombre de valeurs numriques ou de paramtres alphabtiques qui dfinissent ses dimensions. Le nombre de valeurs requises varie de forme en forme. Au dbut, vous pouvez viter dutiliser des paramtres calcules et vous en tenir aux valeurs fixes. Les commandes de forme dont vous pouvez vous servir ds le dbut sont les suivantes: En 3D : BLOCK CYLIND SPHERE PRISM En 2D : LINE2 RECT2 POLY2 CIRCLE2 ARC2 Les noms de ces formes sexpliquent deux-mmes.Guide de rfrence GDL

5

Chapitre 1 : Introduction

Transformation de coordonnesLes transformations de coordonnes servent dfinir la position, lorientation et lchelle de la forme suivante.Z Y Z Y

GX

L

X

BLOCK ADDX ROTY BLOCK

1, 1.5 30 1,

0.5,

0.5

0.5,

0.5

La Fentre 3D de llment de bibliothque affiche optionnellement lorigine et la position courante globale (G) et locale (L) des axes de coordonnes pour lobjet. Les transformations de coordonnes les plus simples sont les suivantes: En 3D : ADDX ADDY ADDZ ROTX ROTY ROTZ En 2D : ADD2 ROT2 Les commandes commenant par ADD dplacent la forme suivante, tandis que les commandes ROT la font tourner autour de lun de ses axes.

Commandes de niveau intermdiaireLes commandes de ce groupe sont un peu plus complexe. Non quelles demandent des connaissances en programmation, mais parce quelles dcrivent des formes plus complexes ou des transformations plus abstraites.

6

Guide de rfrence GDL

Chapitre 1 : Introduction

En 3D : ELLIPS CONE POLY_ LIN_ PLANE PLANE_ PRISM_ CPRISM_ SLAB SLAB_ CSLAB_ TEXT En 2D : HOTSPOT2 POLY2_ TEXT2 FRAGMENT2 Normalement, pour ces commandes, il faut dfinir davantage de valeurs que pour les commandes simples. Pour certaines dentre elles, vous devrez ajouter des valeurs dtat pour dterminer la visibilit des artes et des surfaces.

Transformations de coordonnesEn 3D : MULX ADD En 2D : MUL2 MULY MUL MULZ ROT

PRISM 4,

1, 3, -3,

3, 3, 0

0, -3,

3,

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

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

1 3,

1 3,

Les transformations commenant par MUL modifient lchelle des formes qui les suivent, par exemple en dformant des cercles en ellipses ou des sphres en ellipsodes. Combines avec des valeurs ngatives, elles servent dfinir des symtries. Les commandes de la seconde ligne affectent toutes les trois dimensions en mme temps.Guide de rfrence GDL

7

Chapitre 1 : Introduction

Commandes et fonctions avancesLes commandes de ce troisime groupe reprsentent un degr de complexit accru, soit en raison de leur forme gomtrique, soit parce quelles demandent de programmer effectivement dans GDL. En 3D : BPRISM_ BWALL_ CWALL_ XWALL_ CROOF_ FPRISM_ SPRISM_ EXTRUDE PYRAMID REVOLVE RULED SWEEP TUBE TUBEA COONS MESH MASS LIGHT PICTURE Il y a dans ce groupe des commandes de formes qui vous permettent de tracer un polygone spatial avec un polygone de base pour crer des surfaces courbes lisses. Certaines formes exigent galement la dfinition de rfrences de matires. Avec les plans de coupe 3D, il est possible de gnrer des formes complexes arbitraires partir de formes simples. Les commandes appropries sont CUTPLANE, CUTPOLY, CUTPOLYA, CUTSHAPE et CUTEND. En 2D : PICTURE2 POLY2_A SPLINE2 SPLINE2_A

Instructions de contrle de flux et de conditionFOR NEXT DO WHILE ENDWHILE REPEAT UNTIL IF THEN ELSE ENDIF GOTO GOSUB RETURN END EXIT Ces commandes sont sans doute familires pour tous ceux qui ont dj fait de la programmation, mais elles sont tellement simples que lon peut en comprendre le concept mme si on est dbutant en la matire. Elles vous permettent de crer des parties de scripts rptitives pour placer un grand nombre de formes en crivant peu de lignes, ou elles vous aident prendre de dcisions fondes sur des calculs prcdents.

8

Guide de rfrence GDL

Chapitre 1 : Introduction

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

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

ParamtresLe moment est venu o vous pouvez remplacer les valeurs numriques fixes par des noms de variables. Ceci permet de modifier lobjet en souplesse. Les variables sont accessibles dans le dialogue Options de llment de bibliothque quand vous travaillez sur la Feuille de travail en Plan.

Appels de macroLes formes GDL standard ne reprsentent pas une limite quelconque. Tout lment de bibliothque existant peut devenir son tour une forme GDL. Pour le placer, il suffit de lvoquer par son nom dans le script et dy transmettre les paramtres ncessaires, tout comme pour les commandes de formes standard.

GDL au niveau suprieurQuand vous aurez bien matris les fonctions et commandes prsentes plus haut, vous pourrez vous tourner vers les commandes restantes dont vous aurez sans doute besoin moins souvent. Remarque : La quantit de mmoire installe sur votre ordinateur peut imposer une limite la longueur de vos scripts GDL, l'encastrement des appels de macro et au nombre de transformations.Guide de rfrence GDL

9

Chapitre 1 : Introduction

Pour des informations additionnelles sur ce groupe de commandes, consultez le reste du manuel. Pour obtenir des informations rapides sur les commandes disponibles et sur la structure de leurs paramtres, choisissez les commandes dAide appropries dans le menu Aide.

1.2 Comment ArchiCAD gnre une image 3DLa modlisation 3D dans ArchiCAD est base sur larithmtique virgule flottante, cest dire quil ny a pas de limite pour la taille gomtrique du modle. Quelle que soit sa taille, il garde la mme prcision dans ses moindres dtails . Le modle 3D que vous voyez finalement lcran est compos de primitives gomtriques. Celles-ci sont stockes dans la mmoire de votre ordinateur sous forme binaire et ArchiCAD les gnre conformment avec le plan que vous crez. Cette mtamorphose entre les lments de vos plans et ces donnes binaires est appele la conversion 3D. Les primitives sont les suivantes: - tous les nuds des composants de la construction - toutes les artes liant ces nuds - tous les polygones de surface lintrieur des artes. Les groupes de primitives sont conservs comme des corps. Les corps forment le modle 3D. Toutes les fonctionnalits de visualisation 3D dArchiCAD - surfaces lisses, ombrages, matriaux brillants et transparents - sont bases sur cette structure de donnes.

L'espace 3D dans ArchiCADLe modle 3D est cr dans un espace en trois dimensions mesur par les axes X, Y, Z dun systme de coordonnes matre, dont lorigine est appele lorigine absolue. Dans ArchiCAD, vous pouvez voir lorigine absolue dans le coin infrieur gauche de votre feuille de travail en lanant lapplication sans lire aucun document. De plus, lorigine absolue dfinit le niveau zro auquel se rfrent tous les tages de votre plan. Quand, par exemple, vous placez un objet dans votre dessin, le plan horizontal dfinit sa position suivant les axes x et y du systme de coordonnes matre. La position en z peut tre rgle dans le

10

Guide de rfrence GDL

Chapitre 1 : Introduction

dialogue Options Objet. Cette position sera la base et la position par dfaut du systme de coordonnes local sur lequel est bas le script de lobjet donn.

Transformations de coordonnesDans le GDL, toute forme gomtrique pouvant tre gnre par une simple commande est lie la position actuelle du systme de coordonnes. Par exemple, les BLOCKs rectangulaires sont lis lorigine par un de leurs angles et la longueur, la largeur et la hauteur du bloc sont mesures le long des trois axes, toujours dans la direction positive. Ainsi, la commande BLOCK ne demande que trois paramtres pour dfinir ses dimensions. Que faut-il faire pour gnrer un autre bloc, dplac et tourn? Avec la structure des paramtres BLOCK, ceci nest pas possible, car elle ne possde pas les paramtres correspondants. La solution consiste dplacer le systme de coordonnes dans la direction voulue avant dutiliser la commande BLOCK. Avec les commandes de transformation de coordonnes, le systme peut tre dplac et tourn autour de ses axes. Bien entendu, ces transformations naffectent pas les formes dj gnres, seulement celles crer.

Linterprteur GDLQuand un script GDL est excut, les algorithmes de linterprteur GDL prsents dans ArchiCAD cherchent la position, la taille, langle de rotation, les paramtres utilisateur. Se basant sur ces informations, ils prparent un systme de coordonnes local, correctement plac et orient, prt recevoir les commandes GDL du script de lobjet. Chaque fois quune commande de forme est lue par linterprteur, celui-ci gnre les primitives gomtriques qui forment cet objet particulier. A la fin de la lecture, le modle binaire complet est prsent en mmoire permettant ainsi de raliser des rendus photoralistes, ainsi que des tudes de luminosit. ArchiCAD et ArchiFM contiennent un pr-compilateur et un interprteur pour GDL. Le rsultat de la passe de pr-compilation est stock dans une partie invisible du fichier (dans la partie ressource). Linterprtation du document GDL utilise ce code, ce dispositif augmentant la vitesse danalyse. Si le script GDL est modifi, un nouveau code est gnr.

Guide de rfrence GDL

11

Chapitre 1 : Introduction

Une structure de donne convertie dun autre format de fichiers (par exemple, DXF, Zoom, Alias Wavefront) sera stocke dans la partie binaire des symboles ArchiCAD. Cette partie est rfrence par linstruction BINARY dans le script GDL.

L'ordre de l'analyse des scripts GDLL'ordre dans lequel les lments de bibliothque placs sur le Plan sont analyss est indpendant du contrle de l'utilisateur. L'ordre de l'analyse du script GDL est bas sur la structure interne des donns, de plus, les oprations Annuler et Rtablir, ainsi que certaines modifications peuvent influencer cette hirarchie. La seule exception cette rgle sont les scripts spciaux de la bibliothque active dont les noms commencent par "MASTER_GDL" ou "MASTEREND_GDL". Les scripts dont le nom commence par "MASTER_GDL" sont toujours excuts avant la conversion 3D, la cration d'une Coupe/ Faade, le lancement d'une cration de liste et aprs le chargement de la bibliothque active. Les scripts dont le nom commence par "MASTEREND_GDL" sont excuts aprs la conversion 3D, la cration d'une Coupe/Faade ou d'une liste et si la bibliothque active change (Charger bibliothque, Ouvrir un projet, Nouveau projet, Quitter). Ces scripts ne sont pas excuts lorsque vous ditez des lments de bibliothque. Si votre bibliothque contient un ou plusieurs fichiers de ce type, ils seront excuts dans un ordre non dfini. Les scripts MASTER_GDL et MASTEREND_GDL peuvent inclure des dfinitions d'attributs, l'initialisation des variables globales utilisateur, des commandes 3D (effectives seulement sur le modle 3D), des dfinitions de liste de valeurs (voir la commande VALUES dans le chapitre consacr aux Scripts non-gomtriques) et des commandes spcifiques des extensions GDL. Les attributs dfinis dans ces scripts seront fusionns avec le jeu d'attributs ArchiCAD (les attributs ArchiCAD ayant les mmes noms ne seront pas remplacs, tandis que les attributs provenant de GDL et non dits dans ArchiCAD seront toujours remplacs).

12

Guide de rfrence GDL

Chapitre 2 : Elments de syntaxe de base

Chapitre 2Elments de syntaxe de baseCe chapitre prsente les lments de base de la syntaxe de GDL, y compris les instructions, les labels, les identificateurs, les variables et les paramtres. Les rgles typographiques sont aussi expliques en dtail.

Guide de rfrence GDL

13

Chapitre 2 : Elments de syntaxe de base

Les rgles de syntaxe de GDLGDL ne fait pas de diffrence entre les minuscules et les majuscules lexception des chanes de caractre places entre guillemets. La fin logique dun script GDL est note par une instruction END ou EXIT en fin de fichier ou par la fin physique du fichier. Instructions Un programme GDL est compos dinstructions. Une instruction peut commencer par un mot-cl (dfinissant une forme GDL, des transformations de coordonnes, ou un contrle du droulement), par un nom de macro ou par un nom de variable suivi par = et une expression mathmatique. Ligne Les instructions sont dans des lignes spares par des caractres fin_de_ligne. Une virgule (,) en dernire position signifie que linstruction se poursuit sur la ligne suivante. Les deux points (:) sont utiliss pour sparer les instructions GDL dans une mme ligne. Vous pouvez taper des commentaires aprs un point dexclamation (!). Des lignes vides peuvent tre insres dans le document et un nombre quelconque despaces ou de tabulations peut sparer les oprandes des oprateurs. Aprs un mot-cl ou une macro, un espace ou une tabulation est obligatoire. Label Une ligne peut commencer par un label ou tiquette. Le label est un nombre entier suivi de deux points (:). Le label est la rfrence de linstruction de la ligne. Le compilateur vrifie quun label nest prsent quune seule fois. Lexcution du programme continue au label dfini dans linstruction GOTO ou GOSUB. Caractres disponibles Le texte GDL est compos des minuscules et majuscules de lalphabet anglais, des nombres et des caractres suivants: * / ^ = " ' ` _ (soulign) ~ ! : , ; . + < > # ( ) |(barre verticale)

Chanes de caractres Toute chane de caractre place entre guillemets (",',`,,,,,), ou toute chane de caractres sans guillemets qui ne figure pas dans un script comme identificateur avec une valeur assigne (appel de macro, nom d'attribut, nom de fichier). Les chanes sans guillemets sont converties en majuscules, il est donc recommand d'utiliser les guillemets. La longueur maximale d'une chane est de 255 caractres. Le caractre '\' a un rle spcial. Son interprtation dpend du caractre suivant.

14

Guide de rfrence GDL

Chapitre 2 : Elments de syntaxe de base

\\ '\' le caractre lui-mme \n nouvelle ligne \t tabulation \nouvelle ligne continuer chane dans la ligne suivante sans commencer une nouvelle ligne \autres incorrect, provoque une alerte Exemples:"Ceci est une chane" bassin 2*1.5 'Ne pas utiliser de guillemets diffrents'

Identificateurs Les identificateurs sont des chanes de caractres spciales: - pas plus de 255 caractres, - commencent par une lettre de l'alphabet, ou par le caractre '_' ou '~', - comprennent des lettres, chiffres et les caractres '_' ou '~'. Les majuscules et les minuscules ne sont pas distingues. Les identificateurs peuvent tre des mots-clefs GDL, des variables globales ou locales ou des chanes (noms). Les mots-clefs et les noms de variables globales sont dtermins par ArchiCAD, tout autre identificateur peut tre utilis comme nom de variable. Variables Les programmes GDL peuvent contenir des variables numriques ou constitues de caractres (dfinies par leurs identificateurs), des chiffres et des chanes de caractres. Il y a deux ensembles de variables: locales et globales. Tous les identificateurs qui ne sont ni des mots-clefs, ni des variables globales, ni des noms d'attributs, ni des noms de macro ou de fichier sont considrs comme des variables locales. S'ils ne sont pas initialiss, leur valeur est de 0.0. Les variables locales sont empiles avec les appels de macros et linterprteur rend leur valeur en retour de macro. Les variables globales ne sont pas empiles pendant lappel de macro. Les variables globales ont des noms rservs (la liste des variables disponibles dans ArchiCAD est fournie dans l'Annexe). Elles ne sont pas empiles dans les appels de macro, permettant l'utilisateur de stocker des valeurs spciales pour le modle et de simuler des codes de retour de macro. Les variables globales utilisateur peuvent tre dfinies dans n'importe quel script, mais elles n'auront d'effet que dans les scripts subsquents. Pour assurerGuide de rfrence GDL

15

Chapitre 2 : Elments de syntaxe de base

que le script souhait soit trait en premier, dclarez ces variables dans l'lment de bibliothque MASTER_GDL. Les autres variables globales peuvent tre utilises dans les scripts pour communiquer avec ArchiCAD. En utilisant la commande "=", vous pouvez assigner une valeur numrique ou de chane aux variables locales et globales. Paramtres Les identificateurs figurant dans la liste des paramtres d'un lment de bibliothque sont appels des paramtres. Les identificateurs de type paramtre ne peuvent pas excder les 32 caractres. A l'intrieur du script, les mmes rgles sont en vigueur que pour les variables locales. Les paramtres des fichiers GDL de type texte seulement sont identifis par les lettres A Z. Types simples Les variables, paramtres et expressions peuvent tre de deux types simples: numriques et chanes de caractres. Expressions numriques: constantes, variables ou paramtres numriques, fonctions retournant des valeurs numriques, et toute combinaison de ces nombres dans une opration. Expressions de type chane de caractres: constantes, variables ou paramtres, fonctions qui retournent une chane, et toute combinaison de ces chanes dans une opration dont le rsultat est une chane. Types drivs Des variables et des paramtres peuvent tre aussi des matrices, et les paramtres peuvent tre des listes de valeurs de type simple. Les Matrices sont des tables une ou deux dimensions de valeurs numriques et ou de chane de caractres, auxquelles on accde directement par index. Les Listes de valeur sont des jeux de valeurs numriques ou de chanes possibles. On peut les assigner aux paramtres dans le script de liste de valeurs de l'lment de bibliothque ou dans le script MASTER_GDL, et apparatront dans la liste des paramtres comme pop-up menu.

16

Guide de rfrence GDL

Chapitre 2 : Elments de syntaxe de base

[aaa] Les crochets signifient que les lments contenus sont optionnels (s'ils sont en gras, ils doivent tre entrs tels quels). . . . Llment prcdent peut tre rpt nomvar Le nom dune variable GDL chane Une chane de caractres (ne peut inclure les guillements) CHAINE_GRAS Doit tre entr dans le style affich CHAINE_MAJUSCULE caractres spciaux Doivent tre entr tels quels autre_chane_minuscule_dans_liste_paramtres N'importe quelle expression GDL

Guide de rfrence GDL

17

Chapitre 2 : Elments de syntaxe de base

18

Guide de rfrence GDL

Chapitre 3 : Transformation de coordonnes

Chapitre 3Transformation de coordonnesCe chapitre dcrit les diffrents types de transformation utiliss dans GDL (translation, modification de lchelle, rotation du systme de coordonnes) et la manire dont ces transformations sont interprtes et gres.

Guide de rfrence GDL

19

Chapitre 3 : Transformation de coordonnes

3.1 A propos des transformationsDans GDL, tous les lments gomtriques sont lis un systme de coordonnes local. Par exemple, un angle de bloc est lorigine et ses cts sont les plans x-y, x-z et y-z. Le positionnement dun lment dans la position dsire se fait en deux tapes. Dabord, il faut dplacer le systme la position dsire. Ensuite, gnrer llment. Tout mouvement, rotation, ou tirement du systme de coordonnes le long ou autour dun axe est appel une transformation. Les transformations sont stockes dans une pile, linterprtation commence donc par la dernire transformation. Les scripts hritent de cette pile de transformation, ils peuvent insrer de nouveaux lments mais ne peuvent supprimer que celles qui sont dfinies localement. Il est possible de supprimere une ou plusieurs transformations dfinies dans le script courant. En revenant dun script, les transformations dfinies localement sont effaces de la pile.

3.2 Transformations pour le modle 3DADDX ADDY ADDZ dx dy dz Ces commandes dplacent le systme de coordonnes local de dx, dy ou dz respectivement le long de laxe donn. ADD dx, dy, dz Remplace la squence ADDX dx : ADDY dy : ADDZ dz. Cette instruction na quune entre dans la pile et peut donc tre supprime par DEL 1. Exemple :Z

Y

Z

Y

cX

aX

b

ADD a,b,c

20

Guide de rfrence GDL

Chapitre 3 : Transformation de coordonnes

MULX MULY MULZ

mx my mz Ces commandes font subir une modification de lchelle du systme de coordonnes local le long de laxe donn. Des valeurs mx, my, mz ngatives induisent des images symtriques.

MUL

mx, my, mz Remplace la squence MULX mx : MULY my : MULZ mz. Cette instruction na quune entre dans la pile et peut donc tre supprime par DEL 1.

ROTX ROTY ROTZ

alphax alphay alphaz Ces commandes font subir une rotation au systme de coordonnes de alphax, alphay, alphaz degrs respectivement le long de laxe dfini, dans le sens inverse des aiguilles dune montre. Exemple :Z

Y

Y

X

betaX

ROTZ beta

ROT

x, y, z, alpha Fait subir une rotation au systme de coordonnes local autour de laxe dfini par le vecteur (x, y, z) de alpha degrs dans le sens inverse des aiguilles dune montre.. Cette instruction na quune entre dans la pile et peut donc tre supprime par DEL 1.

XFORM

a11, a12, a13, a14, a21, a22, a23, a24, a31, a32, a33, a34

Guide de rfrence GDL

21

Chapitre 3 : Transformation de coordonnes

Dfinit une matrice de transformation complte. Utilise normalement pour la gnration automatique de code GDL. Une seule entre dans la pile. x = a11 * x + a12 * y + a13 * z + a14 y = a21 * x + a22 * y + a23 * z + a24 z = a31 * x + a32 * y + a33 * z + a34 Exemple:

A=60 B=30 XFORM

BLOCK

2, 0, 0, 1,

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

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

0, 0, 0

22

Guide de rfrence GDL

Chapitre 3 : Transformation de coordonnes

3.3 Transformations pour le Symbole 2DCes instructions sont les quivalents en 2D des transformations ADD, MUL et ROTZ utilises en 3D. ADD2 x, y Exemple:Y

Y

X

bX

aADD2 a, b

MUL2 ROT2

x, y alpha Exemple:Y

Y X

beta

X

ROT2 beta

Guide de rfrence GDL

23

Chapitre 3 : Transformation de coordonnes

3.4 Gestion de la pile de transformationsDEL n [, beg_with] Supprime les n entres prcdentes dans la pile. Si le paramtre beg_with n'a pas t spcifi, les n entres prcdentes sont supprimes. Le systme de coordonnes local revient la position prcdente. Si un paramtre beg_with a t spcifi, les n entres prcdentes sont supprimes en commenant par la transformation laquelle la valeur "beg_with" fait rfrence. La numrotation commence par 1. Si un paramtre beg_with a t spcifi et que n est ngatif, supprime vers la fin. Si le nombre de transformations dfinies dans le script courant est infrieur n, seules les transformations dfinies seront supprimes. DEL TOP Supprime toutes les transformations courantes du script courant. NTR ( ) Retourne le nombre courant de transformations..

24

Guide de rfrence GDL

Chapitre 3 : Transformation de coordonnes

Exemple:

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

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

1,

1

0.5, 1 0.5,

2 !Deletes the ADDX 2 !transformation 1 !Deletes the ADDZ 1.5 !transformation

NTR()-2 0.5, 3 2

!Deletes the ROTX -60 !and ADDY 2.5 !transformations 2

BLOCK

1,

0.5,

Guide de rfrence GDL

25

Chapitre 3 : Transformation de coordonnes

26

Guide de rfrence GDL

Chapitre 4 : Elments plan en 3D

Chapitre 4Elments plan en 3DLes lments plan en 3D prsents dans ce chapitre peuvent tre utiliss dans les scripts 3D, permettant de dfinir dans lespace 3D des points, des lignes, des arcs, des cercles et des polygons plan.

Guide de rfrence GDL

27

Chapitre 4 : Elments plan en 3D

HOTSPOT

x, y, z [,unID] Point chaud 3D au point (x, y, z). unID est lidentificateur unique du point chaud dans le script 3D. Cela peut se rvler utile si le nombre de points chauds est variable.

LIN_

x1, y1, z1, x2, y2, z2 Un segment de ligne entre deux points P1(x1,y1,z1) et P2(x2,y2,z2).

RECT

a, b Un rectangle dans le plan x-y de cts a et b. Restriction de paramtres: a, b > 0Y a

bX

POLY

n, x1, y1, . . . xn, yn Un polygone n artes dans le plan x-y. Les coordonnes du nudi sont (xi, yi, 0). Restriction de paramtres: n>3Y

n 1 2 3 X

28

Guide de rfrence GDL

Chapitre 4 : Elments plan en 3D

POLY_

n, x1, y1, mask1, . . . xn, yn, maskn Similaire linstruction POLY, mais des artes peuvent tre omises. Si maski=0, larte partant du nud (xi,yi) est omise. Si maski=1, le nud est affich. maski = -1 est utilis pour dfinir directement des trous. Voir PRISM_ pour davantage de dtails. Restriction de paramtres: n>3Y

n 1 2 3 X

Y

n 1 2 3 X

PLANE

n, x1, y1, z1, . . . xn, yn, zn Un polygone avec n artes sur un plan arbitraire. Les coordonnes de nudi sont (xi, yi, zi). Le polygone doit trouver sur un plan pour donner un rsultat correct dans les vues ombres et les rendus, mais cette condition nest pas vrifie. Restriction de paramtres: n>3

PLANE_

n, x1, y1, z1, mask1, . . . xn, yn, zn, maskn Similaire linstruction PLANE, mais des artes peuvent tre omises comme pour POLY_. Restriction de paramtres: n>3

Guide de rfrence GDL

29

Chapitre 4 : Elments plan en 3D

CIRCLE

r Un cercle dans le plan x-y avec son centre lorigine et un rayon r.

r

ARC

r, alpha, beta Un arc (dans le mode Fil-de-fer) /secteur (dans les autres modes) sur le plan avec son centre lorigine, de langle alpha langle bta et de rayon r. Alpha et bta sont exprims en degrs.Y

be ta

alphaX

30

Guide de rfrence GDL

Chapitre 5 : Formes 3D

Chapitre 5Elments 3DCe chapitre traite toutes les commandes pour la cration des formes 3D disponibles dans GDL, des formes de base la constitution des formes les plus complexes partir de polylignes. Il contient aussi les lments pour la visualisation (sources lumineuses, lments dimage), ainsi que la dfinition d'un texte 3D. Il explique aussi en dtail les primitives de la structure des donnes 3D contenant noeuds, vecteurs, artes, polygones, corps et matires, suivies de linterprtation des donnes binaires et des commandes lies aux plans de coupe.

Guide de rfrence GDL

31

Chapitre 5 : Formes 3D

5.1 Formes de baseBLOCK BRICK a, b, c a, b, c Le premier angle du bloc est lorigine locale et les artes sur les axes x, y et z ont respectivement les longueurs a, b et c.. Des valeurs zro donnent des blocs dgnrs (rectangle ou ligne). Restriction de paramtres:a, b, c > 0

Z b

a

cY X

CYLIND

h, r Cylindre droit, sur laxe z, de hauteur h et de rayon r. Si h est zro, un cercle est gnr dans le plan x-y. Si r est zro, une ligne est gnre le long de laxe z.Z

r

h

Y

X

32

Guide de rfrence GDL

Chapitre 5 : Formes 3D

SPHERE

r Sphre centre sur lorigine, de rayon r.Z

r Y

X

ELLIPS

h, r Demi ellipsode. Sa coupe transversale avec le plan x-y est un cercle centr sur lorigine, de rayon r. Le demi-axe selon z est de longueur h.Z

r Y

X

Exemple :ELLIPS r, r ! hemisphere

Guide de rfrence GDL

h

33

Chapitre 5 : Formes 3D

CONE

h, r1, r2, alpha1, alpha2 Portion de cne avec alpha1 et alpha2 reprsentant les angles dinclinaison sur laxe z des surfaces de dessus et de dessous, r1 et r2 les rayons des cercles et h la hauteur le long de z. Si h est zro, les valeurs de alpha1 et alpha2 sont ignores et un anneau est gnr dans le plan x-y. Alpha1, alpha2 sont exprims en degrs. Restriction de paramtres:0 < alpha1 < 180 and 0 < alpha2 < 180Z Z

2 ha alpr2

alpr1 Y

ha

1Y

X

Exemple :CONE h, r, 0, 90, 90 ! a regular cone

PRISM

n, h, x1, y1, . . . xn, yn Prisme droit de base polygonale dans le plan x-y (voir les paramtres de POLY). La hauteur sur laxe z est abs(h). Une valeur ngative de h signifie que le deuxime polygone est en dessous du plan x-y. Restriction de paramtre : n>3Z

h

Y n X 1

2

34

Guide de rfrence GDL

h

Chapitre 5 : Formes 3D

PRISM_

n, h, x1, y1, mask1, . . . xn, yn, maskn Similaire linstruction PRISM, mais des artes ou des faces horizontales peuvent tre omises. Restriction de paramtres : n>3Z

j3

j2

j4 i+1

Y

X

i

j1

Le nombre maski est un nombre entier binaire (entre 0 et 15 ou 64 et 79) ou -1.maski = j1 + 2*j2 + 4*j3 + 8*j4 + 64*j7 o j1, j2, j3, j4, j7 peuvent tre 0 ou 1.

Les nombres j1, j2, j3, j4 reprsentent la prsence (1) ou labsence (0) des artes et des faces. j1 : arte horizontale infrieure j2 : arte verticale j3 : arte horizontale suprieure j4 : ct j7 : valeur de masque spciale additionnelle prenant uniquement effet si j2 est gal 1 et rgit la visibilit dpendant du point de vue de l'arte verticale courante j2 = 0: arte verticale toujours invisible j2 = 1 et j7= 1: arte verticale visible seulement si c'est un contour vu de la direction courante de la vue j2 = 1 et j7 = 0: arte verticale toujours visible

Guide de rfrence GDL

35

Chapitre 5 : Formes 3D

Valeurs possibles du masque (les lignes paisses reprsentent les artes visibles) :invisible surface 0 8 visible surface

1

9

2

10

3

11

4

12

5

13

6

14

7

15

Maski = -1 est utilis pour dfinir des trous directement dans le prisme. Il marque la fin dun contour et le dbut dun trou dans le contour. Les coordonnes avant cette valeur doivent tre les mmes que les coordonnes du premier point du contour/trou. Si vous avez utilis la valeur de masque -1, la dernire valeur de masque dans la liste des paramtres doit tre -1, pour marquer la fin du dernier trou. Les trous doivent tre disjoints et les intersections internes sont interdites dans le polygone pour obtenir un rsultat correct dans les rendus et les ombrages. Exemples :

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

PRISM_ 4,1, 0,0,7, 1,1,5, 2,0,15, 1,3,15Guide de rfrence GDL

36

Chapitre 5 : Formes 3D

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

1.2, 0, 0.06, 0.06, 0.21, 0.23, 0.23, 0.21, 0.06, 0.06, 0, 0, 0.03, 0.03, 0.2, 0.2, 0.03, 0.03, 0.2, 0.2, 0.03, 0.03, 0.03, 0.2, 0.2, 0.03, 0.03,

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

!End of contour

!End of first hole

!End of second hole

!End of third hole

Guide de rfrence GDL

37

Chapitre 5 : Formes 3D

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

j7 = 1

9, R, SIN(180)*R, SIN(210)*R, SIN(240)*R, SIN(270)*R, SIN(300)*R, SIN(330)*R, SIN(360)*R, R, 9, R, SIN(180)*R, SIN(210)*R, SIN(240)*R, SIN(270)*R, SIN(300)*R, SIN(330)*R, SIN(360)*R, R,

H, 15, 15, 15, 15, 15, 15, 15, 15, 15 H, 15, 64+15, 64+15, 64+15, 64+15, 64+15, 64+15, 64+15, 15

38

Guide de rfrence GDL

Chapitre 5 : Formes 3D

CPRISM_

topmat, botmat, sidemat, n, h, x1, y1, mask1, . . . xn, yn, maskn Extension de linstruction PRISM_, les trois premiers paramtres sont utiliss pour le nom/index de matire des surfaces suprieure, infrieure et latrale. Les autres paramtres sont les mmes que dans PRISM_. Restriction de paramtres: n>3 Voir aussi l'instruction MATERIAL au Chapitre "Attributs" et la fonction IND dans l'Annexe. Exemple :

CPRISM_

Iron, 0, T_,

!Iron is a predefined ! material. ! 0 is a general ! material. ! T_ is a global ! variable (a material ! index)

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

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

! end of the contour

! end of first hole

! end of second hole

Guide de rfrence GDL

39

Chapitre 5 : Formes 3D

BPRISM_

topmat, botmat, sidemat, n, h, radius, x1, y1, mask1, . . . xn,

yn,

maskn

Une prisme courbe lisse, base sur la mme structure de donnes que llment droit CPRISM_. Le seul paramtre additionel est le rayon (radius). Drive dune CPRISM_ correspondante en courbant le plan x-y en un cylindre tangentiel ce plan. Les artes le long de laxe x sont transforms en arcs circulaires; les artes le long de laxe y restent horizontale; les artes le long de z sont de direction radiale. Voir aussi BWALL_. Exemples (avec les CPRISM_-s correspondants):

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

"Glass", 1, 15, 15, 15

"Glass", "Glass", ! radius = 1

40

Guide de rfrence GDL

Chapitre 5 : Formes 3D

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

Guide de rfrence GDL

41

Chapitre 5 : Formes 3D

FPRISM_

topmat, botmat, sidemat, hillmat, n, thickness, angle, hill_height, x1, y1, mask1, ... xn, yn, maskn Similaire l'instruction PRISM_ avec les paramtres additionnels hillmat, angle et hill_height parameters. Une partie en pente est ajoute au haut du prisme droit. hillmat: la matire de ct de la partie en pente angle: l'angle d'inclinaison des artes latrales de la pente. Restriction: 0 < angle < 90. Si angle = 0 les artes latrales de la pente forment, sur une vue orthogonale, un quart de cercle avec la rsolution spcifie au moyen de l'instruction RESOL. la hauteur de la pente. Notez que le paramtre paisseur reprsente la hauteur totale du FPRISM.

hill_height:

Restriction de paramtres: n > 3, hill_height < thickness Maski = -1 est utilis pour dfinir directement des percements dans le prisme. Voir la description sous PRISM_ .

hill_height thickness

n

angle

1 2

42

Guide de rfrence GDL

Chapitre 5 : Formes 3D

Exemples :

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

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

Guide de rfrence GDL

43

Chapitre 5 : Formes 3D

SPRISM_

topmat, botmat, sidemat, n, xb,yb, xe, ye, h, angle, x1, y1, mask1, . . . xn, yn, maskn Extension de l'instruction CPRISM_ avec la possibilit d'avoir un polygone suprieur non parallle au plan x-y. La dfinition du plan suprieur est similaire la dfinition du plan de l'instruction CROOF_. La hauteur du prisme est dfinie la ligne de rfrence. Les polygones suprieur et infrieur ne peuvent s'intersecter. Paramtres additionnels: xb, yb, xe, ye: coordonnes des deux extrmits de la ligne de rfrence (vecteur), angle: angle de rotation du polygone suprieur autour de la ligne de rfrence oriente donne, exprim en degrs (dans le sens contraire des aiguilles d'une montre),

Remarque: toutes les coordonnnes calcules en z des nuds du polygone suprieur doivent tre suprieures ou gales 0.

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

Exemple:

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

'Grass', 0, 0, 1, 6, 7, 5.5, 6, 11, 15, 15, 15, 15, 15, 15

'Earth', 6, 2,

'Earth', -10.0,

44

Guide de rfrence GDL

Chapitre 5 : Formes 3D

SLAB

n, h, x1, y1, z1, . . . xn, yn, zn Prisme oblique. Les faces latrales sont toujours perpendiculaires au plan x-y, la base est un polygone tourn autour dun axe parallle au plan x-y. Une valeur ngative de h signifie que le deuxime polygone de base est au-dessous du premier. Linterprteur ne vrifie pas que les points sont vraiment sur un mme plan. Les nuds en dehors du plan donnent des effets de rendus et dombrages bizarres. Restriction de paramtres: n>3Z

Y

X

SLAB_

n, h, x1, y1, z1, mask1, . . . xn, yn, zn, maskn Similaire SLAB mais des artes ou des faces horizontales peuvent tre omises. Cette instruction est analogue PRISM_.

CSLAB_

topmat, botmat, sidemat, n, h, x1, y1, z1, mask1, . . . xn, yn, zn, masknExtension de linstruction SLAB_, les trois premiers paramtres sont utiliss pour le nom/index de matire des surfaces suprieure, infrieure et latrale. Les autres paramtres sont les mmes que dans SLAB_. Voir aussi linstruction MATERIAL au chapitre Attributs et la fonction IND dans l'Annexe.

Guide de rfrence GDL

45

Chapitre 5 : Formes 3D

CWALL_

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

leftmat, rightmat, sidemat: Noms/index de matire pour les surfaces gauche, droite et de ct. Les cts droit et gauche du mur suivent laxe x. Voir aussi linstruction MATERIAL au chapitre Attributs et la fonction IND dans l'Annexe. La ligne de rfrence du mur est toujours modifie pour concider avec laxes x. Les cts du mur sont dans le plan x-z. height : La hauteur du mur par rapport sa base. x1, x2, x3, x4 : Les extrmits projetes du mur se trouvant dans le plan xy, comme vous le voyez plus bas. Si le mur est isol, alors x1 = x4 = 0, x2 = x3 = longueur du mur. t: lpaisseur du mur. t < 0 si le corps du mur est droite de laxe x, t > 0 si le corps du mur est gauche de laxe x, les trous: t = 0 le mur est reprsent par un polygone et des cadres sont gnrs autour des trous.

46

Guide de rfrence GDL

Chapitre 5 : Formes 3DY

t

X x1 x4 x3 x2

mask1, mask2, mask3, mask4 : Contrlent la visibilit des artes et des polygones latraux. maski = j1 + 2*j2 + 4*j3 + 8*j4 o j1, j2, j3, j4 peuvent tre 0 ou 1. Les nombres j1, j2, j3, j4 reprsentent la prsence (1) ou labsence (0) des nuds et des cts.Z mask 3

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

n:

le nombre douvertures dans le mur.

xbegi, loweri, xendi, upperi : coordonnes des ouvertures (voir ci-dessous).Z

height

i

lower

xbeg xendi

upper

i

i

X

Guide de rfrence GDL

47

Chapitre 5 : Formes 3D

framevisi : 1 si le artes du trou sont visibles, sinon 0. Les valeurs ngatives dfinissent la visibilit de chacune des artes de louverture. framevisi = - (1*j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 + 128*j8) o j1, j2... j8 peuvent tre 0 ou 1. Les nombres de j1 j4 rgissent la visibilit des artes de l'ouverture du ct gauche de la surface du mur, tandis que ceux de j5 affectent les artes de droite, comme on le voit sur l'illustration.Z

8

j3 j7 j2 j4 j8 j5 Y j1 j6

X

Une arte perpendiculaire la surface du mur est visible s'il y a des artes visibles partant de chacune de ses extrmits. m: le nombre des plans de coupe ai, bi, ci, di : coefficients de lquation dfinissant le plan de coupe [ai*x + bi*y + ci*z = di]. Les parties sur le ct positif du plan de coupe (ai*x + bi*y + ci*z > di) seront effaces.

[ai, bi, ci]

48

Guide de rfrence GDL

Chapitre 5 : Formes 3D

BWALL_

leftmat, rightmat, sidemat, height, x1, x2, x3, x4, t, radius, mask1, mask2, mask3, mask4, n, xbeg1, lower1, xend1, upper1, framevis1, . . . xbegn, lowern, xendn, uppern, framevisn, m, a1, b1, c1, d1, . . . am, bm, cm, dm Mur courbe lisse, bas sur la mme structure de donnes que llment de mur simple CWALL_. Le seul paramtre additionnel est le rayon (radius). Driv du CWALL_ correspondant en courbant le plan x-z en un cylindre tangentiel ce plan. Les bords le long des axes x sont transforms en arcs circulaires, les bords le long des axes y seront de direction radiale et les bords verticaux restent verticaux. La courbature est approxime par le nombre de segments dfinis par la directive RESOL, comme pour les sphres et les cylindres. Voir CWALL_ pour des dtails.

Guide de rfrence GDL

49

Chapitre 5 : Formes 3D

Exemple : un BWALL_ et le CWALL_ correspondant

ROTZ -60 BWALL_ 1, 4, 0.3, 15, 5, 1, 1.8, 4.1, 4.1, 4.1, 1, 0,

1, 0, 2, 15, 1, 0, 1, 1.55, 2.1,

1, 6, 15, 3.8, 3, 4.5, 4.5, 4.5,

6, 15, 2.5, 2.5, 1.4, 1.95, 2.5, 3

0,

-255, -255, -255, -255, -255,

-0.25, 1,

50

Guide de rfrence GDL

Chapitre 5 : Formes 3D

XWALL_

leftmat, rightmat, sidevmat, sidehmat, height, x1, x2, x3, x4, y1, y2, y3, y4 t, radius logheight, logoffset, mask1, mask2, mask3, mask4, n, xbeg1, lower1, xend1, upper1, framevis1, ... xbegn, lowern, xendn, uppern, framevisn, m, a1, b1, c1, d1, ... am, bm, cm, dm, status Dfinition de mur tendu base sur la mme structure de donnes que llment BWALL. Paramtres supplmentaires : sidevmat, sidehmat : le nom/index de la matire du ct vertical/horizontal y1, y2, y3, y4 : les points dextrmit projets du mur rsidant sur le plan x-y, comme indiqu ci-dessousY

y4 y1

y2 y3 x1 x2 x3 x4

X

logheight, logoffset : les paramtres supplmentaires pour composer un mur partir de rondins

logheight logoffset

Guide de rfrence GDL

51

Chapitre 5 : Formes 3D

status : contrle le comportement du mur compos de rondins status = j1 + 2*j2 + 4*j3 + 32*j6 + 64*j7 + 128*j8 + 256*j9 j1 : applique la matire du ct droit sur les artes horizontales j2 : applique la matire du ct gauche sur les artes horizontales j3 : commence avec un demi-rondin j6 : aligne la texture sur les artes de mur j7 : double rayon sur le ct courbe j8 : rondin carr sur le ct droit j9 : rondin carr sur le ct gauche Exemple :

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

"Whitewash", "Whitewash", 4.0, 0.3, 0.0, 1.2,

15,

15, -255, -255, -255,

1.25, 2.5, 2.25, 2.5, 3.25, 2.5,

52

Guide de rfrence GDL

Chapitre 5 : Formes 3D

BEAM

leftmat, rightmat, sidevmat, topmat, bottommat, height, x1, x2, x3, x4, y1, y2, y3, y4, t, mask1, mask2, mask3, mask4 Dfinition de poutre. Les paramtres sont similaires ceux de llment XWALL_. Paramtres supplmentaires : topmat, bottommat : les matires du haut et du bas Exemple :

BEAM

1, 0.3, 0.0, 15,

1, 0.0, 0.0, 15,

1, 7.0, 0.1, 15,

1, 7.0, 0.1, 15

1, 0.0, 0.5,

Guide de rfrence GDL

53

Chapitre 5 : Formes 3D

CROOF_

topmat, botmat, sidemat, n, x1, y1, x2, y2, height, angle, thickness, x1, y1, alpha1, mask1,,xn, yn, alphan, maskn Un pan de toiture en pente avec une rive angle personnalis. topmat, botmat, sidemat: nom/index des matires du haut, du bas et de ct n: x1, y1, x2, y2: height: angle: le nombre des nuds du polygone de toiture ligne (vecteur) de rfrence la hauteur de la toiture la ligne de rfrence (surface infrieure) l'angle de rotation du plan de la toiture autour de la ligne de rfrence oriente en degr (sens contraire aux aiguilles d'une montre) l'paisseur de la toiture mesure le long de l'axe z en direction ngative les coordonnes des nuds du polygone de toiture l'angle entre la face appartenant l'arte i de la toiture et le plan perpendiculaire au plan de la toiture; -90 < alphai < 90. En regardant dans la direction de l'arte du polygone de toiture correctement oriente, l'angle de rotation dans le sens contraire aux aiguilles d'une montre est positif.

thickness: xi, yi: alphai:

Les artes du polygones de toiture sont correctement orient si, dans une vue de dessus, le contour a la squence contraire au sens des aiguilles d'une montre et les trous ont une squence dans le sens des aiguilles d'une montre. maski: dfinit la visibilit des artes de la toiture, ses valeurs sont identiques celles de PRISM_ Restriction de paramtres: n>3

54

Guide de rfrence GDL

Chapitre 5 : Formes 3D

Exemples:

CROOF_

1, 9, 0, 1, 0.0, -30, 2.5, 0, 10, 10, 0, 0, 2, 8, 5, 2,

1, 0, 0,

1,

! materials

0, 0, 20, 20, 0, 5, 5, 15, 5,

! reference line (x1,y1) (x2,y2) ! height ! angle ! thickness -60, 15, 0, 15, -30, 15, 0, 15, 0, -1, 0, 15, 0, 15, 0, 15, 0, -1

Guide de rfrence GDL

55

Chapitre 5 : Formes 3D

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

56

Guide de rfrence GDL

Chapitre 5 : Formes 3D

MESH

a, b, m, n, z11, z12, . . z21, z22, . . . . . zn1, zn2, . .

mask, . z1m, . z2m, . znm

Maille simple base sur un filet quidistant. Les cts du rectangle de base sont a et b; les points m et n sont placs le long des axes x et y respectivement; zij est laltitude du nud. Masquage mask = j1 + 4*j3 + 16*j5 + 32*j6 + 64*j7 o j1, j3, j5, j6, j7 peuvent tre 0 ou 1. j1 (1): j3 (4): j5 (16): j6 (32): j7 (64): la surface de base est prsente. les surfaces de ct sont prsentes. les artes de base et de ct sont visibles. les artes du haut sont visibles. les artes de la surface du haut sont visibles, la surface du haut nest pas lisse.Z

ZijY

n jb

1 1a

i

m

X

Restrictions de paramtres:m > 2, n > 2

Guide de rfrence GDL

57

Chapitre 5 : Formes 3D

Exemples:

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

58

Guide de rfrence GDL

Chapitre 5 : Formes 3D

ARMC

r1, r2, l, h, d, alpha Une partie de tube partant dun autre tube; les paramtres sont prsents sur la figure (les lignes de pntration sont galement calcules et dessines). Alpha est en degrs. Restriction de paramtres:r1 > r2 + d r1 < l * sin(alpha) Zalp har2

r2 * cos(alpha)

h

l

r1 Y

X

d

X

Exemple :

ROTY CYLIND ADDZ ARMC ADDZ ROTZ ARMC ADDZ ROTZ ARMC

90 10,1 6 1, 0.9, 3, -1 -90 1, 0.75, 3, -1 -90 1, 0.6, 3,

0,

0,

45

0,

0,

90

0,

0,

135

Guide de rfrence GDL

59

Chapitre 5 : Formes 3D

ARME

l, r1, r2, h, d Partie de tube partant dune ellipsode dans le plan y-z; les paramtres sont comme sur la figure (les lignes de pntration sont galement calcules et dessines). Restriction de paramtres: r1 > r2+ d l > h* (1 - (r2 - d)2 / r12)Z d r2

h

l

Y r1

Exemple:

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

60

Guide de rfrence GDL

Chapitre 5 : Formes 3D

ELBOW

r1, alpha, r2 Tube coud dans le plan x-z. Le rayon de larc est r1, langle est alpha et le rayon du tube est r2. Alpha est en degrs. Restriction de paramtres: r 1 > r2Z

alp

ha

r1

X r2

Exemple:

ROTY ELBOW ADDZ CYLIND ROTZ MULZ ELBOW DEL ADDX CYLIND ADDZ ROTZ ELBOW

90 2.5, -4 -90 -1 5, 1 10

180, 4,1

1

180,

1

4, 1 4 90 2.5, 180,

1

Guide de rfrence GDL

61

Chapitre 5 : Formes 3D

5.2 Formes gnres partir de polylignesCes lments permettent de crer des formes 3D complexes en utilisant une polyligne et une rgle intgre. Il est possible de faire subir de rotations, des projections et des translations la polyligne donne. Les corps obtenus sont une gnralisation dlments existants, comme PRISM_ ou CYLIND. Formes gnres partir dune seule polyligne: EXTRUDE PYRAMID REVOLVE Formes gnres partir de deux polylignes: RULED SWEEP TUBE TUBEA La premire polyligne est toujours dans le plan x-y. Les points sont dfinis par deux coordonnes, la troisime valeur est ltat (voir ci-dessous). La seconde polyligne (pour RULED et SWEEP) est une courbe spatiale. Les nuds sont dfinis par trois coordonnes. Forme gnre partir de quatre polylignes: COONS Forme gnre partir de plusieurs polylignes: MASS Restrictions gnrales pour les polylignes: Les nuds conscutifs ne doivent pas concider (except RULED). La polyligne ne doit pas se couper elle-mme (non vrifi, mais le calcul des lignes caches et lombrage seront incorrects). Les polylignes peuvent tre ouvertes ou fermes. Dans le dernier cas, le premier nud doit tre rpt la fin de l'instruction.

62

Guide de rfrence GDL

Chapitre 5 : Formes 3D

Masquage Les valeurs de masque sont utilises pour activer ou dsactiver les surfaces caractristiques et/ou les artes de la forme 3D. Les valeurs de masque sont spcifiques chaque lment. mask = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 o j1, j2, j3, j4, j5, j6, j7 peuvent tre 0 ou 1. Les nombres j1, j2, j3, j4 indiquent que les surfaces sont prsentes (1) ou omises (0). Les nombres j5, j6, j7 indiquent que les artes sont visibles (1) ou invisibles (0). j1 : surface de base j2 : surface du haut j3 : surface de ct j4 : autre surface de ct j5 : artes de la base j6 : artes du dessus j7 : coupe transversale/artes de surface visibles, surface non lisse Pour activer toutes les surfaces et artes, la valeur du masque doit tre de 127. Etat Les valeurs dtat sont utilises pour dfinir quun point donn de la polyligne laissera ou non une trace en tournant. 0: 1: -1 : les artes latrales et arcs latitudinaires partant du nud sont tous visibles. les artes latrales et arcs latitudinaires sont seulement utiliss pour afficher le contour. pour EXTRUDE seulement: marque la fin du polygone ou trou qui le comprend et signifie que le nud suivant sera le premier nud dun autre trou.

Pour crer une forme 3D lisse, rgler toutes les valeurs d'tat 1. Utiliser tat = 0 pour crer une fate. Les codes dtat additionnels pour les arcs et les segments tangentiels sont dcrits sous "Code d'tat additionnels pour polylignes". Les autres valeurs sont rservs pour des dveloppements venir.

Guide de rfrence GDL

63

Chapitre 5 : Formes 3D

EXTRUDE

n, dx, dy, dz, mask, x1, y1, s1, . . . xn, yn, sn Prisme gnral utilisant une polyligne comme base dans le plan xy. Le vecteur de dplacement entre bases est (dx, dy, dz). Gnralisation des instructions PRISM et SLAB. La polyligne de base nest pas obligatoirement ferme et les artes latrales ne sont pas perpendiculaires au plan x-y. La polyligne de base peut comprendre des trous, tout comme PRISM_. Les artes de contour peuvent tre visibles ou non. n: le nombre des nuds de la polyligne. mask : contrle la prsence des polygones infrieur et suprieur et, dans le cas dune polyligne ouverte, du polygone latral. tat des artes latrales ou marque la fin du polygone ou du trou.

si :

Restriction de paramtres: n > 2Z j6 j2

j3 Y

n X 1

j1 j5 2

Masquage mask = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6 j1 (1): la surface de base est prsente. j2 (2): la surface du haut est prsente. j3 (4): la surface latrale (de fermeture) est prsente. j5 (16): les artes de la base sont visibles. j6 (32): les artes du haut sont visibles.

64

Guide de rfrence GDL

Chapitre 5 : Formes 3D

Etat 0: 1: -1 :

les artes latrales partant du nud sont toutes visibles. les artes latrales partant du nud sont utilises pour afficher le contour. marque la fin du polygone ou trou qui le comprend et signifie que le nud suivant sera le premier nud dun autre trou.

Exemples:

EXTRUDE

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

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

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

4,

1+2+4+16+32,

Guide de rfrence GDL

65

Chapitre 5 : Formes 3D

A=5 : B=5 R=2 : S=1 C=R-S D=A-R E=B-R EXTRUDE

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

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

1+2+4+16+32, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, -1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, -1

66

Guide de rfrence GDL

Chapitre 5 : Formes 3D

PYRAMID

n, h, mask, x1, y1, s1, . . . xn, yn, sn Pyramide base sur une polyligne dans le plan x-y. Le sommet de la pyramide est en (0, 0, h). n: nombre de nuds de la polyligne. mask : si : contrle la prsence du polygone infrieur et (dans le cas dune polyligne ouverte) du polygone latral. tat des artes latrales.

Restriction de paramtres: h > 0 n > 2Z

h

Y j3 n j1 X 1 2 j5

Masquage mask = j1 + 4*j3 + 16*j5 o j1, j3, j5 peuvent tre 0 ou 1. j1 (1): j3 (4): j5 (16): Etat 0: 1: la surface de base est prsente. la surface latrale (de fermeture) est prsente. les artes de la base sont visibles. les artes latrales partant du nud sont toutes visibles. les artes latrales partant du nud sont utilises pour afficher le contour.

Guide de rfrence GDL

67

Chapitre 5 : Formes 3D

Exemple :

PYRAMID

PYRAMID

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

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

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

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

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

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

21, 0, 0, 0, 0

RETURN

68

Guide de rfrence GDL

Chapitre 5 : Formes 3D

REVOLVE

n, alpha, mask, x1, y1, s1, . . . xn, yn, sn Surface gnre par la rotation dune polyligne dfinie dans le plan x-y autour de laxe x. n: nombre de nuds de la polyligne. alpha: mask: angle de la rotation en degrs. contrle la prsence des polygones infrieur, suprieur et (dans le cas dun angle alpha < 360) latraux. tat des arcs latitudinaires.

s i:

Restriction de paramtres: n>2 yi > 0.0 yi et yi + 1 (la valeur y de deux nuds voisins) ne peuvent tre zro en mme temps.Z

j1 j4 j6 j3 alpha j2 1 2 j5 n Y

Guide de rfrence GDL

69

Chapitre 5 : Formes 3D

Masquage mask = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 o j1, j2, j3, j4, j5, j6, j7 peuvent tre 0 ou 1. j1 (1): j2 (2): j3 (4): j4 (8): j5 (16): la surface de base est prsente. la surface de dessus est prsente. la surface latrale est prsente langle initial. la surface latrale est prsente langle darrive. les artes de la surface latrale langle initial sont visibles.

j6 (32): les artes de la surface latrale langle darrive sont visibles j7 (64): les artes de la coupe transversale sont visibles, la surface nest pas lisse. Etat 0: 1: 2: les arcs latitudinaires partant du nud sont tous visibles. les arcs latitudinaires partant du nud sont utiliss pour afficher le contour. dans le rendu photoraliste ( condition d'utiliser le moteur ArchiCAD ou Z-buffer), en dfinissant de surfaces lisses, l'arte latitudinale appartenant ce point dfinit une rupture. Cette solution est l'quivalent de la dfinition de nuds additionnels; le calcul est excut par le compilateur. L'algorithme du rendu photoraliste reste inchang. Si vous utilisez un autre mode de projection 3D, cette valeur a le mme effet que la valeur 0.

Exemples :

70

Guide de rfrence GDL

Chapitre 5 : Formes 3D

ROTY REVOLVE

-90 22, 0, 0.093, 0.144, 0.220, 0.318, 0.436, 0.617, 0.772, 0.896, 0.987, 1.044, 1.064, 1.167, 1.181, 1.205, 1.236, 1.270, 1.304, 1.333, 1.354, 1.364, 1.564,

360, 1.982, 2, 1.845, 1.701, 1.571, 1.459, 1.263, 1.045, 0.808, 0.557, 0.296, 0.030, 0.024, 0.056, 0.081, 0.096, 0.1, 0.092, 0.073, 0.045, 0.012, 0,

1+64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

Guide de rfrence GDL

71

Chapitre 5 : Formes 3D

sans code d'tat 2ROTY -90 REVOLVE 26, 180, 16+32, 7, 1, 0, 6.0001, 1, 1, 6, 1, 0, 5.9999, 1.0002, 1, 5.5001, 1.9998, 1, 5.5, 2, 0, 5.4999, 1.9998, 1, 5.0001, 1.0002, 1, 5, 1, 0, 4.9999, 1, 1, 4.0001, 1, 1, 4, 1, 0, 3+COS(15), 1+SIN(15), 1, 3+COS(30), 1+SIN(30), 1, 3+COS(45), 1+SIN(45), 1, 3+COS(60), 1+SIN(60), 1, 3+COS(75), 1+SIN(75), 1, 3, 2, 1, 3+COS(105), 1+SIN(105), 1, 3+COS(120), 1+SIN(120), 1, 3+COS(135), 1+SIN(135), 1, 3+COS(150), 1+SIN(150), 1, 3+COS(165), 1+SIN(165), 1, 2, 1, 0, 1.9999, 1, 0, 1, 1, 0

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

72

Guide de rfrence GDL

Chapitre 5 : Formes 3D

RULED

n, mask, u1, v1, s1, . . . un, vn, sn, x1, y1, z1, . . . xn, yn, zn RULED est une surface base sur une courbe plan et une courbe spatiale ayant le mme nombre de nuds. De simples segments joignent les nuds correspondants des deux polylignes. Cest le seul lment GDL qui permette que des nuds voisins se recouvrent. n: nombre des nuds de polyligne des deux courbes. mask : contrle lexistence des polygones de base, de dessus et de ct, ainsi que la visibilit des artes des polylignes gnratrices. Le polygone de ct joint les premier et dernier nuds des courbes, si lune ou lautre nest pas ferme. coordonnes des nuds de la courbe plan. tat des artes latrales. coordonnes des nuds de la courbe spatiale.

ui , vi : si : xi, yi, zi :

Restriction des paramtres : n>1

Z

2 j2 j6 1

n

j3 Y

n j1 X 1 2 j5

Guide de rfrence GDL

73

Chapitre 5 : Formes 3D

Masquage mask = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6 + 64*j7 o j1, j2, j3, j5, j6, j7 peuvent tre 0 ou 1. j1 (1): j2 (2): j3 (4): j5 (16): j6 (32): j7 (64): Etat 0: 1: la surface de base est prsente. la surface de dessus est prsente (sans effet si la surface de dessus nest pas une surface plan). la surface de ct est prsente (un quadrangle plan ou deux triangles). les artes de la courbe plan sont visibles. les artes de la courbe spatiale sont visibles. les artes de la surface sont visibles, la surface nest pas lisse. les artes latrales partant du nud sont toutes visibles. les artes latrales partant du nud sont utilises pour afficher le contour.

Exemples :

74

Guide de rfrence GDL

Chapitre 5 : Formes 3D

R=3 RULED 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, 10Guide de rfrence GDL

75

Chapitre 5 : Formes 3D

SWEEP

n, m, alpha, scale, mask, u1, v1, s1, . . . un, vn, sn, x1, y1, z1, . . . xm, ym, zm Surface gnre par une polyligne en balayant la trajectoire dune courbe spatiale. La polyligne peut tre ouverte ou ferme. Il est possible de lui faire subir une rotation ou une multiplication sur son propre plan. Le plan de la polyligne suit la trajectoire de la courbe spatiale. La courbe spatiale part obligatoirement du plan x-y. Si cette condition nest pas remplie, la courbe est dplace le long de laxe z pour partir du plan x-y. Lintersection (xi, yi, zi) par point est perpendiculaire au segment entre les points (xi-1, yi-1, zi-1) et (xi, yi, zi). SWEEP peut tre utilise pour modeler le bec dune thire ou dautres formes complexes. n: nombre des nuds de la polyligne. m: alpha : scale : mask : ui , vi : si : xi, yi, zi : nombre des nuds de la trajectoire. angle de la rotation de la polyligne sur son propre plan, dun nud de la trajectoire au nud suivant. facteur dincrment dchelle de la polyligne dune nud de la trajectoire au nud suivant. contrle lexistence des surfaces et artes des polygones de base et de dessus. coordonnes des nuds de la polyligne de base. tat des artes latrales. coordonnes des nuds de la trajectoire de la courbe.

Restriction de paramtres : n > 1 m > 1 z 1 < z2

76

Guide de rfrence GDL

Chapitre 5 : Formes 3D

Masquage mask = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6 + 64*j7 o j1, j2, j3, j5, j6, j7 peuvent tre 0 ou 1. j1 (1): j2 (2): j3 (4): j5 (16): j6 (32): j7 (64): la surface de base est prsente. la surface du haut est prsente. la surface latrale est prsente. les artes de la base sont visibles. les artes du haut sont visibles. les artes de lintersection sont visibles, la surface est articule.

Z j2 j6 m

2 Y j3 n X 1 2 j5 1

j1

Etat 0: 1: Exemples :

les artes latrales partant du nud sont toutes visibles. les artes latrales partant du nud sont utilises pour afficher le contour.

Guide de rfrence GDL

77

Chapitre 5 : Formes 3D

SWEEP 4, 12, 7.5, 1, -0.5, -0.25, 0, 0.5, -0.25, 0, 0.5, 0.25, 0, -0.5, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6

1+2+4+16+32,

78

Guide de rfrence GDL

Chapitre 5 : Formes 3D

TUBE

n, m, mask, u1, w1, s1, . . . un, wn, sn, x1, y1, z1, angle1, . . . xm, ym, zm, anglem Surface gnre par une polyligne balayant la trajectoire dune courbe spatiale sans dformation de la coupe transversale gnratrice. Les surfaces de connexion internes peuvent subir une rotation dans le plan U-W du systme de coordonnes instantan U-V-W. axe V: approximation de la tangente de la courbe gnratrice au point correspondant, axe W axe U perpendiculaire laxe V et pointant vers le haut par rapport laxe z local, perpendiculaire aux axes V et W et forme avec eux un systme de coordonnes cartsiennes.

Si laxe V est vertical, la direction W nest pas dfinie correctement. Laxe W du nud de trajectoire prcdent est utilis pour dterminer une direction horizontale. Le polygone de coupe transversale du tube mesur au milieu des segments de la trajectoire est toujours gal au polygone de base (u1, w1, ... un, wn). Les polygones de coupe aux points de jonction sont situs sur le plan bisecteur des segments joints. Le polygone de base doit tre ferm. n: nombre des nuds de la polyligne. m: u i , wi : si : xi, yi, zi : nombre des nuds de la trajectoire. coordonnes des nuds de la polyligne de base. tat des artes latrales. coordonnes des nuds de la courbe de la trajectoire. (La trajectoire comprend deux points de plus qu'il n'y a de sections gnres. Le premier et le dernier point dterminent la position dans l'espace de la premire et de la dernire surface appartenant au TUBE. Le rle de ces points est uniquement de dterminer la normale des surfaces, ce ne sont pas rellement des nuds de la trajectoire. L'orientation des surfaces est la mme que celle des surfaces quiGuide de rfrence GDL

79

Chapitre 5 : Formes 3D

auraient t gnres aux nuds les plus proches des deux extrmits si le TUBE avait continu dans les sens indiqus par ces points.) anglei angle de rotation de lintersection. Masquage mask = j1 + 2*j2 + 16*j5 + 32*j6 + 64*j7 o j1, j2, j5, j6, j7 peuvent tre 0 ou 1. j1 (1): j2 (2): j5 (16): j6 (32): j7 (64): la surface de base est prsente. la surface finale est prsente. les artes de la base ( x1, y1, z1) sont visibles. les artes finales ( xm, ym, zm) sont visibles. les artes de la coupe transversale (sauf les lignes de connexion des faces sur un mme plan) sont visibles, la surface est articule.

Restrictions de paramtres : n > 2 m > 3W m m-1 V W 1 2alpha

U U

Etat 0: 1:

les artes latrales partant du nud sont toutes visibles. les artes latrales partant du nud sont utilises pour afficher le contour.

80

Guide de rfrence GDL

Chapitre 5 : Formes 3D

Exemples:

TUBE

4, 2.0, 0.0, 0.0, 2.0,

18, 0.0, 0.0, 0.4, 0.4,

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

-1, 0, 0, 0, 4, 0, 6, 0, 6+4*SIN(15), 4 6+4*SIN(30), 4 6+4*SIN(45), 4 6+4*SIN(60), 4 6+4*SIN(75), 4 10, 4, 6+4*SIN(105), 4 6+4*SIN(120), 4 6+4*SIN(135), 4 6+4*SIN(150), 4 6+4*SIN(165), 4 6, 8, 0, 8, -1, 8,

Guide de rfrence GDL

81

Chapitre 5 : Formes 3D

TUBE

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

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

1+2+16+32, 0, 0, 0, 0, 0, 1, 901, 801, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

82

Guide de rfrence GDL

Chapitre 5 : Formes 3D

TUBE

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

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

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

Guide de rfrence GDL

83

Chapitre 5 : Formes 3D

TUBEA

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

2 1 1

n

m-1

m

bisector plane

TUBEA est une surface gnre par une polyligne balayant la trajectoire d'une courbe spatiale avec un algorithme diffrent de celui de l'instruction TUBE. Le polygone de coupe gnr chaque point de jonction de la courbe de la trajectoire est gal au polygone de base (u1, w1, ... un, wn) et est situ dans le plan bisecteur des projections des segments joints au plan x-y local. Le polygone de base peut tre ouvert: dans ce cas, les polygones de coupe seront gnrs de manire atteindre le plan x-y local, comme c'est le cas des surfaces REVOLVE. La coupe transversale du tube mesure au milieu des segments de la trajectoire peut tre diffrente du polygone de base. Exemples :

84

Guide de rfrence GDL

Chapitre 5 : Formes 3D

TUBEA 9,

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

1, 2, 2, 1.6, 1.6, 1.6, 2, 2, 1, -7, 0, 0, 3, 10, 10, 15,

1 + 2 + 16 + 32, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2.25, 2.25, 2.25, 5

Guide de rfrence GDL

85

Chapitre 5 : Formes 3D

COONS

n, m, mask, x11, y11, z11, x21, y21, z21, x31, y31, z31, x41, y41, z41,

. . . .

. . . .

. . . .

x1n, x2n, x3m, x4m,

y1n, y2n, y3m, y4m,

z1n, z2n, z3m, z4m

Surface de Coons gnre partir de quatre courbes de bordure. Masquage mask = 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 o j3, j4, j5, j6, j7 peuvent tre 0 ou 1. j3 (4): j4 (8): j5 (16): j6 (32): j7 (64): artes de la 1re bordure (x1, y1, z1) sont visibles. artes de la 2me bordure (x2, y2, z2) sont visibles. artes de la 3me bordure (x3, y3, z3) sont visibles. artes de la 4me bordure (x4, y4, z4) sont visibles. artes de surface sont visibles, surface non lisse.

Restrictions de paramtres : n, m > 1Z

Y

1(n)

4(m)

2(n)

3(m)X

86

Guide de rfrence GDL

Chapitre 5 : Formes 3D

Exemples:

COONS 6, 6, 4+8+16+32+64, !1st boundary, n=6 0, 0, 5, 1, 0, 4, 2, 0, 3, 3, 0, 2, 4, 0, 1, 5, 0, 0, !2nd boundary, n=6 0, 5, 0, 1, 5, 1, 2, 5, 2, 3, 5, 3, 4, 5, 4, 5, 5, 5, !3rd boundary, m=6 0, 0, 5, 0, 1, 4, 0, 2, 3, 0, 3, 2, 0, 4, 1, 0, 5, 0, !4th boundary, m=6 5, 0, 0, 5, 1, 1, 5, 2, 2, 5, 3, 3, 5, 4, 4, 5, 5, 5

Guide de rfrence GDL

87

Chapitre 5 : Formes 3D

ROTZ -90 ROTY 90 COONS 7, 6, !1st boundary, n=7 1, 2, 0.5, 1, 0.2, 0.5, -0.5, 0, 0.2, -0.5, 0.5, -1, 1, -2, !2nd boundary, n=7 6, 10, 6.5, 4, 5, 1, 4, 0, 5, -1, 6.5, -4, 6, -10, !3rd boundary, m=6 1, 2, 2, 4, 3, 6, 4, 8, 5, 9, 6, 10, !4th boundary, m=6 1, -2, 2, -4, 3, -6, 4, -8, 5, -9, 6, -10,

4+8+16+32+64, 0, 0, 0, 0, 0, 0, 0, -2, -1.5, -1.2, -1, -1.2, -1.5, -2,

0, -0.5, -1, -1.5, -1.8, -2, 0, -0.5, -1, -1.5, -1.8, -2

88

Guide de rfrence GDL

Chapitre 5 : Formes 3D

MASS

topmat, botmat, sidemat, n, m, mask, h, x1, y1, z1, s1, . . . xn, yn, zn, sn, xn+1, yn+1, zn+1, sn+1, . . . xn+m, yn+m, zn+m, sn+m topmat, botmat, sidemat: nom/index des matires de dessus, de dessous et de ct n: m: h: xi, yi, zi : si : le nombre des nuds dans le polygone de masse le nombre des nuds sur les artes la hauteur de la jupe (peut tre ngative) les coordonnes des nuds similaire l'instruction PRISM_

Masquage mask = j1 + 4*j3 + 16*j5 + 32*j6 + 64*j7 o j1, j3, j5, j6, j7 peuvent tre 0 ou 1. j1 (1): j3 (4): j5 (16): j6 (32): j7 (64): la surface de base est prsente la surfaces de ct est prsente les artes de base et de ct sont visibles les artes de dessus sont visibles les artes de dessus sont visibles, la surface suprieure n'est pas lisse

Restrictions de paramtres : n > 3, m > 0m-1

m n

1 2

dz plane

Guide de rfrence GDL

89

Chapitre 5 : Formes 3D

Exemple :

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, 28, 23, 23, 13, 13, 16, 16, 0, 28, 19, 19, 22, 22, 17, 0, 13, 0, 0, 19, 20, 20, 17, 0, 8, 8, 5, 5, 1, 1, 7, 7, 8, 8, 5, 5, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1

90

Guide de rfrence GDL

Chapitre 5 : Formes 3D

5.3 Elments pour la visualisationLIGHT red, green, blue, shadow, radius, alpha, beta, angfalloff, dist1, dist2, distfalloff Une source lumineuse irradiant une lumire de couleur [rouge, vert, bleu] de lorigine locale le long de laxe x local. La lumire est projete paralllement laxe x dune source ponctuelle ou circulaire. Elle a son intensit maximale lintrieur dune portion de cne dangle alpha et est de zro langle bta du cne. Ceci est contrl par le paramtre angfalloff. (La valeur zro donne la lumire un contour prononc, les valeurs plus leves signifient une transition plus souple.) Leffet de la lumire est limite le long de laxe par les valeurs de coupe dist1 et dist2. Le paramtre distfalloff contrle la dcroissance de lintensit en fonction de la distance. (La valeur zro signifie une intensit constante, les valeurs plus leves sont utilises pour une dgradation plus forte.) Les transformations GDL naffectent que le point de dpart et la direction de la lumire. Le paramtre shadow dtermine si la lumire donne des ombres. 0: lumire ne donne pas dombres 1: lumire donne des ombres

radius

beta alpha

intensity dist1 dist2Guide de rfrence GDL

91

Chapitre 5 : Formes 3D

Restriction de paramtres :alpha < beta < 80

Les combinaisons de paramtres suivantes ont des significations spciales:rayon = 0, alpha = 0, bta = 0

Une lumire ponctuelle, irradiant de la lumire dans toutes les directions, et ne donnant pas dombres. Les paramtres shadow et angfalloff sont ignors, des valeurs zro sont supposes.rayon > 0, alpha = 0, bta = 0

Une lumire directionnelle Exemple:LIGHT 1.0,0.2,0.3, 1, 1.0, 45.0,60.0, 0.3, 1.0,10.0, 0.2 ! ! ! ! ! ! ! RGB shadow on radius angle1, angle2 angfalloff dist1, dist2 distfalloff

Le dialogue dans ArchiCAD d'un lment de bibliothque de type Lampe:

92

Guide de rfrence GDL

Chapitre 5 : Formes 3D

Une partie du script GDL correspondant:IF C = 0 GOTO 10 LIGHT G/100*D, G/100*E, G/100*F, ... 10: !RGB

r = 0, alpha > 0, beta > 0

r > 0, alpha = 0, beta > 0

r > 0, alpha = 0, beta = 0 Types de lumire utilisant des paramtres alpha et bta diffrents

Guide de rfrence GDL

93

Chapitre 5 : Formes 3D

PICTURE

expression, a, b, mask Un lment dimage pour le Rendu photoraliste. Une expression de type texte signifie un nom de fichier. Une expression numrique signifie l'index d'une image conserve l'intrieur de l'lment de bibliothque. L'index 0 a une valeur spciale, il fait rfrence l'image de prvisualisation de l'lment de bibliothque. D'autres images ne peuvent tre conserves dans un lment de bibliothque qu'au cas o vous enregistrez le projet ou des lments slectionns contenant des images sous forme d'Objet ArchiCAD. Limage du fichier rfr est cadr dans un rectangle trait comme un RECT par toutes les autres mthodes de projection 3D.

mask = alpha + distortion alpha : contrle canal alpha 0 : ne pas utiliser le canal alpha, image est un rectangle 1 : utiliser le canal alpha, des parties de limage peuvent tre transparentes. distortion : contrle la distortion 0 : cadrer limage dans le rectangle donn 2 : cadrer image au milieu du rectangle en utilisant les proportions naturelles de limage 4 : remplir le rectangle avec limage en position centrale, en utilisant les proportions naturelles de limage

94

Guide de rfrence GDL

Chapitre 5 : Formes 3D

5.4 Elment de texteTEXT d, 0, expression La reprsentation en 3D dans le style dfini de la valeur d'une expression de type caractre ou numrique. Voir DEFINE STYLE et SET STYLE au Chapitre. d: paisseur des caractres en mtres Dans cette version de GDL, le second paramtre est toujours zro. Exemples:

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

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

Remarque : Pour tre compatible avec le script GDL 2D, la hauteur de caractre est toujours interprte en millimtres dans les instructions DEFINE STYLE.

Guide de rfrence GDL

95

Chapitre 5 : Formes 3D

5.5 Elments de primitiveLes primitives de la structure 3D sont VERT, VECT, EDGE, PGON, et BODY. Les corps sont reprsents par des surfaces et par les connexions entre elles. Linformation pour excuter une Coupe 3D vient de linformation de connexion. Lindexation commence 1 et chaque corps ou instruction BASE remet les index 1. Pour chaque arte, les index des polygones adjacents sont stocks (maximum 2). Les artes ont une orientation du premier point donn vers le second. Les polygones sont des listes dartes orientes avec un index pour chaque arte. Ces nombres peuvent tre ngatifs, ce qui signifie que les artes sont utilises dans la direction oppose. Les polygones peuvent comprendre des trous. Dans la liste des artes, un zro indique un nouveau trou. Les trous ne peuvent inclure eux-mmes de nouveaux trous. Une arte peut appartenir aucun, un ou deux polygones. Lorientation du polygone est correcte si, dans le cas des formes fermes, larte a une orientation diffrente pour les deux polygones. Les vecteurs de normale des polygones sont stocks part. Dans le cas des corps ferms, ils pointent de lintrieur vers lextrieur du corps. Lorientation de la liste dartes est dans le sens inverse des aiguilles dune montre (sens trigonomtrique), si vous la regardez de lextrieur. Lorientation des trous est oppos au polygone parent. Les vecteurs normaux dun corps ouvert doivent pointer vers le mme ct du corps. Pour dterminer lintrieur et lextrieur dun corps, il doit tre ferm. Une dfinition simple dun corps ferm est la suivante: chaque arte est adjacente exactement deux polygones. Lefficacit des algorithmes de coupes, de lignes caches et de rendu est moindre dans le cas des corps ouverts. Tous les lments 3D complexe avec des paramtres rguliers sont des corps ferms dans la structure de donnes 3D interne. La recherche des lignes de contour est base sur les bits dtat des artes et de leurs polygones adjacents. Ceci est automatiquement dfini pour les lments incurvs complexes, mais cest vous de spcifier correctement ces bits dans le cas des lments de primitives.

96

Guide de rfrence GDL

Chapitre 5 : Formes 3D

Dans le cas dune dfinition simplifie (PGON.ivect = 0 ou PGON.tat < 0) les primitives auxquelles dautres font rfrence prcdent leur rfrence. Dans ce cas, lordre recommand est: VERT (TEVE) EDGE (VECT) PGON (PIPG) COOR BODY La recherche des polygones adjacents ces artes est faite pendant lexcution de linstruction BODY. La numrotation des VERTs, EDGEs, VECTs et PGONs est relative la dernire instruction BASE explicite ou implicite. Les valeurs dtat sont utilises pour stocker certaines informations sur les primitives. Chaque bit a une signification indpendante dans ltat mais il y a des exceptions. Des valeurs donnes peuvent tre additionnes entre elles. Dautres combinaisons que celles donnes ci-dessous sont strictement rserves lusage interne. Ltat par dfaut est zro. VERT x, y, z Un nud dans lespace x-y-z, dfini par trois coordonnes. TEVE x, y, z, u, v Extension de l'instruction VERT, comprenant une dfinition des coordonnes d'une texture. Peut remplacer l'instruction VERT s'il est ncessaire d'inclure les coordonnes de texture dfinies par l'utilisateur au lieu de l'automatisme d'ArchiCAD (voir instruction COOR). x, y, z: les coordonnes d'un nud u, v: les coordonnes de texture du nud Les coordonnes (u, v) de chacun des nuds du corps doivent tre spcifie et chaque nud doit avoir au moins une coordonne de texture. Si des instructions VERT et TEVE sont mlanges dans une dfinition de corps, les coordonnes (u, v) resteront sans effet. Remarque: les coordonnes (u, v) de texture n'affectent que le rendu photoraliste, mais non pas le mapping des hachures vectorielles.

Guide de rfrence GDL

97

Chapitre 5 : Formes 3D

VECT

x, y, z Dfinition du vecteur de normale dun polygone par trois coordonnes. Dans le cas dune dfinition simplifie (PGON.ivect = 0) ces instructions peuvent tre omises.

EDGE

vert1, vert2, pgon1, pgon2, status Dfinition dune arte. vert1, vert2 : index des extrmits. Les index vert1 et vert2 doivent tre diffrents et rfrencs aux VERTs prcdemment dfinis. pgon1, pgon2 : index des polygones voisins. Zro et des valeurs ngatives ont la signification suivante: 0 : arte de ct ou isole. 2Y

n

1

2

X

framefill = j1 + 2*j2 + 4*j3 o j1, j2, j3 peuvent tre 0 ou 1. j1 (1): j2 (2): j3 (4): POLY2_ contour seulement hachure seulement fermer un polygone ouvert.

n, framefill, x1, y1, mask1, .... xn, yn, maskn Identique linstruction POLY2, sauf que des artes peuvent tre omises. Si maski = 0, larte partant du nud (xi, yi) sera omise. Si maski = 1, le nud est affich. Maski = 1 sert dfinir direcement des trous. Voir PRISM_ pour les dtails. Restriction de paramtres:n > 2Y

n

1

2

X

Guide de rfrence GDL

119

Chapitre 6 : Formes 2D

framefill = j1 + 2*j2 + 4*j3 o j1, j2, j3 peuvent tre 0 ou 1. j1 (1): j2 (2): j3 (4): maski : contour seulement hachure seulement fermer un polygone ouvert. 0: le segment suivant est invisible 1: le segment suivant est visible -1: fin dun contour POLY2_A n, framefill, fillpen, x1, y1, mask1, ..., xn, yn, maskn n, framefill, fillpen, fillbkgdpen, x1, y1, mask1, ..., xn, yn, maskn Version avance de la commande POLY2_ avec des paramtres additionnels: la couleur de la hachure et la couleur de fond de la hachure. Tous les autres paramtres sont identiques ceux de l'instruction POLY2_. ARC2 x, y, r, alpha, beta Un arc avec son centre en (x, y) entre les angles alpha et bta, avec un rayon r. Alpha et bta sont en degrs.

POLY2_B

Y

be ta

r

alpha(x, y)

X

120

Guide de rfrence GDL

Chapitre 6 : Formes 2D

CIRCLE2

x, y, r Un cercle avec son centre en (x, y) et un rayon r.

r

Y (x, y)

X

SPLINE2

n, status, x1, y1, angle1,, xn, yn, anglen Restriction de para