Guida di Riferimento al GDL

748
Guida di Riferimento al GDL

Transcript of Guida di Riferimento al GDL

Guida di Riferimento al GDL

GRAPHISOFT®

Visita il sito GRAPHISOFT su https://graphisoft.com per informazioni sul distributore locale e sulla disponibilità del prodotto.Guida di Riferimento al GDLCopyright© 2021 by GRAPHISOFT, tutti i diritti riservati. È severamente vietata la riproduzione, la parafrasi o la traduzione senza previoconsenso scritto.TrademarksArchicad® è un marchio registrato e PlotMaker, Virtual Building e GDL sono marchi di GRAPHISOFT. Tutti gli altri marchi sono di proprietàdei rispettivi titolari.

Introduzione

Guida di Riferimento al GDL iii

IntroduzioneQuesto manuale è un riferimento completo al linguaggio di scripting proprietario di GRAPHISOFT, il GDL (Geometric Description Language). Il manuale èconsigliato per quegli utenti che desiderano espandere le possibilità presentate dagli strumenti di costruzione e librerie di oggetti nel software GRAPHISOFT. Fornisceuna descrizione dettagliata di GDL, incluse definizioni di sintassi, comandi, variabili, ecc.

Guida di Riferimento al GDL

Guida di Riferimento al GDL iv

IndicePanoramica Generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Inizio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Programmazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Generazione 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Sintassi GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Regole della Sintassi del GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Riga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Caratteri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Stringhe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Identificatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Variabili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Parametri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Tipi Semplici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Tipi Derivati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Tipi Strutturati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Convenzioni utilizzate in questo libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Trasformazione di Coordinate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Trasformazioni 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

ADD2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16MUL2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17ROT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Trasformazioni 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17ADDX .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17ADDY .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17ADDZ .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17ADD .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17MULX .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18MULY .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Guida di Riferimento al GDL

Guida di Riferimento al GDL v

MULZ .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18MUL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18ROTX .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18ROTY .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18ROTZ .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19ROT .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19XFORM .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Gestione della pila di trasformazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20DEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20DEL TOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20NTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Forme 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Forme Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

BLOCK .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22BRICK .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22CYLIND .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23SPHERE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23ELLIPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24CONE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25PRISM .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25PRISM_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26CPRISM_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29CPRISM_{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30CPRISM_{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31CPRISM_{4} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34BPRISM_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34FPRISM_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35HPRISM_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37SPRISM_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38SPRISM_{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39SPRISM_{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40SPRISM_{4} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41SLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Guida di Riferimento al GDL

Guida di Riferimento al GDL vi

SLAB_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42CSLAB_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43CWALL_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43BWALL_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47XWALL_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49XWALL_{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51XWALL_{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52BEAM .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55CROOF_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55CROOF_{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58CROOF_{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59CROOF_{4} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60MESH .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60ARMC .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62ARME .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63ELBOW .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Forma piane in 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65HOTSPOT .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65HOTLINE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65HOTARC .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66LIN_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66RECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66POLY .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66POLY_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67PLANE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68PLANE_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68CIRCLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68ARC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Forme generate da Polilinee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69EXTRUDE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71PYRAMID .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74REVOLVE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76REVOLVE{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Guida di Riferimento al GDL

Guida di Riferimento al GDL vii

REVOLVE{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82REVOLVE{4} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84REVOLVE{5} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84RULED .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84RULED{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84RULEDSEGMENTED .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88RULEDSEGMENTED{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89SWEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90TUBE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93TUBE{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97TUBEA .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99COONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102COONS{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105MASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105MASS{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108POLYROOF .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109POLYROOF{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114POLYROOF{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114POLYROOF{4} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117EXTRUDEDSHELL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117EXTRUDEDSHELL{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118EXTRUDEDSHELL{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120REVOLVEDSHELL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120REVOLVEDSHELL{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121REVOLVEDSHELL{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123REVOLVEDSHELLANGULAR .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123REVOLVEDSHELLANGULAR{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124REVOLVEDSHELLANGULAR{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124RULEDSHELL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125RULEDSHELL{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127RULEDSHELL{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

Elementi per la Visualizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130LIGHT .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

Guida di Riferimento al GDL

Guida di Riferimento al GDL viii

PICTURE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135Elementi di Testo 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

TEXT .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136RICHTEXT .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

Elementi Primitivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137VERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138VERT{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139TEVE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139VECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139EDGE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139PGON .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140PGON{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141PGON{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141PIPG .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141COOR .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141COOR{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143COOR{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144BODY .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146BASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

Elementi Primitivi NURBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150Taglio della Faccia NURBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151Comandi di Geometria NURBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

NURBSCURVE2D .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151NURBSCURVE3D .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152NURBSSURFACE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

Comandi della Topologia NURBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153NURBSVERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154NURBSEDGE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154NURBSTRIM .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155NURBSTRIMSINGULAR .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155NURBSFACE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156NURBSFACE{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157NURBSLUMP .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Guida di Riferimento al GDL

Guida di Riferimento al GDL ix

NURBSBODY .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158Nuvole di Punti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

POINTCLOUD .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158Tagli jin 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

CUTPLANE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159CUTPLANE{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159CUTPLANE{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159CUTPOLY .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163CUTPOLYA .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165CUTSHAPE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168CUTFORM .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168CUTFORM{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

Comandi di Geometria Solida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170GROUP - ENDGROUP .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174ADDGROUP .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175SUBGROUP .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175ISECTGROUP .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175ISECTLINES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176PLACEGROUP .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176KILLGROUP .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176SWEEPGROUP .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177CREATEGROUPWITHMATERIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

Binario 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179BINARY .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

Forme 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181Elementi di Disegno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

HOTSPOT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181HOTLINE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181HOTARC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182LINE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182RECT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182POLY2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183POLY2_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

Guida di Riferimento al GDL

Guida di Riferimento al GDL x

POLY2_A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185POLY2_B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185POLY2_B{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185POLY2_B{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186POLY2_B{4} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186POLY2_B{5} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187POLY2_B{6} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188ARC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188CIRCLE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188SPLINE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189SPLINE2A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191PICTURE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192PICTURE2{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

Elemento Testo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192TEXT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192RICHTEXT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

Binario 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193FRAGMENT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

Proiezioni 3D nel 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193PROJECT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193PROJECT2{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194PROJECT2{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197PROJECT2{4} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

Disegni nella Lista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201DRAWING2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201DRAWING3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201DRAWING3{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201DRAWING3{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

Modifica Grafica tramite Hotspot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203Codici di Stato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

Sintassi del codice di stato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211Codici di stato aggiuntivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

Parte precedente della polilinea: la posizione corrente e la tangente sono definite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

Guida di Riferimento al GDL

Guida di Riferimento al GDL xi

Segmento per punto finale assoluto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Segmenta per punto finale relativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Segmenta per lunghezza e direzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Segmento tangente per lunghezza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Imposta il punto di partenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215Chiudi la polilinea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215Imposta la tangente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215Imposta il punto centrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216Arco tangente al punto finale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216Arco tangente per raggio e angolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217Arco utilizzando il punto centrale e il punto sul raggio finale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217Arco usando il punto centrale e l'angolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218Cerchio completo utilizzando il punto centrale e il raggio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218

Attributi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224Direttive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

Direttive per script 3D e 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224LET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224RADIUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224RESOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225TOLER .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226PEN .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227LINE_PROPERTY .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228[SET] STYLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

Direttive utilizzate solo negli Script 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228MODEL .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228[SET] MATERIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229[SET] BUILDING_MATERIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230SECT_FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231SECT_ATTRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231SECT_ATTRS{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231SHADOW .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

Direttive utilizzate solo negli Script 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233DRAWINDEX .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

Guida di Riferimento al GDL

Guida di Riferimento al GDL xii

[SET] FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234[SET] LINE_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

Definizione dell'Attributo in linea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Materiali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

DEFINE MATERIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235DEFINE MATERIAL BASED_ON .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237DEFINE TEXTURE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

Retini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241DEFINE FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241DEFINE FILLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244DEFINE SYMBOL_FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247DEFINE SOLID_FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248DEFINE EMPTY_FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248DEFINE LINEAR_GRADIENT_FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248DEFINE RADIAL_GRADIENT_FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248DEFINE TRANSLUCENT_FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248DEFINE IMAGE_FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

Tipi Linea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249DEFINE LINE_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249DEFINE SYMBOL_LINE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

Stili di Testo e Blocchi di Testo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250DEFINE STYLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250DEFINE STYLE{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251PARAGRAPH .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252TEXTBLOCK .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253TEXTBLOCK_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

Dati aggiuntivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254Dipendenza da file esterni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

FILE_DEPENDENCE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255Script non geometrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

Lo Script delle Proprietà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257DATABASE_SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257DESCRIPTOR .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

Guida di Riferimento al GDL

Guida di Riferimento al GDL xiii

REF DESCRIPTOR .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258COMPONENT .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258REF COMPONENT .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259BINARYPROP .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259SURFACE3D .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259VOLUME3D .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259POSITION .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260DRAWING .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

Lo Script dei Parametri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261VALUES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261VALUES{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262PARAMETERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263LOCK .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264HIDEPARAMETER .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

Lo script dell'Interfaccia Utente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265UI_DIALOG .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265UI_PAGE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265UI_CURRENT_PAGE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266UI_BUTTON .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266UI_PICT_BUTTON .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267UI_SEPARATOR .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267UI_GROUPBOX .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268UI_PICT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268UI_STYLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268UI_OUTFIELD .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269UI_INFIELD .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269UI_INFIELD{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270UI_INFIELD{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270UI_INFIELD{4} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270UI_CUSTOM_POPUP_INFIELD .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278UI_CUSTOM_POPUP_INFIELD{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278UI_RADIOBUTTON .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281UI_RADIOBUTTON{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

Guida di Riferimento al GDL

Guida di Riferimento al GDL xiv

UI_PICT_RADIOBUTTON .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282UI_PICT_RADIOBUTTON{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282UI_PICT_PUSHCHECKBUTTON .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282UI_PICT_PUSHCHECKBUTTON{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282UI_TEXTSTYLE_INFIELD .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283UI_TEXTSTYLE_INFIELD{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283UI_LISTFIELD .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284UI_LISTITEM .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285UI_LISTITEM{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285UI_CUSTOM_POPUP_LISTITEM .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286UI_CUSTOM_POPUP_LISTITEM{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287UI_TOOLTIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289UI_COLORPICKER .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290UI_COLORPICKER{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290UI_SLIDER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291UI_SLIDER{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

Lo Script di Migrazione in Avanti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291SETMIGRATIONGUID .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292STORED_PAR_VALUE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293DELETED_PAR_VALUE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

Lo Script di Migrazione a Ritroso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293NEWPARAMETER .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

Espressioni e Funzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296Espressioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

DICT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296HASKEY .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301REMOVEKEY .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301DIM .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302VARDIM1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303VARDIM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303PARVALUE_DESCRIPTION .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306

Operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306Operatori aritmetici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306

Guida di Riferimento al GDL

Guida di Riferimento al GDL xv

Operatori relazionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307Operatori Booleani . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

Funzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308Funzioni aritmetiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

ABS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308CEIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308FRA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308ROUND_INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308SGN .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308SQR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

Funzioni circolari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309ACS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309ASN .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309ATN .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309COS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309SIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309TAN .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309PI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

Funzioni trascendentali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310EXP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310LGT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310LOG .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

Funzioni booleane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310NOT .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

Funzioni statistiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310MIN .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310MAX .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310RND .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

Funzioni bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311BITTEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311BITSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

Funzioni speciali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

Guida di Riferimento al GDL

Guida di Riferimento al GDL xvi

REQ .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311REQUEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312IND .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312APPLICATION_QUERY .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313LIBRARYGLOBAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

Funzioni stringa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313STR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313STR{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314SPLIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318STW .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319STRLEN .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319STRSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320STRSUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320STRTOUPPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321STRTOLOWER .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

Dichiarazioni di controllo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322Dichiarazioni di controllo del flusso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

FOR - TO - NEXT .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322DO - WHILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323WHILE - ENDWHILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323REPEAT - UNTIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324IF - GOTO .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325IF - THEN - ELSE - ENDIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326GOTO .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327GOSUB .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327RETURN .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327END / EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328BREAKPOINT .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328

Manipolazione del Buffer dei Parametri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328PUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329USE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329NSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

Guida di Riferimento al GDL

Guida di Riferimento al GDL xvii

Oggetti Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332CALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332

Output in un riquadro di avviso o in una finestra di resoconto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334PRINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334

Operazioni sui File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335OPEN .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335INPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335VARTYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335OUTPUT .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336CLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336

Utilizzo di Add-on Deterministici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336INITADDONSCOPE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336PREPAREFUNCTION .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336CALLFUNCTION .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337CLOSEADDONSCOPE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337

Varie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338Variabili Globali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338

Compatibilità degli Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338Informazioni generali sull'ambiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339Informazioni sul Piano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344Informazioni Vola-Attraverso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344Parametri generali degli elementi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346Parametri Oggetto, Lampada, Porta, Finestra, Testa Muro, Lucernario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347Parametri Oggetto, Lampada, Porta, Finestra, Testa Muro, Lucernario, Accessorio per Curtain Wall - disponibili solo perliste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348Parametri Oggetto, Lampada, Accessorio Curtain Wall - disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348Parametri Oggetto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349Parametri Apertura - disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349Parametri del Simbolo dell'Apertura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350Parametri Finestra, Porta e Testa Muro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354Parametri Finestra, Porta: disponibile solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355Parametri Lampada: disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356Parametri marker (Marker Dettaglio, Foglio di Lavoro e Modifica) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356

Guida di Riferimento al GDL

Guida di Riferimento al GDL xviii

Parametri Etichetta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357Parametri Muro - disponibili per Porte/Finestre, liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358Parametri Muro: disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362Parametri Pilastro - disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364Parametri Trave - disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370Parametri Solaio - disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375Parametri dei Componenti della Scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378

Variabili generali della scala - disponibili per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378Variabili generali della pedata - disponibili per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381Variabili generali dell'alzata - disponibili per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382Variabili della struttura della scala - disponibili per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383Variabili delle Opzioni Vista Modello della Scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383Variabili 2D della Scala - disponibili solo per la rappresentazione di pianta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384

Variabili griglia della scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385Variabili del simbolo della linea di passo delle scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388Variabili del simbolo del segno di sezione della scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391Variabili di descrizione Alzata e Pedata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392Variabili 2D della scolatura delle scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392Variabili 2D della struttura della Scala - Struttura con Trave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394Variabili 2D della struttura della Scala - Struttura Monolitica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395Variabili 2D Generali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399

Variabili 3D scala: disponibile solo per la rappresentazione 3D (e il collegamento di punti di vista) . . . . . . . . . . . . . . . . . . . . . . . . . 402Variabili 3D dell'alzata della scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402Variabili 2D-3D della pedata della scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403Variabili della struttura della scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406

Parametri dei componenti del parapettp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408Variabili generali del parapetto - disponibili per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408Variabili 3D del parapetto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409Variabili 2D del parapetto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

Parametri Falda - disponibili per lucernari, liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420Parametri della Falda - disponibii solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422Parametri retino - disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423Parametri della Mesh - disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424

Guida di Riferimento al GDL

Guida di Riferimento al GDL xix

Parametri dei componenti del Curtain Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426Parametri del Curtain Wall - disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427Parametri dei Profili del Curtain Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428

Variabili Generali del Profilo del Curtain Wall - disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428Variabili 3D del Profilo del Curtain Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429

Variabil del Pannello del Curtain Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431Parametri Pannello Curtain Wall - disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431Parametro Giunti del Curtain Wall - disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432Parametri Accessorio Curtain Wall - disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432Parametri di migrazione: disponibili solo per gli script di migrazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432Parametri Lucernario - disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432Parametro Comuni per Shells e Falde - disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433Parametri per le Forme - disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437Globali libere per gli utenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438Esempio di utilizzo di variabili globali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439Variabili globali deprecate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440

Variabili globali Trave/Pilastro obsolete: disponibili solo per elenchi ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440Variabili globali Etichetta obsolete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440Variabili globali del Curtain Wall obsolete: disponibili solo per liste ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442Vecchie variabili globali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442

Parametri opzionali a nome fisso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444Parametri impostati da Archicad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444

Parametri per attributi P/F (disponibili per Porta, Finestra, Etichetta, Lista) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445Visualizzazione di Pianta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445Direzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445Dati del muro poligonale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446Posizione foro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446Dati ancoraggio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446

Parametri per gli attributi del MURO (disponibili per Porta, Finestra, Etichetta, Lista) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446Visualizzazione di pianta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446Dati geometrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447

Parametri per gli attributi del PILASTRO (disponibili per Etichetta, Lista) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447Visualizzazione di Pianta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448

Guida di Riferimento al GDL

Guida di Riferimento al GDL xx

Dati geometrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449Parametri per gli attributi della TRAVE (disponibili per Etichetta, Lista) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449

Visualizzazione di Pianta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449Dati geometrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450

Parametri per gli attributi della FALDA (disponibili per Etichetta, Lista) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451Visualizzazione di pianta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451

Attributi Marker Porta/Finestra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451Attributi Marker Dettaglio/Foglio di Lavoro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453attributi Titolo Disegno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453Contesto generale di esecuzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454Parametri della Stanza (disponibili per i Timbri Zona) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455Parametri relativi alla scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457

Sottotipi supportati lato rampa/pianerottolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457Sottotipo componente alzata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457Sottotipi componenti 2D scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457

Parametri impostati/letti da Archicad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457Parametri relativi alla scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457

Sottotipo di struttura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457Parametri letti da Archicad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458

Oggetti in Pianta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458Taglio in pianta di elementi planari (es. oggetto lucernario, oggetti accessori della falda) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458

Oggetti Porta/Finestra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459Template Componente Personale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460Parametri relativi alla scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460

Sottotipo struttura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460Rampa/Pianerottolo nel sottotipo supportato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460Sottotipi Rampa sotto supporto a sbalzo / Pianerottolo sotto sotto supporto a sbalzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461

Parametri relativi al parapetto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461Sottotipo Componente Pannello del Parapetto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461Sottotipo Componente Traversa del Parapetto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462Sottotipo Componente Montante del Parapetto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463Sottotipo Componente Estremità Corrimano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464

Parametri per il Curtain Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464

Guida di Riferimento al GDL

Guida di Riferimento al GDL xxi

Parametri Curtain Wall impostati e letti da Archicad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465Parametri Profilo Curtain Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465

Parametri del Curtain Wall impostati da Archicad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465Parametri Profilo del Curtain Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465Parametri del Pannello del Curtain Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466Parametri dei Giunti del Curtain Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466Parametri Accessorio Curtain Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466Parametri obsoleti del Profilo del Curtain Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467

Parametri del Curtain Wall letti da Archicad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468Parametri Pannell e Profilo del Curtain Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468Parametri Profilo Curtain Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469Parametri pannello del curtain wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470

Parametri per gli add-ons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471Parametri dell'add-on Lucernario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

Manipolazione del taglio del bordo del foro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471Parametri dell'add-on Finestra d'Angolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

Parametri di base degli oggetti Finestra ad angolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471Parametri dei dati degli strati delle Finestre d'Angolo (disponibili da Archicad12) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472

Parametri dell'add-on IFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472Parametri di base comuni degli oggetti Porta e Finestra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472Parametri di base degli oggetti Porta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474Parametri di base degli oggetti Finestra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477Parametri di base degli Elementi di Trasporto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480Parametri di base degli oggetti Ascensore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480Parametri di base degli oggetti Scala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481Parametri di base degli elementi MEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483

Parametri per la gestione del testo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484Parametri per le etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485

Parametri impostati o letti da Archicad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485Parametri letti da Archicad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487

Parametri deprecati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488Parametri di Trave/Pilastro obsoleti: disponibili solo per elenchi ed etichette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488Parametri di timbro di zona obsoleti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489

Guida di Riferimento al GDL

Guida di Riferimento al GDL xxii

Parametri obsoleti dell'add-on IFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489Opzioni REQUEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489

Compatibilità dello Script del Parametro Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490Dettagli delle richieste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496Richieste di Profilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521Richieste obsolete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523

Opzioni di query dell'applicazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524Caratteristica del documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524

Direzione di Visualizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524Sistema MEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525

Ottieni Sistemi MEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525Ottieni dominio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525Ottieni Penna Contorno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525Ottieni Penna Retino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526Ottieni Penna Sfondo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526Ottieni Tipo Retino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526Ottieni tipo linea centrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526Ottieni penna linea centrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526Ottieni materiale di sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527Ottieni materiale isolante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527

MEP Modeler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527È disponibile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527

Tipo di connessione MEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527Ottieni tipi di connessione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527Ottieni stile tipo di connessione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528

Segmento flessibile MEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528Inizio del sezionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528Aggiungi punto di controllo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528Aggiungi direzione e vettore di larghezza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529Fine del sezionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529

Curva MEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530Inizio del Sezionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530

Script dei parametri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530

Guida di Riferimento al GDL

Guida di Riferimento al GDL xxiii

Prima occasione in corso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530Proprietà principali e IFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531

Ottieni i nomi delle cartelle dei parametri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531Ottieni nomi di parametri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532Ottieni parametro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532

Library manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533File Ies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533File di immagine dell'utente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533

Guida allo stile GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534Convenzioni di denominazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534

Regole generali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534Nomi variabili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535Lettere maiuscole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536

Espressioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536Istruzioni di controllo di flusso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537

if - else - endif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537for - next, do - while, while - endwhile, repeat - until . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538

Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539Scrivere commenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540

Intestazione dello script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540Divisione di sezione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541

Struttura dello Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543Cattiva soluzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544Buona soluzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545

Standard tecnici di base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546Formato dell'elemento di libreria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546

Estensione del file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546Identificazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546

Problemi generali di scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550Tipi numerici - Precisione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550Funzioni di trigonometria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552

Guida di Riferimento al GDL

Guida di Riferimento al GDL xxiv

Avvisi GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552ID di Hotspot e Hotline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554

Scopo dell'identificazione di hotspot/hotline/hotarc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554Problema degli hotspot/hotline della vecchia scuola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554Programmazione corretta di hotspot/hotline/hotarc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555

Hotspot editabili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555Esempio di hotspot modificabile - Scarpa / Scarpiera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555

Contesti di esecuzione GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557Comunicare i valori con Archicad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559

Flusso di informazioni da Archicad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559Variabili globali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559Parametri opzionali a nome fisso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559Richieste e domande sull'applicazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559Informazioni provenienti dall'elemento di libreria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559

Opzioni Vista Modello, Globale della Libreria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560Opzioni Interne Vista Modello . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560Opzioni Vista Globale della Libreria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560

Problemi specifici del tipo di script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561Script Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561Script 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561

Contesto di esecuzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561Raccomandazione generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561Definizione delle proprietà di linea e retino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562

Script 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563Contesto di esecuzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563Raccomandazione generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564Modellazione di corpi trasparenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564Mappatura della Tessitura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566Elementi Immagine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572Operazioni di Gruppo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574

Script dei Parametri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574Contesto di esecuzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574Raccomandazione generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575

Guida di Riferimento al GDL

Guida di Riferimento al GDL xxv

Nomi dei tipi di carattere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575Impostazione dei limiti per i parametri della matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576

Script Interfaccia Utente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576Contesto di esecuzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576Raccomandazione generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576Immagini di controllo delle miniature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577Gestione della schede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577Controlli miniature con elementi dinamici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580Immagini dell'interfaccia utente trasparenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582Dimensioni dei caratteri nell'interfaccia utente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582

Script di migrazione in avanti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583Contesto di esecuzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583Raccomandazione generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584

Script di migrazione all'indietro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585Contesto di esecuzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585Raccomandazione generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586

Tabella di Migrazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587Scrittura di macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588

Parametri di ritorno delle macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588Forma avanzata di parameters all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588Chiamata macro più veloce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589Esempio di chiamata macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589

Problemi di conversione in background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589Problemi di velocità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590Compatibilità Windows-Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591

Cambiare piattaforma con le librerie binarie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591Immagini e supporto HDPI nel GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591

Porte e finestre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592Linee guida generali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592Posizionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593Creazione di elementi di libreria di porte / finestre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595

Porte/finestre rettangolari su muri diritti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596Sfide relative al 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598

Guida di Riferimento al GDL

Guida di Riferimento al GDL xxvi

Porte/finestre non rettangolari su muri diritti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598WALLHOLE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598WALLNICHE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601

Porte/finestre rettangolari su muri curvi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602Porte/finestre non rettangolari su muri curvi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604

Sfide correlate al 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607Taglio di aperture a muro personalizzate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607

WALLHOLE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607WALLHOLE2{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608

Estensione del poligono del muro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609WALLBLOCK2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609WALLBLOCK2{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609WALLLINE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609WALLARC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609

GDL creato dalla Pianta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610Parole chiave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610

Parole chiave comuni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610Parole chiave riservate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613Solo per uso 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614Solo per uso 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619Per uso 2D e 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621Script Non-Geometrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621

Script delle Proprietà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621Script dei Parametri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622Script dell'Interfaccia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622Script di Migrazione in Avanti e a Ritroso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624

Add-on GDL Data I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624Descrizione del database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624Apertura di un database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624Lettura dei valori dal database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626Scrittura di valori nel database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626Chiusura del database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627

Add-On GDL Datetime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627

Guida di Riferimento al GDL

Guida di Riferimento al GDL xxvii

Apertura del Canale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627Leggere le informazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629Chiusura del canale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629

Add-on GDL File Manager I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629Specifica della cartella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629Recupero del nome del file/cartella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630Fine della scansione della cartella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630

Add-on GDL Text I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631Apertura del File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631Leggere i valori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632Scrittura di valori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633Chiusura del File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634

Add-On Proprietà GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634Apertura del database delle proprietà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635Chiusura del database delle proprietà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635Input al database delle proprietà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635Output nel database delle proprietà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638

Estensione GDL XML .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638Apertura di un documento XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640Leggere un documento XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640Modificare un documento XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644

Estensione Operazioni sui Poligoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649Apertura di un canale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650Gestione dei contenitori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650

CreateContainer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650DeleteContainer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650EmptyContainer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650SetSourceContainer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650SetDestinationContainer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650

Gestione poligono / polilinea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650Matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651Dizionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651Store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652

Guida di Riferimento al GDL

Guida di Riferimento al GDL xxviii

StorePolyline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652StoreDictPolygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653StoreDictPolyline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653Dispose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653

Impostazioni di operazione poligono/polilinea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654HalfPlaneParams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654OffsetParams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654MultipleEdgeOffsetParams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654PolylineOffsetVectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654

Operazioni su Poligono / Polilinea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655+ - / . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655ClipPolyline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655CopyPolygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655Regularize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656PohlyCut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656OffsetEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656OffsetMultipleEdges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656OffsetPolyline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657OffsetPolylineWithVectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657ResizeContour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657CentreOfGravity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657

Ottenimento dei poligoni / polilinee risultanti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658Matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658

GetSourcePolygons, GetSourcePolylines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658GetDestinationPolygons, GetDestinationPolylines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658GetVertices, GetPolylineVertices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658GetContourEnds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658GetInhEdgeInfos, GetPolylineInhEdgeInfos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658

Dizionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659GetSourceDictPolygon, GetSourceDictPolyline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659GetDestinationDictPolygon, GetDestinationDictPolyline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659

Chiusura del canale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659Guida al Testo Automatico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659

Guida di Riferimento al GDL

Guida di Riferimento al GDL xxix

Parole chiave per le informazioni sul progetto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660Generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661Testi automatici del layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661Testi automatici del disegno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662Testi automatici di tipo riferimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662Testi automatici di tipo Marker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662Testi automatici relativi alla Modifica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663Testi automatici relativi alla revisione del layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663

Guida alle proprietà incorporate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663ID proprietà incorporati relativi agli elementi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664ID delle proprietà integrate relative ai componenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667

Nuove funzionalità GDL in Archicad 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668Nuovo tipo di proprietà: BUILTINPROPERTY .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668Nuove richieste di proprietà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668Nuove variabili globali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668Nuovo contenitore localizzabile denominato Library Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668

Indice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670Elenco della sintassi dei comandi GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670

Panoramica Generale

Guida di Riferimento al GDL 1

PANORAMICA GENERALEIl GDL è un linguaggio di programmazione parametrica, simile al BASIC. Descrive oggetti solidi 3D quali porte, finestre, arredi, elementistrutturali, scale e i simboli 2D che li rappresentano in pianta. Questi oggetti sono chiamati elementi di libreria.

INIZIOLe esigenze del tuo design, il tuo background in programmazione e la tua conoscenza della geometria descrittiva influenzeranno probabilmenteil punto in cui inizi in GDL .Non iniziare a praticare il GDL con obiettivi complicati in mente. Piuttosto, prova a imparare GDL sperimentando passo dopo passo tutte lesue funzionalità per utilizzarle al meglio a tuo vantaggio. Segui i consigli sui livelli di competenza riportati di seguito.Se hai familiarità con un linguaggio di programmazione come il BASIC, puoi familiarizzare con il GDL osservando gli script esistenti. Puoianche imparare molto aprendo gli elementi di libreria forniti con il tuo software e dando un'occhiata agli script GDL 2D e 3D. Inoltre, puoisalvare gli elementi della Pianta in formato GDL e vedere lo script risultante.Se non hai familiarità con il BASIC, ma hai giocato con i blocchi di costruzione, puoi comunque trovare la tua strada in GDL attraverso lapratica. Consigliamo di provare subito i comandi più semplici e poi di verificarne l'effetto nella finestra 3D dell'elemento di libreria.Diversi libri e materiali sono stati pubblicati sul GDL e sullo sviluppo di librerie di oggetti.• “Object Making with Archicad” è la guida perfetta per i principianti.• La guida elettronica “Creating GDL Objects” fornisce una panoramica di base dei metodi di creazione degli oggetti .• Il “GDL Cookbook” di David Nicholson Cole è, da molto tempo, il libro di testo più popolare per programmatori GDL di livello base e

avanzati.• Un materiale didattico più recente è il “GDL Handbook” di Andrew Watson anch'esso per utenti principianti ed esperti.• “GDL Advanced Technical Standards” contiene gli standard ufficiali di GRAPHISOFT per sviluppatori di librerie professionisti; questo

documento può essere scaricato dopo la registrazione dal sito web di GRAPHISOFT: https://archicadapi.graphisoft.com/downloads/library-developer-kit. Per le linee guida dello sviluppo di base, vedere sezione chiamata «Standard tecnici di base» questo manuale.

PROGRAMMAZIONEStruttura di un Elemento di LibreriaOgni elemento di libreria descritto con il GDL prevede degli scripts, che sono elenchi dei comandi GDL effettivi che costruiscono la forma3D e il simbolo 2D. Gli elementi di libreria hanno anche una descrizione per i calcoli delle quantità.I comandi dello Script Master saranno eseguiti prima di ogni script.

Panoramica Generale

Guida di Riferimento al GDL 2

Lo script 2D contiene la descrizione del disegno 2D parametrico. I dati 2D binari dell'elemento di libreria (il contenuto della finestra deisimboli 2D) possono essere referenziati utilizzandoFRAGMENT2. Se lo script 2D è vuoto, i dati 2D binari verranno utilizzati per visualizzarel'elemento di libreria sulla pianta.Lo script 3D script contiene una descrizione del modello 3D parametrico. I dati 3Dbinari (che sono generati durante un'operazione diimportazione o esportazione) possono essere referenziati utilizzandoBINARY.Lo script delle Proprietà contiene componenti e descrizioni utilizzati nelle liste degli elementi, componenti e zone. I dati delle proprietàbinari descritti nella sezione componenti e descrizioni dell'elemento di libreria possono essere referenziati usando BINARYPROP. Se loscript delle proprietà e lo script Master sono vuoti, i dati delle proprietà binarie verranno utilizzati durante il processo di lista.Lo script Interfaccia Utente consente all'utente di definire pagine di input che possono essere utilizzate per modificare i valori dei parametrial posto del normale elenco dei parametri.Nello script dei Parametri, è possibile definire insiemi di valori possibili per i parametri dell'elemento di libreria.I parametri impostato nella sezione Parametri section vengono utilizzati come valori predefiniti nelle impostazioni dell'elemento di libreriaquando si posiziona l'elemento di libreria in pianta.Nello Script di Migrazione in Avanti è possibile definire la logica di conversione che può tradurre istanze posizionate di elementi più vecchi.Nello Script di Migrazione a Ritroso puoi definire una conversione all'indietro, in una versione precedente di un elemento.L'Immagine di Anteprima viene visualizzata nella finestra di dialogo delle impostazioni dell'elemento di libreria durante la navigazione nellalibreria attiva. Può essere referenziato dai comandi PICTURE e PICTURE2 dallo script 3D e 2D.Archicad fornisce un ambiente utile per scrivere script GDL, con visualizzazione, sintassi e controllo degli errori al volo.Analizzare, Decostruire e SemplificareNon importa quanto siano complessi, la maggior parte degli oggetti che desideri creare può essere scomposta in elementi costitutivi di sempliciforme geometriche. Inizia sempre con una semplice analisi dell'oggetto desiderato e definisci tutte le unità geometriche che lo compongono.Questi elementi costitutivi possono quindi essere tradotti nel vocabolario del linguaggio di scripting GDL. Se la tua analisi è stata accurata,la combinazione di queste entità formerà l'oggetto desiderato. Per effettuare l'analisi, è necessario avere una buona percezione dello spazio ealmeno una conoscenza di base della geometria descrittiva.

Panoramica Generale

Guida di Riferimento al GDL 3

Rappresentazioni di finestre con diversi livelli di sofisticazione

Per evitare di scoraggiarti nelle prime fasi del processo di apprendimento, inizia con oggetti di dimensioni definite e portali nella loro forma piùsemplice ma comunque riconoscibile. Man mano che acquisisci familiarità con la modellazione di base, puoi aumentare il livello di raffinatezzae avvicinarti alla forma ideale. Ideale non necessariamente significa complicata. A seconda della natura del progetto architettonico, l'elemento dilibreria potrebbe variare da semplice a raffinato. La finestra a sinistra nell'illustrazione sopra si adatta perfettamente allo stile di una visualizzazionedi progettazione. La finestra a destra dà un tocco di realismo e dettaglio che potrà essere utilizzato successivamente nella fase dei documenticostruttivi del progetto.Elaborazione

A seconda del tuo scopo, i tuoi oggetti parametrici personalizzati possono variare nell'elaborazione. Gli oggetti personalizzati per uso internoin studio possono essere meno raffinati di quelli per uso generale o per la distribuzione commerciale.Se i tuoi simboli hanno poca importanza sulla pianta o se le modifiche parametriche non devono apparire in 2D, puoi omettere gli script 2Dparametrici.Anche se le modifiche parametriche devono essere presenti in 2D, non è assolutamente necessario scrivere uno script 2D parametrico. Èpossibile eseguire modifiche parametriche nella finestra dello Script 3D o utilizzare la vista dall'alto 3D dell'oggetto modificato come nuovo

Panoramica Generale

Guida di Riferimento al GDL 4

simbolo e salvare l'oggetto modificato con un nuovo nome. Le modifiche parametriche ai valori predefiniti comporteranno diversi oggetti similiderivati dall'originale.Gli elementi di libreria più complessi e sofisticati sono costituiti da descrizioni 3D parametriche con corrispondenti script 2D parametrici.Eventuali modifiche alle impostazioni influenzeranno non solo l'immagine 3D dell'oggetto, ma anche l'aspetto della pianta.Livello baseQuesti comandi sono facili da capire e da usare. Non richiedono conoscenze di programmazione, tuttavia è possibile creare nuovi oggetti moltoefficaci utilizzando solo questi comandi.Forme SempliciLe forme sono unità geometriche di base che si sommano a un elemento di libreria complesso. Sono i blocchi di costruzione del GDL. Siposiziona una forma nello spazio 3D scrivendo un comando nello script GDL.Un comando forma è costituito da una parola chiave che definisce il tipo di forma e alcuni valori numerici o parametri alfabetici che nedefiniscono le dimensioni.Il numero di valori varia in base alla forma.All'inizio è possibile omettere l'utilizzo di parametri e lavorare solo con valori fissi.Puoi iniziare con i seguenti comandi di forma:In 3D:BLOCK, CYLIND, SPHERE, PRISMIn 2D:LINE2, RECT2, POLY2, CIRCLE2, ARC2Trasformazioni di CoordinateLe trasformazioni delle coordinate sono come spostare la mano in un determinato punto prima di posizionare un blocco di costruzione.Preparano la posizione, l'orientamento e la scala della forma successiva.

Panoramica Generale

Guida di Riferimento al GDL 5

L

G

x

y

z

x

y

z

BLOCK 1, 0.5, 0.5ADDX 1.5ROTY 30BLOCK 1, 0.5, 0.5La finestra 3D dell'elemento di libreria mostrerà opzionalmente la posizione iniziale (G = globale) e la posizione corrente (L = locale) delsistema di coordinate per qualsiasi oggetto presente.Le trasformazioni di coordinate più semplici sono le seguenti:In 3D:ADDX, ADDY, ADDZ, ROTX, ROTY, ROTZIn 2D:ADD2, ROT2I comandi che iniziano con ADD sposteranno la forma successiva, mentre i comandi ROT la ruoteranno attorno a uno qualsiasi dei suoi assi.Livello IntermedioQuesti comandi sono un po 'più complessi, non perché si aspettino che tu conosca la programmazione, ma semplicemente perché descrivonoforme più complesse o trasformazioni più astratte.In 3D:ELLIPS, CONE

Panoramica Generale

Guida di Riferimento al GDL 6

POLY_, LIN_, PLANE, PLANE_PRISM_, CPRISM_, SLAB, SLAB_, CSLAB_, TEXTIn 2D:HOTSPOT2, POLY2_, TEXT2, FRAGMENT2Questi comandi richiedono solitamente la definizione di più valori rispetto a quelli semplici. Alcuni richiedono valori di stato per controllarela visibilità di bordi e superfici.Trasformazione di CoordinateIn 3D:In cima alle trasformazioni entry levelMULX, MULY, MULZ, ADD, MUL, ROTIn 2D:In cima alle trasformazioni entry levelMUL2Esempio:

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

Le trasformazioni che iniziano con MUL ridimensioneranno le forme successive distorcendo i cerchi in ellissi o le sfere in ellissoidi. Se utilizzaticon valori negativi, possono essere utilizzati per la specchiatura. I comandi nella seconda riga influenzano contemporaneamente tutte e tre ledimensioni dello spazio.

Panoramica Generale

Guida di Riferimento al GDL 7

Livello AvanzatoQuesti comandi aggiungono un nuovo livello di complessità a causa della loro forma geometrica o perché rappresentano il GDL come linguaggiodi programmazione.In 3D:

BPRISM_ BWALL_ CWALL_ XWALL_

CROOF_ FPRISM_ SPRISM_

EXTRUDE PYRAMID REVOLVE RULED

SWEEP TUBE TUBEA COONS

MESH MASS

LIGHT PICTURE

Ci sono comandi di forma in questo gruppo che ti permettono di tracciare un poligono spaziale con un poligono di base per creare superficicurve lisce. Alcune forme richiedono riferimenti ai materiali nel loro elenco di parametri.Utilizzando piani di taglio, poligoni e forme, è possibile generare forme arbitrarie complesse da forme semplici. I comandi corrispondenti sonoCUTPLANE, CUTPOLY, CUTPOLYA, CUTSHAPE e CUTEND.In 2D:PICTURE2, POLY2_A, SPLINE2, SPLINE2AControllo del Flusso e Dichiarazioni CondizionaliFOR - TO - NEXTDO - WHILE, WHILE - ENDWHILEREPEAT - UNTILIF - THEN - ELSE - ENDIFGOTO, GOSUBRETURN, END / EXITQuesti comandi dovrebbero essere familiari a chiunque abbia mai programmato un computer, ma sono abbastanza semplici da poterlicomprendere senza una precedente esperienza di programmazione.Ti consentono di creare parti di script ripetitive per posizionare diverse forme con pochi script o di prendere decisioni basate su calcoli precedenti.

Panoramica Generale

Guida di Riferimento al GDL 8

FOR i = 1 TO 5 PRISM_ 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, -0.45, -0.1, 15, -0.45, 0, 15 ADDZ 0.2NEXT i

ParametriIn questa fase della tua esperienza, puoi sostituire valori numerici fissi con nomi di variabili. Ciò rende l'oggetto più flessibile. Queste variabilisono accessibili dalla finestra di dialogo Impostazioni dell'elemento di libreria mentre si lavora sul progetto.Chiamate alle MacroNon sei limitato alle forme GDL standard. Qualsiasi elemento di libreria esistente può diventare una forma GDL nella sua interezza. Perposizionarli, è sufficiente chiamare (fare riferimento a) al loro nome e trasferirgli i parametri richiesti, proprio come con i comandi di formastandard.Livello EspertoCon il tempo avrai una buona comprensione delle funzioni e dei comandi descritti sopra, sarai in grado di raccogliere i pochi comandi rimanentidi cui potresti aver bisogno di tanto in tanto.

NotaLa capacità di memoria del tuo computer potrebbe limitare la lunghezza del file degli script GDL, la profondità delle chiamate dimacro e il numero di trasformazioni.

Troverai ulteriori informazioni sui comandi GDL di cui sopra in tutto il manuale. I file della guida in formato HTML sono disponibili anchecon il software, fornendo una rapida panoramica dei comandi disponibili e della loro struttura dei parametri.

GENERAZIONE 3DLa modellazione 3D si basa su aritmetica in virgola mobile, il che significa che non ci sono limiti imposti alla dimensione geometrica del modello.Qualunque sia la dimensione, mantiene la stessa precisione fin nei minimi dettagli.

Panoramica Generale

Guida di Riferimento al GDL 9

Il modello 3D che finalmente vedete sullo schermo è composto da primitive geometriche. Queste primitive sono archiviate nella memoria deltuo computer in formato binario e il motore 3D le genera in base alla pianta che hai creato. La metamorfosi tra gli elementi architettonici dellaplanimetria e i dati binari 3D è chiamata conversione 3D.Le primitive sono le seguenti:• tutti i vertici dei vostri componenti di costruzione• tutti i lati che collegano i vertici• tutte le superfici poligonali comprese dai latiI gruppi di queste primitive sono tenuti insieme come corpi. I corpi compongono il modello 3D. Tutte le caratteristiche della visualizzazione3D - superfici lisce, ombre proiettate, materiali lucidi o trasparenti - si basano su questa struttura di dati.Lo Spazio 3DIl modello 3D viene creato in uno spazio tridimensionale misurato dagli assi x, y e z di un sistema di coordinate principale la cui origine èchiamata origine globale.Nella vista Pianta, puoi vedere l'origine globale nell'angolo inferiore sinistro del foglio di lavoro se apri il programma senza leggere un documentospecifico. Inoltre, l'origine globale definisce il livello zero di tutti i piani a cui si fa riferimento in un documento di pianta.Quando si posiziona un oggetto nel disegno, la posizione della pianta definirà la sua posizione lungo gli assi x e y di questo sistema di coordinateprincipali. La posizione lungo l'asse z può essere impostata nella finestra di dialogo Impostazioni oggetto o regolata direttamente quando vieneposizionata in 3D.Questa posizione sarà la base e la posizione predefinita del sistema di coordinate locale dell'oggetto. Le forme descrittenello script verranno posizionate con riferimento a questo sistema di coordinate locale.Trasformazione di CoordinateOgni forma GDL è collegata alla posizione corrente del sistema di coordinate locale. Per esempio, i blocchi (block) sono collegati all'origine.La lunghezza, la larghezza e l'altezza del blocco sono sempre misurate in direzione positiva lungo i tre assi. Pertanto, BLOCK richiede solo treparametri che definiscono le sue dimensioni lungo gli assi .Come puoi generare un blocco spostato e ruotato? Con la struttura dei parametri del BLOCK non è possibile farlo. Non ha parametri perlo spostamento e la rotazione.La risposta è spostare il sistema di coordinate nella posizione corretta prima di inserirloBLOCK. Con i comandi di trasformazione dellecoordinate, è possibile pre-definire la sua posizione e rotazione attorno agli assi. Queste trasformazioni non vengono applicate alle forme giàgenerate e sono efficaci solo sulle forme successive.L'Interprete GDLQuando viene eseguito uno script GDL, il motore dell'interprete GDL rileverà la posizione, le dimensioni, l'angolo di rotazione, i parametridefiniti dall'utente e lo stato speculare dell'elemento di libreria. Quindi sposterà il sistema di coordinate locale nella posizione corretta, pronto

Panoramica Generale

Guida di Riferimento al GDL 10

a ricevere i comandi GDL dallo script dell'elemento di libreria. Ogni volta che un comando per una forma di base viene letto dall'interprete,genererà le primitive geometriche che compongono quella particolare forma.Quando l'interprete ha terminato, il modello 3D binario completo verrà archiviato nella memoria e su di esso è possibile eseguire proiezioni3D, rendering vola-attraverso o studi della luce solare.Archicad contiene un pre-compilatore e un interprete per il GDL. L'interpretazione di uno script GDL utilizza il codice precompilato. Questacaratteristica aumenta la velocità dell'analisi. Se lo script GDL viene modificato, viene generato un nuovo codice.Le strutture dati convertite da altri formati di file (ad esempio, DXF, Zoom, Alias Wavefront) sono memorizzate in una sezione 3D binaria deglielementi di libreria. Questa sezione è referenziata dallo BINARY script GDL.L'Analisi degli Script GDLGli utenti non hanno alcun controllo sull'ordine in cui vengono analizzate gli elementi di libreria posizionati sulla pianta. L'ordine dell'analisidegli script GDL si basa sulla struttura dei dati interni; inoltre, le operazioni Annulla e Ripristina così come le modifiche possono influenzaretale ordine. Le uniche eccezioni a questa regola sono gli script GDL speciali della libreria attiva, i cui nomi iniziano con "MASTER_GDL"o "MASTEREND_GDL".Gli script il cui nome inizia con "MASTER_GDL" vengono eseguiti prima di avviare un processo di lista e dopo aver caricato la libreria attiva.Gli script il cui nome inizia con "MASTEREND_GDL" vengono eseguiti quando la libreria attiva deve essere modificata (Carica Librerie, Apriun progetto, Nuovo progetto, Esci).Questi script non vengono eseguiti quando si modificano gli elementi di libreria. Se la tua libreria contiene uno o più di questi script, verrannotutti eseguiti in un ordine non definito.Gli script MASTER_GDL e MASTEREND_GDL può includere definizioni di attributi, inizializzazioni di variabili globali utente GDL,comandi 3D (efficaci solo nel modello 3D), definizioni di elenchi di valori (vedi VALUES) e comandi specifici dell'estensione GDL. Gli attributidefiniti in questi script verranno fusi nel set di attributi corrente (gli attributi con lo stesso nome non vengono sostituiti, mentre gli attributioriginati da GDL e non modificati nel programma vengono sempre sostituiti).

Sintassi GDL

Guida di Riferimento al GDL 11

SINTASSI GDLQuesto capitolo presenta gli elementi di base della sintassi GDL, incluse istruzioni, etichette, identificatori, variabili e parametri. Anche le regole tipografiche vengonospiegate in dettaglio.

REGOLE DELLA SINTASSI DEL GDLIl GDL non fa distinzione tra maiuscole e minuscole; le lettere maiuscole e minuscole non vengono distinte, tranne nelle stringhe tra virgolette.La fine logica di uno script GDL è indicata da una istruzione END / EXIT o dalla fine fisica dello script.

ISTRUZIONIUn programma GDL è costituito da istruzioni. Un'istruzione può iniziare con una parola chiave (che definisce una forma GDL, trasformazioni dicoordinate o flusso di controllo del programma), con un nome di macro o con un nome di variabile seguito da un segno "=" e da un'espressione.

RIGALe istruzioni sono in righe separate da separatori di riga (caratteri end_of_line).Una virgola (,) nell'ultima posizione indica che l'istruzione continua sulla riga successiva. I due punti (:) vengono utilizzati per separare leistruzioni GDL in una riga. Dopo un punto esclamativo (!) Puoi scrivere qualsiasi commento nella riga. È possibile inserire righe vuote in unoscript GDL senza alcun effetto. È possibile utilizzare un numero qualsiasi di spazi o tabulazioni tra gli operandi e gli operatori. L'uso di unospazio o di una tabulazione è obbligatorio dopo le parole chiave dell'istruzione e le chiamate di macro.

ETICHETTEOgni riga può iniziare con un'etichetta che viene utilizzata come riferimento per un'istruzione successiva. Un'etichetta è un numero intero o unastringa costante tra virgolette, seguita da due punti (:).Un'etichetta di stringa distingue tra maiuscole e minuscole. Le etichette vengono controllateper una singola occorrenza. L'esecuzione del programma può essere continuata da qualsiasi etichetta utilizzando un'istruzione GOTO o GOSUB.

CARATTERIIl testo GDL è composto dalle lettere minuscole e maiuscole dell'alfabeto inglese, da qualsiasi numero e dai seguenti caratteri:<spazio> _(sottolineatura) ~ ! : , ; . + - * / ^ = < > <= >= # ( ) [ ] { } \ @ & |(barraverticale) " ' ` ´ “ ” ’ ‘ <end_of_line>

Sintassi GDL

Guida di Riferimento al GDL 12

STRINGHEQualsiasi stringa di caratteri Unicode inserita tra virgolette (", ', “, ’, `, ´) o qualsiasi stringa di caratteri senza virgolette che non figura nello scriptcome identificatore con un determinato valore (chiamata macro , nome attributo, nome file). Le stringhe senza virgolette verranno convertitein maiuscolo, quindi si consiglia di utilizzare le virgolette. La lunghezza massima consentita in una stringa è di 255 caratteri.Il carattere "\" ha valori di controllo speciali. Il suo significato dipende dal carattere successivo.

\\ '\' il carattere stesso

\n nuova riga

\t tabulatore

\nuova riga continua la stringa nella riga successiva senza una nuova riga

\altri non corretto, genera un avviso

Esempio 1:"Questa è una stringa"`lavandino 1'-6"*1'-2`'Non utilizzare delimitatori diversi’

Le stringhe localizzate utilizzano una sintassi speciale. Cominciano con _( caratteri e terminano con). Compatibilità: introdotto in Archicad 25.

Esempio 2:_("Questa è una stringa localizzata")_('Questa è un'altra stringa localizzata')

IDENTIFICATORIGli identificatori sono stringhe di caratteri ASCII speciali:• non sono più lunghi di 255 caratteri;• iniziano con una lettera dell'alfabeto o con il carattere '_' oppure '~';• sono costituiti da lettere ASCII, numeri e dai caratteri '_' oppure '~';• le lettere maiuscole e minuscole sono considerate identiche.

Sintassi GDL

Guida di Riferimento al GDL 13

Gli identificatori possono essere parole chiave GDL, variabili o stringhe globali o locali (nomi). Le parole chiave e i nomi delle variabili globalisono determinati dal programma in cui stai utilizzando il GDL; tutti gli altri identificatori possono essere usati come nomi di variabili.

VARIABILII programmi GDL possono gestire variabili numeriche e stringa (definite dai loro identificatori), numeri e stringhe di caratteri.Esistono due serie di variabili: locali e globali.Tutti gli identificatori che non sono parole chiave, variabili globali, nomi di attributi, nomi di macro o nomi di file sono considerati variabililocali. Se non inizializzati (non definiti), il loro valore sarà 0 (numero intero). Le variabili locali sono impilate con le chiamate di macro. Alritorno da una chiamata macro, l'interprete ripristina i loro valori.Le variabili globali hanno nomi riservati (per l'elenco delle variabili globali vedere sezione chiamata «Variabili Globali»). Non vengono impilate durantele chiamate di macro, consentendo all'utente di memorizzare valori speciali della modellazione e di simulare i codici di ritorno dalle macro. Levariabili globali dell'utente possono essere impostate in qualsiasi script, ma saranno efficaci solo negli script successivi. Se vuoi assicurarti chelo script desiderato venga analizzato per primo, imposta queste variabili nell'elemento di libreria MASTER_GDL. Tutti gli elementi leggerannosempre prima questi valori impostati dal Master GDL, a meno che i propri script (oggetto chiamante o macro chiamata) non modifichinotali valori. Non vi è alcuno scambio di dati globale dell'utente tra le diverse istanze di interpretazione. Le altre variabili globali possono essereutilizzate negli script per comunicare con il programma. Utilizzando il comando "=", è possibile assegnare un valore numerico o stringa allevariabili locali e globali.

PARAMETRIGli identificatori elencati nell'elenco di parametri di un elemento di libreria sono chiamati parametri. Gli identificatori dei parametri non devonosuperare i 31 caratteri di lunghezza. E il numero massimo di parametri non deve superare 1024. All'interno di uno script, le stesse regole siapplicano ai parametri come alle variabili locali.I parametri dei file GDL di solo testo sono identificati dalle lettere dalla A alla Z..

TIPI SEMPLICIVariabili, parametri ed espressioni possono essere di due semplici tipi: numerico o stringa.le Espressioni numeriche sono numeri costanti, variabili o parametri numerici, funzioni che restituiscono valori numerici e qualsiasi combinazionedi questi nelle operazioni. Le espressioni numeriche possono essere intere o reali. Le espressioni intere sono costanti intere, variabili o parametri,funzioni che restituiscono valori interi e qualsiasi combinazione di questi in operazioni che si traducono in numeri interi. Le espressioni reali sonocostanti reali, variabili o parametri, funzioni che restituiscono valori reali e qualsiasi combinazione di questi (o espressioni intere) in operazioni

Sintassi GDL

Guida di Riferimento al GDL 14

che si traducono in reali. Un'espressione numerica che sia un numero intero o un reale viene determinata durante il processo di compilazione edipende solo dalle costanti, dalle variabili, dai parametri e dalle operazioni utilizzate per combinarli. Le espressioni reali e intere possono essereutilizzate allo stesso modo in qualsiasi luogo in cui sia richiesta un'espressione numerica, tuttavia, nei casi in cui una combinazione di questepuò causare problemi di precisione, viene visualizzato un avviso del compilatore (confronto di reali o reali e numeri interi utilizzando operatorirelazionali '=' o '<>' o operatori booleani AND, OR, EXOR ; Istruzioni IF o GOTO con espressioni di etichette reali).Le espressioni stringa sono stringhe costanti, variabili stringa o parametri, funzioni che restituiscono stringhe e qualsiasi combinazione di questein operazioni che risultano in stringhe.

TIPI DERIVATIVariabili e parametri possono anche essere matrici, mentre i parametri possono essere elenchi di valori di un tipo semplice.Le matrici sono tabelle unidimensionali o bidimensionali di valori numerici e/o stringa, a cui è possibile accedere direttamente dagli indici.Le liste valori sono insiemi di possibili valori numerici o stringa. Possono essere assegnati ai parametri nello script della lista valori dell'elementodi libreria o nello script MASTER_GDL, e appariranno nell'elenco dei parametri come un menu a tendina.

TIPI STRUTTURATIVariabili e parametri possono anche essere dizionari. Compatibilità: introdotto in Archicad 23.I Dizionari sono una raccolta gerarchica di coppie chiave e valore. Le chiavi possono contenere altri valori di tipo dizionario, matrice, numerointero, stringa o virgola mobile.Le Chiavi sono considerati identificatori (sezione chiamata «Identificatori») - si applicano le stesse regole di sintassi, tranne per il fatto che ilcarattere "~" non è consentito.Non è consentito utilizzare le chiavi del dizionario (anche se di tipo semplice) nei seguenti luoghi:• come FOR - TO - NEXT variabile di ciclo.• come HOTSPOT2 o HOTSPOT parametro modificato o visualizzato.• come parametro di input UI _... in cui il parametro di input viene fornito come espressione.

(UI_INFIELD{2}, UI_INFIELD{3}, UI_CUSTOM_POPUP_INFIELD{2}, UI_RADIOBUTTON, UI_PICT_RADIOBUTTON,UI_PICT_PUSHCHECKBUTTON, UI_TEXTSTYLE_INFIELD, UI_LISTITEM{2}, UI_CUSTOM_POPUP_LISTITEM{2},UI_COLORPICKER{2}, UI_SLIDER{2})

• come parametro di input UI _... dove il parametro di input viene fornito come stringa, se la stringa restituisce un parametro di tipo dizionario.• come VALUES o VALUES{2} parametro - gli elenchi di valori non possono essere applicati.• come REQUEST valori restituiti - solo il livello radice di un dizionario è consentito nelle richieste che lo supportano.• come APPLICATION_QUERY, SPLIT, INPUT, LIBRARYGLOBAL o CALLFUNCTION valori restituiti.

Sintassi GDL

Guida di Riferimento al GDL 15

• come STR{2} extra_accuracy_string restituita.• come RETURNED_PARAMETERS di una CALL - solo i dizionari restituiti possono essere memorizzati solo a livello di radice di un

dizionario.

CONVENZIONI UTILIZZATE IN QUESTO LIBRO[aaa]Le parentesi quadre indicano che gli elementi racchiusi sono facoltativi (se sono in grassetto, devono essere inseriti come mostrato).{n}numero di versione del comando...L'elemento precedente può essere ripetuto|Relazione Esclusiva or tra i parametri di un comandovariabileQualsiasi nome di variabile GDLpromptQualsiasi stringa di caratteri (non deve contenere virgolette)stringa_in_grassettoSTRINGA_MAIUSCOLOcaratteri specialiDeve essere inserito come mostratoaltre_stringhe_minuscole_nella_lista_parametroQualsiasi espressione GDL

Trasformazione di Coordinate

Guida di Riferimento al GDL 16

TRASFORMAZIONE DI COORDINATEQuesto capitolo descrive i tipi di trasformazioni disponibili in GDL (spostamento, ridimensionamento e rotazione del sistema di coordinate)e il modo in cui vengono interpretate e gestite.Informazioni sulle TrasformazioniIn GDL, tutti gli elementi geometrici sono strettamente collegati al sistema di coordinate locale. Il GDL utilizza un sistema di coordinatedestrorso. Ad esempio, un angolo di un blocco è nell'origine e i suoi lati sono nei piani x-y, x-z e y-z .Il posizionamento di un elemento geometrico nella posizione desiderata richiede due passaggi. Per prima cosa, si sposta il sistema di coordinatenella posizione desiderata. Secondo, si genera l'elemento. Ogni movimento, rotazione o ridimensionamento del sistema di coordinate lungo oattorno a un asse è chiamato trasformazione. Le trasformazioni vengono archiviate in una pila; l'interpretazione parte dall'ultima all'indietro.Gli script ereditano questa pila; possono inserirvi nuovi elementi ma possono solo cancellare quelli definiti localmente. È possibile eliminareuna, più o tutte le trasformazioni definite nello script corrente. Dopo il ritorno da uno script, le trasformazioni definite localmente vengonorimosse dalla pila.

TRASFORMAZIONI 2DQueste sono le equivalenti nello spazio 2D delle trasformazioni 3D ADD, MUL e ROTZ.

ADD2ADD2 x, y

Esempio:ADD2 a, b

X

Y

X

Y

b

a

Trasformazione di Coordinate

Guida di Riferimento al GDL 17

MUL2MUL2 x, y

ROT2ROT2 alfa

Esempio:ROT2 beta

X

Y

X

Y

beta

TRASFORMAZIONI 3DADDXADDX dx

ADDYADDY dy

ADDZADDZ dzSposta il sistema di coordinate locali lungo l'asse specificato rispettivamente di dx, dy o dz.

ADDADD dx, dy, dzSostituisce la sequenza ADDX dx: ADDY dy: ADDZ dz.

Esempio:ADD a, b, c

Trasformazione di Coordinate

Guida di Riferimento al GDL 18

c

b

Z

a

Z

Y

Y

X

X

Ha solo una voce nella pila, quindi può essere cancellata con DEL 1.

MULXMULX mx

MULYMULY my

MULZMULZ mzRidimensiona il sistema di coordinate locali lungo l'asse specificato. Valori negativi di mx, my, mz provocano anche una specchiatura simultanea.

MULMUL mx, my, mzSostituisce la sequenza MULX mx: MULY my: MULZ mz. Ha solo una voce nella pila, quindi può essere cancellata con DEL 1.

ROTXROTX alfax

ROTYROTY alfay

Trasformazione di Coordinate

Guida di Riferimento al GDL 19

ROTZROTZ alfazRuota il sistema di coordinate locali attorno all'asse dato rispettivamente di gradi alfax, alfay, alfaz, in senso antiorario.

Esempio:

Y

X

X

Z

Y

beta

ROTZ beta

ROTROT x, y, z, alfaRuota il sistema di coordinate locali attorno all'asse definito dal vettore (x, y, z) di gradi alfa, in senso antiorario. Ha solo una voce nella pila,quindi può essere cancellata con DEL 1.

XFORMXFORM newx_x, newy_x, newz_x, offset_x, newx_y, newy_y, newz_y, offset_y, newx_z, newy_z, newz_z, offset_zDefinisce una matrice di trasformazione completa. Viene utilizzato principalmente nella generazione automatica di codice GDL. Ha una solavoce nella pila.x' = newx_x * x + newy_x * y + newz_x * z + offset_xy' = newx_y * x + newy_y * y + newz_y * z + offset_yz' = newx_z * x + newy_z * y + newz_z * z + offset_z

Trasformazione di Coordinate

Guida di Riferimento al GDL 20

Esempio:

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

GESTIONE DELLA PILA DI TRASFORMAZIONI

DELDEL n [, inizia_con]Elimina n voci dalla pila di trasformazioni.Se il parametro inizia_con non è specificato, elimina le n precedenti voci nella pila di trasformazioni. Il sistema di coordinate locali torna auna posizione precedente.Se viene specificata la trasformazione inizia_con, cancella n voci in avanti, iniziando con quella denotata da inizia_con. La numerazione iniziacon 1. Se il parametro inizia_con è specificato e n è negativo, elimina all'indietro.Se nello script corrente sono state emesse meno trasformazioni di quelle indicate dall'argomento del numero n specificato, vengono eliminatesolo le trasformazioni emesse.

DEL TOPDEL TOPElimina tutte le trasformazioni correnti nello script corrente.

NTRNTR ()Restituisce il numero effettivo di trasformazioni.

Trasformazione di Coordinate

Guida di Riferimento al GDL 21

Esempio:

BLOCK 1, 1, 1ADDX 2ADDY 2.5ADDZ 1.5ROTX -60ADDX 1.5BLOCK 1, 0.5, 2DEL 1, 1 ! Cancella la trasformazione ADDX 2BLOCK 1, 0.5, 1DEL 1, NTR() - 2 ! Cancella la trasformazione ADDZ 1.5BLOCK 1, 0.5, 2DEL -2, 3 ! Cancella le trasformazioni ROTX -60 e ADDY 2.5BLOCK 1, 0.5, 2

Forme 3D

Guida di Riferimento al GDL 22

FORME 3DQuesto capitolo copre tutti i comandi per la creazione di forme 3D disponibili in GDL, da quelli più elementari alla generazione di forme complesse da polilinee. Quivengono presentati anche gli elementi per la visualizzazione (sorgenti luminose, immagini), così come la definizione del testo da visualizzare in 3D. Inoltre, vengonodiscusse in dettaglio le primitive della struttura dati 3D interna costituita da nodi, vettori, bordi e corpi, seguita dall'interpretazione dei dati binari e dalle linee guidaper l'utilizzo dei piani di taglio.

FORME BASE

BLOCKBLOCK a, b, c

BRICKBRICK a, b, c

x

y

z

b

ca

Il primo angolo del blocco è nell'origine locale e i bordi con lunghezze a, b e c sono rispettivamente lungo gli assi x, y e z. I valori zero creanoblocchi degenerati (rettangolo o linea).Limitazione dei parametri:a >= 0, b >= 0, c >= 0a + b + c > 0

Forme 3D

Guida di Riferimento al GDL 23

CYLINDCYLIND h, r

x

y

z

r

h

Cilindro retto, coassiale all'asse z con altezza h e raggio r.Se h=0, viene generato un cerchio nel piano x-y.Se r=0, viene generata una linea lungo l'asse z.

SPHERESPHERE rUna sfera con il centro all'origine e con un raggio r.

Forme 3D

Guida di Riferimento al GDL 24

x

y

z

r

ELLIPSELLIPS h, rMezzo ellissoide. La sua sezione trasversale nel piano x-y è un cerchio con un raggio r centrato all'origine. La lunghezza del semiasse lungol'asse z è h.

Esempio: EmisferoELLIPS h, r

x

y

z

h

r

Forme 3D

Guida di Riferimento al GDL 25

CONECONE h, r1, r2, alfa1, alfa2

y

x

z

x

z

r1

r2

h

alpha2

alpha1

Tronco di un cono dove alfa1 e alfa2 sono gli angoli di inclinazione delle superfici terminali rispetto all'asse z, r1 e r2 sono i raggi dei cerchifinali e h è l'altezza lungo l'asse z.Se h = 0, i valori di alfa1 e alfa2 vengono ignorati e viene generato un anello nel piano x-y.alfa1 e alfa2 sono in gradi.Limitazione dei parametri:0 < alfa1 < 180° e 0 < alfa2 < 180°

Esempio: Un cono regolareCONE h, r, 0, 90, 90

PRISMPRISM n, h, x1, y1, ..., xn, ynPrisma retto con il suo poligono di base nel piano x-y (vedi i parametri di POLY e POLY_). L'altezza lungo l'asse z è abs (h). Possono essereutilizzati anche valori h negativi. In tal caso il secondo poligono di base è al di sotto del piano x-y.Limitazione dei parametri:n >= 3

Forme 3D

Guida di Riferimento al GDL 26

x

y

z

h

n

12

PRISM_PRISM_ n, h, x1, y1, s1, ..., xn, yn, snSimile a PRISM, ma uno qualsiasi dei bordi e dei lati orizzontali può essere omesso.Limitazione dei parametri:n >= 3

si: codice di stato che consente di controllare la visibilità dei bordi dei poligoni e delle superfici laterali. È inoltre possibile definire fori ecreare segmenti e archi nella polilinea utilizzando vincoli speciali.

Vedi Codici di Stato per i dettagli.

Forme 3D

Guida di Riferimento al GDL 27

Esempio 1: Facce solide e vuote

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

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

Forme 3D

Guida di Riferimento al GDL 28

Esempio 2: Fori nel poligono

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, !Fine del contorno 0.10, 0.03, 15, 0.24, 0.03, 15, 0.24, 0.2, 15, 0.10, 0.2, 15, 0.10, 0.03, -1, !Fine del primo foro 0.07, 0.03, 15, 0.07, 0.2, 15, -0.07, 0.2, 15, -0.07, 0.03, 15, 0.07, 0.03, -1, !Fine del secondo foro -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 !Fine del terzo foro

Forme 3D

Guida di Riferimento al GDL 29

Esempio 3: Superficie curva

j7 = 0 j7 = 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, 15

R=1H=3PRISM_ 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

CPRISM_CPRISM_ materiale_sup, materiale_inf, materiale_lato, n, h, x1, y1, s1, ..., xn, yn, snEstensione di PRISM_. I primi tre parametri vengono utilizzati per il nome/indice del materiale delle superfici superiore, inferiore e laterale.Gli altri parametri sono gli stessi come sopra in PRISM_.Limitazione dei parametri:

Forme 3D

Guida di Riferimento al GDL 30

n >= 3Vedi anche sezione chiamata «Materiali».si: codice di stato che consente di controllare la visibilità dei bordi dei poligoni e delle superfici laterali. È inoltre possibile definire fori e

creare segmenti e archi nella polilinea utilizzando vincoli speciali.Vedi Codici di Stato per i dettagli.

Esempio: Materiale che fa riferimento a un materiale predefinito per nome, indice e variabile globale

CPRISM_ "Mtl-Iron", 0, SYMB_MAT, 13, 0.2, 0, 0, 15, 2, 0, 15, 2, 2, 15, 0, 2, 15, 0, 0, -1, !fine del contorno 0.2, 0.2, 15, 1.8, 0.2, 15, 1.0, 0.9, 15, 0.2, 0.2, -1, !fine del primo foro 0.2, 1.8, 15, 1.8, 1.8, 15, 1.0, 1.1, 15, 0.2, 1.8, -1 !fine del secondo foro

CPRISM_{2}CPRISM_{2} materiale_sup, materiale_inf, materiale_lato, n, h, x1, y1, alfa1, s1, mat1, ... xn, yn, alfan, sn, matn

Forme 3D

Guida di Riferimento al GDL 31

CPRISM_{2} è una estensione di CPRISM_ con la possibilità di definire angoli e materiali differenti per ogni lato del prisma.La definizione dell'angolo laterale è simile a quella di CROOF_.alphai: l'angolo tra la faccia appartenente al bordo i del prisma e il piano perpendicolare alla base.mati: riferimento materiale che consente di controllare il materiale delle superfici laterali.

CPRISM_{3}CPRISM_{3} materiale_sup, materiale_inf, materiale_lato, mask, n, h, x1, y1, alfa1, s1, mat1, ... xn, yn, alfan, sn, matnCPRISM_{3} è una estensione di CPRISM_{2} con la possibilità di controllare il comportamento globale del prisma generato.mask: controlla il comportamento globale del prisma generato.mask = j1 + 2*j2 + 4*j3 + 8*j4, dove ogni j può essere 0 o 1.j1: eliminazione della linea del bordo superiore.j2: eliminazione della linea del bordo inferiore.j3: eliminazione della linea del bordo laterale.j4: il bordo laterale e la superficie sono lisci nelle sezioni curve del profilo. Compatibilità: introdotto in Archicad 21.

Forme 3D

Guida di Riferimento al GDL 32

Esempio 1:

PEN 1mat = IND (MATERIAL, "Metal-Aluminium")FOR i=1 TO 4 STEP 1 IF i = 1 THEN mask = 1+2+4 IF i = 2 THEN mask = 1 IF i = 3 THEN mask = 2 IF i = 4 THEN mask = 4 CPRISM_{3} mat, mat, mat, mask, 5, 1, 0, 0, 0, 15, mat, 1, 0, 0, 15, mat, 1, 1, 0, 15, mat, 0, 1, 0, 15, mat, 0, 0, 0, -1, mat BODY -1 DEL TOP IF i = 1 THEN ADDY 1 IF i = 2 THEN ADDX -1 IF i = 3 THEN ADDX 1NEXT i

Forme 3D

Guida di Riferimento al GDL 33

Esempio 2:

PEN 1mat = IND (MATERIAL, "Metal-Aluminium")!bordi visibili dei segmenti lateralimask = 1 + 2 + 4_secondStat = 15CPRISM_{3} mat, mat, mat, mask, 6, 1, 0, 0, 0, 15, mat, 1, 0, 0, _secondStat, mat, 0.5, 0.5, 0, 900, mat, 1, 1, 0, 3015, mat, 0, 1, 0, 15, mat, 0, 0, 0, -1, mat!bordi smussati utilizzando la prima copia dello stato del nodomask = 1 + 2 + 4_secondStat = 15 + 64CPRISM_{3} mat, mat, mat, mask, 6, 1, 0, 0, 0, 15, mat, 1, 0, 0, _secondStat, mat, 0.5, 0.5, 0, 900, mat, 1, 1, 0, 3015, mat, 0, 1, 0, 15, mat, 0, 0, 0, -1, mat!bordi levigati usando la maschera, il primo bordo non è lisciomask = 1 + 2 + 4 + 8_secondStat = 15CPRISM_{3} mat, mat, mat, mask, 6, 1, 0, 0, 0, 15, mat, 1, 0, 0, _secondStat, mat, 0.5, 0.5, 0, 900, mat, 1, 1, 0, 3015, mat, 0, 1, 0, 15, mat, 0, 0, 0, -1, mat

Forme 3D

Guida di Riferimento al GDL 34

CPRISM_{4}CPRISM_{4} materiale_sup, materiale_inf, materiale_lato, mask, n, h, x1, y1, alfa1, s1, mat1, ... xn, yn, alfan, sn, matnCPRISM_{4} è una estensione di CPRISM_{3} con la possibilità di utilizzare la definizione del materiale in linea, ciò significa che i materialidefiniti nello script GDL localmente possono essere utilizzati anche accanto ai materiali definiti nelle definizioni dei materiali globali.

BPRISM_BPRISM_ materiale_sup, materiale_inf, materiale_lato, n, h, raggio, x1, y1, s1, ... xn, yn, snUn prisma curvo liscio, basato sulla stessa struttura dati dell'elemento CPRISM_ retto. L'unico parametro aggiuntivo è il raggio.Derivato dal corrispondente CPRISM_ piegando il piano x-y su un cilindro tangente a quel piano. I bordi lungo l'asse x vengono trasformatiin archi circolari; i bordi lungo l'asse y rimangono orizzontali; i bordi lungo l'asse z saranno in direzione radiale.Vedi BWALL_ per i dettagli.si: codice di stato che consente di controllare la visibilità dei bordi dei poligoni e delle superfici laterali. È inoltre possibile definire fori e

creare segmenti e archi nella polilinea utilizzando vincoli speciali.Vedi Codici di Stato per i dettagli.

Esempio: Prismi curvi con i corrispondenti rettilinei

BPRISM_ "Glass - Blue", "Glass - Blue", "Glass - Blue", 3, 0.4, 1, ! radius = 1 0, 0, 15, 5, 0, 15, 1.3, 2, 15

Forme 3D

Guida di Riferimento al GDL 35

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

FPRISM_FPRISM_ materiale_sup, materiale_inf, materiale_lato, hill_material, n, spessore, angolo, hill_altezza, x1, y1, s1, ... xn, yn, snSimile a PRISM_, con i parametri aggiuntivi hill_material, angolo e hill_height per formare una rampa in alto.hill_material: il materiale laterale della parte della rampa.angle: l'angolo di inclinazione dei bordi laterali della rampa.

Restrizione: 0 <= angolo < 90.Se angolo = 0, i bordi laterali della rampa visti da una vista ortogonale formano un quarto di cerchio con la risoluzione corrente (vediRADIUS, RESOL e TOLER).

hill_height: l'altezza della rampa. Notare che il parametro dello spessore rappresenta l'intera altezza del prisma.

Forme 3D

Guida di Riferimento al GDL 36

si: codice di stato che consente di controllare la visibilità dei bordi dei poligoni e delle superfici laterali. È inoltre possibile definire fori ecreare segmenti e archi nella polilinea utilizzando vincoli speciali.

Limitazione dei parametri:n >= 3, hill_height < thickness

Vedi Codici di Stato per i dettagli.

1

n

2

hill_heightthickness

angle

Esempio 1: Prisma con rampa curva

RESOL 10FPRISM_ "Roof Tile", "Brick-Red", "Brick-White", "Roof Tile", 4, 1.5, 0, 1.0, !angolo = 0 0, 0, 15, 5, 0, 15, 5, 4, 15, 0, 4, 15

Forme 3D

Guida di Riferimento al GDL 37

Esempio 2: Prisma con rampa dritta

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

HPRISM_HPRISM_ top_mat, bottom_mat, side_mat, hill_mat, n, spessore, angolo, hill_altezza, stato, x1, y1, s1, ... xn, yn, snSimile a FPRISM_, con un parametro aggiuntivo che controlla la visibilità dei bordi della rampa.status: controlla la visibilità dei bordi della rampa:0: i bordi della rampa sono tutti visibili (FPRISM_)

Forme 3D

Guida di Riferimento al GDL 38

1: i bordi della rampa sono invisibili

SPRISM_SPRISM_ materiale_sup, materiale_inf, materiale_lato, n, xb, yb, xe, ye, h, angolo, x1, y1, s1, ... xn, yn, snEstensione di CPRISM_, con la possibilità di impostare il poligono superiore non parallelo al piano x-y. La definizione del piano superiore èsimile alla definizione del piano di CROOF_. L'altezza del prisma è definita sulla linea di riferimento. L'intersezione del poligono superioree inferiore è vietata.

n

h

1

2

(x ,y )b b(x ,y )ee

angle

xb, yb, xe, ye: coordinate iniziali e finali della linea di riferimento (vettore).angle: angolo di rotazione del poligono superiore attorno alla data linea di riferimento orientata in gradi (antiorario).si: codice di stato che consente di controllare la visibilità dei bordi dei poligoni e delle superfici laterali. È inoltre possibile definire fori e

creare segmenti e archi nella polilinea utilizzando vincoli speciali.Vedi Codici di Stato per i dettagli.

Nota: Tutte le coordinate z calcolate dei nodi poligonali superiori devono essere positive o 0.

Forme 3D

Guida di Riferimento al GDL 39

Esempio:

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

SPRISM_{2}SPRISM_{2} materiale_sup, materiale_inf, materiale_lato, n, xtb, ytb, xte, yte, zSup, tangolo, xbb, ybb, xbe, ybe, zInf, bangolo, x1, y1, s1, mat1, ... xn, yn, sn, matnEstensione di SPRISM_, con la possibilità di avere un poligono superiore e uno inferiore non paralleli al piano x-y. La definizione dei piani èsimile alla definizione del piano di CROOF_. La parte superiore e inferiore del prisma è definita sulla linea di riferimento. L'intersezione delpoligono superiore e inferiore è vietata.xtb, ytb, xte, yte: linea di riferimento (vettore) delle coordinate iniziali e finali del poligono superiore.topz: il livello 'z' della linea di riferimento del poligono superiore.tangle: angolo di rotazione del poligono superiore attorno alla linea di riferimento orientata data in gradi (antiorario).xbb, ybb, xbe, ybe: linea di riferimento (vettore) delle coordinate iniziali e finali del poligono inferiore.bottomz: il livello 'z' della linea di riferimento del poligono inferiore.bangle: angolo di rotazione del poligono inferiore attorno alla data linea di riferimento orientata in gradi (antiorario).si: codice di stato che consente di controllare la visibilità dei bordi dei poligoni e delle superfici laterali. È inoltre possibile definire fori e

creare segmenti e archi nella polilinea utilizzando vincoli speciali.Vedi Codici di Stato per i dettagli.

Forme 3D

Guida di Riferimento al GDL 40

mati: riferimento materiale che consente di controllare il materiale delle superfici laterali.

Esempio:

SPRISM_{2} 'Grass', 'Earth', 'Earth', 11, 0, 0, 11, 0, 30, -30.0, 0, 0, 0, 11, 2, 30.0, 0, 0, 15, IND (MATERIAL, 'C10'), 10, 1, 15, IND (MATERIAL, 'C11'), 11, 6, 15, IND (MATERIAL, 'C12'), 5, 7, 15, IND (MATERIAL, 'C13'), 4, 5, 15, IND (MATERIAL, 'C14'), 1, 6, 15, IND (MATERIAL, 'C10'), 0, 0, -1, IND (MATERIAL, 'C15'), 9, 2, 15, IND (MATERIAL, 'C15'), 10, 5, 15, IND (MATERIAL, 'C15'), 6, 4, 15, IND (MATERIAL, 'C15'), 9, 2, -1, IND (MATERIAL, 'C15')

SPRISM_{3}SPRISM_{3} materiale_sup, materiale_inf, materiale_lato, mask, n, xtb, ytb, xte, yte, zSup, tangolo, xbb, ybb, xbe, ybe, zInf, bangolo, x1, y1, s1, mat1, ... xn, yn, sn, matnEstensione di SPRISM_{2} con la possibilità di controllare il comportamento globale del prisma generato.mask: controlla il comportamento globale del prisma generato.mask = j1 + 2*j2 + 4*j3 + 8*j4, dove ogni j può essere 0 o 1.j1: eliminazione della linea del bordo superiore.j2: eliminazione della linea del bordo inferiore.j3: eliminazione della linea del bordo laterale.

Forme 3D

Guida di Riferimento al GDL 41

j4: il bordo laterale e la superficie sono lisci nelle sezioni curve del profilo. Compatibilità: introdottoin Archicad 21.

Esempio:

PEN 1mat = IND (MATERIAL, "Metal-Aluminium")FOR i=1 TO 4 STEP 1 IF i = 1 THEN mask = 1+2+4 IF i = 2 THEN mask = 1 IF i = 3 THEN mask = 2 IF i = 4 THEN mask = 4 SPRISM_{3} mat, mat, mat, mask, 5, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 15, mat, 1, 0, 15, mat, 1, 1, 15, mat, 0, 1, 15, mat, 0, 0, -1, mat

BODY -1 DEL TOP IF i = 1 THEN ADDY 1 IF i = 2 THEN ADDX -1 IF i = 3 THEN ADDX 1NEXT i

SPRISM_{4}SPRISM_{4} materiale_sup, materiale_inf, materiale_lato, mask, n, xtb, ytb, xte, yte, zSup, tangolo, xbb, ybb, xbe, ybe, zInf, bangolo, x1, y1, s1, mat1, ... xn, yn, sn, matn

Forme 3D

Guida di Riferimento al GDL 42

SPRISM_{4} è una estensione di SPRISM_{3} con la possibilità di utilizzare la definizione del materiale in linea, ciò significa che i materialidefiniti nello script GDL localmente possono essere utilizzati anche accanto ai materiali definiti nelle definizioni dei materiali globali.

SLABSLAB n, h, x1, y1, z1, ..., xn, yn, znPrisma obliquo.Le facce laterali sono sempre perpendicolari al piano x-y. Le sue basi sono poligoni piatti ruotati attorno ad un asse parallelo alpiano x-y. Possono essere utilizzati anche valori h negativi.In tal caso il secondo poligono di base è inferiore a quello dato.Non viene verificato se i punti sono realmente su un piano. Gli apici che non si trovano su un piano provocheranno strane ombreggiature /rendering.Limitazione dei parametri:n >= 3

x

y

z

SLAB_SLAB_ n, h, x1, y1, z1, s1, ..., xn, yn, zn, snSimile a SLAB, ma tutti i bordi e le facce dei poligoni laterali possono essere omessi. Questa affermazione è un'analogia di PRISM_.si: codice di stato che consente di controllare la visibilità dei bordi dei poligoni e delle superfici laterali. È inoltre possibile definire fori e

creare segmenti e archi nella polilinea utilizzando vincoli speciali.Vedi Codici di Stato per i dettagli.

Forme 3D

Guida di Riferimento al GDL 43

CSLAB_CSLAB_ materiale_sup, materiale_inf, materiale_lato, n, h, x1, y1, z1, s1, ..., xn, yn, zn, snEstensione di SLAB_; i primi tre parametri vengono utilizzati per il nome/indice del materiale delle superfici superiore, inferiore e laterale. Glialtri parametri sono gli stessi come sopra in SLAB_.si: codice di stato che consente di controllare la visibilità dei bordi dei poligoni e delle superfici laterali. È inoltre possibile definire fori e

creare segmenti e archi nella polilinea utilizzando vincoli speciali.Vedi Codici di Stato per i dettagli.

CWALL_CWALL_ mat_sinistra, mat_destra, materiale_lato, altezza, x1, x2, x3, x4, t, mask1, mask2, mask3, mask4, n, x_start1, y_low1, x_end1, y_high1, frame_shown1, ... x_startn, y_lown, x_endn, y_highn, frame_shownn, m, a1, b1, c1, d1, ... am, bm, cm, dmLeft_material, right_material, side_material: Nomi/indici dei materiali per le superfici sinistra, destra e laterale. (I

lati sinistro e destro del muro seguono l'asse x.)

La linea di riferimento del muro viene sempre trasformata in modo che coincida con l'asse x. I lati del muro sono nel piano x-z.height: L'altezza del muro rispetto alla sua base.

Forme 3D

Guida di Riferimento al GDL 44

x1, x2, x3, x4: I punti finali proiettati del muro che giace sul piano x-y come mostrato di seguito. Se il muro sta da solo, allora x1= x4 = 0, x2 = x3 = la lunghezza del muro.

t: lo spessore del muro.t < 0: se il corpo del muro è a destra dell'asse x,t > 0: se il corpo del muro è a sinistra dell'asse x,t = 0: se il muro è rappresentato da un poligono e attorno ai fori vengono generati dei riquadri.

x4 x2x3x1

Y

X

t

mask1, mask2, mask3, mask4: Controlla la visibilità dei bordi e dei poligoni laterali.mask1, mask2, mask3, mask4 = j1 + 2*j2 + 4*j3 + 8*j4, dove ogni j può essere 0 o 1.I bit j1, j2, j3 rappresentano se i bordi del poligono laterale sono presenti (1) o omessi (0). Il bit j4 rappresenta se gli spigoli sul lato poligonoderivato dal taglio sono presenti (1) o omessi (0).

Forme 3D

Guida di Riferimento al GDL 45

j4

j3

Z

X

Y

j1

mask 1

j2

mask 4 mask 2

mask 3

n: il numero di aperture nel muro.x_starti, y_lowi, x_endi, y_highi: coordinate delle aperture come mostrato di seguito.

X

Z

i

i

i

i

heig

ht

x_startx_end

y_lo

w y_hi

gh

frame_showni:1: se i bordi del foro sono visibili,0: se i bordi del foro sono invisibili,< 0: controlla separatamente la visibilità di ciascuno dei bordi dell'apertura: frame_showni = -(1*j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6+ 64*j7 + 128*j8), dove j1, j2, ..., j8 possono essere 0 o 1. I numeri da j1 a j4 controllano la visibilità dei bordi del foro sul lato sinistro dellasuperficie della parete, mentre da j5 a j8 influenzano i bordi sul lato destro, come mostrato nell'illustrazione sotto.

Forme 3D

Guida di Riferimento al GDL 46

j4

j3

j1j2

j5

j7

j6

j8

Y

Z

X

Un bordo perpendicolare alla superficie del muro è visibile se sono presenti bordi visibili disegnati da entrambi i suoi punti finali.m: il numero di piani di taglio.ai, bi, ci, di: coefficienti dell'equazione che definisce il piano di taglio [ai*x + bi*y + ci*z = di]. Parti sul lato positivo del piano

di taglio (i.e., ai*x + bi*y + ci*z > di) saranno tagliate e rimosse

[ai, bi, ci]

Forme 3D

Guida di Riferimento al GDL 47

BWALL_BWALL_ mat_sinistra, mat_destra, materiale_lato, altezza, x1, x2, x3, x4, t, raggio, mask1, mask2, mask3, mask4, n, x_start1, y_low1, x_end1, y_high1, frame_shown1, ... x_startn, y_lown, x_endn, y_highn, frame_shownn, m, a1, b1, c1, d1, ... am, bm, cm, dmUn muro curvo liscio basato sulla stessa struttura dati dell'elemento CWALL_ a parete dritta. L'unico parametro aggiuntivo è il raggio. Derivatodal corrispondente CWALL_ piegando il piano x-z su un cilindro tangente a quel piano. I bordi lungo l'asse x vengono trasformati in archicircolari, i bordi lungo l'asse y saranno in direzione radiale e i bordi verticali rimarranno verticali. La curvatura è approssimata da un numerodi segmenti impostato dalla risoluzione corrente (vedi RADIUS, RESOL e TOLER).Vedi anche CWALL_ per i dettagli.

Esempio 1: un BWALL_ ed il corrispondente CWALL_

y

x

r

Forme 3D

Guida di Riferimento al GDL 48

Esempio 2:

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

Forme 3D

Guida di Riferimento al GDL 49

XWALL_XWALL_ mat_sinistra, mat_destra, mat_verticale, mat_orizzontale, altezza, x1, x2, x3, x4, y1, y2, y3, y4, t, raggio, altezza_tronco, offset_tronco, mask1, mask2, mask3, mask4, n, x_start1, y_low1, x_end1, y_high1, frame_shown1, ... x_startn, y_lown, x_endn, y_highn, frame_shownn, m, a1, b1, c1, d1, ... am, bm, cm, dm, statusDefinizione di muro estesa basata sulla stessa struttura dati dell'elemento BWALL_.vertical_material, horizontal_material: nome o indice dei materiali laterali verticali/orizzontali.y1, y2, y3, y4: i punti finali proiettati del muro che giace nel piano x-y come mostrato di seguito.

x

y

x1 x2 x3 x4y3y2

y1y4

log_height, log_offset: parametri aggiuntivi che consentono di comporre un muro dai tronchi. Efficace solo per pareti dritte.

Forme 3D

Guida di Riferimento al GDL 50

logoffset

logheight

status: controlla il comportamento dei muri di tronchistatus = j1 + 2*j2 + 4*j3 + 32*j6 + 64*j7 + 128*j8 + 256*j9, dove ogni j può essere 0 o 1.j1: applica il materiale del lato destro sui bordi orizzontali,j2: applica il materiale del lato sinistro sui bordi orizzontali,j3: inizia con mezzo tronco,j6: allinea la tessitura ai bordi del muro,j7: doppio raggio sul lato curvato,j8: tronco quadrato sul lato destro,j9: tronco quadrato sul lato sinistro.

Esempio:

Forme 3D

Guida di Riferimento al GDL 51

XWALL_ "Surf-White", "Surf-White", "Surf-White", "Surf-White", 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

XWALL_{2}XWALL_{2} mat_sinistra, mat_destra, mat_verticale, mat_orizzontale, altezza, x1, x2, x3, x4, y1, y2, y3, y4, t, raggio, altezza_tronco, offset_tronco, mask1, mask2, mask3, mask4, n, x_start1, y_low1, x_end1, y_high1, sill_depth1, frame_shown1, ... x_startn, y_lown, x_endn, y_highn, sill_depthn, frame_shownn, m, a1, b1, c1, d1, ... am, bm, cm, dm, statusDefinizione di muro estesa basata sulla stessa struttura dati dell'elemento XWALL_.silldepthi: profondità logica del davanzale di apertura. Se è impostato il bit j9 del parametro frame_showni, i materiali laterali della

parete avvolgono i poligoni del foro, fino a definirne la linea di separazione.frame_showni:1: se i bordi del foro sono visibili,0: se i bordi del foro sono invisibili,

Forme 3D

Guida di Riferimento al GDL 52

< 0: controlla separatamente la visibilità di ciascuno dei bordi dell'apertura: frame_showni = -(1*j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 +32*j6 + 64*j7 + 128*j8 + 256*j9 + 512*j10), dove j1, j2, ..., j10 possono essere 0 o 1. Sono disponibili due valori aggiuntivi per controllarel'avvolgimento del materiale. Il significato dei valori j1, j2, ..., j8 è lo stesso dei comandi CWALL_ e XWALL_. Il valore j9 controlla il materialedei poligoni del foro. Se j9 è 1, il foro eredita i materiali laterali del muro. Il valore j10 controlla la forma della linea di separazione tra imateriali del foro sui poligoni superiore e inferiore del foro nel caso di un muro curvo. Se il valore di j10 è 1, la linea di separazione saràretta, altrimenti curva.

XWALL_{3}XWALL_{3} mat_sinistra, mat_destra, mat_verticale, mat_orizzontale, altezza, x1, x2, x3, x4, y1, y2, y3, y4, t, raggio, altezza_tronco, offset_tronco, mask1, mask2, mask3, mask4, n, x_start1, y_low1, x_end1, y_high1, sill_depth1, frame_shown1, ... x_startn, y_lown, x_endn, y_highn, sill_depthn, frame_shownn, m, a1, b1, c1, d1, ... am, bm, cm, dm, statusXWALL_ {3} è un'estensione del comando XWALL_ {2} con la possibilità di nascondere tutti i bordi del muro di tronchi.status: controlla il comportamento dei muri di tronchistatus = j1 + 2*j2 + 4*j3 + 32*j6 + 64*j7 + 128*j8 + 256*j9 + 512*j10, dove ogni j può essere 0 o 1.j1: applica il materiale del lato destro sui bordi orizzontali,j2: applica il materiale del lato sinistro sui bordi orizzontali,j3: inizia con mezzo troncoj6: allinea la tessitura ai bordi del muro,j7: doppio raggio sul lato curvo,j8: tronco quadrato sul lato destro,j9: tronco quadrato sul lato sinistro,

Forme 3D

Guida di Riferimento al GDL 53

j10: nasconde tutti i bordi del muro di tronchi.

Esempio:

Forme 3D

Guida di Riferimento al GDL 54

ROTZ 90xWALL_{2} "C13", "C11", "C12", "C12", 2, 0, 4, 4, 0, 0, 0, 1, 1, 1, 0, 0, 0, 15, 15, 15, 15, 1, 1, 0.9, 3, 2.1, 0.3, -(255 + 256), 0, 0DEL 1ADDX 2xWALL_{2} "C13", "C11", "C12", "C12", 2, 0, 2 * PI, 2 * PI, 0, 0, 0, 1, 1, 1, 2, 0, 0, 15, 15, 15, 15, 1, 1.6, 0.9, 4.6, 2.1, 0.3, -(255 + 256), 0, 0ADDX 4xWALL_{2} "C13", "C11", "C12", "C12", 2, 0, 2 * PI, 2 * PI, 0, 0, 0, 1, 1, 1, 2, 0, 0, 15, 15, 15, 15, 1, 1.6, 0.9, 4.6, 2.1, 0.3, -(255 + 256 + 512), 0, 0

Forme 3D

Guida di Riferimento al GDL 55

BEAMBEAM mat_sinistra, mat_destra, mat_verticale, materiale_sup, materiale_inf, altezza, x1, x2, x3, x4, y1, y2, y3, y4, t, mask1, mask2, mask3, mask4Definizione di trave. I parametri sono simili a quelli dell'elemento XWALL_.top_material, bottom_material: materiali superiore e inferiore.

Esempio:

BEAM 1, 1, 1, 1, 1, 0.3, 0.0, 7.0, 7.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.5, 15, 15, 15, 15

CROOF_CROOF_ materiale_sup, materiale_inf, materiale_lato, n, xb, yb, xe, ye, altezza, angolo, spessore, x1, y1, alfa1, s1, ... xn, yn, alfan, snUna falda del tetto inclinata con spigoli angolari personalizzati.top_material, bottom_material, side_material: nome/indice del materiale superiore, inferiore e laterale.n: il numero di nodi nel poligono della falda.xb, yb, xe, ye: linea di riferimento (vettore).

Forme 3D

Guida di Riferimento al GDL 56

height: l'altezza della falda in corrispondenza della linea di riferimento (superficie inferiore).angle: l'angolo di rotazione del piano della falda attorno alla data linea di riferimento orientata in gradi (antiorario).thickness: lo spessore della falda misurato perpendicolarmente al piano della falda.xi, yi: le coordinate dei nodi del poligono inferiore della falda.alphai: l'angolo tra la faccia appartenente al bordo i della falda e il piano perpendicolare al piano della falda, -90° <alfai <90°. Guardando

nella direzione del bordo del poligono della falda correttamente orientato, l'angolo di rotazione antiorario è positivo. I bordi del poligono dellafalda sono orientati correttamente se, nella vista dall'alto, il contorno è in sequenza in senso antiorario e i fori sono in sequenza in senso orario.

si: codice di stato che consente di controllare la visibilità dei bordi dei poligoni e delle superfici laterali. È inoltre possibile definire fori ecreare segmenti e archi nella polilinea utilizzando vincoli speciali.

x

y

z

heig

ht

alphai

angle(xe, ye)

(xb, yb)

Vedi Codici di Stato per i dettagli.Limitazione dei parametri:n >= 3

Forme 3D

Guida di Riferimento al GDL 57

Esempio 1:

CROOF_ 1, 1, 1, ! materiali 9, 0, 0, 1, 0, ! linea di riferimento (xb,yb)(xe,ye) 0.0, ! altezza -30, ! angolo 2.5, ! spessore 0, 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

Forme 3D

Guida di Riferimento al GDL 58

Esempio 2:

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

CROOF_{2}CROOF_{2} materiale_sup, materiale_inf, materiale_lato, n, xb, yb, xe, ye, altezza, angolo, spessore, x1, y1, alfa1, s1, mat1, ... xn, yn, alfan, sn, matnEstensione di CROOF_ con la possibilità di definire diversi materiali per lati.mati: riferimento materiale che consente di controllare il materiale delle superfici laterali.

Forme 3D

Guida di Riferimento al GDL 59

CROOF_{3}CROOF_{3} materiale_sup, materiale_inf, materiale_lato, mask, n, xb, yb, xe, ye, altezza, angolo, spessore, x1, y1, alfa1, s1, mat1, ... xn, yn, alfan, sn, matnEstensione di CROOF_{2}con la possibilità di controllare il comportamento globale della falda generata.mask: controlla il comportamento globale della falda generata.mask = j1 + 2*j2 + 4*j3 + 8*j4, dove ogni j può essere 0 o 1.j1: eliminazione della linea del bordo superiore.j2: eliminazione della linea del bordo inferiore.j3: eliminazione della linea del bordo laterale.j4: il bordo laterale e la superficie sono lisci nelle sezioni curve del profilo. Compatibilità: introdotto in Archicad 21.

Esempio:

PEN 1mat = IND (MATERIAL, "Metal-Aluminium")FOR i=1 TO 4 STEP 1 IF i = 1 THEN mask = 1+2+4 IF i = 2 THEN mask = 1 IF i = 3 THEN mask = 2 IF i = 4 THEN mask = 4 CROOF_{3} mat, mat, mat, mask, 5, 0, 1, 2, 1, 3, -45, 0.3, 0, 0, 0, 15, mat, 1, 0, 0, 15, mat, 1, 1, 0, 15, mat, 0, 1, 0, 15, mat, 0, 0, 0, -1, mat BODY -1 DEL TOP IF i = 1 THEN ADD 0,1,1 IF i = 2 THEN ADDX -1 IF i = 3 THEN ADDX 1NEXT i

Forme 3D

Guida di Riferimento al GDL 60

CROOF_{4}CROOF_{4} materiale_sup, materiale_inf, materiale_lato, mask, n, xb, yb, xe, ye, altezza, angolo, spessore, x1, y1, alfa1, s1, mat1, ... xn, yn, alfan, sn, matnCROOF_{4} è una estensione di CROOF_{3} con la possibilità di utilizzare la definizione del materiale in linea, ciò significa che i materialidefiniti nello script GDL localmente possono essere utilizzati anche accanto ai materiali definiti nelle definizioni dei materiali globali.

MESHMESH a, b, m, n, mask, z11, z12, ..., z1m, z21, z22, ..., z2m, ... zn1, zn2, ..., znmUna semplice maglia liscia basata su un rettangolo con una rete equidistante. I lati del rettangolo di base sono a e b; i punti m e n sonorispettivamente lungo gli assi x e y; zij è l'altezza del nodo.Masking:

i

n

m1

Y

Zij

1

Z

X

jb

a

mask:mask = j1 + 4*j3 + 16*j5 + 32*j6 + 64*j7, dove ogni j può essere 0 o 1.j1: la superficie di base è presente,

Forme 3D

Guida di Riferimento al GDL 61

j3: sono presenti le superfici laterali,j5: i bordi di base e laterali sono visibili,j6: i bordi superiori sono visibili,j7: i bordi superiori sono visibili, la superficie superiore non è liscia.

Limitazione dei parametri:m >= 2, n >= 2

Esempio 1:

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

Esempio 2:

Forme 3D

Guida di Riferimento al GDL 62

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

ARMCARMC r1, r2, l, h, d, alfa

z

x

y

x

h

d

r2

r1

l

alpha

Un pezzo di tubo che parte da un altro tubo; parametri secondo la figura (vengono calcolate e disegnate anche le curve di penetrazione). Ilvalore alfa è in gradi.Limitazione dei parametri:r1 >= r2 + dr1 <= l*sin(alfa) - r2*cos(alfa)

Forme 3D

Guida di Riferimento al GDL 63

Esempio:

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

ARMEARME l, r1, r2, h, d

y

z

h

dr2

r1

l

Un pezzo di tubo che parte da un ellissoide nel piano y-z; parametri secondo la figura (vengono calcolate e disegnate anche le linee dipenetrazione).Limitazione dei parametri:r1 >= r2+dl >= h*sqrt(1-(r2-d)2/r12)

Forme 3D

Guida di Riferimento al GDL 64

Esempio:

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

ELBOWELBOW r1, alfa, r2Un gomito segmentato nel piano x-z. Il raggio dell'arco è r1, l'angolo è alfa e il raggio del segmento del tubo è r2. Il valore alfa è in gradi.Limitazione dei parametri:r1 > r2

x

z

alpha r1

r2

Forme 3D

Guida di Riferimento al GDL 65

Esempio:

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

FORMA PIANE IN 3DGli elementi di disegno presentati in questa sezione possono essere utilizzati negli script 3D, consentendo di definire punti, linee, archi, cerchie poligoni planari nello spazio tridimensionale.

HOTSPOTHOTSPOT x, y, z [, unID [, paramReference [, flags [, displayParam [, customDescription]]]]]Un hotspot 3D nel punto (x, y, z).unID: l'identificatore univoco dell'hotspot nello script 3D. È utile se hai un numero variabile di hotspot.paramReference: parametro che può essere modificato da questo hotspot utilizzando il metodo di modifica dei parametri basato su

hotspot grafico.displayParam: parametro da visualizzare nella palette delle informazioni durante la modifica del parametro paramRefrence. Possono

essere passati anche membri di matrici.customDescription: descrizione personalizzata del parametro visualizzato nella palette delle informazioni. Quando si utilizza questa

opzione, è necessario impostare anche displayParam (usa paramReference per default).Vedi Modifica Grafica tramite Hotspot per l'utilizzo degli HOTSPOT.

HOTLINEHOTLINE x1, y1, z1, x2, y2, z2, unID

Forme 3D

Guida di Riferimento al GDL 66

Un segmento di linea di stato tra i punti P1 (x1,y1,z1) e P2 (x2,y2,z2).

HOTARCHOTARC r, alfa, beta, unIDUn arco di stato nel piano x-y con il centro all'origine da angolo alfa a beta con raggio r.alfa e beta sono in gradi.

LIN_LIN_ x1, y1, z1, x2, y2, z2Un segmento di linea tra i punti P1 (x1,y1,z1) e P2 (x2,y2,z2).

RECTRECT a, b

x

ya

b

Un rettangolo nel piano x-y con i lati a e b.Limitazione dei parametri:a >= 0, b >= 0

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

Forme 3D

Guida di Riferimento al GDL 67

x

y

1 2 3

n

Un poligono con n lati nel piano x-y. Le coordinate di nodei sono (xi, yi, 0).Limitazione dei parametri:n >= 3

POLY_POLY_ n, x1, y1, s1, ..., xn, yn, snSimile alla normale istruzione POLY, ma qualsiasi bordo può essere omesso.si: codice di stato che consente di controllare la visibilità dei bordi dei poligoni e delle superfici laterali. È inoltre possibile definire fori e

creare segmenti e archi nella polilinea utilizzando vincoli speciali.si = 0: il bordo che inizia dall'apice (xi, yi) sarà omesso,si = 1: verrà mostrato il bordo,si = -1: viene utilizzato per definire direttamente i fori.

Codici di stato aggiuntivi consentono di creare segmenti e archi nella polilinea planare utilizzando vincoli speciali.Vedi sezione chiamata «Codici di stato aggiuntivi» per i dettagli.

Forme 3D

Guida di Riferimento al GDL 68

x

y

1 2 3

n

x

y

1 2 3

n

Limitazione dei parametri:n >= 3

PLANEPLANE n, x1, y1, z1, ..., xn, yn, znUn poligono con n lati su un piano arbitrario. Le coordinate di nodei sono (xi, yi, zi). Il poligono deve essere planare per ottenere un risultatodi ombreggiatura/rendering corretto, ma l'interprete non verifica questa condizione.Limitazione dei parametri:n >= 3

PLANE_PLANE_ n, x1, y1, z1, s1, ..., xn, yn, zn, snSimile a PLANE, ma uno qualsiasi dei bordi può essere omesso come in POLY_.Codici di stato aggiuntivi consentono di creare segmenti e archi nella polilinea planare utilizzando vincoli speciali.Vedi sezione chiamata «Codici di stato aggiuntivi».Limitazione dei parametri:n >= 3

CIRCLECIRCLE rUn cerchio nel piano x-y con il centro all'origine e con un raggio di r.

Forme 3D

Guida di Riferimento al GDL 69

x

y

r

ARCARC r, alfa, beta

x

y

r

alpha

beta

Un arco (in modalità Filo di Ferro) o un settore (in altre modalità) nel piano x-y con il centro all'origine da angolo alfa a beta con un raggiodi r.. alfa e beta sono in gradi.

FORME GENERATE DA POLILINEEQuesti elementi consentono di creare forme 3D complesse utilizzando una polilinea e una regola incorporata. È possibile ruotare, proiettare otraslare la polilinea data. I corpi risultanti sono una generalizzazione di alcuni elementi descritti in precedenza come PRISM_ e CYLIND.Forme generate da una singola polilinea:

Forme 3D

Guida di Riferimento al GDL 70

• EXTRUDE• PYRAMID• REVOLVEForme generate da due polilinee:• RULED• SWEEP• TUBE• TUBE{2}• TUBEALa prima polilinea è sempre nel piano x-y. I punti sono determinati da due coordinate; il terzo valore è lo stato (vedi sotto). La seconda polilinea(per RULED, SWEEP, TUBE e TUBEA) è una curva spaziale. Gli apici sono determinati da tre valori di coordinate.Forma generata da quattro polilinee:• COONS• COONS{2}Forma generata da un numero qualsiasi di polilinee:• MASSRestrizioni generali per le polilinee• I vertici adiacenti non devono essere coincidenti (tranne RULED).• La polilinea non deve intersecarsi (ciò non è verificato dal programma, ma la rimozione e il rendering delle linee nascoste saranno errati).• Le polilinee possono essere aperte o chiuse. In quest'ultimo caso, il primo nodo deve essere ripetuto dopo l'ultimo del contorno.MaskingI valori della maschera vengono utilizzati per mostrare o nascondere superfici e/o bordi caratteristici della forma 3D. I valori della mascherasono specifici per ogni elemento e puoi trovare una descrizione più dettagliata nelle sezioni/capitoli corrispondenti.mask:mask = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7, dove ogni j può essere 0 o 1.j1, j2, j3, j4 rappresentano se le superfici sono presenti (1) o omesse (0).j5, j6, j7 rappresentano se i bordi sono visibili (1) o invisibili (0).j1: superficie base.j2: superficie superiore.j3: superficie laterale.j4: altra superficie laterale.

Forme 3D

Guida di Riferimento al GDL 71

j5: bordi di base.j6: bordi superiori.j7: la sezione trasversale/i bordi della superficie sono visibili, la superficie non è liscia.Per abilitare tutte le facce e i bordi, imposta il valore della maschera su 127.

StatoI valori di stato vengono utilizzati per stabilire se un dato punto della polilinea lascerà dietro di sé una traccia netta del suo percorso di rotazione.0: gli archi latitudinali/bordi laterali a partire dal nodo sono tutti visibili.1: archi latitudinali/bordi laterali a partire dal nodo vengono utilizzati solo per mostrare il contorno.-1: solo per EXTRUDE: segna la fine del poligono che lo racchiude o un foro e significa che il nodo successivo sarà il primo nodo di un altro foro.Codici di stato aggiuntivi consentono di creare segmenti e archi nella polilinea utilizzando vincoli speciali.Vedi sezione chiamata «Codici di stato aggiuntivi» per i dettagli.Per creare una forma 3D levigata, impostare tutti i valori di stato su 1. Usa status = 0 per creare uno spigolo.Altri valori sono riservati per miglioramenti futuri.

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

x

y

z

j1

j2

j3

j5

j6

1

2

n

Forme 3D

Guida di Riferimento al GDL 72

Prisma generale che utilizza una base polilinea nel piano x-y.Il vettore di spostamento tra le basi è (dx, dy, dz). Questa è una generalizzazione di PRISM e SLAB. La polilinea di base non è necessariamentechiusa, poiché i bordi laterali non sono sempre perpendicolari al piano x-y. La polilinea di base può includere fori, proprio come PRISM_. Èpossibile controllare la visibilità dei bordi del contorno.n: il numero di nodi della polilinea.mask: controlla l'esistenza del poligono inferiore, superiore e laterale (in caso di polilinea aperta).mask = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6 + 64*j7 + 128*j8, dove ogni j può essere 0 o 1.j1: la superficie di base è presente,j2: la superficie superiore è presente,j3: è presente la superficie laterale (di chiusura),j5: i bordi della base sono visibili,j6: i bordi superiori sono visibili.j7: i bordi della sezione trasversale sono visibili, la superficie è articolata,j8: i bordi della sezione trasversale sono netti, la levigatura della superficie si interromperà qui in OpenGL e nel rendering.

si: stato dei bordi laterali o segna la fine del poligono o di un foro. È inoltre possibile definire archi e segmenti nella polilinea utilizzandovalori di codice di stato aggiuntivi:0: è visibile il bordo laterale a partire dal nodo,1: i bordi laterali a partire dal nodo sono usati per mostrare il contorno,-1: segna la fine del poligono che lo racchiude o un foro e significa che il nodo successivo sarà il primo vertice di un altro foro.

Codici di stato aggiuntivi consentono di creare segmenti e archi nella polilinea planare utilizzando vincoli speciali.Vedi sezione chiamata «Codici di stato aggiuntivi» per i dettagli.Limitazione dei parametri:n > 2

Forme 3D

Guida di Riferimento al GDL 73

Esempio 1:

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

Forme 3D

Guida di Riferimento al GDL 74

Esempio 2:

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

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

Forme 3D

Guida di Riferimento al GDL 75

x

y

z

j1

j3

j51

2

n

h

Piramide basata su una polilinea nel piano x-y. Il picco della piramide si trova a (0, 0, h).n: numero di nodi della polilinea.mask: controlla l'esistenza del poligono inferiore e (nel caso di una polilinea aperta) laterale.mask = j1 + 4*j3 + 16*j5, dove ogni j può essere 0 o 1.j1: la superficie di base è presente,j3: è presente la superficie laterale (di chiusura),j5: i bordi della base sono visibili.

si: stato dei bordi laterali.0: i bordi laterali a partire dal nodo sono tutti visibili,1: i bordi laterali a partire dal nodo sono usati per mostrare il contorno.

Codici di stato aggiuntivi consentono di creare segmenti e archi nella polilinea planare utilizzando vincoli speciali.Vedi sezione chiamata «Codici di stato aggiuntivi» per i dettagli.Limitazione dei parametri:h > 0 e n > 2

Forme 3D

Guida di Riferimento al GDL 76

Esempio:

PYRAMID 4, 1.5, 1+4+16, -2, -2, 0, -2, 2, 0, 2, 2, 0, 2, -2, 0PYRAMID 4, 4, 21, -1, -1, 0, 1, -1, 0, 1, 1, 0, -1, 1, 0for i = 1 to 4 ! quattro picchi ADD -1.4, -1.4, 0 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 DEL 1 ROTZ 90next idel 4

REVOLVEREVOLVE n, alfa, mask, x1, y1, s1, ..., xn, yn, sn

Forme 3D

Guida di Riferimento al GDL 77

j6

j1

j3

j2

j4

1

n

Z

2

Y

j5

alpha

Superficie generata ruotando una polilinea definita nel piano x-y attorno all'asse x. La polilinea del profilo non può contenere fori.n: numero di nodi della polilinea.alpha: angolo di rotazione in gradimask: controlla l'esistenza dei poligoni inferiore, superiore e (nel caso di alfa <360 °) laterali.mask = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 + 128*j8 + 256*j9, dove ogni j può essere 0 o 1.j1: è presente il disco di chiusura al primo punto,j2: è presente il disco di chiusura all'ultimo punto,j3: è presente il lato di chiusura della base (nel piano del profilo),j4: è presente il lato di chiusura finale (nel piano di rivoluzione),j5: i bordi della base (nel piano del profilo) sono visibili,j6: i bordi finali (nel piano di rivoluzione) sono visibili,j7: i bordi della sezione trasversale sono visibili, la superficie è articolata,j8: eliminazione linea bordo orizzontale,j9: eliminazione linea bordo verticale.

si: stato degli archi latitudinali.0: gli archi latitudinali a partire dal nodo sono tutti visibili,

Forme 3D

Guida di Riferimento al GDL 78

1: gli archi latitudinali a partire dal nodo vengono utilizzati per mostrare il contorno,2: quando si utilizza Archicad o il motore di rendering Z-buffer e si impostano Superfici levigate, il bordo latitudinale appartenente a questopunto definisce un'interruzione. Questa soluzione è equivalente alla definizione di nodi aggiuntivi. Il calcolo viene eseguito dal compilatore.Con altri metodi di rendering, ha lo stesso effetto dell'uso di 0.

Codici di stato aggiuntivi consentono di creare segmenti e archi nella polilinea planare utilizzando vincoli speciali.Vedi sezione chiamata «Codici di stato aggiuntivi» per i dettagli.Limitazione dei parametri:n >= 2yi >= 0.0yi = 0.0 e yi+1 = 0.0 non possono esserci allo stesso tempo(cioè, il valore y di due nodi vicini non può essere zero allo stesso tempo).

Esempio 1:

Forme 3D

Guida di Riferimento al GDL 79

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

Forme 3D

Guida di Riferimento al GDL 80

Esempio 2:

Forme 3D

Guida di Riferimento al GDL 81

soluzione alternativa senza codice di stato 2: lo stesso risultato con il codice di stato 2:ROTY -90REVOLVE 26, 180, 16+32, 7, 1, 0, 6.0001, 1, 1, 6, 1, 0, 5.9999, 1.0002, 1, 5.5001, 1.9998, 1, 5.5, 2, 0, 5.4999, 1.9998, 1, 5.0001, 1.0002, 1, 5, 1, 0, 4.9999, 1, 1, 4.0001, 1, 1, 4, 1, 0, 3+cos(15), 1+sin(15), 1, 3+cos(30), 1+sin(30), 1, 3+cos(45), 1+sin(45), 1, 3+cos(60), 1+sin(60), 1, 3+cos(75), 1+sin(75), 1, 3, 2, 1, 3+cos(105), 1+sin(105), 1, 3+cos(120), 1+sin(120), 1, 3+cos(135), 1+sin(135), 1, 3+cos(150), 1+sin(150), 1, 3+cos(165), 1+sin(165), 1, 2, 1, 0, 1.9999, 1, 0, 1, 1, 0

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

REVOLVE{2}REVOLVE{2} n, alfaOffset, alfa, mask, MatLato, x1, y1, s1, mat1, ..., xn, yn, sn, matnVersione avanzata di REVOLVE. Il poligono del profilo sarà sempre chiuso e potrebbe presentare dei fori. L'angolo iniziale e i materiali dellafaccia sono controllabili.alphaOffset: angolo di rotazione iniziale.

Forme 3D

Guida di Riferimento al GDL 82

alpha: lunghezza dell'angolo di rotazione in gradi, può essere negativa.mask: controlla l'esistenza dei poligoni inferiore, superiore e (nel caso di alfa <360 °) laterali.mask = 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 + 128*j8 + 256*j9, dove ogni j può essere 0 o 1.j3: è presente il lato di chiusura della base (nel piano del profilo),j4: è presente il lato di chiusura finale (nel piano di rivoluzione),j5: i bordi della base (nel piano del profilo) sono visibili,j6: i bordi finali (nel piano di rivoluzione) sono visibili,j7: i bordi della sezione trasversale sono visibili, la superficie è articolata,j8: eliminazione linea bordo orizzontale,j9: eliminazione linea bordo verticale.

sideMat: materiale delle facce di chiusura.mati: materiale della faccia generata dal bordo i-esimo.

REVOLVE{3}REVOLVE{3} n, alfaOffset, alfa, betaOffset, beta, mask, MatLato, x1, y1, s1, mat1, ..., xn, yn, sn, matnREVOLVE{3} è una estensione del comando REVOLVE{2} con la possibilità di definire due posizioni di snap. Durante la rivoluzione ilpercorso di ogni punto della polilinea di base è un arco circolare, che è approssimato da una polilinea. Con REVOLVE{3} è possibile definiredue posizioni di snap in cui la polilinea si adatta esattamente al cerchio. Con REVOLVE{2} queste due posizioni di snap sono all'inizio e allafine della rivoluzione . Con REVOLVE{3} i punti finali non sono necessariamente sul cerchio ma semplicemente tagliati sui piani finali.betaOffset: angolo che definisce la prima posizione di snap. Non è necessario che l'angolo definito si trovi nell'intervallo di rivoluzione.beta: angolo che definisce la seconda posizione di snap rispetto alla prima posizione di snap. Può essere negativo. Non è necessario che

l'angolo definito si trovi nell'intervallo di rivoluzione.

Forme 3D

Guida di Riferimento al GDL 83

Esempio:

revolve{2} posizioni di snap alle estremità revolve{3} posizioni di snap personalizzabili

resol 8revolve{2} 4, 10, 335, ! alfaOffset, alfa 444, 2, 0, 4, 2, 2, 3, 4, 2, 2, 3, 6, 2, 2, 0, 6, 2, 2! cerchio di riferimentoresol 72revolve{2} 4, 0, 360, ! alfaOffset, alfa 444, 0, -0.01, 3.99, 2, 0, 0, 3.99, 2, 0, 0, 4, 2, 0, -0.01, 4, 2, 0

resol 8revolve{3} 4, 10, 335, ! alfaOffset, alfa 67.5, 100, ! betaOffset, beta 444, 2, 0, 4, 2, 2, 3, 4, 2, 2, 3, 6, 2, 2, 0, 6, 2, 2! cerchio di riferimentoresol 72revolve{2} 4, 0, 360, ! alfaOffset, alfa 444, 0, -0.01, 3.99, 2, 0, 0, 3.99, 2, 0, 0, 4, 2, 0, -0.01, 4, 2, 0

Forme 3D

Guida di Riferimento al GDL 84

REVOLVE{4}REVOLVE{4} n, alfaOffset, alfa, betaOffset, beta, mask, MatLato, x1, y1, s1, mat1, ..., xn, yn, sn, matnREVOLVE{4} è una estensione del comando REVOLVE{3} con la possibilità di nascondere tutti i bordi.mask: controlla l'esistenza dei poligoni inferiore, superiore e (nel caso di alfa <360°) laterali.mask = 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 + 128*j8 + 256*j9 + 512*j10 + 1024*j11, dove ognij può essere 0 o 1.j3: è presente il lato di chiusura della base (nel piano del profilo),j4: è presente il lato di chiusura finale (nel piano di rivoluzione),j5: i bordi della base (nel piano del profilo) sono visibili,j6: i bordi finali (nel piano di rivoluzione) sono visibili,j7: i bordi della sezione trasversale sono visibili, la superficie è articolata,j8: eliminazione linea bordo orizzontale,j9: eliminazione linea bordo verticale,j10: nascondi tutti i bordi della rivoluzione,j11: il bordo laterale e la superficie sono lisci nelle sezioni curve del profilo. Compatibilità: introdotto in Archicad 21.

REVOLVE{5}REVOLVE{5}n, alfaOffset, alfa, betaOffset, beta, mask, MatLato, x1, y1, s1, mat1, ..., xn, yn, sn, matnREVOLVE{5} è una estensione di REVOLVE{4} con la possibilità di utilizzare la definizione del materiale in linea, ciò significa che i materialidefiniti nello script GDL localmente possono essere utilizzati anche accanto ai materiali definiti nelle definizioni dei materiali globali.

RULEDRULED n, mask, u1, v1, s1, ..., un, vn, sn, x1, y1, z1, ..., xn, yn, zn

RULED{2}RULED{2} n, mask, u1, v1, s1, ..., un, vn, sn, x1, y1, z1, ..., xn, yn, zn

Forme 3D

Guida di Riferimento al GDL 85

j3

j61

n

j2

j51

Z

2

n

Xj1

Y

2

RULED è una superficie basata su una curva planare e una curva spaziale con lo stesso numero di nodi . La polilinea della curva planare nonpuò avere fori. I segmenti retti collegano i nodi corrispondenti delle due polilinee.Questo è l'unico elemento GDL che consente la sovrapposizione dei nodi vicini.La seconda versione, RULED{2}, controlla la direzione (in senso orario o antiorario) in cui sono stati definiti i punti del poligono superioree del poligono di base e, se necessario, inverte la direzione . (Il comando RULED originale prende in considerazione solo il poligono di base,il che può portare a errori.)n: numero di nodi di polilinea in ciascuna curva.ui, vi: coordinate dei nodi della curva planare.xi, yi, zi: coordinate dei nodi della curva spaziale.mask: controlla l'esistenza del poligono inferiore, superiore e laterale e la visibilità dei bordi sulle polilinee del generatore. Il poligono laterale

collega il primo e l'ultimo nodo delle curve, se qualcuna di loro non è chiusa.mask = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6 + 64*j7, dove ogni j può essere 0 o 1.j1: la superficie di base è presente,j2: è presente la superficie superiore (non efficace se la superficie superiore non è planare),

Forme 3D

Guida di Riferimento al GDL 86

j3: è presente la superficie laterale (un quadrangolo planare o due triangoli),j5: i bordi sulla curva planare sono visibili,j6: i bordi sulla curva nello spazio sono visibili,j7: i bordi sulla superficie sono visibili, la superficie non è liscia.

si: stato dei bordi laterali.0: i bordi laterali a partire dal nodo sono tutti visibili,1: i bordi laterali a partire dal nodo sono usati per mostrare il contorno.

Limitazione dei parametri:n > 1

Forme 3D

Guida di Riferimento al GDL 87

Esempio:

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

Forme 3D

Guida di Riferimento al GDL 88

RULEDSEGMENTEDRULEDSEGMENTED n, mask, x11, y11, z11, s1,..., x1n, y1n, z1n, sn, x21, y21, z21, ..., x2n, y2n, z2nCompatibilità: introdotto in Archicad 21.RULEDSEGMENTED crea una superficie basata su due polilinee di forma arbitraria nello spazio 3D. Le due polilinee devono essere costituitedallo stesso numero di vertici. Genera una sequenza di superfici doppiamente ruled, come RULED, ma con meno restrizioni sulle polilineedi input e con una suddivisione di migliore qualità.I vertici corrispondenti dei due profili sono collegati con linee rette. La coppia corrispondente di segmenti obliqui dei profili è collegata da unasuperficie doppiamente ruled (paraboloide matematicamente iperbolico), con segmentazione in entrambe le direzioni, risultando in renderinge sezioni trasversali molto più uniformi.Condizioni delle polilinee di profilo:• entrambe sono polilinee 3D, non è necessario che siano complanari• ciascuna può essere chiusa ma nessuna delle due può contenere fori• ciascuna può contenere vertici identici, anche più consecutivi che danno come risultato una superficie a forma di ventaglio• se una polilinea del profilo è chiusa e complanare, è possibile generare un poligono di chiusuran: numero di nodi di polilinea in ciascuna curva.x1i, y1i, z1i: Posizioni 3D dei vertici sulla prima polilinea del profilo.x2i, y2i, z2i: Posizioni 3D dei vertici sulla seconda polilinea del profilo.mask: controlla l'esistenza del poligono inferiore, superiore e laterale e la visibilità dei bordi sulle polilinee del generatore. Il poligono laterale

collega il primo e l'ultimo nodo delle curve, se qualcuna di loro non è chiusa.mask = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6 + 64*j7, dove ogni j può essere 0 o 1.j1: è presente la superficie di base (non efficace se la prima polilinea non è complanare e j3 non è impostato),j2: è presente la superficie superiore (non efficace se la seconda polilinea non è complanare e j3 non è impostato),j3: è presente la superficie laterale di chiusura (superficie su segmenti aggiuntivi tra l'ultimo e il primo nodo),j5: i bordi sulla prima polilinea del profilo sono visibili,j6: i bordi sulla seconda polilinea del profilo sono visibili,j7: i bordi sulla superficie sono visibili, la superficie non è liscia.

si: stato delle generatrici (bordi laterali tra un nodo sulla prima polilinea di profilo e il nodo corrispondente sulla seconda polilinea).0: la generatrice è visibile,1: la generatrice viene utilizzata per mostrare il contorno,

Forme 3D

Guida di Riferimento al GDL 89

2: la generatrice è visibile e definisce un'interruzione nel rendering.Limitazione dei parametri:n > 1

Esempio:

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

RULEDSEGMENTED{2}RULEDSEGMENTED{2} materiale_sup, materiale_inf, n, mask, textureMode, x11, y11, z11, s1, mat1..., x1n, y1n, z1n, sn, matn, x21, y21, z21, ..., x2n, y2n, z2nCompatibilità: introdotto in Archicad 23.RULEDSEGMENTED{2} è una estensione di RULEDSEGMENTED con la possibilità di controllare gli attributi della superficie dellesuperfici generate nel dettaglio del segmento e applicare la proiezione di tessitura personalizzata.Parametri addizionali:top_material: indice dell'attributo superficie della superficie di base (se la prima polilinea è complanare e sono impostati j1 + j3).bottom_material: indice dell'attributo surface della superficie superiore (se la seconda polilinea è complanare e sono impostati j2 + j3).textureMode: modalità di proiezione della tessitura0: automatico, ottimizzato per superfici curve, come con RULEDSEGMENTED.1: personalizzato, definito da COOR.

mati: indice di attributo di superficie del segmento di superficie i generato.

Forme 3D

Guida di Riferimento al GDL 90

Esempio:

_IndiceMatSup = 22_IndiceMatInf = 34_IndiceMatSegmento_1 = 55_IndiceMatSegmento_2 = 44

RULEDSEGMENTED{2} _IndiceMatSup, _IndiceMatInf, 4, 1+2+16+32, 0, 0, 0, 0, 2, _IndiceMatSegmento_1, 1, 0, 0, 2, _IndiceMatSegmento_2, 1, 1, 0, 2, _IndiceMatSegmento_1, 0, 1, 0, 2, _IndiceMatSegmento_2, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1

SWEEPSWEEP n, m, alfa, scala, mask, u1, v1, s1, ..., un, vn, sn, x1, y1, z1, ..., xm, ym, zmSuperficie generata da una polilinea che scorre lungo un percorso su una polilinea curva nello spazio.Il piano della polilinea segue la curva del percorso. La curva spaziale deve iniziare dal piano x-y. Se questa condizione non è soddisfatta, vienespostata lungo l'asse z per iniziare sul piano x-y.La sezione trasversale nel punto (xi, yi, zi) è perpendicolare al segmento della curva dello spazio tra i punti (xi-1, yi-1, zi-1) e (xi, yi, zi).SWEEP può essere utilizzato per modellare il beccuccio di una teiera e altre forme complesse.n: numero di nodi della polilinea.m: numero di nodi del percorso.alpha: rotazione incrementale della polilinea sul proprio piano, da un nodo del percorso a quello successivo.scale: fattore di scala incrementale della polilinea, da un nodo di percorso a quello successivo.ui, vi: coordinate dei nodi della polilinea di base.xi, yi, zi: coordinate dei nodi del percorso della curva.

Forme 3D

Guida di Riferimento al GDL 91

mask: controlla l'esistenza delle superfici e dei bordi dei poligoni inferiore e superiore.mask = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6 + 64*j7, dove ogni j può essere 0 o 1.j1: la superficie di base è presente,j2: la superficie superiore è presente,j3: la superficie laterale è presente,j5: i bordi della base sono visibili,j6: i bordi superiori sono visibili,j7: i bordi della sezione trasversale sono visibili, la superficie è articolata.

x

y

z

1

2

n j1

j3

j5

j2j6

1

2

m

si: stato dei bordi laterali.0: i bordi laterali a partire dal nodo sono tutti visibili,1: i bordi laterali a partire dal nodo sono usati per mostrare il contorno.

Codici di stato aggiuntivi consentono di creare segmenti e archi nella polilinea planare utilizzando vincoli speciali.Vedi sezione chiamata «Codici di stato aggiuntivi» per i dettagli.Limitazione dei parametri:

Forme 3D

Guida di Riferimento al GDL 92

n > 1m > 1z1 < z2

Esempio:

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

Forme 3D

Guida di Riferimento al GDL 93

TUBETUBE n, m, mask, u1, w1, s1, ... un, wn, sn, x1, y1, z1, angolo1, ... xm, ym, zm, angolomSuperficie generata da una polilinea che scorre lungo un percorso curvo dello spazio senza distorsione della sezione trasversale di generazione.Le superfici di connessione interne sono girevoli nel piano U-O del sistema di coordinate istantaneo U-V-O.V axis: approssima la tangente della curva del generatore nel punto corrispondente.W axis: perpendicolare all'asse V e rivolto verso l'alto rispetto all'asse z locale.U axis: perpendicolare agli assi V e W e forma con essi un sistema di coordinate cartesiane sul lato destro.Se l'asse V è verticale, la direzione W non è definita correttamente. L'asse W nel nodo del percorso precedente viene utilizzato per determinareuna direzione orizzontale.La sezione poligonale del tubo misurata al centro dei segmenti di percorso è sempre uguale al poligono di base (u1, w1, ..., un, wn).I poligoni di sezione nei giunti sono situati nel piano bisettrice dei segmenti del giunto. Il poligono di base deve essere chiuso.n: numero dei nodi della polilinea.m: numero dei nodi del percorso.ui, wi: coordinate dei nodi della polilinea di base.xi, yi, zi: coordinate dei nodi del percorso curvo.anglei: angolo di rotazione della sezione trasversale.mask: controlla l'esistenza delle superfici e dei bordi dei poligoni inferiore e superiore.mask = j1 + 2*j2 + 16*j5 + 32*j6 + 64*j7 + 128*j8 + 512*j10 + 1024*j11 + 2048*j12 + 4096*j13,dove ogni j può essere 0 o 1.j1: la superficie di base è presente,j2: la superficie finale è presente,j5: i bordi della base (in x2, y2, z2) sono visibili,j6: i bordi finali (in xm-1, ym-1, zm-1) sono visibili,j7: i bordi della sezione trasversale sono visibili, la superficie è articolata,

Forme 3D

Guida di Riferimento al GDL 94

j8: i bordi della sezione trasversale sono netti, la levigatura della superficie si interromperà qui in OpenGL e nel rendering,j10: i bordi di base partecipano all'eliminazione della linea(Compatibilità: introdotto in Archicad 23.),j11: i bordi finali partecipano all'eliminazione della linea (Compatibilità: introdotto in Archicad 23.),j12: i bordi longitudinali (che collegano le sezioni trasversali) partecipano all'eliminazione della linea (Compatibilità: introdotto in Archicad 23.),j13: i bordi delle sezioni trasversali partecipano all'eliminazione della linea (Compatibilità: introdotto in Archicad 23.).

W

U

Wm

m-1

21

alpha

V

U

si: stato dei bordi laterali.0: i bordi laterali a partire dal nodo sono tutti visibili,1: i bordi laterali a partire dal nodo sono usati per mostrare il contorno.2: quando si utilizza Archicad o il motore di rendering Z-buffer e si impostano Superfici levigate, il bordo laterale appartenente a questopunto definisce un'interruzione. Questa soluzione è equivalente alla definizione di nodi aggiuntivi. Il calcolo viene eseguito dal compilatore.Con altri metodi di rendering, ha lo stesso effetto dell'uso di 0.

Codici di stato aggiuntivi consentono di creare segmenti e archi nella polilinea planare utilizzando vincoli speciali.

Nota: Il percorso comprende due punti in più rispetto al numero di sezioni generate. Il primo e l'ultimo punto determinano la posizionenello spazio della prima e dell'ultima superficie appartenente al TUBE. Questi punti giocano solo un ruolo nel determinare la normale dellesuperfici, non sono veri e propri nodi del percorso. L'orientamento delle superfici è uguale a quello delle superfici che si genererebbero neinodi più vicini ai due estremi, se il TUBE fosse proseguito nelle direzioni da questi indicate.

Limitazione dei parametri:n > 2 e m > 3

Forme 3D

Guida di Riferimento al GDL 95

Esempio 1:

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

Forme 3D

Guida di Riferimento al GDL 96

Esempio 2:

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

Forme 3D

Guida di Riferimento al GDL 97

Esempio 3:

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

TUBE{2}TUBE{2} materiale_sup, materiale_inf, material_taglio, n, m, mask, u1, w1, s1, mat1, ... un, wn, sn, matn, x1, y1, z1, angolo1, ... xm, ym, zm, angolomCompatibilità: introdotto in Archicad 21. Versione estesa di TUBE:• i fori possono essere definiti all'interno del poligono di base del contorno• attributo di singole superfici per poligoni superiore, inferiore e aree di taglio• attributo di superficie individuale per poligoni laterali appartenenti allo stesso bordo del poligono di baseV axis, W axis, U axis: stesso significato di TUBE.

Forme 3D

Guida di Riferimento al GDL 98

top_material: superficie del poligono di chiusura.bottom_material: superficie del poligono iniziale.cut_material: superficie delle aree di taglio.n, m, ui, wi: stesso significato di TUBE.xi, yi, zi, anglei: stesso significato di TUBE. Il percorso non può contenere archi (la segmentazione è manuale).mask: controlla l'esistenza delle superfici e dei bordi dei poligoni inferiore e superiore.mask = j1 + 2*j2 + 16*j5 + 32*j6 + 256*j9 + 512*j10 + 1024*j11 + 2048*j12 + 4096*j13, doveogni j può essere 0 o 1.j1: la superficie di base è presente,j2: la superficie finale è presente,j5: i bordi della base (in x2, y2, z2) sono visibili,j6: i bordi finali (in xm-1, ym-1, zm-1) sono visibili,j9: il bordo laterale e la superficie sono lisci nelle sezioni curve del profilo,j10: i bordi di base partecipano all'eliminazione della linea (Compatibilità: introdotto in Archicad 23.),j11: i bordi finali partecipano all'eliminazione della linea (Compatibilità: introdotto in Archicad 23.),j12: i bordi longitudinali (che collegano le sezioni trasversali) partecipano all'eliminazione della linea (Compatibilità: introdotto in Archicad 23.),j13: i bordi delle sezioni trasversali partecipano all'eliminazione della linea (Compatibilità: introdotto in Archicad 23.).

si: stato dei bordi laterali.-1: indica l'ultimo nodo di un foro all'interno del poligono di base (primo nodo duplicato del foro), o il nodo di chiusura del poligonoesterno nel caso di un poligono di base contenente fori. Il parametro matn viene ignorato in questi nodi duplicati con status -1,0, 1, 2: stesso significato di TUBE.

mati: superficie individuale dei poligoni laterali appartenenti al bordo a partire da ui, wi nodo del poligono di base.Codici di stato aggiuntivi consentono di creare segmenti e archi nella polilinea planare utilizzando vincoli speciali. Tali bordi del poligonovengono segmentati automaticamente durante l'elaborazione.

Forme 3D

Guida di Riferimento al GDL 99

Esempio:

matFine1 = 12matFine2 = 24matTaglio = 15matEsterno = 10matInterno = 13

TUBE{2} matFine1, matFine2, matTaglio, 10, 4, 1 + 2 + 16 + 32,

! outside contour -0.01, 0.01, 0, matEsterno, -0.01, -0.01, 0, matEsterno, 0.01, -0.01, 0, matEsterno, 0.01, 0.01, 0, matEsterno, -0.01, 0.01, -1, matEsterno,

! hole contour -0.008, 0.008, 0, matInterno, -0.008, -0.008, 0, matInterno, 0.008, -0.008, 0, matInterno, 0.008, 0.008, 0, matInterno, -0.008, 0.008, -1, matInterno,

! path 0, 0, -1, 45, 0, 0, 0, 45, 0, 0, 1, 45, 0, 0, 2, 45

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

Forme 3D

Guida di Riferimento al GDL 100

bisector plane

12

m-1 m

1

n

TUBEA è una superficie generata da una polilinea che scorre lungo un percorso della curva dello spazio con un algoritmo diverso da quellodi TUBE.Il poligono di sezione generato in ogni giunto della curva del percorso è uguale al poligono di base (u1, w1, ..., un, wn) ed è situato nel pianobisettrice delle proiezioni dei segmenti del giunto rispetto al piano x-y locale. Il poligono di base può essere aperto: in questo caso verrannogenerati i poligoni di sezione per raggiungere il piano locale x-y come nel caso delle superfici REVOLVE.La sezione trasversale del tubo misurata al centro dei segmenti del percorso può essere diversa dal poligono di base.Codici di stato aggiuntivi consentono di creare segmenti e archi nella polilinea planare utilizzando vincoli speciali.Vedi sezione chiamata «Codici di stato aggiuntivi» per i dettagli.

Forme 3D

Guida di Riferimento al GDL 101

Esempio:

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

Forme 3D

Guida di Riferimento al GDL 102

COONSCOONS n, m, mask, x11, y11, z11, ..., x1n, y1n, z1n, x21, y21, z21, ..., x2n, y2n, z2n, x31, y31, z31, ..., x3m, y3m, z3m, x41, y41, z41, ..., x4m, y4m, z4mUna superficie di Coons generata da quattro curve di confine.mask:mask = 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7, dove ogni j può essere 0 o 1.j3: i bordi del 1° confine (x1, y1, z1) sono visibili (efficaci solo se j7 è impostato),j4: i bordi del 2° confine (x2, y2, z2) sono visibili (efficaci solo se j7 è impostato),j5: i bordi del 3° confine (x3, y3, z3) sono visibili (efficaci solo se j7 è impostato),j6: i bordi del 4° confine (x4, y4, z4) sono visibili (efficaci solo se j7 è impostato),j7: i bordi sulla superficie sono visibili, la superficie non è liscia.Nel caso in cui i bordi sulla superficie siano invisibili (il bit j7 è impostato a zero), tutti i bordi di confine diventano visibili, con i bit j3-j6 chediventano inefficaci. Per definire la visibilità del bordo del contorno indipendentemente dalla visibilità del bordo della superficie, utilizzareCOONS{2}.

4(m)

2(n)

3(m)

1(n)

Z

Y

X

L'orientamento dei confini è obbligatorio: le curve 1 e 2 devono andare dalla curva 3 verso 4 e le curve 3 e 4 devono andare dalla curva 1 verso2. Le coordinate degli angoli devono essere le stesse nelle rispettive curve.Limitazione dei parametri:n > 1, m > 1

Forme 3D

Guida di Riferimento al GDL 103

Esempio 1:

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

Forme 3D

Guida di Riferimento al GDL 104

Esempio 2:

COONS 7, 6, 4+8+16+32+64, ! 1° confine, n=7 1, 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° confine, n=7 6, 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° confine, m=6 1, 2, 0, 2, 4, -0.5, 3, 6, -1, 4, 8, -1.5, 5, 9, -1.8, 6, 10, -2, ! 4° confine, m=6 1, -2, 0, 2, -4, -0.5, 3, -6, -1, 4, -8, -1.5, 5, -9, -1.8, 6, -10, -2

Forme 3D

Guida di Riferimento al GDL 105

COONS{2}COONS{2} n, m, mask, x11, y11, z11, ..., x1n, y1n, z1n, x21, y21, z21, ..., x2n, y2n, z2n, x31, y31, z31, ..., x3m, y3m, z3m, x41, y41, z41, ..., x4m, y4m, z4mCOONS{2} è una estensione di COONS con la possibilità di impostare la visibilità della superficie e dei bordi di confine in modo indipendente.mask:mask = 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7, dove ogni j può essere 0 o 1.j3: i bordi del 1° confine (x1, y1, z1) sono visibili,j4: i bordi del 2° confine (x2, y2, z2) sono visibili,j5: i bordi del 3° confine (x3, y3, z3) sono visibili,j6: i bordi del 4° confine (x4, y4, z4) sono visibili,j7: i bordi sulla superficie sono visibili, la superficie non è liscia.

MASSMASS materiale_sup, materiale_inf, materiale_lato, 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+mL'equivalente della forma generata dallo strumento Mesh in Archicad.top_material, bottom_material, side_material: nome/indice dei materiali superiore, inferiore e laterale.n: il numero di nodi nel poligono della massa.m: il numero di nodi sugli spigoli.h: l'altezza della gonna (può essere negativa).xi, yi, zi: le coordinate dei nodi.mask:mask = j1 + 4*j3 + 16*j5 + 32*j6 + 64*j7 + 128*j8, dove ogni j può essere 0 o 1.

Forme 3D

Guida di Riferimento al GDL 106

j1: la superficie di base è presente,j3: sono presenti le superfici laterali,j5: i bordi di base e laterali sono visibili,j6: i bordi della triangolazione sono visibili,j7: i bordi della triangolazione sono visibili, la superficie superiore non è liscia,j8: tutte gli spigoli saranno netti, ma la superficie è liscia.

i

n

m1

Y

Zij

1

Z

X

jb

a

si: simile a PRISM_. Codici di stato aggiuntivi consentono di creare segmenti e archi nella polilinea planare utilizzando vincoli speciali.Vedi sezione chiamata «Codici di stato aggiuntivi» per i dettagli.Limitazione dei parametri:n >= 3, m >= 0

Forme 3D

Guida di Riferimento al GDL 107

Esempio:

MASS "Surf-White", "Surf-White", "Surf-White", 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

Forme 3D

Guida di Riferimento al GDL 108

MASS{2}MASS{2} materiale_sup, materiale_inf, materiale_lato, 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+mEestensione di MASS con un bit di maschera aggiuntivo e la possibilità di nascondere tutti i bordi superiori della massa.mask:mask = j1 + 4*j3 + 16*j5 + 32*j6 + 64*j7 + 128*j8 + 256*j9 + 512*j10, dove ogni j può essere 0 o 1.j1: la superficie di base è presente,j3: sono presenti le superfici laterali,j5: i bordi di base e laterali sono visibili,j6: i bordi superiori sono visibili,j7: i bordi superiori sono visibili, la superficie superiore non è liscia,j8: tutte gli spigoli saranno netti, ma la superficie è liscia.j9: i bordi partecipano all'eliminazione della linea.j10: tutti i bordi superiori saranno nascosti.

Forme 3D

Guida di Riferimento al GDL 109

Esempio:

PEN 1mat = IND (MATERIAL, "Metal-Aluminium")FOR i=1 TO 2 STEP 1 MASS{2} mat, mat, mat, 5, 0, 1+4+16+32+64+256, -1, 0, 0, 0, 15, 2, 0, 0, 15, 2, 2, 0, 15, 0, 2, 0, 15, 0, 0, 0, -1 BODY -1 ADDX 2NEXT i

POLYROOFPOLYROOF defaultMat, k, m, n, offset, spessore, applyContourInsidePivot, z_1, ..., z_k, pivotX_1, pivotY_1, pivotMask_1, roofangolo_11, gableOverhang_11, MatSopra_11, MatSotto_11, ... roofangolo_1k, gableOverhang_1k, MatSopra_1k, MatSotto_1k, ... pivotX_m, pivotY_m, pivotMask_m, roofangolo_m1, gableOverhang_m1, MatSopra_m1, MatSotto_m1, ... roofangolo_mk, gableOverhang_mk, MatSopra_mk, MatSotto_mk, contourX_1, contourY_1, contourMask_1, edgeTrim_1, edgeangolo_1, edgeMat_1, ... contourX_n, contourY_n, contourMask_n, edgeTrim_n, edgeangolo_n, edgeMat_nIl comando crea una falda possibilmente multilivello in cui la geometria è controllata da più parametri, soprattutto gli angoli e due poligonidella falda: un poligono incernierato e un poligono di contorno. Al poligono incernierato, la falda è inclinato all'angolo della falda. Risale finoa raggiungere l'altezza del livello successivo o fino a quando non viene eliminato dall'incontro dei suoi lati. Discende anche verso il basso, fino

Forme 3D

Guida di Riferimento al GDL 110

a raggiungere il poligono di contorno, che recide parti del tetto all'esterno di esso. Il poligono di contorno può essere utilizzato anche perpraticare fori nella falda.defaultMat: l'indice numerico del materiale "interno" della falda. Questo materiale diventa visibile sui timpani e sulle superfici tagliate,

ad esempio se la falda è tagliata da un piano.k: il numero di livelli.m: il numero di vertici del poligono incernierato.n: il numero di vertici del poligono di contorno.offset: un offset per lo spessore della falda.thickness: lo spessore della falda.applyContourInsidePivot: se impostato a 0, il poligono del contorno esterno viene applicato solo sotto il piano del poligono

incernierato. Se impostato su 1, il poligono del contorno esterno viene applicato sia sopra che sotto il piano del poligono incernierato.L'impostazione 0 può essere utilizzata per impedire al poligono di contorno di tagliare i timpani che si inclinano verso l'esterno.

z_i: la coordinata Z di un livello.pivotX_i, pivotY_i: coordinate dei vertici del poligono incernierato.pivotMask_i:0: segna un vertice normale,-1: segna la fine del sottopoligono incernierato corrente (contorno esterno o foro). I dati per un tale vertice devono essere una copiadei dati per il primo vertice del sottopoligono. Un poligono deve essere sempre chiuso con un valore di maschera -1, anche se non ci sonobuchi al suo interno.

roofAngle_i: angolo di inclinazione per un bordo cardine su un dato livello. Se l'angolo>= 90, quella parte del tetto diventa un timpano.gableOverhang_i: ai lati di un timpano, il tetto può estendersi su un livello inferiore di se stesso. L'ammontare di questo può essere

controllato da questo parametro, che ha effetto solo sui timpani (roofangolo> = 90) che sono almeno sul secondo livello del tetto.topMat_i, bottomMat_i: l'indice numerico dei materiali per la parte superiore e inferiore del tetto.contourX_i, contourY_i: coordinate dei vertici del poligono di contorno.contourMask_i:0: segna un vertice normale,-1: segna la fine del sottopoligono del contorno corrente (contorno esterno o foro). I dati per un tale vertice devono essere una copiadei dati per il primo vertice del sottopoligono. Un poligono deve essere sempre chiuso con un valore di maschera -1, anche se non ci sonofori al suo interno.

Forme 3D

Guida di Riferimento al GDL 111

edgeTrim_i: specifica il modo in cui il bordo viene tagliato dal poligono del contorno. I valori possibili sono:0: Verticale,1: Perpendicolare al piano della falda,2: Orizzontale,3: Angolo personale al piano della falda.

edgeAngle_i: l'angolo personalizzato del bordo rispetto al piano della falda. Ha effetto solo se edgeTrim è impostato su 3 (angolopersonalizzato rispetto al piano del tetto).

edgeMat_i: indice numerico del materiale al bordo del tetto, dove il contorno lo taglia

defaultEdgeMat

bottomMat42

bottomMat41

topMat22

topMat21

sideMat2 gableOverhang

12

topMat11

edgeMat1

Figura 1: Materiali

Forme 3D

Guida di Riferimento al GDL 112

roofAngle22

roofAngle21

edgeAngle4

Figura 2: angoli

Forme 3D

Guida di Riferimento al GDL 113

Esempio:POLYROOF "Paint-01", 2, 5, 5, 0, 0.2, 0, ! Inizio dei valori Z 2.7, 3.2, ! Inizio del poligono incernierato 2, 8, 0, 45, 0, ind(material, "Paint-01"), ind(material, "Paint-01"), 90, 0.5, ind(material, "Paint-01"), ind(material, "Paint-01"), 2, 3, 0, 45, 0, ind(material, "Paint-01"), ind(material, "Paint-01"), 65, 0, ind(material, "Paint-01"), ind(material, "Paint-01"), 10, 3, 0, 45, 0, ind(material, "Paint-01"), ind(material, "Paint-01"), 65, 0, ind(material, "Paint-01"), ind(material, "Paint-01"), 10, 8, 0, 45, 0, ind(material, "Paint-01"), ind(material, "Paint-01"), 65, 0, ind(material, "Paint-01"), ind(material, "Paint-01"), 2, 8, -1, 45, 0, ind(material, "Paint-01"), ind(material, "Paint-01"), 90, 0.5, ind(material, "Paint-01"), ind(material, "Paint-01"), ! Inizio del poligono contorno 1.5, 8.5, 0, 0, 0, ind(material, "Paint-01"), 1.5, 2.5, 0, 0, 0, ind(material, "Paint-01"), 10.5, 2.5, 0, 0, 0, ind(material, "Paint-01"), 10.5, 8.5, 0, 0, 0, ind(material, "Paint-01"), 1.5, 8.5, -1, 0, 0, ind(material, "Paint-01")Output: vedi Figura 1

Forme 3D

Guida di Riferimento al GDL 114

POLYROOF{2}POLYROOF{2} defaultMat, k, m, n, offset, spessore, totalspessore, applyContourInsidePivot, z_1, ..., z_k, pivotX_1, pivotY_1, pivotMask_1, roofangolo_11, gableOverhang_11, MatSopra_11, MatSotto_11, ... roofangolo_1k, gableOverhang_1k, MatSopra_1k, MatSotto_1k, ... pivotX_m, pivotY_m, pivotMask_m, roofangolo_m1, gableOverhang_m1, MatSopra_m1, MatSotto_m1, ... roofangolo_mk, gableOverhang_mk, MatSopra_mk, MatSotto_mk, contourX_1, contourY_1, contourMask_1, edgeTrim_1, edgeangolo_1, edgeMat_1, ... contourX_n, contourY_n, contourMask_n, edgeTrim_n, edgeangolo_n, edgeMat_nPOLYROOF{2} è una estensione di POLYROOF con possibilità di definire lo spessore totale della falda. Questo parametro deve essereconsiderato insieme a offset e spessore, quando è desiderabile la generazione di una fetta di tetto. In questo caso lo spessore e l'offset devonoessere impostati rispettivamente allo spessore della fetta e alla distanza tra i piani superiori della fetta e il tetto completo.totalThickness: lo spessore totale della falda.

POLYROOF{3}POLYROOF{3} defaultMat, mask, k, m, n, offset, spessore, totalspessore, applyContourInsidePivot, z_1, ..., z_k, pivotX_1, pivotY_1, pivotMask_1, roofangolo_11, gableOverhang_11, MatSopra_11, MatSotto_11, ... roofangolo_1k, gableOverhang_1k, MatSopra_1k, MatSotto_1k, ... pivotX_m, pivotY_m, pivotMask_m, roofangolo_m1, gableOverhang_m1, MatSopra_m1, MatSotto_m1, ... roofangolo_mk, gableOverhang_mk, MatSopra_mk, MatSotto_mk, contourX_1, contourY_1, contourMask_1, edgeTrim_1, edgeangolo_1, edgeMat_1, ... contourX_n, contourY_n, contourMask_n, edgeTrim_n, edgeangolo_n, edgeMat_n

Forme 3D

Guida di Riferimento al GDL 115

POLYROOF{3} è una estensione di POLYROOF{2} con la possibilità di controllare il comportamento globale della falda generata.mask: controlla il comportamento globale della falda generata.mask = j1 + 2*j2, dove ogni j può essere 0 o 1.j1: i bordi partecipano all'eliminazione della linea.j2: Rendi invisibili tutti i bordi.

Forme 3D

Guida di Riferimento al GDL 116

Esempio:

pen 1mat = IND (MATERIAL, "Metal-Aluminium")a = -0.4242640691048 : b = 4.424264068326c = 6.424264068326POLYROOF{3} mat,1, 2, 5, 5, 0, 0.3, 0.3, 1, 0, 1, a, b, 0, 45, 0, mat, mat, 90, 0, mat, mat, a, a, 0, 45, 0, mat, mat, 90, 0, mat, mat, c, a, 0, 45, 0, mat, mat, 90, 0, mat, mat, c, b, 0, 45, 0, mat, mat, 90, 0, mat, mat, a, b, -1,45, 0, mat, mat, 90, 0, mat, mat, -0.8, -0.8, 0, 2, 0, mat, 6.8, -0.8, 0, 2, 0, mat, 6.8, 4.8, 0, 2, 0, mat, -0.8, 4.8, 0, 2, 0, mat, -0.8, -0.8, -1, 2, 0, mat

a = 0.1514718617904 : b = 3.848528136652c = 5.848528136652 : q = 0.5757359305057w = 5.424264067936 : e = 3.424264056692POLYROOF{3} mat,1, 1, 5, 5, 0, 0.3, 0.3, 1, 0.5757359312847, a, b, 0, 45, 0, mat, mat, a, a, 0, 45, 0, mat, mat, c, a, 0, 45, 0, mat, mat, c, b, 0, 45, 0, mat, mat, a, b, -1, 45, 0, mat, mat, q, q, 0, 0, 0, mat, w, q, 0, 0, 0, mat, w, e, 0, 0, 0, mat, q, e, 0, 0, 0, mat, q, q, -1, 0, 0, mat

Forme 3D

Guida di Riferimento al GDL 117

POLYROOF{4}POLYROOF{4} defaultMat, mask, k, m, n, offset, spessore, totalspessore, applyContourInsidePivot, z_1, ..., z_k, pivotX_1, pivotY_1, pivotMask_1, roofangolo_11, gableOverhang_11, MatSopra_11, MatSotto_11, ... roofangolo_1k, gableOverhang_1k, MatSopra_1k, MatSotto_1k, ... pivotX_m, pivotY_m, pivotMask_m, roofangolo_m1, gableOverhang_m1, MatSopra_m1, MatSotto_m1, ... roofangolo_mk, gableOverhang_mk, MatSopra_mk, MatSotto_mk, contourX_1, contourY_1, contourMask_1, edgeTrim_1, edgeangolo_1, edgeMat_1, ... contourX_n, contourY_n, contourMask_n, edgeTrim_n, edgeangolo_n, edgeMat_nPOLYROOF{4} è una estensione di POLYROOF{3} con la possibilità di utilizzare la definizione del materiale in linea, ciò significa che imateriali definiti nello script GDL localmente possono essere utilizzati anche accanto ai materiali definiti nelle definizioni dei materiali globali.

EXTRUDEDSHELLEXTRUDEDSHELL MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, offset, spessore, girata, CorpodiTaglio, x_tb, y_tb, x_te, y_te, zSup, tangolo, x_bb, y_bb, x_be, y_be, zInf, bangolo, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThicakenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_nSuperficie creata estrudendo prima una polilinea, quindi aggiungendovi lo spessore.topMat, bottomMat, sideMat_1, sideMat_2, sideMat_3, sideMat_4: Materiali sulla parte superiore, inferiore e

sui quattro lati dell'oggetto.defaultMat: l'indice numerico del materiale "interno" dell'oggetto. Questo materiale diventa visibile sulle superfici tagliate, ad esempio

se l'oggetto viene tagliato da un piano.

Forme 3D

Guida di Riferimento al GDL 118

n: numero di vertici della polilinea di base del profilo.offset: un offset per lo spessore della shell. Non può essere negativo.thickness: lo spessore della shell.flipped:1: se la shell deve essere capovolto,0: altrimenti.

trimmingBody:1: se la shell deve essere chiusa a scopo di taglio,0: altrimenti.

x_tb, y_tb, x_te, y_te, topz, tangle: Specifica il piano superiore dell'estrusione. Il significato dei parametri è lo stessodi SPRISM_{2}.

x_bb, y_bb, x_be, y_be, bottomz, bangle: Specifica il piano inferiore dell'estrusione. Il significato dei parametri è lostesso di SPRISM_{2}.

preThickenTran_i: una trasformazione eseguita prima dell'ispessimento. Vedi XFORM per il significato dei parametri.x_i, y_i, s_i: Coordinate X e Y e valori di stato per la polilinea del profilo di base. Vedi EXTRUDE per i dettagli. La visibilità dei

lati non può essere controllata con lo stato.

EXTRUDEDSHELL{2}EXTRUDEDSHELL{2} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, stato, offset, spessore, girata, CorpodiTaglio, x_tb, y_tb, x_te, y_te, zSup, tangolo, x_bb, y_bb, x_be, y_be, zInf, bangolo, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThicakenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_nEXTRUDEDSHELL{2} è una estensione di EXTRUDEDSHELL con la possibilità di nascondere i bordi tra la superficie originale e quellaispessita.status: Bit di stato:

Forme 3D

Guida di Riferimento al GDL 119

status = j1, dove ogni j può essere 0 o 1.j1: Rendi invisibili i bordi tra la superficie originale e quella ispessita.

Esempio:

EXTRUDEDSHELL "Paint-02", "Surf-Stucco Yellow", "Surf-Stucco Yellow", "Surf-Stucco Yellow", "Surf-Stucco Yellow", "Surf-Stucco Yellow", "Surf-Stucco Yellow", 3, 0.00, 0.30, 0, 0, ! 2 piani inclinati 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00, -10.00, 0.00, ! matrice di trasformazione 0.00, 0.00, 1.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, ! polilinea del profilo 2.00, 0.00, 15, 0.00, 2.00, 15, -2.00, 0.00, 15

Forme 3D

Guida di Riferimento al GDL 120

EXTRUDEDSHELL{3}EXTRUDEDSHELL{3} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, stato, offset, spessore, girata, CorpodiTaglio, x_tb, y_tb, x_te, y_te, zSup, tangolo, x_bb, y_bb, x_be, y_be, zInf, bangolo, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThicakenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_nEXTRUDEDSHELL{3} è una estensione di EXTRUDEDSHELL{2} con la possibilità di utilizzare la definizione del materiale in linea, ciòsignifica che i materiali definiti nello script GDL localmente possono essere utilizzati anche accanto ai materiali definiti nelle definizioni deimateriali globali.

REVOLVEDSHELLREVOLVEDSHELL MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, offset, spessore, girata, CorpodiTaglio, alfaOffset, alfa, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_nSuperficie creata ruotando una polilinea definita nel piano x-y attorno all'asse x, quindi aggiungendovi spessore.topMat, bottomMat, sideMat_1, sideMat_2, sideMat_3, sideMat_4: Materiali sulla parte superiore, inferiore e

sui quattro lati dell'oggetto.defaultMat: l'indice numerico del materiale "interno" dell'oggetto. Questo materiale diventa visibile sulle superfici tagliate, ad esempio

se l'oggetto viene tagliato da un piano.n: numero di vertici della polilinea di base del profilo.offset: un offset per lo spessore della shell. Non può essere negativo.thickness: lo spessore della shell.

Forme 3D

Guida di Riferimento al GDL 121

flipped:1: se la shell deve essere girata,0: altrimenti.

trimmingBody:1: se la shell deve essere chiuso a scopo di taglio,0: altrimenti.

alphaOffset: l'angolo iniziale di spostamento.alpha: la lunghezza dell'angolo di spostamento in gradi, può essere negativa.preThickenTran_i: una trasformazione eseguita prima dell'ispessimento. Vedi XFORM per il significato dei parametri.x_i, y_i, s_i: Coordinate X e Y e valori di stato per la polilinea del profilo di base. Vedi EXTRUDE per i dettagli. La visibilità dei

lati non può essere controllata con lo stato.

REVOLVEDSHELL{2}REVOLVEDSHELL{2} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, stato, offset, spessore, girata, CorpodiTaglio, alfaOffset, alfa, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_nREVOLVEDSHELL{2} è una estensione di REVOLVEDSHELL con la possibilità di nascondere i bordi delle superfici e i bordi tra lasuperficie originale e quella ispessita.status: Bit di stato:status = j1 + 2*j2, dove ogni j può essere 0 o 1.j1: Rendi invisibili i bordi tra la superficie originale e quella ispessita.j2: Rendi invisibili i bordi sulle superfici.

Forme 3D

Guida di Riferimento al GDL 122

Esempio:REVOLVEDSHELL "Paint-02", "Surf-Stucco Yellow", "Surf-Stucco Yellow", "Surf-Stucco Yellow", "Surf-Stucco Yellow", "Surf-Stucco Yellow", "Surf-Stucco Yellow", 2, 0.00, 0.30, 0, 0, 0.00, 270.00, ! transformation matrix 0.00, 0.00, -1.00, 0.00, 0.00, 1.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, ! profile polyline 4.00, 0.00, 2, 0.00, 4.00, 2

Forme 3D

Guida di Riferimento al GDL 123

REVOLVEDSHELL{3}REVOLVEDSHELL{3} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, stato, offset, spessore, girata, CorpodiTaglio, alfaOffset, alfa, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_nREVOLVEDSHELL{3} è una estensione di REVOLVEDSHELL{2} con la possibilità di utilizzare la definizione del materiale in linea, ciòsignifica che i materiali definiti nello script GDL localmente possono essere utilizzati anche accanto ai materiali definiti nelle definizioni deimateriali globali.

REVOLVEDSHELLANGULARREVOLVEDSHELLANGULAR MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, offset, spessore, girata, CorpodiTaglio, alfaOffset, alfa, TipoSegmentazione, NumSegmenti, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_nUna variante angolare di REVOLVEDSHELL. I parametri sono gli stessi con l'aggiunta dei seguenti parametri extra:segmentationType: Deve essere 1 o 2.1: significa che 360 gradi di rivoluzione sono suddivisi in segmenti NumSegmenti,2: significa che l'angolo di rivoluzione effettivo (dato dal parametro alfa) è suddiviso in in numero di segmenti pari a NumSegmenti.

nOfSegments: Numero di segmenti, Vedi il parametro TipoSegmentazione sopra.

Forme 3D

Guida di Riferimento al GDL 124

REVOLVEDSHELLANGULAR{2}REVOLVEDSHELLANGULAR{2} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, stato, offset, spessore, girata, CorpodiTaglio, alfaOffset, alfa, TipoSegmentazione, NumSegmenti, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_nREVOLVEDSHELLANGULAR{2} è una estensione di REVOLVEDSHELLANGULAR con la possibilità di nascondere i bordi dellesuperfici e i bordi tra la superficie originale e quella ispessita.status: Bit di stato:status = j1 + 2*j2, dove ogni j può essere 0 o 1.j1: Rendi invisibili i bordi tra la superficie originale e quella ispessita.j2: Rendi invisibili i bordi sulle superfici.

REVOLVEDSHELLANGULAR{3}REVOLVEDSHELLANGULAR{3} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, stato, offset, spessore, girata, CorpodiTaglio, alfaOffset, alfa, TipoSegmentazione, NumSegmenti, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_n

Forme 3D

Guida di Riferimento al GDL 125

REVOLVEDSHELLANGULAR{3} è una estensione di REVOLVEDSHELLANGULAR{2} Rendi invisibili i bordi sulle superfici con lapossibilità di utilizzare la definizione del materiale in linea, il che significa che i materiali definiti nello script GDL localmente possono essereutilizzati anche accanto ai materiali definiti nelle definizioni dei materiali globali.

RULEDSHELLRULEDSHELL MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, m, g, offset, spessore, girata, CorpodiTaglio, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, PrimoPolyX_1, PrimoPolyY_1, PrimoPolyS_1, ... PrimoPolyX_n, PrimoPolyY_n, PrimoPolyS_n, SecondoPolyX_1, SecondoPolyY_1, SecondoPolyS_1, ... SecondoPolyX_m, SecondoPolyY_m, SecondoPolyS_m, profilo2Tran_11, profilo2Tran_12, profilo2Tran_13, profilo2Tran_14 profilo2Tran_21, profilo2Tran_22, profilo2Tran_23, profilo2Tran_24 profilo2Tran_31, profilo2Tran_32, profilo2Tran_33, profilo2Tran 34 generatrixFirstIndex_1, generatrixSecondIndex_1, ... generatrixFirstIndex_g, generatrixSecondIndex_gSuperficie creata collegando due polilinee.topMat, bottomMat, sideMat_1, sideMat_2, sideMat_3, sideMat_4: Materiali sulla parte superiore, inferiore e

sui quattro lati dell'oggetto.defaultMat: l'indice numerico del materiale "interno" dell'oggetto. Questo materiale diventa visibile sulle superfici tagliate, ad esempio

se l'oggetto viene tagliato da un piano.n: numero di vertici per la prima polilinea di base del profilo.m: numero di vertici per la seconda polilinea di base del profilo.g: numero di generatrici.offset: un offset per lo spessore della shell. Non può essere negativo.thickness: spessore della shell.

Forme 3D

Guida di Riferimento al GDL 126

flipped:1: se la shell deve essere girata,0: altrimenti

preThickenTran: una trasformazione eseguita prima dell'ispessimento. Vedi XFORM per il significato dei parametri.trimmingBody:1: se la shell deve essere chiusa a scopo di taglio,0: altrimenti

firstpolyX, firstpolyY, firstpolyS: Coordinate X e Y e valori di stato per la prima polilinea del profilo di base. VediREVOLVE per i dettagli.

secondpolyX, secondpolyY, secondpolyS: Coordinate X e Y e valori di stato per la seconda polilinea del profilo di base.Vedi REVOLVE per i dettagli.

profile2Tran: una trasformazione eseguita sul secondo profilo. Usa questa trasformazione per posizionare il secondo profilo rispettoal primo. Vedi XFORM per il significato dei parametri.

generatrixFirstIndex, generatrixSecondIndex: coppie di indici, uno dalla prima polilinea e uno dalla seconda polilinea.I vertici con gli indici dati saranno collegati con una linea.

Forme 3D

Guida di Riferimento al GDL 127

RULEDSHELL{2}RULEDSHELL{2} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, m, g, stato, offset, spessore, girata, CorpodiTaglio, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, PrimoPolyX_1, PrimoPolyY_1, PrimoPolyS_1, ... PrimoPolyX_n, PrimoPolyY_n, PrimoPolyS_n, SecondoPolyX_1, SecondoPolyY_1, SecondoPolyS_1, ... SecondoPolyX_m, SecondoPolyY_m, SecondoPolyS_m, profilo2Tran_11, profilo2Tran_12, profilo2Tran_13, profilo2Tran_14 profilo2Tran_21, profilo2Tran_22, profilo2Tran_23, profilo2Tran_24 profilo2Tran_31, profilo2Tran_32, profilo2Tran_33, profilo2Tran 34 generatrixFirstIndex_1, generatrixSecondIndex_1, ... generatrixFirstIndex_g, generatrixSecondIndex_gRULEDSHELL{2} è una estensione di RULEDSHELL con la possibilità di nascondere i bordi delle superfici e i bordi tra la superficie originalee quella ispessita.status: Bit di stato:status = j1 + 2*j2, dove ogni j può essere 0 o 1.j1: Rendi invisibili i bordi tra la superficie originale e quella ispessita.j2: Rendi invisibili i bordi sulle superfici.

Forme 3D

Guida di Riferimento al GDL 128

Esempio:

Forme 3D

Guida di Riferimento al GDL 129

RULEDSHELL "Paint-14", "Paint-14", "Paint-14", "Paint-14", "Paint-14", "Paint-14", "Paint-14", 4, 3, 3, 0.00, 0.30, 0, 0, ! matrice di transformazione 1.00, 0.00, 0.00, 0.00, 0.00, 0.00, -1.00, 0.00, 0.00, 1.00, 0.00, 0.00, ! profilo 1 polilinea 0.00, 0.00, 2, 2.00, 2.00, 2, 4.00, 0.00, 2, 6.00, 0.00, 2, ! profilo 2 polilinea 0.00, 0.00, 2, 2.00, 2.00, 2, 6.00, 1.00, 2, ! matrice di transformazione 1.00, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00, 0.00, 0.00, 1.00, -10.00, ! generatrici 1, 1, 2, 2, 4, 3

Forme 3D

Guida di Riferimento al GDL 130

RULEDSHELL{3}RULEDSHELL{3} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, m, g, stato, offset, spessore, girata, CorpodiTaglio, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, PrimoPolyX_1, PrimoPolyY_1, PrimoPolyS_1, ... PrimoPolyX_n, PrimoPolyY_n, PrimoPolyS_n, SecondoPolyX_1, SecondoPolyY_1, SecondoPolyS_1, ... SecondoPolyX_m, SecondoPolyY_m, SecondoPolyS_m, profilo2Tran_11, profilo2Tran_12, profilo2Tran_13, profilo2Tran_14 profilo2Tran_21, profilo2Tran_22, profilo2Tran_23, profilo2Tran_24 profilo2Tran_31, profilo2Tran_32, profilo2Tran_33, profilo2Tran 34 generatrixFirstIndex_1, generatrixSecondIndex_1, ... generatrixFirstIndex_g, generatrixSecondIndex_gRULEDSHELL{3} è una estensione di RULEDSHELL{2} con la possibilità di utilizzare la definizione del materiale in linea, ciò significa chei materiali definiti nello script GDL localmente possono essere utilizzati anche accanto ai materiali definiti nelle definizioni dei materiali globali.

ELEMENTI PER LA VISUALIZZAZIONE

LIGHTLIGHT rosso, verde, blu, ombre, raggio, alfa, beta, angolo_falloff, distanza1, distanza2, distanza_falloff [[,] ADDITIONAL_DATA nome1 = valore1, nome2 = valore2, ...]Una sorgente di luce che irradia luce colorata [rossa, verde, blu] dall'origine locale lungo l'asse x locale. La luce viene proiettata parallelamenteall'asse x da una sorgente puntiforme o circolare. Ha la sua massima intensità all'interno del tronco angolo-alfa di un cono e scende a zero neltronco angolo-beta di un cono. Questo decadimento è controllato dal parametro angolo_falloff. (Zero dà alla luce un bordo netto, valori piùalti indicano che la transizione è più sfumata.) L'effetto della luce è limitato lungo l'asse dai valori di ritaglio distanza1 e distanza2. Il parametro

Forme 3D

Guida di Riferimento al GDL 131

distanza_falloff controlla la diminuzione dell'intensità in base alla distanza. (Il valore zero indica un'intensità costante; valori più grandi vengonoutilizzati per una diminuzione dell'intensità più accentuata.)Le trasformazioni GDL influenzano solo il punto di partenza e la direzione della luce.shadow: controlla la proiezione delle ombre della luce.0: la luce non crea ombre,1: la luce proietta le ombre.

betaalpha

intensity

dist1

dist2

radius

Limitazione dei parametri:alfa <= beta <= 80°

Le seguenti combinazioni di parametri hanno significati speciali:raggio = 0, alfa = 0, beta = 0: Punto luce, irradia luce in ogni direzione e non proietta ombre. I parametri ombra eangolo_falloff vengono ignorati, si suppongono i valori ombra = 0, angolo_falloff = 0.raggio > 0, alfa = 0, beta = 0: Una luce direzionale con fasci paralleli.

Forme 3D

Guida di Riferimento al GDL 132

r = 0, alfa > 0, beta > 0: Una luce direzionale con fasci conici.

r > 0, alfa = 0, beta > 0: Una luce direzionale con fascio parallelo e decadimento conico.

Le definizioni di luce possono contenere definizioni di dati aggiuntive facoltative dopo la parola chiave ADDITIONAL_DATA. I dati aggiuntivihanno un nome (nomei) e un valore (valorei), che può essere un'espressione di qualsiasi tipo, anche una matrice. Se il nome di un parametrostringa termina con la sottostringa "_file", il suo valore è considerato un nome di file e sarà incluso nel progetto archivio.

Forme 3D

Guida di Riferimento al GDL 133

Diversi significati di dati aggiuntivi possono essere definiti e utilizzati dall'applicazione in esecuzione.

Esempio 1:LIGHT 1.0,0.2,0.3, ! RGB 1, ! ombre attive 1.0, ! raggio 45.0, 60.0, ! angolo1, angolo2 0.3, ! angolo_falloff 1.0, 10.0, ! distanza1, distanza2 0.2 ! distanza_falloff

Esempio 2:La finestra di dialogo degli ellementi di libreria di tipo Lampada in Archicad:

Forme 3D

Guida di Riferimento al GDL 134

Parte dello script GDL corrispondente:if gs_light_switch > 0 then LIGHT gs_light_intensity/100*gs_color_red, \ gs_light_intensity/100*gs_color_green, \ gs_light_intensity/100*gs_color_blue, ! RGB ...endif

Forme 3D

Guida di Riferimento al GDL 135

PICTUREPICTURE espressione, a, b, maskUn elemento immagine per il fotorendering.

Un'espressione di tipo stringa indica un nome di file, un'espressione numerica o un indice indicano un'immagine memorizzata nell'elementodi libreria. Un indice 0 è un valore speciale che fa riferimento all'anteprima dell'immagine dell'elemento dim libreria. Altre immagini possonoessere memorizzate solo negli elementi di libreria quando si salva il progetto o gli elementi selezionati contenenti immagini come oggetti GDL.Il riferimento all'immagine indicizzata non può essere utilizzato nello script MASTER_GDL quando gli attributi vengono uniti nel set di attributicorrente. L'immagine è adattata a un rettangolo trattato come un RECT in qualsiasi altro metodo di proiezione 3D.mask: alfa + distorsionealpha: controllo del canale alfa.0: non utilizzare il canale alfa; l'immagine è un rettangolo,1: usa il canale alfa; parti dell'immagine possono essere trasparenti.

distortion: controllo della distorsione.0: adattare la foto al rettangolo dato,2: adatta l'immagine al centro del rettangolo usando le proporzioni naturali dell'immagine,4: riempi il rettangolo con l'immagine in posizione centrale utilizzando le proporzioni naturali dell'immagine.

Forme 3D

Guida di Riferimento al GDL 136

distorsione=0 distorsione=2 distorsione=4

ELEMENTI DI TESTO 3DTEXTTEXT d, 0, espressioneUna rappresentazione 3D del valore di una stringa o di un'espressione di tipo numerico nello stile corrente.Vedi [SET] STYLE e DEFINE STYLE.d: spessore dei caratteri in metri.Nella versione corrente di GDL, il secondo parametro è sempre zero.

Nota: Per compatibilità con lo script GDL 2D, le altezze dei caratteri vengono sempre interpretate in millimetri nelle istruzioni DEFINESTYLE.

Esempio 1:

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

Forme 3D

Guida di Riferimento al GDL 137

Esempio 2:

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

RICHTEXTRICHTEXT x, y, altezza, 0, nome_BloccoTestoUna rappresentazione 3D di un TEXTBLOCK definito in precedenza. Per maggiori dettagli, Vedi TEXTBLOCK.x, y: Coordinate X-Y della posizione del testo richtext.height: spessore dei caratteri in metri.textblock_name: il nome di un TEXTBLOCK definito in precedenza.Nella versione corrente di GDL, il quarto parametro è sempre zero.

ELEMENTI PRIMITIVILe primitive della struttura dati 3D sono VERT, VECT, EDGE, PGON e BODY. I corpi sono rappresentati dalle loro superfici e dalleconnessioni tra di loro. Le informazioni per eseguire una sezione 3D provengono dalle informazioni di connessione.L'indicizzazione inizia con 1 e un'istruzione BASE o qualsiasi nuovo corpo (istruzione BASE implicita) reimposta gli indici a 1. Per ogni bordo(edge) vengono memorizzati gli indici dei poligoni adiacenti (massimo 2). Gli orientamenti dei bordi sono definiti dai due vertici determinatiprimo e secondo.

Forme 3D

Guida di Riferimento al GDL 138

I poligoni sono elenchi di bordi con un orientamento che include gli indici dei bordi. Questi numeri possono avere un prefisso negativo. Ciòsignifica che il bordo dato viene utilizzato nella direzione opposta. I poligoni possono includere fori. Nell'elenco dei bordi, un indice zero indicaun nuovo foro. I fori non devono includere altri fori. Un bordo può appartenere a 0 o 2 poligoni. Nel caso di corpi chiusi, l'orientamento delpoligono è corretto se il bordo ha prefissi diversi nell'elenco dei bordi dei due poligoni.I vettori normali dei poligoni vengono memorizzati separatamente. Nel caso di corpi chiusi, puntano dall'interno verso l'esterno del corpo.L'orientamento della lista dei bordi è antiorario (matematico positivo), se lo guardi dall'esterno. L'orientamento dei fori è opposto a quello delpoligono genitore. I vettori normali di un corpo aperto devono puntare allo stesso lato del corpo.Per determinare l'interno e l'esterno dei corpi questi devono essere chiusi. Una semplice definizione per un corpo chiuso è la seguente: ognibordo ha esattamente due poligoni adiacenti.L'efficienza degli algoritmi di taglio, rimozione delle linee nascoste o rendering è inferiore per i corpi aperti. Ogni elemento tridimensionalecomposto con parametri regolari è un corpo chiuso nella struttura dati 3D interna.La ricerca delle curve di contorno si basa sul Bit di stato degli spigoli e sui loro poligoni adiacenti. Questo viene impostato automaticamenteper gli elementi curvi composti, ma spetta a te specificare correttamente questi bit nel caso di elementi primitivi.Nel caso di una definizione semplificata (vect = 0 o stato < 0 in un PGON) le primitive a cui fanno riferimento altri devono precedere il lororiferimento. In questo caso, l'ordine consigliato è:VERT (TEVE)EDGE(VECT)PGON (PIPG)COORBODYLa ricerca di poligoni adiacenti dai bordi viene eseguita durante l'esecuzione di BODY.La numerazione di VERT, EDGE, VECT e PGON è relativa all'ultima istruzione BASE (esplicita o implicita).I valori di stato vengono utilizzati per memorizzare informazioni speciali sulle primitive. Ogni singolo bit di solito ha un significato indipendentenello stato, ma ci sono alcune eccezioni.I valori dati possono essere sommati tra di loro. Altre combinazioni di bit oltre a quelle fornite di seguito sono strettamente riservate per usointerno. L'impostazione predefinita per ogni stato è zero.

VERTVERT x, y, zUn nodo nello spazio x-y-z, definito da tre coordinate.

Forme 3D

Guida di Riferimento al GDL 139

VERT{2}VERT x, y, z, rigidoEstensione di VERT inclusa la possibilità di dichiarare un nodo come vertice rigido. Un vertice rigido definisce un'interruzione durante ilrendering di superfici lisce.x, y, z: coordinate del nodo.hard:1: se il vertice deve definire un'interruzione durante il rendering di superfici lisce0: altrimenti

TEVETEVE x, y, z, u, vEstensione di VERT inclusa una definizione di coordinate di tessitura. Può essere usato al posto di VERT se sono richieste le coordinate dellatessitura definite dall'utente invece del rivestimento automatico della tessitura (Vedi COOR).x, y, z: coordinate di un nodo.u, v: coordinate della tessitura del nodo (u, v) Le coordinate per ogni vertice del corpo corrente devono essere specificate e ogni vertice

dovrebbe avere una sola coordinata di tessitura. Se le istruzioni VERT e TEVE sono mescolate all'interno di una definizione del corpo, lecoordinate (u, v) sono inefficaci.

Nota: Le coordinate della tessitura (u, v) sono efficaci solo nei fotorendering e non per la mappatura di retini vettoriali.

VECTVECT x, y, zDefinizione del vettore normale di un poligono per tre coordinate. In caso di una definizione semplificata (vect = 0 in un PGON), questeaffermazioni possono essere omesse.

EDGEEDGE vert1, vert2, pgon1, pgon2, statoDefinizione di un bordo.vert1, vert2: indice degli estremi. Gli indici vert1 e vert2 devono essere diversi e fare riferimento a VERT definiti in precedenza.pgon1, pgon2: indici dei poligoni vicini. I valori zero e negativi hanno significati speciali:0: bordo terminale o autonomo,< 0: verranno cercati eventuali vicini,

Forme 3D

Guida di Riferimento al GDL 140

status: Bit di stato:status = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 + 262144*j19, dove ogni j può essere 0 o 1.j1: bordo invisibile,j2: bordo di una superficie curva.Bit di stato riservato per usi futuri:j3: primo bordo di una superficie curva (efficace solo quando j2 = 1),j4: ultimo bordo di una superficie curva (efficace solo quando j2 = 1),j5: il bordo è un segmento di arco,j6: primo segmento di un arco (efficace solo quando j4 = 1),j7: ultimo segmento di un arco (efficace solo quando j4 = 1),j19: rende lo spigolo netto tra 2 poligoni curvi (efficace solo quando j2 = 1).

PGONPGON n, vect, stato, edge1, edge2, ..., edgenDefinizione poligono.n: numero di bordi nell'elenco dei bordi.vect: indice del vettore normale. Deve fare riferimento a un VECT definito in precedenza.

Nota: Se vect = 0, il programma calcolerà il vettore normale durante l'analisi.edge1, edge2, ..., edgen: questi indici devono fare riferimento a EDGE definiti in precedenza. Un valore zero indica l'inizio

o la fine di una definizione di foro. Un indice negativo cambia la direzione del vettore normale memorizzato o nell'opposto del bordo nelpoligono. (Il vettore o il bordo memorizzato non cambia; altri poligoni possono fare riferimento ad esso utilizzando l'orientamento originalecon un indice positivo.)

status: Bit di stato:status = j1 + 2*j2 + 16*j5 + 32*j6 + 64*j7 + 4*j3 + 8*j4, dove ogni j può essere 0 o 1.j1: poligono invisibile,j2: poligono di una superficie curva,j5: poligono concavo,j6: poligono con foro/i,j7: i fori sono convessi (efficaci solo quando j6 = 1),Bit di stato riservato per usi futuri:j3: primo poligono di una superficie curva (efficace solo quando j2 = 1),

Forme 3D

Guida di Riferimento al GDL 141

j4: ultimo poligono di una superficie curva (efficace solo quando j2 = 1).Se il valore di stato è negativo, il motore calcolerà lo stato del poligono (come poligono concavo o poligono con foro).n = 0 è consentito per scopi speciali.

PGON{2}PGON{2} n, vect, stato, wrap, edge_or_wrap1, ..., edge_or_wrapnI primi tre parametri sono simili a quelli in PGON.wrap: modalità rivestimento + tipo di proiezione.0: viene applicata la modalità di rivestimento globale,> 0: il significato è lo stesso di COOR.

edge_or_wrap1, ..., edge_or_wrapn: Il numero e il significato di questi parametri si basano sulla definizione di rivestimento:edge1, ..., edgen: se wrap è 0; in questo caso edgen ha lo stesso significato di PGON, e verrà applicata la mappatura delletessiture definita a livello globale;x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4, edge1, ..., edgen: se la modalità di rivestimento non è 0 inwrap; in questo caso xi, yi, zi sono le coordinate che definiscono il sistema di coordinate della mappatura della tessitura per il poligono;edge1, u1, v1, ..., edgen, un, vn: se la modalità di rivestimento è 0 ma il tipo di proiezione non è 0 in wrap; in questo casoui, vi le coordinate nello spazio della tessitura sono le stesse di TEVE; la mappatura influenzerà solo il poligono attualmente definito.

PGON{3}PGON{3} n, vect, stato, wrap_method, wrap_flags, edge_or_wrap1, ..., edge_or_wrapnI parametri sono simili a PGON{2}, fatta eccezione per wrap, che è suddiviso in due parametri wrap_method e wrap_flags. Il significatodi questi è lo stesso di COOR{2}.

PIPGPIPG espressione, a, b, mask, n, vect, stato, edge1, edge2, ..., edgenDefinizione di poligono immagine. I primi quattro parametri sono gli stessi di PICTURE; i restanti sono gli stessi di PGON.

COORCOOR wrap, vert1, vert2, vert3, vert4Deprecato. Vedi COOR{3}.Sistema di coordinate locali di un BODY per la mappatura dei retini e delle tessiture.wrap: modalità rivestimento + tipo di proiezione

Forme 3D

Guida di Riferimento al GDL 142

Wrapping modes:1: scatolare planare (deprecato),2: scatolare,3: cilindrico,4: sferico,5: uguale alla mappatura di riempimento cilindrica, ma nel rendering la superficie superiore e quella inferiore avranno una mappaturacircolare,6: planare

Projection types:256: il riempimento inizia sempre all'origine del sistema di coordinate locale,1024: proiezione quadratica della tessitura (consigliata),2048: proiezione di tessitura lineare basata sulla distanza media,4096: proiezione di tessitura lineare basata sulla triangolazione normale.

Nota: Gli ultimi tre valori hanno effetto solo con le definizioni delle coordinate della tessitura personalizzate (Vedi TEVE).vert1: indice di un VERT, che rappresenta l'origine del sistema di coordinate locale.vert2, vert3, vert4: indici dei VERT che definiscono i tre assi delle coordinate.Utilizzare un segno meno (-) prima degli indici VERT se vengono utilizzati solo per definire il sistema di coordinate locale.

Forme 3D

Guida di Riferimento al GDL 143

Esempio: Per assi di tessitura personalizzati:CSLAB_ "Brick-White", "Brick-White", "Brick-White", 4, 0.5, 0, 0, 0, 15, 1, 0, 0, 15, 1, 1, 1, 15, 0, 1, 1, 15BASEVERT 1, 0, 0 !#1VERT 1, 1, 1 !#2VERT 0, 0, 0 !#3VERT 1, 0, 1 !#4COOR 2, -1, -2, -3, -4BODY 1

X

Y

X'

Y'

Z

Z'

COOR{2}COOR{2} wrap_method, wrap_flags, vert1, vert2, vert3, vert4Deprecato. Vedi COOR{3}.Simile a COOR, cambiando wrap nei due parametri wrap_method e wrap_flags, e anche estendendone le possibilità.

Forme 3D

Guida di Riferimento al GDL 144

wrap_method: Le modalità di rivestimento sono le stesse descritte in COOR. I tipi di proiezione non si applicano, utilizza invecewrap_flags.

wrap_flags: Flag di rivestimentowrap_flags = 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 + 128*j8, dove ogni j può essere 0 o 1.j3: proiezione quadratica della tessitura (consigliata),j4: proiezione di tessitura lineare basata sulla distanza media,j5: proiezione di tessitura lineare basata sulla triangolazione normale,j8: trasla l'origine del sistema di coordinate della tessitura più vicino all'origine globale rispettivamente nella direzione degli assi X, Y oZ. Per esempio, j6 fa traslare l'origine nella direzione dell'asse X (lungo il vettore v2 - v1) in modo che sarà la proiezione ortogonaledell'origine globale alla linea dell'asse X. Cioè, se tutti i j6, j7 e j8 sono 1, l'origine viene traslata nell'origine globale (come se il tipo diproiezione fosse 256 in COOR).

Nota: I flag j3, j4 e j5 sono efficaci solo se wrap_method è 0 e solo uno di loro può essere 1. I flag j6, j7 e j8 sono efficaci solo sewrap_method non è 0. Questi possono essere 1 allo stesso tempo in qualsiasi combinazione.

vert1, vert2, vert3, vert4: come in COOR.

COOR{3}COOR{3} wrapping_method, wrap_flags, origin_X, origin_Y, origin_Z, endOfX_X, endOfX_Y, endOfX_Z, endOfY_X, endOfY_Y, endOfY_Z, endOfZ_X, endOfZ_Y, endOfZ_ZCompatibilità: introdotto in Archicad 20.Simile a COOR{2}. Può essere utilizzato con l'input di un parametro matrice (Vedi globale WALL_TEXTURE_WRAP in sezione chiamata«Parametri Muro - disponibili per Porte/Finestre, liste ed etichette» per maggiori informazioni).Il sistema di coordinate del corpo di proiezione è incluso nel comando COOR {3} stesso, non è necessario definire vertici aggiuntivi nel BODYcorrente. Compatibile con i corpi NURBS (non sono necessarie primitive non NURBS per impostare il sistema di coordinate della tessitura).wrap_method: Le modalità di rivestimento sono le stesse descritte in COOR integrato dalla modalità di rivestimento basata su NURBS.

I tipi di proiezione non si applicano, usa invece wrap_flags.1: scatola planare (deprecato),2: scatolare,3: cilindrico,4: sferico,

Forme 3D

Guida di Riferimento al GDL 145

5: uguale alla mappatura di riempimento cilindrico, ma nel rendering la superficie superiore e quella inferiore avranno una mappaturacircolare,6: planare,7: Basato su NURBS, le coordinate della tessitura dei vertici derivano dai loro parametri di superficie, solo nel caso di corpi NURBS.

wrap_flags: Flag di rivestimentowrap_flags = 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 + 128*j8, dove ogni j può essere 0 o 1.j3: proiezione quadratica della tessitura (consigliata),j4: proiezione di tessitura lineare basata sulla distanza media,j5: proiezione di tessitura lineare basata sulla triangolazione normale,j8: trasla l'origine del sistema di coordinate della tessitura più vicino all'origine globale rispettivamente nella direzione degli assi X, Y o Z..Per esempiol, j6 fa traslare l'origine nella direzione dell'asse X in modo che sia la proiezione ortogonale dell'origine globale alla linea dell'asseX. Cioè, se tutti j6, j7 e j8 sono 1, l'origine viene traslata nell'origine globale (effetto opposto del tipo di proiezione 256 in COOR).

Nota: I flag j3, j4 and j5 sono efficaci solo se wrap_method è 0 e solo uno di loro può essere 1. I flag j6, j7 e j8 sono efficaci solose wrap_method non è 0. Questi possono essere 1 allo stesso tempo in qualsiasi combinazione.

origin_X, origin_Y, origin_Z: nodo nello spazio x-y-z, definito da tre coordinate, origine della tessitura.endOfX_X, endOfX_Y, endOfX_Z: nodo nello spazio x-y-z, definito da tre coordinate, direzione X della mappatura della tessitura.endOfY_X, endOfY_Y, endOfY_Z: nodo nello spazio x-y-z, definito da tre coordinate, direzione Y della mappatura della tessitura.endOfZ_X, endOfZ_Y, endOfZ_Z: nodo nello spazio x-y-z, definito da tre coordinate, direzione Z della mappatura della tessitura.

Forme 3D

Guida di Riferimento al GDL 146

Esempio: COOR {3} e parametrizzazione COOR {2} equivalente

COOR{3} wrapping_method, wrap_flags, origin_X, origin_Y, origin_Z, endOfX_X, endOfX_Y, endOfX_Z, endOfY_X, endOfY_Y, endOfY_Z, endOfZ_X, endOfZ_Y, endOfZ_Z

! COOR{2} equivalenteBASEVERT origin_X, origin_Y, origin_Z,VERT endOfX_X, endOfX_Y, endOfX_ZVERT endOfY_X, endOfY_Y, endOfY_ZVERT endOfZ_X, endOfZ_Y, endOfZ_ZCOOR{2} wrapping_method, wrap_flags, -1, -2, -3, -4

BODYBODY statoCompone un corpo definito con le primitive di cui sopra.status: Bit di stato:status = j1 + 2*j2 + 4*j3 + 32*j6 + 64*j7, dove ogni j può essere 0 o 1.j1: corpo chiuso (deprecato),j2: corpo che comprende superfici curve (deprecato),j3: modello superficiale: quando il corpo viene tagliato, nessuna superficie è originata sul piano di taglio,j6: il corpo proietta sempre l'ombra indipendentemente dall'algoritmo di preselezione automatica,j7: il corpo non proietta mai ombra.Se non sono impostati né j6 né j7, viene eseguita la preselezione automatica delle ombre.Vedi SHADOW.Se il valore di stato è negativo, il motore calcolerà lo stato del corpo.

Forme 3D

Guida di Riferimento al GDL 147

Esempio:

x

y

z

1

2 3

4

5

6 7

8

1: Descrizione completa

Forme 3D

Guida di Riferimento al GDL 148

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 !CUBO2: (nessun riferimento diretto ai poligoni o ai vettori, verranno calcolati)

Forme 3D

Guida di Riferimento al GDL 149

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 !CUBO

BASEBASEReimposta i contatori per le istruzioni di elementi geometrici di basso livello (VERT, TEVE, VECT, EDGE, PGON e PIPG). Emessoimplicitamente dopo ogni definizione di elemento composto.

Forme 3D

Guida di Riferimento al GDL 150

ELEMENTI PRIMITIVI NURBSLe primitive della struttura dati 3D dei corpi NURBS sono NURBSCURVE2D, NURBSCURVE3D, NURBSSURFACE, NURBSVERT,NURBSEDGE, NURBSTRIM, NURBSTRIMSINGULAR, NURBSFACE, NURBSLUMP, e NURBSBODY.I corpi NURBS solidi sono rappresentati dalle facce NURBS limite delle regioni solide, i corpi NURBS a superficie laminare sono rappresentatidalle facce NURBS stesse, i corpi NURBS a filo sono rappresentati dai bordi NURBS. Un corpo NURBS può avere una parte solida, laminaree a filo allo stesso tempo, un corpo NURBS stesso non è classificato nelle categorie solido/superficie/a filo.Le primitive Nurbs non possono essere utilizzate nei corpi a facce planari e le primitive non NURBS non possono essere utilizzate nei corpiNURBS. Un'istruzione primitiva non NURBS determina il completamento del corpo NURBS in costruzione e l'avvio di un nuovo corpo nonNURBS (istruzioni BODY e NURBSBODY implicite).Allo stesso modo un'istruzione primitiva NURBS fa sì che il corpo non NURBS in costruzione venga terminato e venga avviato un nuovo corpoNURBS. Un'istruzione composta (BRICK, CYLIND, PRISM, ecc.) o un'istruzione MODEL fa sì che il corpo in costruzione NURBS o nonNURBS venga completato. Se un'istruzione NURBSBODY chiude un corpo non NURBS o un'istruzione BODY chiude un corpo NURBS,il valore di stato fornito non avrà effetto.L'indicizzazione delle primitive NURBS inizia da 1. L'indicizzazione delle primitive NURBS e non NURBS (VERT, TEVE, EDGE, VECT,PGON, PIPG) viene gestita separatamente. L'istruzione BASE ripristina anche il contatore per le primitive del corpo NURBS. Tutte le primitivereferenziate da un'altra primitiva dovrebbero essere definite prima di quella referenziata (es. I vertici e la curva 3D del bordo dovrebbero esseredefiniti prima del bordo).Le istruzioni NURBSCURVE2D, NURBSCURVE3D e NURBSSURFACE creano solo elementi geometrici nel corpo NURBS che non sarannovisibili da soli. Un bordo NURBS definisce il suo supporto geometrico facendo riferimento a una curva NURBS 3D, analogamente un taglioNURBS fa riferimento a una curva NURBS 2D e una faccia NURBS fa riferimento a una superficie NURBS come supporto geometrico (ilbordo, il taglio e la faccia potrebbero non estendersi all'intero supporto geometrico, vedi i dettagli in ogni descrizione del comando).Il bordo NURBS, la sua curva 3D, i suoi tagli e le curve 2D dei tagli sono sempre orientati in modo coerente. La faccia NURBS e la sua superficiesono sempre orientate in modo coerente.Le facce NURBS possono essere organizzate in noduli NURBS (lumps). Un nodulo (lump) definisce una regione solida delimitata da uno opiù involucri (shells). Un involucro (shell) è un insieme chiuso e connesso di facce che separa lo spazio in due regioni. Un nodulo (lump) ha uninvolucro (shell) esterno che separa il nodulo dall'infinito e può avere involucri vuoti che separano il nodulo dalle cavità interne.L'orientamento coerente delle facce in un involucro non è necessario, due facce adiacenti possono fare riferimento allo stesso bordo nella stessadirezione. Ma gli involucri di un nodulo devono avere orientamenti coerenti, il lato posteriore di un involucro dovrebbe guardare verso l'internodel nodulo, per questo il nodulo può riferirsi alle facce con prefisso negativo per l'orientamento invertito.

Forme 3D

Guida di Riferimento al GDL 151

Le facce che non fanno parte di un nodulo verranno trattate come superfici laminari, anche se le facce formano un involucro chiuso. I bordiche non fanno parte di una faccia verranno trattati come bordi a filo.. Un corpo NURBS può contenere contemporaneamente noduli solidi,facce laminari e bordi a filo.La proprietà 2-multiforme (manifold) non è richiesta per i corpi NURBS, un bordo NURBS può essere connesso a più di due facce (da più didue tagli). Anche un involucro di un nodulo NURBS può avere più di due facce su un bordo fintanto che il guscio separa ancora lo spazio indue regioni (questo significa un numero pari di facce di un dato involucro su ciascun bordo).Le istruzioni RADIUS, RESOL e TOLER non hanno effetto sulla levigatezza delle facce e dei bordi NURBS. La levigatezza delle primitiveNURBS viene calcolata automaticamente e può essere limitata per un corpo NURBS dai parametri del comando NURBSBODY (Vedi dettaglisu NURBSBODY).Per la corretta impostazione della tessitura per le NURBS, vedere COOR{3}.

Taglio della Faccia NURBSUna superficie NURBS è un foglio bidimensionale nello spazio tridimensionale ed è definita da una funzione geometrica che mappa unrettangolo allo spazio. La geometria di una faccia NURBS è sempre una parte di una superficie NURBS ma può essere più complessa di così.Ciò è reso possibile dai tagli.Un taglio (trim) definisce una sezione sul dominio rettangolo della superficie, un taglio con una curva NURBS bidimensionale. Ciò implica untaglio sul foglio tridimensionale della superficie. Questo taglio si trova lungo il bordo di delimitazione NURBS della faccia e la geometria deltaglio lungo il foglio di superficie deve essere coerente con la geometria del bordo NURBS.Una faccia NURBS ha bordi proprio come un PGON tradizionale, ma i bordi non sono elenchi di bordi NURBS ma tagli (trim) NURBS perchéi bordi hanno le informazioni necessarie per tagliare correttamente la faccia. (La curva 2d dei tagli può essere calcolata dalla curva 3d del bordoma può essere imprecisa o addirittura ambigua in caso di superfici con autointersezione o singolarità o in caso di dati errati.)

Comandi di Geometria NURBSI seguenti comandi descrivono le parti geometriche degli elementi NURBS: curve e superficie.

NURBSCURVE2DNURBSCURVE2D degree, nControlPoints, knot_1, knot_2, ..., knot_m, cPoint_1_x, cPoint_1_y, weight_1, cPoint_2_x, cPoint_2_y, weight_2, ..., cPoint_n_x, cPoint_n_y, weight_n

Forme 3D

Guida di Riferimento al GDL 152

NURBSCURVE3DNURBSCURVE3D degree, nControlPoints, knot_1, knot_2, ..., knot_m, cPoint_1_x, cPoint_1_y, cPoint_1_z, weight_1, cPoint_2_x, cPoint_2_y, cPoint_2_z, weight_2, ..., cPoint_n_x, cPoint_n_y, cPoint_n_z, weight_nCurve NURBS bidimensionali e tridimensionali con dato grado (degree), vettore nodo (knotvector), punti di controllo (controlpoints) e pesi(weigths).degree: grado della curva NURBS, uno in meno rispetto all'ordine della curva (ordine = grado + 1), positivonControlPoints: numero di punti di controllo (n), maggiore del grado della curva (non minore dell'ordine)knot_i: indice i valore del nodo

• numero di valori di nodo (m, la dimensione del vettore nodo) è dato da quanto segue: m = grado (degree) + 1 + n• i nodi sono in ordine non decrescente (knot_i <= knot_ {i + 1})• sono consentiti valori di nodi uguali, con molteplicità fino al grado, o con molteplicità fino al grado + 1 per il primo e l'ultimo nodo.

cPoint_i_x, cPoint_i_y, cPoint_i_z: coordinate del punto di controllo indice iweight_i: peso del punto di controllo indice i, positivoLe curve periodiche non sono gestite separatamente, ma descritte come curve NURBS flottanti (non bloccate) che sono geometricamentechiuse e hanno una connessione opportunamente continua alle estremità. Ciò è garantito ripetendo un numero sufficiente di punti di controlloe intervalli di nodi alla fine:• l'ultimo grado molti punti di controllo sono duplicati del primo grado molti punti di controllo (non in ordine inverso),• il primo numero due-volte-il-grado di differenze-di-nodi (knot_1-knot_0, knot_2-knot_1, ...) sono gli stessi degli ultimi nel vettore nodo

(questi sono i nodi che sono in connessione con il primo (o ultimo) grado molti punti di controllo).Il dominio utilizzabile di una curva è l'intervallo chiuso tra knot_ {grado + 1} e knot_ {m - grado}.

Forme 3D

Guida di Riferimento al GDL 153

NURBSSURFACENURBSSURFACE degree_u, degree_v, nu, nv, knot_u_1, knot_u_2, ..., knot_u_mu, knot_v_1, knot_v_2, ..., knot_v_mv, cPoint_1_1_x, cPoint_1_1_y, cPoint_1_1_z, weight_1_1, cPoint_1_2_x, cPoint_1_2_y, cPoint_1_2_z, weight_1_2, ..., cPoint_1_nv_x, cPoint_1_nv_y, cPoint_1_nv_z, weight_1_nv, cPoint_2_1_x, cPoint_2_1_y, cPoint_2_1_z, weight_2_1, ..., cPoint_nu_nv_x, cPoint_nu_nv_y, cPoint_nu_nv_z, weight_nu_nvSuperficie NURBS tridimensionale con parametro spazio u-v, dato grado, vettori nodi nelle direzioni ue v e dato punto di controllo, peso netto.I gradi sono uno in meno rispetto agli ordini di superficie (order_u = degree_u + 1), i gradi sono positivi.degree_u: grado di superficie nella direzione del parametro udegree_v: grado di superficie nella direzione del parametro vnu, nv: numero di punti di controllo nelle direzioni u e v, maggiore del grado (non minore dell'ordine) della superficie in una data direzioneknot_u_i, knot_v_i: indice i valore del nodo nelle direzioni u e v

• il loro numero (la dimensione del vettore nodo) è dato da quanto segue: mu = degree_u + 1 + nu• i nodi sono in ordine non decrescente (knot_u_i <= knot_u_{i+1}, knot_v_i <= knot_v_{i+1})• sono consentiti valori di nodi uguali, con molteplicità fino al grado, o con molteplicità fino al grado + 1 per il primo e l'ultimo nodo.

cPoint_i_j_x, cPoint_i_j_y, cPoint_i_j_z: punto di controllo sulla maglia del punto di controllo, indice i nella direzioneu, indice j nella direzione v

weight_i_j: peso per il punto di controllo cPoint_ij, positivoLe superfici possono essere periodiche in entrambe le direzioni (u o v) o in entrambe le direzioni. Le superfici periodiche non sono trattateseparatamente, ma descritte come superfici NURBS flottanti (non bloccate) che sono geometricamente chiuse e hanno una connessioneadeguatamente continua alle estremità. Ciò è garantito allo stesso modo delle curve.Il dominio utilizzabile di una superficie è il prodotto incrociato degli intervalli chiusi tra knot_u_ {degree_u + 1}, knot_u_ {mu - degree_u}e knot_v_ {degree_v + 1}, knot_v_ {mv - degree_v} rispettivamente.

Comandi della Topologia NURBSI seguenti comandi descrivono le parti topologiche degli elementi NURBS.

Forme 3D

Guida di Riferimento al GDL 154

NURBSVERTNURBSVERT x, y, z, netto, tolleranzaVertice, un nodo di un corpo NURBS. Diverso da qualsiasi vertice creato da VERT, indicizzato separatamente da quelli. Può essere utilizzatosolo nei corpi NURBS, esclusi i corpi a faccia planare.x, y, z: coordinate del verticehard:1: se il vertice deve definire un'interruzione durante il rendering di superfici lisce,0: altrimenti.

tolerance: distanza geometrica massima tra il vertice NURBS e altre entità (bordo NURBS, faccia NURBS) che sono topologicamenteconnesse ad esso. Se negativo, la tolleranza sarà un valore predefinito di default.

NURBSEDGENURBSEDGE vert1, vert2, curve, curveDomainBeg, curveDomainEnd, stato, toleranceBordo di un corpo NURBS. Diverso da qualsiasi bordo creato da EDGE, indicizzato separatamente da quelli. Può essere utilizzato solo neicorpi NURBS, esclusi i corpi a faccia planare.vert1, vert2: indice-gdl dei vertici NURBS di inizio e fine

• vert1 e vert2 possono essere uguali. In questo caso il bordo è un bordo di ciclo (e la sua curva è chiusa o ha una parte chiusa)• vert1 e vert2 possono essere zero per un bordo a anello (che non ha vertici e la sua curva è chiusa o ha una parte chiusa)

curve: indice-gdl della curva NURBS per la geometria del bordo. Indice positivo, l'orientamento del bordo coincide sempre conl'orientamento della curva.

curveDomainBeg, curveDomainEnd: definizione della parte di curva che geometricamente rappresenta il bordo. Il curveDomainEnddeve essere maggiore di curveDomainBeg, non devono coincidere ed entrambi i valori devono essere nel dominio utilizzabile della curva.

status: controllo dello stato del bordo:status = j1 + 2*j2 + 4*j3, dove ogni j può essere 0 o 1.j1: bordo invisibile (può essere impostato solo se j2 non è impostato).j2: bordo visibile solo se contorno (può essere impostato solo se j1 non è impostato).j3: bordo liscio (il bordo non definisce un'interruzione durante il rendering di superfici lisce).Se sono impostati sia j1 che j2, il bordo produrrà un errore che farà svanire l'intero corpo NURBS.

tolerance: distanza geometrica massima tra il bordo NURBS e altre entità (faccia NURBS) che sono topologicamente connesse ad esso.Se negativo, la tolleranza sarà un valore predefinito di default.

Forme 3D

Guida di Riferimento al GDL 155

La curva valutata a ciascun punto finale dovrebbe coincidere con la posizione del vertice appropriato. Il bordo può essere un bordo a anellosenza vertice. In questo caso il bordo limitato a [curveDomainBeg, curveDomainEnd] deve essere chiuso, ovvero valuta allo stesso modo a ognipunto finale. Qualsiasi numero di bordi può essere associato a un vertice. Il colore di un bordo NURBS è definito dall'ultima istruzione PEN.

NURBSTRIMNURBSTRIM edge, curve, curveDomainBeg, curveDomainEnd, tolerance

NURBSTRIMSINGULARNURBSTRIMSINGULAR vertex, curve, curveDomainBeg, curveDomainEnd, toleranceUn bordo di delimitazione di una faccia. Utilizzato per tagliare una faccia nello spazio dei parametri della superficie della faccia.NURBSTRIMSINGULAR viene utilizzato lungo i lati singolari della superficie (quale lato è contratto in un punto della superficie). Collega lafaccia a un bordo (o a un vertice in caso singolare).edge: indice-gdl del bordo NURBS a cui è attaccato questo taglio. Indice, bordo e taglio positivi sono sempre orientati in modo coerente.vertex: indice-gdl del vertice NURBS a cui è attaccato questo taglio (caso singolare).curve: indice-gdl di una curva NURBS 2D. Indice, curva e taglio positivi sono sempre orientati in modo coerente. È definito sul dominio

(spazio dei parametri u-v) della superficie della faccia.curveDomainBeg, curveDomainEnd: definizione della parte di curva che geometricamente rappresenta il taglio. Il curveDomainEnd

deve essere maggiore di curveDomainBeg, non devono coincidere ed entrambi i valori devono essere nel dominio utilizzabile della curva.tolerance: distanza geometrica massima tra la curva 2D del taglio NURBS e altre entità (altri tagli NURBS) che sono topologicamente

connessi ad esso. Se negativo, la tolleranza sarà un valore predefinito di default.La curva limitata all'intervallo [curveDomainBeg, curveDomainEnd] dovrebbe rientrare completamente nel dominio utilizzabile della superficiedella faccia (con una data tolleranza). Per NURBSTRIMSINGULAR la curva 2D deve trovarsi lungo un lato singolare del dominio utilizzabile(spazio dei parametri u-v) della superficie della faccia.La composizione della curva 2D ristretta e della superficie dà una curva 3D che dovrebbe coincidere con la curva 3D ristretta del bordo. Pertantola curva 2D valutata in curveDomainBeg e curveDomainEnd dovrebbe coincidere con la posizione del vertice appropriato. Nel caso singolarela composizione della curva 2D e della superficie dà un punto 3D, che dovrebbe coincidere con il vertice dato.L'indicizzazione di tagli singolari e non singolari è comune.Qualsiasi numero di tagli può fare riferimento a ciascun bordo (quindi indirettamente è possibile attaccare qualsiasi numero di facce a un bordo).Il bordo può essere non-2-multiforme (non-2-manifold).Due tagli su un bordo possono appartenere alla stessa faccia, in questo caso il bordo è chiamato bordo di cucitura. Ad esempio un mantellodi un cilindro può essere una faccia con un bordo di giunzione.

Forme 3D

Guida di Riferimento al GDL 156

NURBSFACENURBSFACE n, superficie, tolleranza, trim1, trim2, ..., trimnFaccia di un corpo NURBS. Diverso da qualsiasi poligono creato da PGON, indicizzato separatamente da quelli. Può essere utilizzato solonei corpi NURBS, esclusi i corpi a faccia planare.n: numero di bordi di delimitazione (inclusi gli zeri di separazione dei fori opzionali).surface: indice-gdl di una superficie NURBS che sostiene la faccia. Indice positivo, l'orientamento della faccia è sempre identico

all'orientamento della superficie.trimi: indice-gdl del taglio NURBS che delimita la faccia.

• I tagli sono elencati in senso antiorario (matematico positivo) sulla superficie per il ciclo del contorno esterno e in senso orario (negativo)per il ciclo del contorno del foro.

• Può essere zero, che indica la fine del contorno (separatore di fori).• Indice negativo significa che il taglio e il contorno (della faccia) hanno un orientamento opposto.

tolerance: se negativo, la tolleranza sarà un valore predefinito di default.I tagli devono connettersi ai vertici comuni: il vertice finale di un taglio è lo stesso del vertice iniziale del taglio successivo nella faccia. (I verticidi un taglio sono i vertici del bordo del taglio per un taglio non singolare.)I tagli consecutivi - come curve 2D - si collegano anche nel dominio (spazio dei parametri) della faccia, definendo uno o più cicli di contornochiusi su di essa. Il primo ciclo è sempre un ciclo esterno che separa una regione esterna infinita e una interna finita sul piano. I potenzialicicli successivi sono i contorni dei fori.La curva 2D di ciascun taglio dovrebbe trovarsi completamente all'interno del dominio utilizzabile della superficie della faccia e non dovrebbeintersecare se stessa o le curve di altri tagli della faccia. Ogni taglio deve essere utilizzato su una sola faccia.Gli attributi del materiale e della sezione di una faccia determinati rispettivamente dalle ultime istruzioni MATERIAL e SECT_ATTRS (oSECT_FILL). Il colore dei bordi all'interno della faccia creata per le segmentazioni poligonali è definito dall'ultima istruzione PEN. Questo èpraticamente visibile sulle sagome provenienti dall'interno di questa faccia.

Forme 3D

Guida di Riferimento al GDL 157

NURBSFACE{2}NURBSFACE{2} n, superficie, tolleranza, wrap_method, wrap_flags, x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4, trim1, trim2, ..., trimnSimile a NURBSFACE, esteso con la capacità di descrivere la mappatura della tessitura sulla faccia NURBS come in PGON{3}.n, surface, tolerance: come in NURBSFACE.wrap_method: come in PGON{3}.

• 0: viene applicata la modalità di rivestimento globale (i parametri x1 ... z4 sono obbligatori ma verranno ignorati)• > 0: come in PGON{3}

wrap_flags: simile a PGON{3}, tranne che i flag del tipo di proiezione (j3, j4 e j5) vengono ignorati (le coordinate della tessitura nonpossono essere applicate alle facce NURBS).

x1, y1, z1 ... x4, y4, z4: coordinate che definiscono il sistema di coordinate della mappatura della tessitura per la faccia NURBS(questi parametri hanno effetto solo se wrap_method > 0).

trim1 ... trimn: come in NURBSFACE.

NURBSLUMPNURBSLUMP n, face1, face2, ..., facenDefinisce una parte solida, un sottoinsieme geometricamente connesso, di un corpo NURBS solido.n: numero di facce di delimitazione (inclusi zeri separatori di vuoti opzionali).facei: indice-gdl della faccia NURBS che delimita il nodulo

• Può essere zero, indicando la fine dell'involucro e l'inizio di un altro involucro (separatore-vuoto / void separator).• L'indice negativo indica che la faccia viene utilizzata nella direzione opposta. Per indice positivo il lato posteriore della faccia corrisponde

all'interno del nodulo, per indice negativo il lato anteriore guarda verso l'interno.Il confine di un nodulo può ricadere su diversi involucri chiusi: un involucro esterno che separa il nodulo dall'infinita regione esterna dellospazio; e zero o più involucri interni - vuoti che separano il nodulo dalle regioni della cavità. Le facce di un involucro devono comporre unaparte continua dell'elenco delle facce. Queste diverse parti per diversi involucri devono essere separate da un valore 0. Il primo involucro deveessere l'involucro esterno. Le facce di un involucro devono connettersi ai bordi comuni, ma nell'elenco non viene assunto alcun ordine.

Forme 3D

Guida di Riferimento al GDL 158

Nota che le facce di un involucro possono essere connesse ad altre facce che non sono nell'involucro o sono in un altro involucro (perché ibordi possono avere più di due facce). Ogni faccia deve essere utilizzata in un solo nodulo. Nessuno dei due involucri di un nodulo può essereaperto: i corpi aperti non hanno noduli né involucri.

NURBSBODYNURBSBODY statoombre, smoothnessMin, smoothnessMaxCompone un corpo NURBS definito con le primitive NURBS di cui sopra.shadowStatus: stato per il controllo delle ombre:shadowStatus = 32*j6 + 64*j7, dove ogni j può essere 0 o 1.j6: Il corpo NURBS proietta sempre l'ombra indipendentemente dall'algoritmo di preselezione automatica,j7: Il corpo NURBS non proietta mai ombre.Se non sono impostati né j6 né j7, viene eseguita la preselezione automatica delle ombre. Vedi il comando SHADOW.

smoothnessMin, smoothnessMax: limiti del parametro di levigatezza calcolato automaticamente per la tassellatura delle superficie delle curve del corpo. Il parametro calcolato automaticamente sarà sempre compreso tra 0 e 1 inclusi, quindi smoothnessMin <= 0significa nessun limite inferiore e smoothnessMax> = 1 significa nessun limite superiore. Se smoothnessMin > smoothnessMax, i valori noninfluenzeranno la levigatezza calcolata automaticamente.

Qualsiasi istruzione primitiva non NURBS (VERT, TEVE, EDGE, VECT, PGON, PIPG, BODY) o qualsiasi istruzione composta (BRICK,CYLIND, PRISM, REVOLVE, ecc.) fa sì che il corpo NURBS in costruzione venga completato (istruzione NURBSBODY implicita). Inquesto caso i limiti di levigatezza non verranno impostati e statoombre (shadowStatus) sarà zero (il parametro di stato dell'istruzione BODYnon verrà passato).

NUVOLE DI PUNTI

POINTCLOUDPOINTCLOUD "nome_file_dati"Genera una nuvola di punti nel modello 3D. Una nuvola di punti è un insieme di punti 3D con colori e altri possibili metadati memorizzatiper ogni punto.data_file_name: il nome dell'elemento di libreria caricato contenente i dati della nuvola di punti. Deve essere un'espressione stringa.Le nuvole di punti non vengono visualizzate dal motore 3D interno. Il 2D viene proiettato, utilizzando i piani di taglio per filtrare i punti nonnecessari.

Forme 3D

Guida di Riferimento al GDL 159

TAGLI JIN 3DCUTPLANECUTPLANE [x [, y [, z [, lato [, stato]]]]][istruzione1 ... istruzionen]CUTEND

CUTPLANE{2}CUTPLANE{2} angolo [, stato][istruzione1 ... istruzionen]CUTEND

CUTPLANE{3}CUTPLANE{3} [x [, y [, z [, lato [, stato]]]]][istruzione1 ... istruzionen]CUTENDCrea un piano di taglio e rimuove le parti tagliate delle forme racchiuse. CUTPLANE può avere un numero diverso di parametri.Se CUTPLANE ha il seguente numero di parametri:0: piano x-y;1: il piano di taglio attraversa l'asse x, l'angolo è tra il piano di taglio e il piano x-y;2: il piano di taglio è parallelo all'asse z, incrocia l'asse x e l'asse y ai valori dati;3: il piano di taglio incrocia gli assi x, y e z ai valori dati;4: i primi tre parametri sono come sopra, con l'aggiunta del valore lato come segue:side: definizione del lato da tagliare.0: rimuove le parti sopra il piano di taglio (default),1: rimuove le parti sotto il piano di taglio; in caso di x-y, x-z, y-z, rimuove le parti nella direzione negativa dell'asse.

status: controllo dello stato delle superfici tagliate. Se lo stato non viene fornito, lo stato viene impostato automaticamente su 1 + 2.status = j1 + 2*j2 + 4*j3 + 256*j9, dove ogni j può essere 0 o 1.j1: usa gli attributi del corpo per i poligoni e gli spigoli generati.j2: i poligoni tagliati generati saranno trattati come normali poligoni.j3: i bordi tagliati generati saranno invisibili.j9: i vertici sul piano di taglio vengono trattati come rimossi.

Forme 3D

Guida di Riferimento al GDL 160

Il taglio (senza il parametro lato) rimuove le parti sopra il piano di taglio. Se i primi tre parametri definiscono il piano x-y, x-z o y-z (ad esempio,1.0, 1.0, 0.0 definisce il piano x-y), le parti nella direzione positiva del terzo asse vengono rimosse.È possibile aggiungere un numero qualsiasi di istruzioni tra CUTPLANE e CUTEND. È anche possibile includere CUTPLANE nelle macro.I parametri CUTPLANE si riferiscono al sistema di coordinate corrente.Le trasformazioni tra CUTPLANE e CUTEND non hanno effetto su questo stesso piano di taglio, ma eventuali CUTPLANE successiviverranno trasformati. Pertanto, si consiglia di utilizzare tutte le trasformazioni necessarie per impostare CUTPLANE, quindi eliminare questetrasformazioni prima di definire le forme da tagliare.Se le trasformazioni utilizzate solo per posizionare il CUTPLANE non vengono rimosse, potresti pensare che il CUTPLANE sia in unaposizione sbagliata quando, in realtà, sono le forme che si sono allontanate.Coppie di comandi CUTPLANE-CUTEND possono essere annidate, anche all'interno di un ciclo. Se manca il CUTEND finale, il suoCUTPLANE corrispondente sarà attivo su tutte le forme fino alla fine dello script.

Nota 1: Se CUTPLANE non viene chiuso con CUTEND, tutte le forme possono essere completamente rimosse. Ecco perché ricevi sempreun messaggio di avviso sui CUTEND mancanti.

CUTPLANE nelle macro influenzano le forme solo nella macro, anche se CUTEND è mancante.Se una macro viene chiamata tra CUTPLANE e CUTEND, le forme nella macro verranno tagliate.

Nota 2: Se utilizzi CUTPLANE{2} con più di due parametri, questo si comporterà come CUTPLANE.

Nota 3: È preferibile usare CUTPLANE{3} invece di CUTPLANE. Se si utilizza CUTPLANE con 5 parametri, il 4° parametro verrà omesso.Per CUTPLANE{3}, questo parametro ha effetto indipendentemente dal quinto parametro.

Forme 3D

Guida di Riferimento al GDL 161

Esempio 1:

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

Esempio 2:

CUTPLANESPHERE 2CUTEND

CUTPLANE 1, 1, 0, 1SPHERE 2CUTEND

Forme 3D

Guida di Riferimento al GDL 162

Esempio 3:

CUTPLANE 1.8, 1.8, 1.8SPHERE 2CUTEND

CUTPLANE 1.8, 1.8, 1.8, 1SPHERE 2CUTEND

Esempio 4:

CUTPLANE 60BRICK 2, 2, 2CUTEND

CUTPLANE -120BRICK 2, 2, 2CUTEND

Forme 3D

Guida di Riferimento al GDL 163

CUTPOLYCUTPOLY n, x1, y1, ..., xn, yn [, x, y, z][istruzione1istruzione2...istruzionen]CUTENDSimile a CUTPLANE, i parametri di CUTPOLY si riferiscono al sistema di coordinate corrente. Il poligono non può intersecarsi da solo. Ladirezione del taglio è l'asse Z oppure è possibile specificare un vettore opzionale (x, y, z). Le trasformazioni di specchiatura influenzano ladirezione di taglio in modo inaspettato: per ottenere un risultato più diretto, utilizzare CUTFORM.

Esempio 1:

Forme 3D

Guida di Riferimento al GDL 164

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

Esempio 2:

a=1.0d=0.1GOSUB "rect_cut"ROTX 90GOSUB "rect_cut"DEL 1ROTY -90GOSUB "rect_cut"DEL 1BLOCK a, a, aCUTENDCUTENDCUTENDEND"rect_cut": CUTPOLY 4, d, d, a-d, d, a-d, a-d, d, a-d RETURN

Forme 3D

Guida di Riferimento al GDL 165

Esempio 3:

ROTX 90FOR i=1 TO 3 FOR j=1 TO 5 CUTPOLY 4, 0, 0, 1, 0, 1, 1, 0, 1 ADDX 1.2 NEXT j DEL 5 ADDY 1.2NEXT iDEL NTR()-1ADD -0.2, -0.2, 0BRICK 6.2, 3.8, 1FOR k=1 TO 15 CUTENDNEXT kDEL TOP

CUTPOLYACUTPOLYA n, stato, d, x1, y1, mask1, ..., xn, yn, maskn [, x, y, z][istruzione1istruzione2...istruzionen]CUTENDSimile a CUTPOLY, ma con la possibilità di controllare la visibilità dei bordi dei poligoni generati. La forma di taglio è un tubo seminfinito conla sezione trasversale poligonale definita. Se l'estremità della forma di taglio ricade nel corpo, taglierà l'area corrispondente.

Forme 3D

Guida di Riferimento al GDL 166

i

Y

X

Z

jj

ji+1

1

2 3

status: controlla il trattamento dei poligoni tagliati generati.1: utilizzare gli attributi del corpo per i poligoni e gli spigoli generati,2: i poligoni tagliati generati saranno trattati come normali poligoni.

d: la distanza tra l'origine locale e l'estremità del tubo seminfinito.0: significa un taglio con un tubo infinito.

maski: simile a PRISM_.maski = j1 + 2*j2 + 4*j3 + 64*j7, dove ogni j può essere 0 o 1.

Forme 3D

Guida di Riferimento al GDL 167

Esempio:

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 1 NEXT j DEL 5 ADDY 1NEXT iDEL NTR()-1ADD -0.2, -0.2, 0BRICK 5.4, 3.4, 0.5FOR k=1 TO 15 CUTENDNEXT kDEL TOP

Forme 3D

Guida di Riferimento al GDL 168

CUTSHAPECUTSHAPE d [, stato][istruzione1 istruzione2 ... istruzionen]CUTENDTaglia un blocco con spessore "d", lunghezza infinita (entrambi i lati dell'asse y) e altezza semi-infinita (sopra il piano xy).status: controlla il trattamento dei poligoni tagliati generati. Se non specificato (per motivi di compatibilità) il valore predefinito è 3.status = j1 + 2*j2, dove ogni j può essere 0 o 1.j1: usa gli attributi del corpo per i poligoni e gli spigoli generati,j2: i poligoni tagliati generati saranno trattati come normali poligoni.

Esempio:

FOR i = 1 TO 5 ADDX 0.4 * i ADDZ 2.5 CUTSHAPE 0.4 DEL 2 ADDX 0.4NEXT iDEL TOPBRICK 4.4, 0.5, 4FOR i = 1 TO 5 CUTENDNEXT i

CUTFORMCUTFORM n, metodo, stato, rx, ry, rz, d, x1, y1, mask1 [, mat1], ... xn, yn, maskn [, matn]Simile a CUTPOLYA, ma con la possibilità di controllare la forma e l'estensione del corpo di taglio.method: controlla la forma del corpo di taglio.1: a forma di prisma,

Forme 3D

Guida di Riferimento al GDL 169

2: piramidale,3: corpo di taglio a forma di cuneo. La direzione del bordo superiore del cuneo è parallela all'asse Y e la sua posizioneè in rx, ry, rz (ryviene ignorato).

rx, ry, rz

d

z x y

rx, ry, rz

d

z x y

rx, ry, rz

d

z x y

status: Controlla l'estensione del corpo di taglio e il trattamento dei poligoni di taglio generati e dei nuovi bordi.status = j1 + 2*j2 + 8*j4 + 16*j5 + 32*j6 + 64*j7 + 128*j8 + 256*j9, dove ogni j può essere 0 o 1.j1: usa gli attributi del corpo per i poligoni e gli spigoli generati,j2: i poligoni tagliati generati saranno trattati come normali poligoni,j4: definire il limite del taglio (con j5),j5: definire il limite del taglio (con j4):j6: genera un'intersezione booleana con il corpo di taglio piuttosto che una differenza booleana. (può essere utilizzato solo conCUTFORM),j7: i bordi generati dalla parte inferiore del corpo di taglio saranno invisibili,j8: i bordi generati dalla parte superiore del corpo di taglio saranno invisibili,j9: la forma di taglio ha materiali laterali personalizzati (mati).j4 = 0 e j5 = 0: taglio finitoj4 = 0 e j5 = 1: taglio semi-infinitoj4 = 1 e j5 = 1: taglio infinito

rx, ry, rz: queste tre coordinate definiscono la direzione del taglio se il taglio è a forma di prisma; queste tre coordinate definiscono ilpunto più alto della piramide se il metodo di taglio è piramidale; Le coordinate rx-rz definiscono il bordo finale del cuneo e ry viene ignoratose il taglio da è a forma di cuneo

Forme 3D

Guida di Riferimento al GDL 170

d: definisce la distanza lungo rx, ry, rz fino alla fine del taglio. Se il taglio è infinito, questo parametro non ha effetto. Se il taglio è finito,l'inizio del corpo di taglio sarà al sistema di coordinate locali e il corpo terminerà a una distanza di d lungo la direzione definita da rx, ry, rz.Se il taglio è semi-infinito, l'inizio del corpo di taglio sarà a una distanza di d lungo la direzione definita da rx, ry, rz e la direzione del tagliosemi-infinito sarà nella direzione opposta definita da rx, ry, rz .

mask: definisce la visibilità dei bordi del corpo di taglio.mask = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 64*j7, dove ogni j può essere 0 o 1.j1: il poligono creerà un bordo visibile all'ingresso nel corpo da tagliare (eccetto quando si taglia un corpo solido con taglio a forma dicuneo, vedi sotto),j2: sarà visibile il bordo longitudinale della forma di taglio,j3: il poligono creerà un bordo visibile all'uscita dal corpo da tagliare (tranne quando si taglia un corpo solido con una forma di taglioa forma di cuneo, vedi sotto),j4: il bordo inferiore della forma di taglio sarà visibile,j5: il bordo superiore della forma di taglio sarà visibile,j7: controlla la visibilità dipendente dal punto di vista del bordo longitudinale.In caso di taglio di un corpo solido con taglio cuneiforme i valori per la visibilità dei bordi di entrata e di uscita (j1 e j3) vengono scambiati.Questo comportamento viene mantenuto per motivi di compatibilità.

mati: materiale laterale della forma di taglio (quando lo stato j9 = 1)

CUTFORM{2}CUTFORM{2} n, metodo, stato, rx, ry, rz, d, x1, y1, mask1 [, mat1], ... xn, yn, maskn [, matn]CUTFORM{2} è una estensione di CUTFORM con la possibilità di utilizzare la definizione del materiale in linea, ciò significa che i materialidefiniti nello script GDL localmente possono essere utilizzati anche accanto ai materiali definiti nelle definizioni dei materiali globali.

COMANDI DI GEOMETRIA SOLIDAIl GDL è in grado di eseguire operazioni 3D specializzate tra solidi rappresentati da gruppi. Queste operazioni possono essere una delle seguenti:

Forme 3D

Guida di Riferimento al GDL 171

ADDGROUP formando l'unione booleana di due solidi

SUBGROUP formando la differenza booleana di due solidi

ISECTGROUP formando l'intersezione booleana di due solidi

ISECTLINES calcolando le linee di intersezione di due solidi

SWEEPGROUP muovendo e ridimensionando un solido lungo unvettore

Forme 3D

Guida di Riferimento al GDL 172

Un solido GDL è composto da uno o più noduli che appaiono come corpi separati nel modello. Un nodulo ha esattamente un involucroesterno e può contenere vuoti. (I vuoti possono essere descritti come involucri interni "negativi" all'interno di un nodulo .) Il solido nel disegnosottostante è composto da due noduli in modo tale che uno di essi contenga un vuoto.

I corpi GDL come BLOCK, SPHERE, ecc., appaiono come involucri esterni in gruppi. Mediante la seguente costruzione l'utente è in gradodi mettere più di un involucro in un solido (notare l'istruzione BODY -1):GROUP "mioGruppo" BLOCK 1,1,1 BODY -1 ADDX 1 BLOCK 1,1,1ENDGROUPIl solido sopra contiene due noduli; ognuno di essi è composto da un involucro. I vuoti possono essere definiti mediante primitive o possonoverificarsi come risultato di una differenza booleana (ad es. sottraendo un cubo piccolo dal centro di uno grande).Vedi anche sezione chiamata «Elementi Primitivi».Sebbene le operazioni di gruppo siano concepite per funzionare con oggetti solidi, possono essere applicate anche a superfici, filo di ferro omodelli ibridi. (I modelli ibridi sono fondamentalmente superfici che possono contenere bordi senza facce adiacenti.) I risultati delle operazionisu tali modelli sono riepilogati nelle tabelle seguenti:

Forme 3D

Guida di Riferimento al GDL 173

Tabella 1. Unione (base » strumento)

base solido base superficie base filo di ferro base ibrida

strumento solido risultato solido risultato superficie(unione)

risultato filo di ferro(unione)

risultato ibrido (unione)

strumento superficie risultato superficie(unione)

risultato superficie(unione)

risultato ibrido (unione) risultato ibrido (unione)

strumento filo di ferro risultato filo di ferro(unione)

risultato ibrido (unione) risultato filo di ferro(unione)

risultato ibrido (unione)

strumento ibrido risultato ibrido (unione) risultato ibrido (unione) risultato ibrido (unione) risultato ibrido (unione)

Tabella 2. Differenza (base\strumento)

base solido base superficie base filo di ferro base ibrida

strumento solido risultato solido risultato superficie risultato filo di ferro risultato ibrido

strumento superficie base superficie (senzaeffetto)

base superficie (senzaeffetto)

base ibrida (senza effetto) base ibrida (senza effetto)

strumento filo di ferro base filo di ferro (senzaeffetto)

base ibrida (senza effetto) base filo di ferro (senzaeffetto)

base ibrida (senza effetto)

strumento ibrido base ibrida (senza effetto) base ibrida (senza effetto) base ibrida (senza effetto) base ibrida (senza effetto)

Tabella 3. Intersezione (base « strumento)

base solida base superficie base filo di ferro base ibrida

strumento solido risultato solido risultato superficie risultato filo di ferro risultato ibrido

strumento superficie risultato superficie risultato vuoto risultato vuoto risultato vuoto

strumento filo di ferro risultato filo di ferro risultato vuoto risultato vuoto risultato vuoto

strumento ibrido risultato ibrido risultato vuoto risultato vuoto risultato vuoto

Forme 3D

Guida di Riferimento al GDL 174

Tabella 4. Intersezione linee (base « strumento)

base solida base superficie base filo di ferro base ibrida

strumento solido risultato filo di ferro risultato filo di ferro risultato vuoto risultato filo di ferro

strumento superficie risultato filo di ferro risultato vuoto risultato vuoto risultato vuoto

strumento filo di ferro risultato vuoto risultato vuoto risultato vuoto risultato vuoto

strumento ibrido risultato filo di ferro risultato vuoto risultato vuoto risultato vuoto

Tabella 5. Sweeping

solido superficie filo di ferro ibrido

risultato valido base superficie (senza effetto) base filo di ferro (senza effetto) base ibrida (senza effetto)

Le superfici possono essere generate esplicitamente utilizzando il comando MODEL SURFACE, o implicitamente escludendo i poligoni dellefacce non adiacenti dal modello. I filo di ferro vengono prodotti utilizzando l'istruzione MODEL WIRE o definendo oggetti senza i poligonidelle facce. I modelli ibridi possono essere generati solo indirettamente escludendo i poligoni delle facce adiacenti dal modello.Nella maggior parte dei casi il modello richiesto è solido. I corpi GDL appaiono come involucri nelle definizioni di gruppo, quindi per ottenereun funzionamento rapido e affidabile, la correttezza geometrica degli involucri generati è un problema critico. La gestione di oggetti degeneraticarica il motore GDL e richiede più tempo per il completamento dell'operazione desiderata. La regola principale da considerare riguardo all'usoefficiente delle operazioni di gruppo GDL può essere riassunta come segue: modellare conformandosi alla presenza fisica esistente di oggettispaziali. In pratica questo può essere espresso dalle seguenti linee guida:• Evita gli oggetti che si intersecano.• Evita gli oggetti che si toccano (quando si applicano piccoli spazi vuoti).• Evita porzioni di oggetti di dimensioni zero (quando si applica uno spessore ridotto).Secondo quanto sopra, queste regole devono essere seguite per gli involucri (definiti da corpi), non per i solidi (definiti da gruppi). (Il solidoprodotto dallo script nella costruzione del Gruppo sopra è modellato correttamente, poiché gli involucri costituenti si toccano ma i gusci stessisono geometricamente corretti.)

GROUP - ENDGROUPGROUP "nome" [istruzione1 ... istruzionen]ENDGROUP

Forme 3D

Guida di Riferimento al GDL 175

Definizione di Gruppo. Tutti i corpi tra le corrispondenti istruzioni GROUP - ENDGROUP faranno parte del gruppo "nome". I gruppinon vengono effettivamente generati (posizionati), possono essere utilizzati nelle operazioni di gruppo o inseriti esplicitamente utilizzandoPLACEGROUP. Le definizioni di gruppo non possono essere nidificate, ma è possibile includere chiamate di macro contenenti definizioni digruppo e comandi PLACEGROUP che utilizzano altri gruppi.I nomi dei gruppi devono essere univoci all'interno dello script corrente. Trasformazioni, piani di taglio al di fuori della definizione del grupponon hanno effetto sulle parti del gruppo; trasformazioni, piani di taglio utilizzati all'interno non hanno alcun effetto sui corpi esterni alladefinizione. Le definizioni di gruppo sono trasparenti per DEFINE e SET di attributi (penne, materiali, retini); gli attributi definiti/impostatiprima della definizione e quelli definiti/impostati all'interno della definizione sono tutti efficaci.

ADDGROUPADDGROUP (g_expr1, g_expr2)ADDGROUP{2} (g_expr1, g_expr2, edgeColor, materialId, materialColor [, operationStatus])ADDGROUP{3} (g_expr1, g_expr2, edgeColor, materialId, materialColor [, operationStatus])

SUBGROUPSUBGROUP (g_expr1, g_expr2)SUBGROUP{2} (g_expr1, g_expr2, edgeColor, materialId, materialColor [, operationStatus])SUBGROUP{3} (g_expr1, g_expr2, edgeColor, materialId, materialColor [, operationStatus])

ISECTGROUPISECTGROUP (g_expr1, g_expr2)ISECTGROUP{2} (g_expr1, g_expr2, edgeColor, materialId, materialColor [, operationStatus])ISECTGROUP{3} (g_expr1, g_expr2, edgeColor, materialId, materialColor [, operationStatus])g_expr1: identificatore del gruppo base.g_expr2: identificatore del gruppo strumento.edgeColor: il colore del nuovo bordo quando è diverso da 0.materialId: il materiale della nuova faccia quando è diverso da 0.materialColor: il colore della nuova faccia quando materialId è 0 e differisce da 0.operationStatus: controllo di stato dell'operazione.operationStatus = j1 + 2*j2, dove ogni j può essere 0 o 1.j1: i nuovi bordi generati saranno invisibili.j2: i poligoni tagliati del risultato ereditano il materiale e la proiezione della tessitura dai poligoni corrispondenti del gruppo strumenti.

Forme 3D

Guida di Riferimento al GDL 176

ISECTLINESISECTLINES (g_expr1, g_expr2)Operazioni di gruppo: addizione, sottrazione, intersezione, linee di intersezione. Il valore restituito è un nuovo gruppo, che può essereposizionato utilizzando PLACEGROUP, memorizzato in una variabile o utilizzato come parametro in un'altra operazione di gruppo. Leoperazioni di gruppo possono essere eseguite tra gruppi definiti in precedenza o risultati di gruppi da qualsiasi altra operazione di gruppo.g_expr1, g_expr2 sono espressioni di tipo gruppo. Le espressioni del tipo di gruppo sono nomi di gruppo (espressioni stringa) o variabili ditipo di gruppo o qualsiasi combinazione di questi in operazioni che risultano in gruppi. Si noti che le operazioni ADDGROUP, ISECTGROUPe ISECTLINES sono simmetriche nella loro parametrizzazione mentre l'ordine dei parametri è importante per SUBGROUP.

PLACEGROUPPLACEGROUP g_exprPosizionare un gruppo è l'operazione in cui i corpi vengono effettivamente generati. I piani di taglio e le trasformazioni sono efficaci,l'espressione del gruppo viene valutata e i corpi risultanti vengono memorizzati nella struttura dati 3D.

KILLGROUPKILLGROUP g_exprCancella i corpi del gruppo specificato dalla memoria. Dopo un'operazione KILLGROUP il gruppo diventa vuoto. I nomi dei gruppi cancellatinon possono essere riutilizzati nello stesso script. La cancellazione viene eseguita automaticamente al termine dell'interpretazione o al ritornodalle chiamate di macro. Per motivi di prestazioni, questo comando dovrebbe essere utilizzato quando un gruppo non è più necessario.

Forme 3D

Guida di Riferimento al GDL 177

Esempio:

GROUP "scatola" BRICK 1, 1, 1ENDGROUPGROUP "sfera" ADDZ 1 SPHERE 0.45 DEL 1ENDGROUPGROUP "semisfera" ELLIPS 0.45, 0.45ENDGROUPGROUP "mattone" ADD -0.35, -0.35, 0 BRICK 0.70, 0.70, 0.35 DEL 1ENDGROUP! Sottrazione della "sfera" dalla "scatola"result_1=SUBGROUP("scatola", "sfera")! Intersezione della "semisfera" con il "mattone"result_2=ISECTGROUP("semisfera", "mattone")! Somma dei corpi generatiresult_3=ADDGROUP(result_1, result_2)PLACEGROUP result_3KILLGROUP "scatola"KILLGROUP "sfera"KILLGROUP "semisfera"KILLGROUP "mattone"

SWEEPGROUPSWEEPGROUP (g_expr, x, y, z)Restituisce un gruppo creato spostando il parametro gruppo lungo la direzione data. Il comando funziona solo per i modelli solidi.SWEEPGROUP{2} (g_expr, x, y, z)La differenza tra SWEEPGROUP e SWEEPGROUP{2} è che nel caso precedente la matrice di trasformazione effettiva viene nuovamenteapplicata al vettore di direzione dell'operazione di spostamento rispetto al sistema di coordinate corrente. (Nel caso di SWEEPGROUP, latrasformazione corrente viene applicata al vettore di direzione due volte rispetto al sistema di coordinate globale.)

Forme 3D

Guida di Riferimento al GDL 178

SWEEPGROUP{3} (g_expr, x, y, z, edgeColor, materialId, materialColor, method)Questa versione aggiunge una nuova selezione di metodi a SWEEPGROUP{2} e funziona anche per i modelli di superficie.edgeColor: il colore del nuovo bordo quando è diverso da 0.materialId: il materiale della nuova faccia quando è diverso da 0.materialColor: il colore della nuova faccia quando materialId è 0 e differisce da 0.method: controlla la forma finale del corpo risultante.0: come in SWEEPGROUP{2}, entrambe le estremità provengono dal corpo originario,1: l'inizio proviene dal corpo di origine, l'estremità dello spostamento è piatta

SWEEPGROUP{4} (g_expr, x, y, z, edgeColor, materialId, materialColor, method, status)Questa versione aggiunge un nuovo parametro di stato a SWEEPGROUP{3}.status: Controlla gli attributi del risultato.status = 2*j2, dove ogni j può essere 0 o 1.j2: Mantieni i parametri di mappatura delle tessiture per poligono sul risultato dello spostamento (Vedi PGON per i dettagli).

SWEEPGROUP{5} (g_expr, x, y, z, edgeColor, materialId, materialColor, method, status)SWEEPGROUP{5} è una estensione di SWEEPGROUP{4} comando con la possibilità di utilizzare la definizione del materiale in linea, ciòsignifica che i materiali definiti nello script GDL localmente possono essere utilizzati anche accanto ai materiali definiti nelle definizioni deimateriali globali.Compatibilità: introdotto in Archicad 22.

Esempio:

Forme 3D

Guida di Riferimento al GDL 179

GROUP "la_sfera" SPHERE 1ENDGROUPPLACEGROUP SWEEPGROUP{2} ("la_sfera", 2, 0, 0)ADDX 5PLACEGROUP SWEEPGROUP{3} ("la_sfera", 2, 0, 0, 4, 0, 4, 1)del 1

CREATEGROUPWITHMATERIALCREATEGROUPWITHMATERIAL (g_expr, repl_directive, pen, material)Restituisce un gruppo creato sostituendo tutte le penne e/o i materiali nel gruppo g_expr.g_expr: espressione di gruppo che identifica il gruppo base.repl_directive:repl_directive = j1 + 2*j2 + 4*j3 + 8*j4, dove ogni j può essere 0 o 1.j1: sostituzione della penna,j2: sostituzione del materiale,j4: rende invisibili i bordi.

pen: indice penna di sostituzione.material: indice materiale di sostituzione.

BINARIO 3DBINARYBINARY modo [, section, elementID]Comando speciale per includere oggetti binari inline in una macro GDL. Un insieme di vertici, vettori, bordi, poligoni, corpi e materiali vieneletto da una sezione speciale del file dell'elemento di libreria. Questi vengono trasformati in base alle trasformazioni attuali e uniti nel modello 3D.I dati contenuti nella sezione binaria non sono modificabili dall'utente.mode: definisce l'utilizzo della definizione di attributo di colore penna e materiale.0: le impostazioni correnti di PEN e MATERIAL sono attive,1: le impostazioni correnti di PEN e MATERIAL non hanno effetto. La parte della libreria verrà mostrata con la definizione di colorepenna e materiale memorizzati. L'aspetto della superficie è costante,

Forme 3D

Guida di Riferimento al GDL 180

2: vengono utilizzate le impostazioni PEN e MATERIAL memorizzate, i materiali non definiti vengono sostituiti dalle impostazionicorrenti,3: vengono utilizzate le impostazioni PEN e MATERIAL memorizzate, i materiali non definiti vengono sostituiti dagli attributi predefinitimemorizzati.

section: indice della parte binaria, da 1 a 16.0: puoi fare riferimento simultaneamente a tutte le parti binarie esistenti,1: Solo queste sezioni possono essere salvate dall'interno del GDL, anche i comandi BINARY senza l'argomento della sezione farannoriferimento a questo,2-16: può essere utilizzato da strumenti di terze parti.

elementID: ID di un elemento di questa parte binaria. Questo parametro viene generato durante il processo di importazione.Se apri file con una struttura dati diversa (ad esempio, DXF o ZOOM) la loro descrizione 3D verrà convertita in formato binario.È possibile salvare un elemento di libreria in formato binario dalla finestra principale di modifica dell'elemento di libreria tramite il comandoSalva con nome.... Se la casella di controllo Salva in formato binario è contrassegnata nella finestra di dialogo Salva con nome..., il testo GDLdella parte di libreria corrente verrà sostituito con una descrizione binaria.Suggerimento: Il salvataggio del modello 3D dopo un'operazione di sezione 3D in formato binario salverà il modello troncato. In questo modo,puoi creare forme tagliate.Puoi salvare il tuo elemento di libreria in formato binario solo se hai già generato il suo modello 3D.Sostituendo la descrizione GDL del tuo elemento di libreria con una descrizione binaria puoi ridurre notevolmente il tempo di conversione 3Ddell'elemento. D'altra parte, la descrizione 3D binaria non è parametrica e richiede più spazio su disco rispetto a uno script GDL algoritmico.

Forme 2D

Guida di Riferimento al GDL 181

FORME 2DQuesto capitolo presenta i comandi usati per generare forme in 2D da forme semplici come linee e archi a poligoni e spline complessi, e la definizione di elementi di testoin 2D. Copre anche il modo in cui i dati binari vengono gestiti in 2D e la proiezione della forma creata da uno script 3D nella vista 2D, garantendo così la coerenzatra l'aspetto 3D e 2D degli oggetti. Ulteriori comandi consentono agli utenti di inserire elementi grafici nelle liste elemento create per i calcoli.

ELEMENTI DI DISEGNO

HOTSPOT2HOTSPOT2 x, y [, unID [, paramReference [, flags [, displayParam [, "customDescription"]]]]]

x

y

(x,y)

unID: l'identificatore univoco dell'hotspot nello script 2D.. Utile se hai un numero variabile di hotspot.paramReference: parametro che può essere modificato da questo hotspot utilizzando il metodo di modifica dei parametri basato su

hotspot grafico.displayParam: parametro da visualizzare nella palette delle informazioni durante la modifica del parametro paramRefrence. Possono

essere passati anche membri di matrice.customDescription: stringa di descrizione personalizzata del parametro visualizzato nella palette delle informazioni. Quando si utilizza

questa opzione, è necessario impostare anche displayParam (usa paramReference per default).Vedi Modifica Grafica tramite Hotspot per informazioni sull'uso di HOTSPOT2.

HOTLINE2HOTLINE2 x1, y1, x2, y2, unID

Forme 2D

Guida di Riferimento al GDL 182

Definizione della linea di stato tra due punti. La linea di stato è una linea che viene riconosciuta dal cursore intelligente ma non è visibile diper sé. Può avere un ID univoco a scopo di quotatura associativa.

HOTARC2HOTARC2 x, y, r, startangolo, endangolo, unIDDefinizione dell'arco di stato con il suo punto centrale in (x, y) dall'angolo startangolo a endangolo, con raggio r. L'arco di stato è un arco cheviene riconosciuto dal cursore intelligente ma non è visibile di per sé. Può avere un ID univoco a scopo di quotatura associativa.

LINE2LINE2 x1, y1, x2, y2Definizione della linea tra due punti.

x

y

(x1, y1)

(x2, y2)

RECT2RECT2 x1, y1, x2, y2definizione rettangolo da due nodi. I due punti sono sulla diagonale del rettangolo, i lati sono paralleli agli assi X e Y attuali.

x

y

(x1, y1)

(x2, y2)

Forme 2D

Guida di Riferimento al GDL 183

POLY2POLY2 n, frame_fill, x1, y1, ..., xn, ynUn poligono aperto o chiuso con n nodi.

x

y

1 2

n

Limitazione dei parametri:n >= 2

n: numero di nodi.x1, y1, ..., xn, yn: coordinate di ogni nodo.frame_fill:frame_fill = j1 + 2*j2 + 4*j3, dove ogni j può essere 0 o 1.j1: disegna il contornoj2: disegna il retinoj3: chiudi un poligono aperto

POLY2_POLY2_ n, frame_fill, x1, y1, s1, ..., xn, yn, sn

Forme 2D

Guida di Riferimento al GDL 184

x

y

1 2

n

Simile a POLY2, ma uno qualsiasi dei bordi può essere omesso. Se si = 0, il bordo che inizia dall'apice (xi, yi) sarà omesso. Se si = 1,il vertice deve essere mostrato. si = -1 viene utilizzato per definire direttamente i fori. È inoltre possibile definire archi e segmenti nellapolilinea utilizzando valori di codice di stato aggiuntivi.Limitazione dei parametri:n >= 2

n: numero di nodi.x1, y1, ..., xn, yn: coordinate di ogni nodo.frame_fill:frame_fill = j1 + 2*j2 + 4*j3 + 8*j4 + 32*j6 + 64*j7, dove ogni j può essere 0 o 1.j1: disegna il contorno,j2: disegna il retino,j3: chiudi un poligono aperto,j4: orientamento locale del retino,j6: il retino e un retino sezione (per defult è un retino disegno),j7: il retino è un retino coprente (solo se j6 = 0, per default è un retino disegno).

si: Valori di stato:si = j1 + 16*j5 + 32*j6, dove ogni j può essere 0 o 1.j1: il prossimo segmento è visibile,j5: il prossimo segmento è una linea interna (se 0, linea generica),j6: il prossimo segmento è una linea di contorno (efficace solo se j5 non è impostato),-1: fine di un contorno.

Forme 2D

Guida di Riferimento al GDL 185

La proprietà della linea predefinita per le linee POLY2_ è 0 (linea generica),LINE_PROPERTY non ha effetto sui bordi POLY2_. Codici distato aggiuntivi consentono di creare segmenti e archi nella polilinea planare utilizzando vincoli speciali.Vedi sezione chiamata «Codici di stato aggiuntivi» per i dettagli.

POLY2_APOLY2_A n, frame_fill, fill_pen, x1, y1, s1, ..., xn, yn, sn

POLY2_BPOLY2_B n, frame_fill, fill_pen, fill_background_pen, x1, y1, s1, ..., xn, yn, snVersioni avanzate di POLY2_, con parametri aggiuntivi: la penna del retino e la penna di sfondo del retino. Tutti gli altri parametri sono similia quelli descritti in POLY2_.fill_pen: numero colore penna del retino.fill_background_pen: numero colore penna dello sfondo del retino.Codici di stato aggiuntivi consentono di creare segmenti e archi nella polilinea planare utilizzando vincoli speciali.Vedi sezione chiamata «Codici di stato aggiuntivi» per i dettagli.

POLY2_B{2}POLY2_B{2} n, frame_fill, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, fillangolo, x1, y1, s1, ..., xn, yn, snVersione avanzata di POLY2_B dove è possibile definire l'origine e la direzione del retino.frame_fill:frame_fill = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7, dove ogni j può essere 0 o 1.j1: disegna il contornoj2: disegna il retinoj3: chiudi un poligono apertoj4: orientamento locale del retinoj5: origine globale del retino (efficace solo se è impostato j4)j6: retino nella categoria sezione (distintivo con j7, categoria di disegno se non impostato)

Forme 2D

Guida di Riferimento al GDL 186

j7: retino nella categoria coprente (distintivo con j6, categoria di disegno se non impostato).fillOrigoX: Coordinata X dell'origine del retino.fillOrigoY: Coordinata Y dell'origine del retino.fillAngle: angolo di direzione del retino.Codici di stato aggiuntivi consentono di creare segmenti e archi nella polilinea planare utilizzando vincoli speciali.Vedi sezione chiamata «Codici di stato aggiuntivi» per i dettagli.

POLY2_B{3}POLY2_B{3} n, frame_fill, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, mxx, mxy, myx, myy, x1, y1, s1, ..., xn, yn, snVersione avanzata di POLY2_B, dove l'orientamento del retino può essere definito utilizzando una matrice.frame_fill:frame_fill = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 + 128*j8, dove ogni j può essere 0 o 1.j1-j7: simile ai precedenti comandi POLY2_,j8: usa retino inclinato.

mxx, mxy, myx, myy: se è impostato j8, questa matrice definisce l'orientamento del retino.Codici di stato aggiuntivi consentono di creare segmenti e archi nella polilinea planare utilizzando vincoli speciali.Vedi sezione chiamata «Codici di stato aggiuntivi» per i dettagli.

POLY2_B{4}POLY2_B{4} n, frame_fill, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, mxx, mxy, myx, myy, gradientInnerraggio, x1, y1, s1, ..., xn, yn, snVersione avanzata di POLY2_ B{3}, dove è possibile impostare il raggio interno del retino sfumato radiale.gradientInnerRadius: raggio interno del gradiente nel caso in cui sia selezionato il retino sfumato radiale per il poligono.

Forme 2D

Guida di Riferimento al GDL 187

POLY2_B{5}POLY2_B{5} n, frame_fill, fillcategory, distortion_flags, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, mxx, mxy, myx, myy, gradientInnerraggio, x1, y1, s1, ..., xn, yn, snVersione avanzata di POLY2_ B{4}, dove la distorsione del retino può essere controllata in modo migliorato.frame_fill:frame_fill = j1 + 2*j2 + 4*j3, dove ogni j può essere 0 o 1.j1: disegna il contornoj2: disegna il retinoj3: chiudi un poligono aperto.

fillcategory:0: Disegno,1: Sezione,2: Coprente.

distortion_flags:distortion_flags = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7, dove ogni j può essere 0 o 1.Il valore valido per distorsione_flags è compreso tra 0 e 127. Non utilizzare valori al di fuori di questo intervallo.j1: la coordinata X dell'origine del retino è la coordinata X dell'origine globale, significativa solo quando è impostato j4. Il fillOrigo èl'origine (0,0) proiettata sulla linea del vettore (mxx, mxy),j2: la coordinata Y dell'origine del retino è la coordinata X dell'origine globale, significativa solo quando è impostato j4,j3: crea una distorsione circolare utilizzando il parametro innerRadius,j4: usa l'orientamento locale, usa la matrice di distorsione (parametri mij),j5: (efficace solo per i retini simbolo) ripristina la dimensione X del motivo sulla lunghezza del vettore X definito (mxx, mxy),j6: (efficace solo per i retini simbolo) ripristina la dimensione Y del motivo sulla lunghezza del vettore Y definito (mxx, mxy),j7: (efficace solo per i retini simbolo) mantiene la proporzione del motivo del retino simbolo; efficace solo se è impostato uno tra j5 e j6.

innerRadius: raggio per la distorsione del retino circolare; l'origine del cerchio di base verrà posizionata sull'asseY del retino nellaposizione (0, -innerRadius).

Forme 2D

Guida di Riferimento al GDL 188

POLY2_B{6}POLY2_B{6} n, frame_fill, fillcategory, distortion_flags, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, mxx, mxy, myx, myy, gradientInnerraggio, x1, y1, s1, pen1, linetype1, ..., xn, yn, sn, penn, linetypenVersione avanzata di POLY2_B{5}, dove gli attributi del contorno (penna e tipo di linea) possono essere controllati individualmente per ognisegmento del contorno.peni: indice della penna della linea di contorno a partire dal punto di controllo i.linetypei: indice del tipo di linea della linea di contorno a partire dal punto di controllo i.Compatibilità: introdotto in Archicad 21.

ARC2ARC2 x, y, r, alfa, betaUn arco con il suo punto centrale in (x, y) dall'angolo alfa a beta, con un raggio di r.alfa e beta sono in gradi.

x

y

(x, y)

r

alpha

beta

CIRCLE2CIRCLE2 x, y, rUn cerchio con il centro in (x, y), con un raggio di r.

Forme 2D

Guida di Riferimento al GDL 189

x

y r

(x, y)

SPLINE2SPLINE2 n, stato, x1, y1, angolo1, ..., xn, yn, angolon

x

y

1i

n

anglei

(xi,yi)

Spline, con n punti di controllo. La tangente della spline nel punto di controllo (xi, yi) è definita da angoloi, l'angolo con l'asse x in gradi.Limitazione dei parametri:n >= 2

si: Valori di stato:0: default,1: spline chiusa; l'ultimo e il primo nodo della spline si connetteranno, chiudendo così la spline,2: spline levigata automaticamente; il valore del parametro angolo dei nodi tra il primo e l'ultimo nodo non viene utilizzato durante lagenerazione della spline. Viene utilizzato un algoritmo di levigatura automatica interno.

Forme 2D

Guida di Riferimento al GDL 190

Esempio 1:

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

Esempio 2:

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.0 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 DEL 1 SPLINE2 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

Forme 2D

Guida di Riferimento al GDL 191

SPLINE2ASPLINE2A n, stato, x1, y1, angolo1, length_previous1, length_next1, ... xn, yn, angolon, length_previousn, length_nextn

x

y

1i

n

anglei

(xi,yi)

len_p

rev i

len_n

ext i

Estensione di SPLINE2 (splie di Bézier), utilizzato principalmente nella generazione automatica di script 2D a causa della sua complessità.Per maggiori dettagli, vedi “Linee / Spline di disegno” nel capitolo Documentazione della Guida di Archicad.si: Valori di stato:0: default,1: spline chiusa; l'ultimo e il primo nodo della spline si connetteranno, chiudendo così la spline,2: spline levigata automaticamente; i valori del parametro angolo, length_previousi e length_nexti dei nodi tra il primo e l'ultimo nodo nonvengono utilizzati durante la generazione della spline. Viene utilizzato un algoritmo di levigatura automatica interno.

xi, yi: coordinate del punto di controllo.length_previousi, length_nexti: lunghezze tangenti per i punti di controllo precedente e successivo.anglei: angolo di direzione della tangente.

Forme 2D

Guida di Riferimento al GDL 192

Esempio:

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

PICTURE2PICTURE2 espressione, a, b, mask

PICTURE2{2}PICTURE2{2} espressione, a, b, maskPuò essere utilizzato in 2D in modo simile a PICTURE nel 3D. A differenza del 3D, i valori della maschera non hanno effetto sulle immagini 2D.Un'espressione di tipo stringa indica un nome di file, un'espressione numerica indica un indice di un'immagine memorizzata nell'elemento dilibreria. Un indice 0 è un valore speciale, si riferisce all'anteprima dell'immagine dell'elemento di libreria. Per PICTURE2 {2} mask = 1 significache i pixel di colore bianco sono trasparenti.Altre immagini possono essere memorizzate solo nell'elemento di libreria quando si salva il progetto o gli elementi selezionati contenentiimmagini come oggetti GDL.

ELEMENTO TESTO

TEXT2TEXT2 x, y, espressioneIl valore dell'espressione di tipo stringa o numerica calcolata viene scritto nello stile impostato alle coordinate x, y.Vedi anche [SET] STYLE e DEFINE STYLE.

Forme 2D

Guida di Riferimento al GDL 193

x

y

(x,y)ArchiCAD

RICHTEXT2RICHTEXT2 x, y, nome_BloccoTestoPosiziona un TEXTBLOCK definito in precedenza.Per maggiori dettagli, vedi TEXTBLOCK.x, y: Coordinate X-Y della posizione del testo richtext.textblock_name: il nome di un TEXTBLOCK definito in precedenza

BINARIO 2DFRAGMENT2FRAGMENT2 fragment_index, use_current_attributes_flagFRAGMENT2 ALL, use_current_attributes_flagIl frammento con l'indice dato viene inserito nella Vista 2D Completa con le trasformazioni correnti. Se ALL viene specificato, vengono inserititutti i frammenti.use_current_attributes_flag: definisce se verranno utilizzati o meno gli attributi correnti.0: il frammento appare con il colore, il tipo di linea e il tipo di retino definiti per esso,1: le impostazioni correnti dello script vengono utilizzate al posto del colore, del tipo di linea e del tipo di retino del frammento.

PROIEZIONI 3D NEL 2DPROJECT2PROJECT2 projection_code, angolo, method

Forme 2D

Guida di Riferimento al GDL 194

PROJECT2{2}PROJECT2{2} projection_code, angolo, method [, backgroundColor, fillOrigoX, fillOrigoY, filldirection]Crea una proiezione dello script 3D nello stesso elemento di libreria e aggiunge le linee generate al simbolo parametrico 2D. La seconda versionePROJECT2 {2}, insieme a un precedente comando [SET] FILL, consente all'utente di controllare lo sfondo, l'origine e la direzione delretino nel disegno risultante dallo script 2D. La scorciatoia SET FILL 0 per ottenere un retino vuoto non funziona in questo caso, è necessariofare riferimento a un retino vuoto effettivo.projection_code: il tipo di proiezione.3: Vista di pianta dall'alto,4: Prospetto laterale,5: Prospetto laterale 2,6: Assonometria frontale,7: Assonometria isometrica,8: Assonometria monometrica,9: Assonometria dimetrica,-3: Vista di pianta dal basso,-6: Prospetto laterale dal basso,-7: Assonometria isometrica dal basso,-8: Assonometria monometrica dal basso,-9: Assonometria dimetrica dal basso.

angle: l'angolo azimutale impostato nella finestra di dialogo Impostazioni Proiezione 3D.method: il metodo di rappresentazione scelto. Se non è impostato alcun valore o non è valido, il valore predefinito è linee nascoste (2).1: filo di ferro,2: rimozione linee (analitico),3: a colori,16: modificatore addizionale: disegna retini vettoriali (efficace solo in modalità linea nascosta e a colori),32: modificatore addizionale: usa gli attributi correnti invece degli attributi dal 3D (efficace solo in modalità a colori),64: modificatore addizionale: orientamento locale del retino (efficace solo in modalità a colori),128: modificatore addizionale: le linee sono tutte linee interne (efficace solo insieme a 32). L'impostazione predefinita è generico,256: modificatore addizionale: le linee sono tutte linee di contorno (efficace solo insieme a 32, se 128 non è impostato). L'impostazionepredefinita è generico,512: modificatore addizionale: i retini sono tutti retini sezione (efficace solo insieme a 32). L'impostazione predefinita è retini disegno,

Forme 2D

Guida di Riferimento al GDL 195

1024: modificatore addizionale: i retini sono tutti retini coprenti (efficace solo insieme a 32, se 512 non è impostato). L'impostazionepredefinita è retini disegno.

BackgroundColor: colore di sfondo del retino.fillOrigoX: Coordinata X dell'origine del retino.fillOrigoY: Coordinata Y dell'origine del retino.filldirection: angolo di direzione del retino.

Nota: [SET] FILL efficace per PROJECT2{2}

Forme 2D

Guida di Riferimento al GDL 196

Esempio:

2DPROJECT2 3, 270, 2

LINE_TYPE "TRATTEGGIO"ARC2 0, 0, A-B/3, 0, E

E = 270A = 1B = 0.2

ROT2 EADD2 A-B/3, 0LINE2 0, 0, -0.05, -0.1LINE2 0, 0, 0.05, -0.1

DEL 2

3Dn = 12E = 270D = 0.2A = 1B = 0.2

FOR i=1 TO n prism 4, D, -B/3, -B/2, -B/3, B/2, A-B/3, B/8, A-B/3, -B/8 ADDZ D ROTz E/(n-1)NEXT i

DEL n*2

Forme 2D

Guida di Riferimento al GDL 197

PROJECT2{3}PROJECT2{3} projection_code, angolo, method, parts [, backgroundColor, fillOrigoX, fillOrigoY, filldirection][[,] PARAMETERS name1=value1, ..., namen=valuen]Crea una proiezione dello script 3D nello stesso elemento di libreria e aggiunge le linee generate al simbolo parametrico 2D. La terza versione,PROJECT2 {3}, aggiunge la possibilità di definire quali parti del modello proiettato sono richieste e di controllare separatamente gli attributidella parte tagliata e vista, incluso il tipo di linea. È inoltre possibile generare la proiezione con i parametri effettivi impostati nel comando.method: il metodo di rappresentazione scelto. Se non è impostato alcun valore o non è valido, il valore predefinito è linee nascoste(2).1: filo di ferro,2: rimozione linee (analitico),3: a colori,16: modificatore addizionale: disegna retini vettoriali (efficace solo in modalità linea nascosta e a colori),32: modificatore addizionale: usa gli attributi correnti invece degli attributi dal 3D (efficace solo in modalità a colori),64: modificatore addizionale: orientamento locale del retino (efficace solo in modalità a colori),128: modificatore addizionale: le linee sono tutte linee interne (efficace solo insieme a 32). L'impostazione predefinita è generico.256: modificatore addizionale: le linee sono tutte linee di contorno (efficace solo insieme a 32, se128 non è impostato). L'impostazionepredefinita è generico.512: modificatore addizionale: i retini sono tutti retini sezione (efficace solo insieme a 32). L'impostazione predefinita è retini disegno.1024: modificatore addizionale: i retini sono tutti retini coprenti (efficace solo insieme a 32, se 512 non è impostato). L'impostazionepredefinita è retini disegno.2048: modificatore addizionale: i modificatori 16, 32, 64, 128, 256, 512, 1024 e i parametri degli attributi di retino sono attivi solo per laparte vista della proiezione. Per impostazione predefinita, sono efficaci per tutte le parti.4096: modificatore addizionale: i modificatori 16, 32, 64, 128, 256, 512, 1024 e gli attributi di retino hanno effetto solo per la parte tagliatadella proiezione. Per impostazione predefinita, sono efficaci per tutte le parti.8192: modificatore addizionale: i retini sezione sono inclinati.16384: modificatore addizionale: abilita la trasparenza per le superfici trasparenti. Notare che trasparenza in questo caso significatrasparenza completa per superfici con trasmittanza maggiore di 50, tutto il resto non è considerato trasparente.

Limitazione nota: le linee della parte tagliata non possono essere trattate separatamente, solo tutte le linee insieme possono essere impostatecome interne o di contorno.Nota di compatibilità: fino ad Archicad 19, i poligoni tagliati venivano generati con attributi definiti da SECT_FILL o SECT_ATTRS nello script 3D. DaArchicad 20 gli attributi dei poligoni tagliati sono definiti dal retino coprente delle superfici esterne (nel caso in cui il modificatore di addizione 32 non sia impostato).parts: definisce le parti da generare. Il valore 1 + 2 + 4 + 8 + 16 + 32 significa tutte le parti.

Forme 2D

Guida di Riferimento al GDL 198

parts = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6, dove ogni j può essere 0 o 1.I numeri j1, j2, j3, j4, j5, j6 rappresentano se le parti corrispondenti del modello proiettato sono presenti (1) o omesse (0):j1: poligoni sezione (efficace solo in modalità a colori),j2: bordi dei poligoni sezione,j3: poligoni a vista,j4: bordi dei poligoni a vista,j5: proietta gli hotspot 3D come hotspot 2D statici,j6: proietta hotline 3D e hotarcs (compresi gli hotspot 3D correlati convertiti in hotspot 2D statici).

PROJECT2{4}PROJECT2{4} projection_code, angolo, useTransparency, statusParts, numCutplanes, cutplaneHeight1, ..., cutplaneHeightn,

method1, parts1, cutFillIndex1, cutFillFgPen1, cutFillBgPen1, cutFillOrigoX1, cutFillOrigoY1, cutFillDirection1, cutLinePen1, cutLineType1, projectedFillIndex1, projectedFillFgPen1, projectedFillBgPen1, projectedFillOrigoX1, projectedFillOrigoY1, projectedFillDirection1, projectedLinePen1, projectedLineType1, ... method(numCutplanes+1)), parts(numCutplanes+1), cutFillIndex(numCutplanes+1), cutFillFgPen(numCutplanes+1), cutFillBgPen(numCutplanes+1), cutFillOrigoX(numCutplanes+1), cutFillOrigoY(numCutplanes+1), cutFillDirection(numCutplanes+1), cutLinePen(numCutplanes+1), cutLineType(numCutplanes+1), projectedFillIndex(numCutplanes+1), projectedFillFgPen(numCutplanes+1), projectedFillBgPen(numCutplanes+1), projectedFillOrigoX(numCutplanes+1), projectedFillOrigoY(numCutplanes+1), projectedFillDirection(numCutplanes+1), projectedLinePen(numCutplanes+1), projectedLineType(numCutplanes+1)

Forme 2D

Guida di Riferimento al GDL 199

Compatibilità: introdotto in Archicad 20.Crea una proiezione dello script 3D nello stesso elemento dil libreria e aggiunge le linee generate al simbolo parametrico 2D. La quarta versione,PROJECT2 {4}, aggiunge la possibilità di definire più piani di taglio paralleli al piano X-Y e di controllare gli attributi delle parti tagliate eproiettate delle fette, incluso il tipo di linea, penne e retini. Il numero di piani di taglio può essere zero, creando esattamente una sezione nontagliata (numCutplanes + 1).useTransparency: can be 0 (no transparency) or positive integer (1: trasparenza abilitata).statusParts: definisce le parti di stato da generare (hotline, hotspot, hotarcs). Il valore 1 + 2 indica tutte le parti. L'impostazione viene

applicata a tutte le sezioni.statusParts = j1 + 2*j2, dove ogni j può essere 0 o 1.I numeri j1, j2 rappresentano se le parti di stato corrispondenti del modello proiettato sono presenti (1) o omesse(0):j1: proietta hotspot 3D come hotspot 2D statici,j2: proietta hotline e hotarc 3D (compresi gli hotspot 3D correlati convertiti in hotspot 2D statici).

numCutplanes: il numero di piani di taglio definiti. Può essere zero, ma preferibilmente di più.cutplaneHeighti: la posizione di ogni piano di taglio definito individualmente. Misurata come lunghezza perpendicolare al piano X-

Y dell'oggetto.method: il metodo di rappresentazione scelto. Se non è impostato alcun valore o non valido, il valore predefinito è linee nascoste (2).0: la sezione corrente non fa parte della proiezione,1: filo di ferro,2: rimozione linee (analitica),3: a colori,4: linee nascoste con poligono: il poligono non elimina alcun poligono o linea appartenente a parti create con il metodo a colori, ma coprirà/eliminerà poligoni e linee appartenenti ad altre parti di tipo filo di ferro/rimozione linee. Impostalo su Camera d'Aria per ottenere i miglioririsultati. Tali poligoni esplosi si comporteranno in 2D secondo l'ordine delle sezioni (copriranno, ma non elimineranno, le parti a colori).16: modificatore addizionale: disegna retini vettoriali (efficace solo in modalità rimozione linee e modalità a colori),32: modificatore addizionale: usa gli attributi correnti invece degli attributi dal 3D (efficace solo in modalità a colori e rimozione lineecon modalità poligono),64: modificatore addizionale: orientamento locale del retino (efficace solo in modalità a colori e rimozione linee con modalità poligono),128: modificatore addizionale: le linee sono tutte linee interne (efficace solo insieme a 32). Default is generic.256: modificatore addizionale: le linee sono tutte linee di contorno (efficace solo insieme a 32, se 128 non è impostato). L'impostazionepredefinita è generico.512: modificatore addizionale: i retini sono tutti retini sezione (efficace solo insieme a 32). L'impostazione predefinita è retini disegno.

Forme 2D

Guida di Riferimento al GDL 200

1024: modificatore addizionale: i retini sono tutti retini coprenti (efficace solo insieme a 32, se 512 non è impostato). L'impostazionepredefinita è retini disegno.2048: modificatore addizionale: i modificatori 16, 32, 64, 128, 256, 512, 1024 e i parametri degli attributi di retino sono attivi solo per laparte vista della proiezione. Per impostazione predefinita, sono efficaci per tutte le parti.4096: modificatore addizionale: i modificatori 16, 32, 64, 128, 256, 512, 1024 e gli attributi di retino hanno effetto solo per la parte tagliatadella proiezione. Per impostazione predefinita, sono efficaci per tutte le parti.8192: modificatore addizionale: i retini sezione soo inclinati.

partsi: definisce le parti da generare. Il valore 1 + 2 + 4 + 8 + 64 indica tutte le parti.partsi = j1 + 2*j2 + 4*j3 + 8*j4 + 64*j7, dove ogni j può essere 0 o 1.I numeri j1, j2, j3, j4, j7 rappresentano se le parti corrispondenti del modello proiettato sono presenti (1) o omesse (0):j1: poligoni sezione (efficace solo in modalità a colori),j2: bordi poligoni sezione,j3: poligoni in vista,j4: bordi poligoni in vista,j7: proietta nuvole di punti.

cutFillIndexi: indice del tipo di retino della parte tagliata della sezione corrente.cutFillFgPeni: penna del retino della parte tagliata della fetta corrente.cutFillBgPeni: penna di sfondo del retino della parte tagliata della sezione corrente.cutFillOrigoXi: Coordinata X dell'origine del retino sezione della sezione corrente.cutFillOrigoYi: Coordinata Y dell'origine del retino sezione della sezione corrente.cutFillDirectioni: angolo di direzione del retino sezione della sezione corrente.cutLinePeni: indice della penna delle linee di taglio della sezione corrente.cutLineTypei: tipo di linea delle linee di taglio della sezione corrente.projectedFillIndexi: indice del tipo di retino della parte proiettata della sezione corrente.projectedFillFgPeni: penna retino della parte proiettata della slice corrente.projectedFillBgPeni: penna dello sfondo del retino della parte proiettata della slice corrente.projectedFillOrigoXi: Coordinata X dell'origine del retino proiettato della sezione corrente.projectedFillOrigoYi: Coordinata Y dell'origine del retino proiettato della sezione corrente.projectedFillDirectioni: angolo di direzione del retino proiettato della sezione corrente.

Forme 2D

Guida di Riferimento al GDL 201

projectedLinePeni: indice penna delle linee proiettate della sezione corrente.projectedLineTypei: tipo di linea delle linee proiettate della sezione corrente.

DISEGNI NELLA LISTAQuesti comandi hanno effetto solo quando viene creata una lista degli elementi.Quando l'elemento di libreria è un elemento di libreria del tipo speciale proprietà ed è in qualche modo associato a un elemento di libreria(Oggetto, Porta, Finestra o Luce) posizionato sulla pianta, i seguenti comandi nel suo script 2D faranno riferimento al parte 3D di quell'elementodi libreria. Si tratta di un riferimento virtuale che viene risolto durante il processo di lista, utilizzando lo script 2D o 3D dell'elemento attualmenteelencato.

DRAWING2DRAWING2 [espressione]A seconda del valore dell'espressione, crea un disegno dell'elemento di libreria (espressione = 0, default) o l'etichetta dell'elemento (espressione= 1) associato all'Oggetto Proprietà contenente questo comando.

DRAWING3DRAWING3 projection_code, angolo, metodo

DRAWING3{2}DRAWING3{2} projection_code, angolo, metodo[, backgroundColor, fillOrigoX, fillOrigoY, filldirection]Analogamente a PROJECT2, crea una proiezione dello script 3D dell'elemento di libreria associato all'elemento di libreria proprietà contenentequesto comando. Tutti i parametri sono simili a quelli di PROJECT2 e PROJECT2{2}.method: Nuovi flag di metodo in DRAWING3{2}3: a colori,32: usa gli attributi correnti invece degli attributi dal 3D,64: orientamento locale del retino.

DRAWING3{3}DRAWING3{3} projection_code, angolo, metodo, parti [, backgroundColor, fillOrigoX, fillOrigoY, filldirection][[,] PARAMETERS nome1=valore1, ..., nomen=valoren]

Forme 2D

Guida di Riferimento al GDL 202

Analogamente a PROJECT2, crea una proiezione dello script 3D dell'elemento di libreria associato all'elemento di libreria proprietà contenentequesto comando. Tutti i parametri sono simili a quelli di PROJECT2, PROJECT2{2} e PROJECT2{3}.method: Nuovi flag di metodo in DRAWING3{3}2048: modificatore addizionale: i modificatori 16, 32, 64, 128, 256, 512, 1024 e i parametri degli attributi di retino sono attivi solo per laparte in vista della proiezione. Per impostazione predefinita, sono efficaci per tutte le parti,4096: modificatore addizionale: i modificatori 16, 32, 64, 128, 256, 512, 1024 e gli attributi di retino hanno effetto solo per la parte tagliatadella proiezione. Per impostazione predefinita, sono efficaci per tutte le parti,8192: modificatore addizionale: i retini sezione sono inclinati.16384: modificatore addizionale: abilita la trasparenza per le superfici trasparenti. Notare che trasparenza in questo caso significatrasparenza completa per superfici con trasmittanza maggiore di 50, tutto il resto non è trasparente.

Modifica Grafica tramite Hotspot

Guida di Riferimento al GDL 203

MODIFICA GRAFICA TRAMITE HOTSPOTModifica grafica interattiva basata su hotspot dei parametri GDL di tipo lunghezza e angolo.HOTSPOT x, y, z [, unID [, paramReference [, flags [, displayParam [, "customDescription"]]]]]HOTSPOT2 x, y [, unID [, paramReference [, flags [, displayParam [, "customDescription"]]]]]unID: identificatore univoco, che deve essere univoco tra gli hotspot definiti nell'elemento di libreria.paramReference: parametro che può essere modificato da questo hotspot utilizzando il metodo di modifica dei parametri basato su

hotspot grafico.displayParam: parametro da visualizzare nella palette delle informazioni durante la modifica del parametro paramRefrence. Possono

essere passati anche membri di matrice.customDescription: stringa di descrizione personalizzata per il parametro visualizzato nella palette delle informazioni. Quando

si utilizza questa opzione, è necessario impostare anche displayParam (usa paramReference per default). Verrà visualizzato solo il valoreimpostato per l'hotspot di tipo mobile. Si consiglia di impostare la stessa descrizione per tutti gli hotspot mobili aventi lo stesso hotspot di base.

Esempi di argomenti validi:D, Arr[5], Arr[2*I+3][D+1], ecc.flags: tipo di hotspot + attributo dell'hotspot:type:1: modifica del tipo lunghezza, hotspot di base,2: modifica del tipo lunghezza, hotspot mobile,3: modifica del tipo lunghezza, hotspot di riferimento (sempre nascosto),4: modifica del tipo angolo, hotspot di base,5: modifica del tipo angolo, hotspot mobile,6: modifica del tipo angolo, centro dell'angolo (sempre nascosto),7: modifica del tipo angolo, hotspot di riferimento (sempre nascosto).

attribute: Può essere zero o:attribute = 128*j8 + 256*j9 + 512*j10 + 1024*j11, dove ogni j può essere 0 o 1.j8: nascondi hotspot (significativo per i tipi: 1,2,4,5),j9: hotspot di base modificabile (per i tipi: 1,4),j10: inverti l'angolo in 2D (per il tipo 6),j11: usa il valore paramReference come metri nello spazio carta.

Modifica Grafica tramite Hotspot

Guida di Riferimento al GDL 204

Per modificare un parametro del tipo di lunghezza, è necessario definire tre hotspot con i tipi 1, 2 e 3. La direzione positiva della linea di modificaè data dal vettore dall'hotspot di riferimento all'hotspot di base. L'hotspot mobile deve essere posizionato lungo questa linea a una distanzadeterminata dal valore del parametro associato, misurato dall'hotspot di base.

Reference (3) Base (1) Moving (2)

-1 0 x

Per modificare un parametro di tipo angolo, in 3D devono essere definiti quattro hotspot con i tipi 4, 5, 6 e 7. The plane of the angolo isperpendicular to the vector that goes from the center hotspot to the reference hotspot. La direzione positiva nella misurazione dell'angolo èantioraria se guardiamo il piano dall'hotspot di riferimento. In 2D il piano è già indicato, quindi l'hotspot di riferimento viene ignorato e ladirezione positiva della misurazione dell'angolo è per impostazione predefinita in senso antiorario. Questo può essere modificato in senso orarioimpostando il flag dell'attributo 512 per l'hotspot del centro (tipo 6). Per essere coerenti, i vettori dall'hotspot del centro all'hotspot mobile edi base devono essere perpendicolari al vettore dal centro all'hotspot di riferimento. L'hotspot mobile deve essere posizionato ad un angolodeterminato dal parametro associato misurato dall'hotspot di base attorno all'hotspot centrale.

Modifica Grafica tramite Hotspot

Guida di Riferimento al GDL 205

Center (6) Base (4)

Moving (5)

alpha

Se vengono definiti più set di hotspot per modificare lo stesso parametro, gli hotspot vengono raggruppati nell'ordine di esecuzione dei comandihotspot. Se l'attributo modificabile è impostato per un hotspot di base, l'utente può anche modificare il parametro trascinando l'hotspot di base.Poiché si suppone che l'hotspot di base sia fisso nel riquadro delle coordinate dell'oggetto (ovvero la sua posizione deve essere indipendentedal parametro ad esso associato), l'intero oggetto viene trascinato o ruotato insieme al punto di base. (Poiché il valore del parametro cambia,l'hotspot mobile non cambierà la sua posizione.)È possibile combinare due serie di hotspot di tipo di lunghezza per consentire la modifica di due parametri con un solo trascinamento. Se duesono combinati, il movimento dell'hotspot non è più vincolato a una linea ma al piano determinato dalle due linee di ciascuna serie di hotspot dimodifica della lunghezza. In 3D, la combinazione di tre serie di hotspot di modifica della lunghezza consente di posizionare l'hotspot ovunquenello spazio. Le due linee non devono essere parallele tra loro e le tre linee non devono essere sullo stesso piano. Viene avviata un'operazione dimodifica dei parametri combinata se, nella posizione del punto selezionato, sono presenti due hotspot modificabili (mobile o base modificabile)con diversi parametri associati. Se i parametri sono progettati per la modifica combinata, gli hotspot di base e di riferimento non sono fissi nelriquadro delle coordinate dell'oggetto, ma devono spostarsi quando il valore dell'altro parametro cambia.

Modifica Grafica tramite Hotspot

Guida di Riferimento al GDL 206

Vedi illustrazione ed esempio 2.

Esempio 1: modifica dell'angolo in 2DLINE2 0, 0, A, 0LINE2 0, 0, A*COS(angolo), A*SIN(angolo)ARC2 0, 0, 0.75*A, 0, angoloHOTSPOT2 0, 0, 1, angolo, 6HOTSPOT2 0.9*A, 0, 2, angolo, 4HOTSPOT2 0.9*A*COS(angolo), 0.9*A*SIN(angolo), 3,angolo, 5

Esempio 2: Modifica del tipo di lunghezza combinato con 2 parametri in 2D

54o

origin(C=0, D=0) RefD BaseD

MovingD

MovingC

BaseC

RefC

user drags the hotspot here

C

D

origin(C=0, D=0)

MovingD

MovingC

BaseC

RefC C

D

RefD BaseD

Modifica Grafica tramite Hotspot

Guida di Riferimento al GDL 207

! sideX, sideY parametersRECT2 0, 0, A, BRECT2 0, 0, sideX, sideYHOTSPOT2 sideX, 0, 1, sideY, 1HOTSPOT2 sideX, -0.1, 2, sideY, 3HOTSPOT2 sideX, sideY, 3, sideY, 2HOTSPOT2 0, sideY, 4, sideX, 1HOTSPOT2 -0.1, sideY, 5, sideX, 3HOTSPOT2 sideX, sideY, 6, sideX, 2

Esempio 3: Semplice modifica del tipo lunghezza con 1 parametro

Modifica Grafica tramite Hotspot

Guida di Riferimento al GDL 208

!2D SCRIPT:HOTSPOT2 -1, 0, 1HOTSPOT2 1, 0, 2HOTSPOT2 0, 0, 3, corner_y, 1+128HOTSPOT2 0, -1, 4, corner_y, 3HOTSPOT2 0, corner_y, 5, corner_y, 2LINE2 -1, 0, 1, 0LINE2 -1, 0, 0, corner_yLINE2 1, 0, 0, corner_y!3D SCRIPT:HOTSPOT -1, 0, 0, 1HOTSPOT -1, 0, 0.5, 2HOTSPOT 1, 0, 0, 3HOTSPOT 1, 0, 0.5, 4HOTSPOT 0, 0, 0, 5, corner_y, 1+128HOTSPOT 0, -1, 0, 6, corner_y, 3HOTSPOT 0, corner_y, 0, 7, corner_y, 2HOTSPOT 0, 0, 0.5, 8, corner_y, 1+128HOTSPOT 0, -1, 0.5, 9, corner_y, 3HOTSPOT 0, corner_y, 0.5, 10, corner_y, 2

PRISM_ 4, 0.5, -1, 0, 15, 1, 0, 15, 0, corner_y, 15, -1, 0, -1

Modifica Grafica tramite Hotspot

Guida di Riferimento al GDL 209

Esempio 4: Modifica del tipo lunghezza combinato con 2 parametri:

!2D SCRIPT:HOTSPOT2 -1, 0, 1HOTSPOT2 1, 0, 2HOTSPOT2 corner_x, 0, 3, corner_y, 1+128HOTSPOT2 corner_x, -1, 4, corner_y, 3HOTSPOT2 corner_x, corner_y, 5, corner_y, 2HOTSPOT2 0, corner_y, 6, corner_x, 1+128HOTSPOT2 -1, corner_y, 7, corner_x, 3HOTSPOT2 corner_x, corner_y, 8, corner_x, 2LINE2 -1, 0, 1, 0LINE2 -1, 0, corner_x, corner_yLINE2 1, 0, corner_x, corner_y

Modifica Grafica tramite Hotspot

Guida di Riferimento al GDL 210

!3D SCRIPT:HOTSPOT -1, 0, 0, 1HOTSPOT -1, 0, 0.5, 2HOTSPOT 1, 0, 0, 3HOTSPOT 1, 0, 0.5, 4HOTSPOT corner_x, 0, 0, 5, corner_y, 1+128HOTSPOT corner_x, -1, 0, 6, corner_y, 3HOTSPOT corner_x, corner_y, 0, 7, corner_y, 2HOTSPOT 0, corner_y, 0, 8, corner_x, 1+128HOTSPOT -1, corner_y, 0, 9, corner_x, 3HOTSPOT corner_x, corner_y, 0, 10, corner_x, 2HOTSPOT corner_x, 0, 0.5, 11, corner_y, 1+128HOTSPOT corner_x, -1, 0.5, 12, corner_y, 3HOTSPOT corner_x, corner_y, 0.5, 13, corner_y, 2HOTSPOT 0, corner_y, 0.5, 14, corner_x, 1+128HOTSPOT -1, corner_y, 0.5, 15, corner_x, 3HOTSPOT corner_x, corner_y, 0.5, 16, corner_x, 2PRISM_ 4, 0.5, -1, 0, 15, 1, 0, 15, corner_x, corner_y, 15, -1, 0, -1

Codici di Stato

Guida di Riferimento al GDL 211

CODICI DI STATOI codici di stato introdotti nelle pagine seguenti consentono agli utenti di creare segmenti e archi in polilinee planari utilizzando vincoli speciali.Le polilinee planari con codici di stato ai nodi sono la base di molti elementi GDL: POLY2_, POLY2_A, POLY2_B, POLY2_B{2},POLY2_B{3}, POLY2_B{4}, POLY2_B{5}, POLY_, PLANE_, PRISM_, CPRISM_, BPRISM_, FPRISM_, HPRISM_, SPRISM_,SLAB_, CSLAB_, CROOF_, EXTRUDE, PYRAMID, REVOLVE, SWEEP, TUBE, TUBEAI codici di stato ti consentono di:• controllare la visibilità dei bordi della polilinea planare• definire i fori nella polilinea• controllare la visibilità dei bordi e delle superfici laterali• creare segmenti e archi nella polilinea

SINTASSI DEL CODICE DI STATOsi: Il numero si è un numero intero binario (compreso tra 0 e 127) o -1.si = j1 + 2*j2 + 4*j3 + 8*j4 + 64*j7 [+ a_code] , dove ogni j può essere 0 o 1.I numeri j1, j2, j3, j4 rappresentano se i vertici e i lati sono presenti (1) o omessi (0):j1: bordo orizzontale inferiore,j2: bordo verticale,j3: bordo orizzontale superiore,j4: faccia laterale,j7: valore di stato aggiuntivo speciale valido solo quando j2 = 1 e controlla la visibilità dipendente dal punto di vista del bordo verticalecorrente,a_code: codice di stato aggiuntivo (opzionale), che consente di creare segmenti e archi nella polilinea,j2=0: il bordo verticale è sempre invisibilej2=1 e j7=1: il bordo verticale è visibile solo quando si tratta di un contorno osservato dalla direzione di visualizzazione correntej2=1 e j7=0: il bordo verticale è sempre visibilePossibili valori di stato (le linee spesse denotano bordi visibili):

Codici di Stato

Guida di Riferimento al GDL 212

invisible surface visible surface

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

si=-1 viene utilizzato per definire i fori direttamente nel prisma. Segna la fine del contorno e l'inizio di un foro all'interno del contorno. Vieneanche utilizzato per indicare la fine del contorno di un foro e l'inizio di un altro. Le coordinate prima di quel valore devono essere identiche allecoordinate del primo punto del contorno/foro. Se hai utilizzato il valore di maschera -1, l'ultimo valore di maschera nell'elenco dei parametrideve essere -1, segnando la fine dell'ultimo foro.I fori devono essere disgiunti e le intersezioni interne sono vietate nel poligono per un corretto risultato di ombreggiatura/rendering.

CODICI DI STATO AGGIUNTIVII seguenti codici di stato aggiuntivi consentono di creare segmenti e archi nella polilinea utilizzando vincoli speciali. Si riferiscono al segmentoo arco successivo. I codici di stato originali sono efficaci solo se specificati (un "+ s" è incluso dopo il codice aggiuntivo).

Codici di Stato

Guida di Riferimento al GDL 213

NotaLa risoluzione degli archi è controllata dalle direttive descritte in sezione chiamata «Direttive per script 3D e 2D». In caso di POLY2_,se la risoluzione è maggiore di 8, genera archi reali; altrimenti tutti gli archi generati verranno segmentati.

Parte precedente della polilinea: la posizione corrente e la tangente sono definite

Segmento per punto finale assolutox, y, sdove 0 < s < 100

0

x,y

Segmenta per punto finale relativodx, dy, 100+s,

Codici di Stato

Guida di Riferimento al GDL 214

dove 0 < s < 100

100dx

dy

Segmenta per lunghezza e direzionel, a, 200+s,dove 0 < s < 100

200

la

Segmento tangente per lunghezzal, 0, 300+s,dove 0 < s < 100

Codici di Stato

Guida di Riferimento al GDL 215

300l

Imposta il punto di partenzax1, y1, 600,

(x1,y1)600

Chiudi la polilinea0, 0, 700,

700

Imposta la tangenteex, ey, 800,

Codici di Stato

Guida di Riferimento al GDL 216

800ex

ey

Imposta il punto centralex0, y0, 900,

900

x0,y0

Arco tangente al punto finalex, y, 1000+s,dove 0 < s < 100

Codici di Stato

Guida di Riferimento al GDL 217

x,y

1000

Arco tangente per raggio e angolor, a, 2000+s,dove 0 < s < 100

r

a

2000

Arco utilizzando il punto centrale e il punto sul raggio finalex, y, 3000+s,dove 0 < s < 100

Codici di Stato

Guida di Riferimento al GDL 218

3000

x,y

Arco usando il punto centrale e l'angolo0, a, 4000+s,dove 0 < s < 100

4000 a

Cerchio completo utilizzando il punto centrale e il raggior, 360, 4000+s,dove 0 < s < 100

Codici di Stato

Guida di Riferimento al GDL 219

r

4000

In questo caso lo stato s si riferisce all'intero cerchio.Tutti i valori degli angoli sono in gradi. Coordinate omesse contrassegnate da 0 (per i codici 300, 700, 4000) possono avere qualsiasi valore.

Esempio 1:

Codici di Stato

Guida di Riferimento al GDL 220

EXTRUDE 21, 0, 0, 3, 1+2+4+16+32, 0, 0, 0, 7, 0, 0, 7, 3, 1, 6, 3, 1000, ! arco tangente al punto finale 5, 3, 1001, ! arco tangente al punto finale 1, 90, 2000, ! arco tangente per raggio e angolo 2, 3, 1001, ! arco tangente al punto finale 1, 3, 900, ! imposta punto centrale 1, 2, 3000, ! arco usando punto iniziale, centro e punto sul raggio finale 1, 2.5, 900, ! imposta punto centrale 0, -180, 4001, ! arco usando punto iniziale, centro e angolo 1, 5, 1000, !arco tangente al punto finale -1, 0, 100, ! segmento per (dx, dy) 2, 225, 200, ! segmento per (lung, angolo) -1, 0, 800, ! imposta tangente -1, 0, 1000, ! arco tangente al punto finale 0, 0, -1, ! fine del contorno 1, 1, 900, ! imposta punto centrale 0.5, 360, 4000, ! cerchio completo per centro e raggio 3.5, 1.5, 900, ! imposta punto centrale 1, 360, 4001 ! cerchio completo per centro e raggio

Codici di Stato

Guida di Riferimento al GDL 221

Esempio 2:

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

Codici di Stato

Guida di Riferimento al GDL 222

Esempio 3:

EXTRUDE 3, 1, 1, 3, 1+2+4+16+32, 0, 0, 900, 3, 360, 4001, 2, 360, 4000

Esempio 4:

Codici di Stato

Guida di Riferimento al GDL 223

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, ! imposta punto centrale 0, 180, 4001, ! arco usando punto iniziale, centro e angolo 2, 1, 0, 1, 1, 0

Attributi

Guida di Riferimento al GDL 224

ATTRIBUTINella prima parte di questo capitolo vengono presentate le direttive che influenzano l'interpretazione delle istruzioni GDL. Le direttive possonodefinire la levigatezza utilizzata per gli elementi cilindrici, la modalità di rappresentazione nella vista 3D o l'assegnazione di un attributo (colore,materiale, stile del testo, ecc.) per le forme successive. La definizione dell'attributo in linea è trattata nella seconda parte. Questa funzione ticonsente di assegnare ai tuoi oggetti materiali personalizzati, tessiture, retini, tipi di linea e stili di testo che non sono presenti nel set di attributicorrente del tuo progetto.

DIRETTIVEL'influenza delle direttive sull'interpretazione delle successive istruzioni GDL rimane in vigore fino alla prossima direttiva o alla fine dello script.Gli script chiamati ereditano le impostazioni correnti: i cambiamenti hanno un'influenza locale. Il ritorno dallo script ripristina le impostazionicome erano prima della chiamata della macro.

Direttive per script 3D e 2DLET[LET] varnam = nAssegnazione di valore. La direttiva LET è facoltativa. La variabile memorizzerà il valore valutato di n.

RADIUSRADIUS radius_min, radius_maxImposta la levigatezza per gli elementi cilindrici e gli archi nelle polilinee.Un cerchio di raggio r viene rappresentato:• se r < radius_min, da un esagono,• se r >= radius_max, da un poligono con 36 lati,• se radius_min < r < radius_max, da un poligono con un numero di lati pari a (6+30*(r-radius_min)/(radius_max-radius_min)).La conversione dell'arco è proporzionale a questo.Dopo un'istruzione RADIUS, tutte le precedenti istruzioni RESOL e TOLER perdono il loro effetto.Limitazione dei parametri:r_min <= r_max

Attributi

Guida di Riferimento al GDL 225

Esempio:

RADIUS 1.1, 1.15CYLIND 3.0, 1.0

RADIUS 0.9, 1.15CYLIND 3.0, 1.0

RESOLRESOL nImposta la levigatezza per gli elementi cilindrici e gli archi nelle polilinee. I cerchi vengono convertiti in poligoni regolari con n lati.La conversione dell'arco è proporzionale a questo.Dopo un'istruzione RESOL, tutte le precedenti istruzioni RADIUS e TOLER perdono il loro effetto.Limitazione dei parametri:n >= 3

Default:RESOL 36

Attributi

Guida di Riferimento al GDL 226

Esempio:

RESOL 5CYLIND 3.0, 1.0

RESOL 36CYLIND 3.0, 1.0

TOLERTOLER dImposta la levigatezza per gli elementi cilindrici e gli archi nelle polilinee. L'errore di approssimazione dell'arco (cioè la distanza massima tral'arco teorico e la corda generata) sarà minore di d.Dopo un'istruzione TOLER, tutte le precedenti istruzioni RADIUS e RESOL perdono il loro effetto.

Attributi

Guida di Riferimento al GDL 227

Esempio:

TOLER 0.1CYLIND 3.0, 1.0

TOLER 0.01CYLIND 3.0, 1.0

NotaLe direttive RADIUS, RESOL e TOLER stabiliscono la levigatezza per elementi cilindrici 3D (CIRCLE, ARC, CYLIND, SPHERE,ELLIPS, CONE, ARMC, ARME, ELBOW, REVOLVE) e archi in polilinee 2D che includono bordi curvi.

Vedi sezione chiamata «Codici di stato aggiuntivi».

PENPEN nImposta il colore.Limitazione dei parametri:0 < n <= 255

Default:PEN 1se non è presente alcuna istruzione PEN nello script.(Per gli elementi di libreria, i valori predefiniti provengono dalle impostazioni dell'elemento di libreria. Se lo script fa riferimento a un indiceinesistente, PEN 1 diventa l'impostazione predefinita.)

Attributi

Guida di Riferimento al GDL 228

LINE_PROPERTYLINE_PROPERTY exprDefinisce la proprietà per tutte le linee generate successivamente nello script 2D (comandi RECT2, LINE2, ARC2, CIRCLE2, SPLINE2,SPLINE2A, POLY2, FRAGMENT2) fino alla successiva istruzione LINE_PROPERTY. Il valore predefinito è generico.expr: valori possibili:0: tutte le linee sono linee generiche,1: tutte le linee sono linee interne,2: tutte le linee sono contorno.

[SET] STYLE[SET] STYLE name_string[SET] STYLE indexTutti i testi generati successivamente useranno quello stile fino alla successiva istruzione SET STYLE.L'indice è una costante che fa riferimento a uno stack di stile nella struttura dati interna (gli indici negativi indicano gli indici nella struttura datidei materiali in linea (definiti in precedenza nello script GDL)). Questo stack viene modificato durante l'analisi GDL e può essere modificatoanche dall'interno del programma. L'utilizzo dell'indice al posto del nome dello stile è consigliato solo previo utilizzo della funzione IND.Default:SET STYLE 0(font del carattere, dimensione 5 mm, ancoraggio = 1, regolare) se non è presente l'istruzione SET STYLE nello script.

Direttive utilizzate solo negli Script 3DMODELMODEL WIREMODEL SURFACEMODEL SOLIDImposta la modalità di rappresentazione nello script corrente.MODEL WIRE: solo filo di ferro, senza superfici o volumi. Gli oggetti sono trasparenti.MODEL SURFACE, MODEL SOLID: La generazione delle superfici di sezione si basa sulla relazione delle superfici di confine, in modo cheentrambi i metodi generino la stessa struttura dati interna 3D. Gli oggetti sono opachi.L'unica distinzione può essere vista dopo aver tagliato via una parte del corpo:MODEL SURFACE: l'interno dei corpi sarà visibile,

Attributi

Guida di Riferimento al GDL 229

MODEL SOLID: potrebbero apparire nuove superfici.Default:MODEL SOLID

Esempio: Per illustrare i tre metodi di modellazione, considera i tre blocchi seguenti:MODEL WIREBLOCK 3,2,1ADDY 4MODEL SURFACEBLOCK 3,2,1ADDY 4MODEL SOLIDBLOCK 3,2,1Dopo averli tagliati con un piano:

[SET] MATERIAL[SET] MATERIAL name_or_indexTutte le superfici generate successivamente rappresenteranno quel materiale fino alla successiva dichiarazione MATERIAL. Le superfici neicorpi di BPRISM_, CPRISM_, FPRISM_, HPRISM_, SPRISM_, CSLAB_, CWALL_, BWALL_, XWALL_, CROOF_, MASS, sono eccezionia questa regola.L'indice è una costante che fa riferimento a uno stack di materiali nella struttura dati interna (gli indici negativi indicano gli indici nella strutturadati dei materiali inline (definiti in precedenza nello script GDL)). Questo stack viene modificato durante l'analisi GDL e può essere modificatoanche dall'interno del programma. L'utilizzo dell'indice al posto del nome del materiale è consigliato solo previo utilizzo della funzione IND.l'indice 0 ha un significato speciale: le superfici utilizzano il colore della penna corrente e hanno un aspetto opaco.Default:MATERIAL 0se non è presente alcuna dichiarazione MATERIAL nello script.

Attributi

Guida di Riferimento al GDL 230

(Per gli elementi di libreria, i valori predefiniti vengono letti dalle impostazioni dell'elemento di libreria. Se lo script fa riferimento a un indiceinesistente, MATERIALE 0 diventa l'impostazione predefinita.)

[SET] BUILDING_MATERIAL[SET] BUILDING_MATERIAL name_or_index [, cut_fill_pen [, cut_fill_bkgd_pen, [iOverrideFlag]]]Compatibilità: introdotto in Archicad 21.Tutte le forme generate successivamente rappresenteranno la superficie, il tipo di retino sezione (nella Sezione/Alzato), penne primo piano esfondo del materiale da costruzione impostato.cut_fill_pen: indice penna del primo piano del retino sezione personalizzato per sostituire l'indice dell'attributo del materiale da

costruzione attivocut_fill_bkgd_pen: indice penna dello sfondo del retino sezione personalizzato per sostituire l'indice dell'attributo del materiale da

costruzione attivoiOverrideFlag: abilita "cut_fill_pen" e/o "cut_fill_bkgd_pen" per avere effettoiOverrideFlag = j1 + 2*j2: , dove ogni j può essere 0 o 1.j1: Sovrascrivi la penna del primo piano del retino sezione con cut_fill_penj2: Sovrascrivi la penna dello sfondo del retino sezione con cut_fill_bkgd_penI parametri di sovrascrittura sono facoltativi: se "iOverrideFlag" non è impostato o la parola chiave DEFAULT viene utilizzata in uno qualsiasidei parametri dell'indice della penna di sovrascrittura, gli attributi del materiale da costruzione avranno effetto.

Esempio: Sovrascrivi penna dello sfondo del retino sezioneBUILDING_MATERIAL buildingMatIndex, DEFAULT, cut_fill_bkgd_pen

Tutte le superfici generate successivamente rappresenteranno la superficie del materiale da costruzione fino alla successiva istruzioneBUILDING_MATERIAL, MATERIAL, SECT_FILL o SECT_ATTRS. Le superfici nei corpi di BPRISM_, CPRISM_, FPRISM_,HPRISM_, SPRISM_, CSLAB_, CWALL_, BWALL_, XWALL_, CROOF_, MASS, sono eccezioni a questa regola.Nelle Sezioni/Alzato, le penne visualizzate del primo piano e sfondo del retino corrisponderanno agli stessi attributi del materiale da costruzione(o ai parametri di sostituzione impostati nel comando stesso), fino alla successiva istruzione BUILDING_MATERIAL, MATERIAL,SECT_FILL o SECT_ATTRS.Una precedente istruzione BUILDING_MATERIAL non ha ulteriore controllo sulle forme generate dopo aver utilizzato le istruzioniSECT_FILL o SECT_ATTRS. Le forme generate dopo aver utilizzato le seguenti istruzioni mantengono le loro impostazioniBUILDING_MATERIAL: l'istruzione MATERIAL sovrascrive solo le superfici della forma generata, l'istruzione SECT_ATTRS {2} controlla

Attributi

Guida di Riferimento al GDL 231

la rappresentazione della penna di contorno e del tipo di linea solo nella vista in sezione, mentre il resto degli attributi è ancora controllatodal materiale da costruzione stesso.L'indice è una costante che fa riferimento a uno stack di materiali da costruzione nella struttura dati interna. L'utilizzo dell'indice al posto delnome del materiale da costruzione è consigliato solo previo utilizzo della funzione IND.l'indice 0 ha un significato speciale: la sezione generata elimina le linee in base ai retini.Default:BUILDING_MATERIAL 0se non è presente alcuna istruzione BUILDING_MATERIAL nello script.(Per gli elementi di libreria, i valori predefiniti vengono letti dalle impostazioni dell'elemento di libreria. Se lo script fa riferimento a un indiceinesistente, BUILDING_MATERIAL 0 diventa l'impostazione predefinita.)

SECT_FILLSECT_FILL fill, fill_background_pen, fill_pen, contour_penoppure

SECT_ATTRSSECT_ATTRS fill, fill_background_pen, fill_pen, contour_pen [, line_type]Definisce gli attributi utilizzati per la parte tagliata degli elementi 3D nella finestra Sezione/Alzato. Compatibilità: fino ad Archicad 19 PROJECT2{3}compreso. Gli attributi fill e line_type Inline (definiti nello script Master o nello script 3D) non sono accettati.fill: nome o numero indice del retino.fill_background_pen: numero colore penna dello sfondo del retino.fill_pen: numero colore penna del retino.contour_pen: numero colore penna del contorno del retino.line_type: tipo linea per i lati del poligono.

SECT_ATTRS{2}SECT_ATTRS{2} contour_pen [, line_type]Compatibilità: introdotto in Archicad 21.

Attributi

Guida di Riferimento al GDL 232

Definisce la penna di contorno e il tipo di linea utilizzati per la parte tagliata degli elementi 3D nella Sezione/Alzato. Può essere combinatocon l'istruzione BUILDING_MATERIAL per la gestione di tutti gli attributi della Sezione/Alzato. L'attributo line_type Inline (definito nelloscript Master o nello script 3D) non è accettato.contour_pen: numero colore penna del contorno del retino.line_type: tipo linea per i lati del poligono.

SHADOWSHADOW casting [, catching]Controlla la proiezione delle ombre degli elementi nel Fotorendering e nella proiezione delle ombre vettoriali.casting: ON, AUTO oppure OFFON: tutti gli elementi successivi proietteranno ombre in tutte le circostanze,OFF: nessuno degli elementi successivi proietterà ombre in nessuna circostanza,AUTO: la proiezione delle ombre sarà determinata automaticamenteL'impostazione SHADOW OFF per le parti nascoste risparmierà spazio di memoria e tempo di elaborazione.L'impostazione SHADOW ON assicura che anche i più piccoli dettagli proietteranno ombre.

catching: ON oppure OFFQuesto parametro opzionale controlla l'aspetto delle ombre (da altri corpi) sulle superfici.

Se la proiezione delle ombre non è specificata, l'impostazione predefinita sarà AUTO.

Attributi

Guida di Riferimento al GDL 233

Esempio:

SHADOW OFF! superficie orizzontalePRISM 4, 0.2, 0, 0, 6, 0, 6, 6, 0, 6

ADDX 0.5ADDY 2.5

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

DEL 4

Direttive utilizzate solo negli Script 2DDRAWINDEXDRAWINDEX numeroDefinisce l'ordine di disegno degli elementi dello Script 2D. Gli elementi con un indice di disegno più piccolo verranno disegnati per primi.Limitazione dei parametri:0 < numero <= 50

(Nella versione corrente di GDL sono validi solo i valori DRAWINDEX 10, 20, 30, 40 e 50. Altri valori verranno arrotondati a questi.)Se non è presente alcuna direttiva DRAWINDEX, l'ordine di disegno predefinito è il seguente:1 Figure2 Retini3 Linee

Attributi

Guida di Riferimento al GDL 234

4 Elementi di testo

[SET] FILL[SET] FILL name_string[SET] FILL indexTutti i poligoni 2D generati successivamente rappresenteranno quel retino fino alla successiva istruzione SET FILL.L'indice è una costante che fa riferimento a uno stack di retini nella struttura dati interna. Questo stack viene modificato durante l'analisi GDLe può essere modificato anche dall'interno del programma. L'uso dell'indice al posto del nome di riempimento è consigliato solo con l'usoprecedente della funzione IND.Default:SET FILL 0cioè, retino vuoto, se non è presente alcuna istruzione SET FILL nello script.

[SET] LINE_TYPE[SET] LINE_TYPE name_string[SET] LINE_TYPE indexTutte le linee 2D generate successivamente rappresenteranno quel tipo di linea (in linee, archi, polilinee) fino alla successiva istruzione SETLINE_TYPE. L'indice è una costante che fa riferimento a uno stack di tipo linee nella struttura dati interna. Questo stack viene modificatodurante l'analisi GDL e può essere modificato anche dal programma. L'uso dell'indice al posto del nome del tipo di linea è consigliato solocon l'uso precedente della funzione IND.Default:SET LINE_TYPE 1cioè, linea continua, se non è presente alcuna istruzione SET LINE_TYPE nello script.

DEFINIZIONE DELL'ATTRIBUTO IN LINEAGli attributi in possono essere creati utilizzando le finestre di dialogo materiale, retino e tipo di linea. È possibile fare riferimento a questiattributi della pianta da qualsiasi script GDL. Gli attributi possono anche essere definiti negli script GDL. Ci sono due casi differenti:• Definizione degli attributi nello script MASTER_GDL. Lo script MASTER_GDL viene interpretato quando la libreria che lo contiene viene

caricata in memoria. Gli attributi del MASTER_GDL vengono uniti agli attributi della pianta; attributi con lo stesso nome non vengonosostituiti. Una volta caricato il MASTER_GDL, è possibile fare riferimento agli attributi in esso definiti da qualsiasi script.

• Definizione degli attributi negli elementi di libreria. I materiali e le tessiture definiti in questo modo possono essere utilizzati nello script enei suoi script di seconda generazione. I retini e i tipi di linea definiti e utilizzati nello script master o 2D hanno lo stesso comportamento

Attributi

Guida di Riferimento al GDL 235

come se fossero definiti nello script MASTER_GDL, ma solo se utilizzati per nome o indice (non tramite un parametro). Non è possibileaccedere a retini e tipi di linea definiti nello script Master o 3D.

Il comando Controlla script GDL nella finestra dello script aiuta a verificare se i parametri di materiale, retino, tipo di linea o stile sono corretti.Quando un materiale, un retino, un tipo di linea o uno stile è diverso nell'interpretazione 3D dell'elemento di libreria da quello previsto, ma nonè presente alcun messaggio di errore, questo probabilmente significa che uno o più valori dei parametri non sono corretti. Il comando Controllascript GDL ti aiuterà con messaggi dettagliati per trovare questi parametri.

MaterialiDEFINE MATERIALDEFINE MATERIAL name type, surface_red, surface_green, surface_blue [, ambient_ce, diffuse_ce, specular_ce, transparent_ce, shining, transparency_attenuation [, specular_red, specular_green, specular_blue, emission_red, emission_green, emission_blue, emission_att]] [, fill_index [, fillcolor_index, texture_index]]

Nota: Questo comando può contenere una definizione di dati aggiuntiva.Vedi sezione chiamata «Dati aggiuntivi» per i dettagli.Qualsiasi script GDL può includere definizioni di materiale prima del primo riferimento a quel nome di materiale. Questo materiale può essereutilizzato solo per elementi 3D nel proprio script e nei suoi script di seconda generazione.name: nome del materiale.type: tipo di materiale. Il numero effettivo (n) di parametri che definiscono il materiale è diverso, a seconda del tipo. Il significato dei

parametri e i loro limiti sono spiegati nei commenti degli esempi.0: definizione generale, n=16,1: definizione semplice, n = 9 (i parametri aggiuntivi sono costanti o calcolati da valori dati),2-7: tipi di materiale predefiniti, n=3. I tre valori sono i componenti RGB del colore della superficie. Altri parametri sono costanti ocalcolati dal colore.2: opaco,3: metallo,4: plastica,5: vetro,

Attributi

Guida di Riferimento al GDL 236

6: brillante,7: constante,10: definizione generale con parametro retino, n=17,11: definizione semplice con parametro retino, n=10,12-17: tipi di materiale predefiniti con parametro retino, n=4,20: definizione generale con retino, indice di colore del retino e indice dei parametri di tessitura, n=19,21: definizione semplice con retino, indice di colore del retino e indice dei parametri di tessitura, n=12,22-27: tipi di materiale predefiniti con retino, indice di colore del retino e indice dei parametri di tessitura, n=6.20-27: Significati speciali per i tipi 20-27: Se il numero della penna è zero, i retini vettoriali verranno generati con la penna attiva. Il valorezero per una tessitura o un indice di retino consente di definire i materiali senza una tessitura o una retinatura vettoriale.

Esempio 1: Materiali con colori pieniDEFINE MATERIAL "acqua" 0, 0.5284, 0.5989, 0.6167,! superficie RGB [0.0..1.0] 1.0, ! coefficiente ambiente [0.0..1.0] 0.5, ! coefficiente superficie [0.0..1.0] 0.5, ! coefficiente speculare[0.0..1.0] 0.9, ! coefficiente trasparenza. [0.0..1.0] 2.0, ! lucentezza [0.0..100.0] 1, ! attenuazione trasparenza [0.0..4.0] 0.5284, 0.5989, 0.6167,! RGB speculare [0.0..1.0] 0, 0, 0, ! emissione RGB [0.0..1.0] 0.0 ! attenuazione emissione [0.0..65.5]DEFINE MATERIAL "asfalto" 1, 0.1995, 0.2023, 0.2418,! superficie RGB [0.0..1.0] 1.0, 1.0, 0.0, 0.0, ! ambiente, superficie , speculare, trasparenza ! coefficienti [0.0..1.0] 0, ! lucentezza [0..100] 0 ! attenuazione trasparenza [0..4]DEFINE MATERIAL "rosso opaco" 2, 1.0, 0.0, 0.0 ! superficie RGB [0.0..1.0]

Attributi

Guida di Riferimento al GDL 237

Esempio 2: Materiale con retinoDEFINE MATERIAL "Mattone-Rosso" 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, "Mattone Comune") ! indice retino

Esempio 3: Materiale con retino e tessituraDEFINE MATERIAL "Mattone Giallo+*" 20, 1, 1, 0, ! superficie RGB [0.0 .. 1.0] 0.58, 0.85, 0, 0, ! ambiente, diffusione, speculare, trasparente ! coefficienti [0.0 .. 1.0] 0, ! splendente [0.0 .. 100.0] 0, ! attenuazione trasparenza [0.0 .. 4.0] 0.878401, 0.513481, 0.412253, ! speculare RGB [0.0 .. 1.0] 0, 0, 0, ! emissione RGB [0.0 .. 1.0] 0, ! attenuazione emissione [0.0 .. 65.5] IND(FILL, "Mattone Comune"), 61, IND(TEXTURE, "Mattone") ! Indice retino, indice colore, indice tessitura

DEFINE MATERIAL BASED_ONDEFINE MATERIAL name [,] BASED_ON orig_name [,] PARAMETERS name1 = expr1 [, ...] [[,] ADDITIONAL_DATA name1 = expr1 [, ...]]Definizione del materiale basata su un materiale esistente. I parametri specificati del materiale originale verranno sovrascritti dai nuovi valori, glialtri parametri rimarranno invariati. L'utilizzo del comando senza parametri effettivi produce un materiale esattamente uguale all'originale, macon un nome diverso. I valori dei parametri di un materiale possono essere ottenuti utilizzando la funzione REQUEST{2} ("Material_info", ...).orig_name: nome del materiale originale (nome di un materiale GDL o di pianta esistente, precedentemente definito).namei: nome del parametro del materiale da sovrascrivere con un nuovo valore. Nomi corrispondenti ai parametri di definizione del materiale:gs_mat_surface_r, gs_mat_surface_g, gs_mat_surface_b: (superficie RGB [0.0..1.0])gs_mat_ambient: (coefficiente ambiente [0.0..1.0])

Attributi

Guida di Riferimento al GDL 238

gs_mat_diffuse: (coefficiente diffusione [0.0..1.0])gs_mat_specular: (coefficiente speculare [0.0..1.0])gs_mat_transparent: (coefficiente trasparenza [0.0..1.0])gs_mat_shining: (lucentezza [0.0..100.0])gs_mat_transp_att: (attenuazione trasparenza [0.0..4.0])gs_mat_specular_r, gs_mat_specular_g, gs_mat_specular_b: (RGB colore speculare [0.0..1.0])gs_mat_emission_r, gs_mat_emission_g, gs_mat_emission_b: (RGB colore emissione [0.0..1.0])gs_mat_emission_att: (attenuazione emissione [0.0..65.5])gs_mat_fill_ind: (indice retino)gs_mat_fillcolor_ind: (indice colore retino)gs_mat_texture_ind: (indice tessitura)

expri: nuovo valore per sovrascrivere il parametro specificato del materiale. Gli intervalli di valori sono gli stessi della definizione delmateriale.

Esempio:n = REQUEST{2} ("Material_info", "Mattone Facciavista", "gs_mat_emission_rgb", em_r, em_g, em_b)em_r = em_r + (1 - em_r) / 3em_g = em_g + (1 - em_g) / 3em_b = em_b + (1 - em_b) / 3DEFINE MATERIAL "Mattone Facciavista chiaro" [,] BASED_ON "Mattone Facciavista" \ PARAMETERS gs_mat_emission_r = em_r, gs_mat_emission_g = em_g, gs_mat_emission_b = em_bSET MATERIAL "Mattone Facciavista"BRICK a, b, zzyzxADDX aSET MATERIAL "Mattone Facciavista chiaro"BRICK a, b, zzyzx

DEFINE TEXTUREDEFINE TEXTURE nome espressione, x, y, mask, angoloQualsiasi script GDL può includere la definizione della tessitura prima del primo riferimento a quel nome di tessitura. La tessitura può essereutilizzata solo nello script in cui è stata definita e nei suoi successivi script di seconda generazione.name: nome della tessitura.

Attributi

Guida di Riferimento al GDL 239

expression: immagine associata alla tessitura. Un'espressione stringa significa un nome di file, un'espressione numerica un indicedi un'immagine memorizzata nell'elemento di libreria. Un indice 0 è un valore speciale che fa riferimento all'anteprima dell'immaginedell'elemento di libreria.

x: larghezza logica della tessitura.y: altezza logica della tessitura.mask:mask = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 + 128*j8 + 256*j9, dove ogni j può essere 0 o 1.controlli del canale alfa (j1... j6):j1: Il canale alfa cambia la trasparenza della tessitura,j2: Bump mapping o perturbazione normale alla superficie. Il bump mapping utilizza il canale alfa per determinare l'ampiezza dellanormale alla superficie,j3: Il canale alfa cambia il colore diffuso della tessitura,j4: Il canale alfa cambia il colore speculare della tessitura,j5: Il canale alfa cambia il colore ambientale della tessitura,j6: Il canale alfa cambia il colore della superficie della tessitura,Controlli di connessione(j7... j9): (Se il valore è zero, viene selezionata la modalità normale.)

x

y

j7: la tessituraverrà spostata in modo casuale,

Attributi

Guida di Riferimento al GDL 240

x

y

j8: specchiatura in direzione x,

x

y

j9: specchiatura in direzione y.

x

y

angle: angolo di rotazione.

Esempio:DEFINE TEXTURE "Mattone" "Mattone.PICT", 1.35, 0.3, 256+128, 35.0

Attributi

Guida di Riferimento al GDL 241

RetiniDEFINE FILLDEFINE FILL name [[,] FILLTYPES_MASK fill_mtypes,] pattern1, pattern2, pattern3, pattern4, pattern5, pattern6, pattern7, pattern8, spacing, angolo, n, frequency1, direction1, offset_x1, offset_y1, m1, length11, ..., length1m, ... frequencyn, directionn, offset_xn, lengthn1, ..., lengthnm

Nota 1: Questo comando può contenere una definizione di dati aggiuntiva.Vedi sezione chiamata «Dati aggiuntivi» per i dettagli.Qualsiasi script GDL può includere definizioni di retino prima del primo riferimento a quel nome di retino. Il retino definito in questo modopuò essere utilizzato solo per gli elementi 2D nello script in cui è stato definito e nei suoi successivi script di seconda generazione.

frequencyi frequency

i

offset_yi

offset_xi

lengthi1

lengthi2

lengthim...

m line parts

directioni

X

Y

name: nome del retino.fill_types:fill_types = j1 + 2*j2 + 4*j3, dove ogni j può essere 0 o 1.j1: retini sezione,

Attributi

Guida di Riferimento al GDL 242

j2: retini coprenti,j3: retini disegno.

Se è impostato il bit j, è possibile utilizzare il retino definito corrispondente al tipo specificato. L'impostazione predefinita è tutti i retini (0).pattern definition: pattern1, pattern2, pattern3, pattern4, pattern5, pattern6, pattern7,pattern8: 8 numeri compresi tra 0 e 255 che rappresentano valori binari. Definisce il motivo bitmap del retino.

y

x

spacing*y

spacing*x

angle

spacing: spaziatura campitura - definisce un fattore di scala globale per l'intero retino. Tutti i valori verranno moltiplicati per questonumero in entrambe le direzioni x e y.

angle: angolo di rotazione globale in gradi.n: numero di linee di campitura.frequencyi: frequenza della linea (la distanza tra due linee è spacing * frequencyi).diri: angolo direzione della linea in gradi.offset_xi, offset_yi: offset della linea dall'origine.mi: numero di parti di linea.lengthij: lunghezza delle parti della linea (la lunghezza reale è spacing * lengthij). Le parti della linea sono segmenti e spazi che si

susseguono. La parte della prima riga è un segmento, la lunghezza zero significa un punto.Il motivo bitmap è definito solo dai parametri pattern1 ... pattern8 e viene utilizzato quando le opzioni di visualizzazione per iPoligoni Retinosono impostate su "Retino bitmap". Per definirlo, scegli l'unità più piccola del riempimento e rappresentalo come punti e spazi vuoti utilizzando

Attributi

Guida di Riferimento al GDL 243

una griglia rettangolare con 8x8 posizioni. Gli 8 parametri del motivo sono rappresentazioni decimali dei valori binari nelle linee della griglia(un punto è 1, uno spazio vuoto è 0).Il retino vettoriale è definito dalla seconda parte della definizione di retino come un insieme di linee tratteggiate ripetute con una data frequenza(frequencyi). Ogni linea della collezione è descritta dalla sua direzione (directioni), dal suo offset dall'origine (offset_xi, offset_yi) e dalladefinizione della linea tratteggiata che contiene segmenti e spazi con la lunghezza data (lengthij) che si susseguono.

Nota 2: Solo i retini semplici possono essere definiti con il comando DEFINE FILL. Non è possibile definire retini simbolo con questocomando.

Esempio:DEFINE FILL "mattone" 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.0Motivo bitmap:Pattern: Valore binario:pattern1 = 85 01010101 • • • •pattern2 = 255 11111111 ••••••••pattern3 = 136 10001000 • •pattern4 = 255 11111111 ••••••••pattern5 = 34 00100010 • •pattern6 = 255 11111111 ••••••••pattern7 = 136 10001000 • •pattern8 = 255 11111111 ••••••••

Attributi

Guida di Riferimento al GDL 244

Vista: Retino vettoriale:

DEFINE FILLADEFINE FILLA name [,] [FILLTYPES_MASK fill_types,] pattern1, pattern2, pattern3, pattern4, pattern5, pattern6, pattern7, pattern8, spacing_x, spacing_y, angolo, n, frequency1, directional_offset1, direction1, offset_x1, offset_y1, m1, length11, ..., length1m, ... frequencyn, directional_offsetn, directionn, offset_xn, offset_yn, mn, lengthn1, ..., lengthnm

Nota: Questo comando può contenere una definizione di dati aggiuntiva.Vedi sezione chiamata «Dati aggiuntivi» per i dettagli.

Attributi

Guida di Riferimento al GDL 245

X

Y

directional_offseti

directional_offseti

lengthi1

lengthi2

lengthim...

frequencyi frequency

i

offset_yi

offset_xi

directioni

m line parts

Un'istruzione DEFINE FILL estesa.

xspacingx*x

spacingy*y

y

angle

spacing_x, spacing_y: fattore di spaziatura nella direzione x e y, rispettivamente. Questi due parametri definiscono un fattore discala globale per l'intero retino. Tutti i valori nella direzione x saranno moltiplicati per spacing_x e tutti i valori nella direzione y sarannomoltiplicati per spacing_y.

Attributi

Guida di Riferimento al GDL 246

directional_offseti: l'offset dell'inizio della successiva linea di tratteggio simile, misurato lungo la direzione della linea. Ogni lineadella serie verrà tracciata ad una distanza definita da frequencyi con un offset definito da directional_offseti. La lunghezza reale dell'offsetsarà modulata dalla spaziatura definita.

Esempio: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, 6Motivo bitmap:Pattern: Valore binario:pat1 = 8 00001000 •pat2 = 142 10001110 • •••pat3 = 128 10000000 •pat4 = 232 11101000 ••• •pat5 = 8 00001000 •pat6 = 142 10001110 • •••pat7 = 128 10000000 •pat8 = 232 11101000 ••• •

Vista: Retino vettoriale:

Attributi

Guida di Riferimento al GDL 247

DEFINE SYMBOL_FILLDEFINE SYMBOL_FILL name [,][FILLTYPES_MASK fill_types,] pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8, spacingx1, spacingy1, spacingx2, spacingy2, angolo, scaling1, scaling2, macro_name [,] PARAMETERS [name1 = value1, ..., namen = valuen]

Nota: Questo comando può contenere una definizione di dati aggiuntiva.Vedi sezione chiamata «Dati aggiuntivi» per i dettagli.

spacing x2

spacing x1

spacingy2

spacingy1

library part symbol

angle

Un'istruzione DEFINE FILL estesa, che consente di includere un disegno di un elemento di libreria in una definizione di retino. L'utilizzo dimacro_name e i parametri sono gli stessi di CALL.spacingx1, spacingx2: spaziature orizzontali.spacingy1, spacingy2: spaziature verticali.

Attributi

Guida di Riferimento al GDL 248

scaling1: scala orizzontale.scaling2: scala verticale.macro_name: il nome dell'elemento di libreria.

DEFINE SOLID_FILLDEFINE SOLID_FILL name [[,] FILLTYPES_MASK fill_types]Definisce un retino pieno.

Nota: Questo comando può contenere una definizione di dati aggiuntiva.Vedi sezione chiamata «Dati aggiuntivi» per i dettagli.

DEFINE EMPTY_FILLDEFINE EMPTY_FILL name [[,] FILLTYPES_MASK fill_types]Definisce un retino vuoto.

Nota: Questo comando può contenere una definizione di dati aggiuntiva.Vedi sezione chiamata «Dati aggiuntivi» per i dettagli.

DEFINE LINEAR_GRADIENT_FILLDEFINE LINEAR_GRADIENT_FILL name [[,] FILLTYPES_MASK fill_types]Definisce un retino a gradiente lineare.

DEFINE RADIAL_GRADIENT_FILLDEFINE RADIAL_GRADIENT_FILL name [[,] FILLTYPES_MASK fill_types]Definisce un retino a gradiente radiale.

DEFINE TRANSLUCENT_FILLDEFINE TRANSLUCENT_FILL name [[,] FILLTYPES_MASK fill_types] pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8, percentageDefinisce un retino, che mostra i colori di sfondo e primo piano in una miscela definita dal valore percentuale dato.percentage: percentuale di opacità del colore di primo piano; 0 visualizza solo il colore di sfondo (come il retino vuoto), 100 visualizza

solo il colore di primo piano (come il retino pieno).

Attributi

Guida di Riferimento al GDL 249

DEFINE IMAGE_FILLDEFINE IMAGE_FILL name image_name [[,] FILLTYPES_MASK fill_types] part1, part2, part3, part4, part5, part6, part7, part8, image_vert_size, image_hor_size, image_mask, image_rotangoloDefinisce un retino in base a un motivo immagine.image_name: nome dell'immagine del motivo caricata nella libreria corrente.image_vert_size, image_hor_size: dimensione modello del motivo.image_mask: direttiva di piastrellaturaimage_mask = 1024*j11 + 2048*j12, dove ogni j può essere 0 o 1.Per ulteriori informazioni sulla disposizione delle immagini su una superficie, vedere DEFINE TEXTURE.j11: specchiatura nella direzione xj12: specchiatura nella direzione y

image_rotangle: angolo di rotazione del modello dal normale sistema di coordinate.

Tipi LineaDEFINE LINE_TYPEDEFINE LINE_TYPE name spacing, n, length1, ..., lengthn

Nota 1: Questo comando può contenere una definizione di dati aggiuntiva.Vedi sezione chiamata «Dati aggiuntivi» per i dettagli.Qualsiasi script GDL può includere definizioni di tipo linea prima del primo riferimento a quel nome di tipo linea. Il tipo linea definito in questomodo può essere utilizzato solo per gli elementi 2D nello script in cui è stato definito e nei suoi successivi script di seconda generazione.name: nome del tipo linea.spacing: fattore di spaziatura.n: numero delle parti di linea.lengthi: lunghezza delle parti di linea (la lunghezza reale è spacing * lengthi). Le parti di linea sono costituite da segmenti e spazi. La parte

della prima riga è un segmento, la lunghezza zero significa un punto.

Nota 2: Con questo comando è possibile definire solo i tipi linea semplici, ovvero costituiti solo da segmenti e spazi, la definizione di tipi lineasimbolo può essere eseguita con DEFINE SYMBOL_LINE.

Attributi

Guida di Riferimento al GDL 250

Esempio:DEFINE LINE_TYPE "linea - - ." 1, 6, 0.005, 0.002, 0.001, 0.002, 0.0, 0.002

DEFINE SYMBOL_LINEDEFINE SYMBOL_LINE name dash, gap, macro_name PARAMETERS [name1 = value1, ... namen = valuen]

Nota: Questo comando può contenere una definizione di dati aggiuntiva.Vedi sezione chiamata «Dati aggiuntivi» per i dettagli.Un'istruzione DEFINE LINE estesa, che consente di includere un disegno di un elemento di libreria in una definizione di tipo linea. L'utilizzodi macro_name e i parametri sono gli stessi di CALL.dash: scala di entrambi i componenti della linea.gap: divario tra ogni componente.

Stili di Testo e Blocchi di TestoDEFINE STYLEDEFINE STYLE name font_family, size, anchor, face_codeConsigliato per essere utilizzato con i comandi TEXT2 e TEXT.Gli script GDL possono includere definizioni di stile prima del primo riferimento a quel nome di stile. Lo stile definito in questo modo puòessere utilizzato solo nello script in cui è stato definito e nei suoi successivi script di seconda generazione.name: nome dello stile.font_family: nome della famiglia di caratteri utilizzata (ad esempio, Garamond).size: altezza del carattere "l" in millimetri nello spazio carta o metri nello spazio modello.Se lo stile definito viene utilizzato con i comandi TEXT2 e TEXT, la dimensione indica l'altezza dei caratteri in millimetri.Se utilizzato con stringhe PARAGRAPH nei comandi RICHTEXT2 e RICHTEXT, la dimensione che significa millimetri o metri dipende dalparametro fixed_height della definizione TEXTBLOCK, mentre i valori di contorno e di face_code e di ancoraggio non sono efficaci.anchor: codice del punto di posizione nel testo.

Attributi

Guida di Riferimento al GDL 251

1 2 3

4 5 6

7 8 9

face_code: una combinazione dei seguenti valori:face_code = j1 + 2*j2 + 4*j3, dove ogni j può essere 0 o 1.j1: grassetto,j2: corsivo,j3: sottolineato,Se face_code = 0, lo stile è normale.

DEFINE STYLE{2}DEFINE STYLE{2} name font_family, size, face_codeNuova versione della definizione di stile, consigliato per l'uso con le definizioni PARAGRAPH.name: nome dello stile.font_family: nome della famiglia di caratteri utilizzata (ad esempio, Garamond).size: altezza dei caratteri in mm o in m nello spazio modello.face_code: una combinazione dei seguenti valori:face_code = j1 + 2*j2 + 4*j3 + 32*j6 + 64*j7 + 128*j8, dove ogni j può essere 0 o 1.j1: grassetto,j2: corsivo,j3: sottolineato,j6: apice,j7: pedice,j8: barrato.Se face_code = 0, lo stile è normale.

Attributi

Guida di Riferimento al GDL 252

Se lo stile definito viene utilizzato con TEXT2, dimensione indica l'altezza dei caratteri in millimetri, mentre i valori di face_code apice, pedicee barrato non sono efficaci. Se utilizzato con stringhe PARAGRAPH nei comandi RICHTEXT2 e RICHTEXT, la dimensione che significamillimetri o metri dipende dal parametro fixed_height della definizione TEXTBLOCK.

PARAGRAPHPARAGRAPH name alignment, firstline_indent, left_indent, right_indent, line_spacing [, tab_position1, ...] [PEN index] [[SET] STYLE style1] [[SET] MATERIAL index] 'stringa1' 'stringa2' ... 'stringa n' [PEN index] [[SET] STYLE style2] [[SET] MATERIAL index] 'stringa1' 'stringa2' ... 'stringa n' ...ENDPARAGRAPHGli script GDL possono includere definizioni di paragrafo prima del primo riferimento al nome di quel paragrafo. Il paragrafo così definitopuò essere utilizzato solo nello script in cui è stato definito e nei suoi successivi script di seconda generazione. Un paragrafo è definitocome una sequenza di un numero arbitrario di stringhe (max 256 caratteri ciascuna) con attributi diversi: stile, penna e materiale (3D).Se non vengono specificati attributi nella definizione del paragrafo, vengono utilizzati gli attributi effettivi (o predefiniti). Le nuove righeincluse in una stringa di paragrafo (utilizzando il carattere speciale '\n') divideranno automaticamente la stringa in paragrafi identici, ciascunocontenente una riga. È possibile fare riferimento alle definizioni dei paragrafi in base al nome in TEXTBLOCK. Tutti i parametri di tipolunghezza (firstline_indent, left_indent, right_indent, tab_position) che significano millimetri o metri dipendono dal parametro fixed_heightdella definizione TEXTBLOCK.name: nome del paragrafo. Può essere una stringa o un numero intero. Gli identificatori interi funzionano solo con TEXTBLOCK_alignment: allineamento delle stringhe di paragrafo. Possibili valori:1: allineato a sinistra,

Attributi

Guida di Riferimento al GDL 253

2: Allineato al centro,3: allineato a destra,4: pienamente giustificato.

firstline_indent: rientro della prima riga, in mm o m nello spazio modello.left_indent: rientro sinistro, in mm o m nello spazio modello.right_indent: rientranza destra, in mm o m nello spazio modello.line_spacing: fattore di interlinea. La distanza predefinita tra le linee (dimensione del carattere + distanza dalla riga successiva) definita

dallo stile effettivo sarà moltiplicata per questo numero.tab_positioni: posizioni di tabulazione consecutive (ciascuna relativa all'inizio del paragrafo), in mm o m nello spazio modello. I

tabulatori nelle stringhe di paragrafo si agganciano a queste posizioni. Se non viene specificata alcuna posizione del tabulatore, vengonoutilizzati i valori predefiniti (12,7 mm). Funziona solo con il carattere speciale "\t".

stringi: parte del testo. Può essere una stringa costante o un parametro di tipo stringa.

TEXTBLOCKTEXTBLOCK name width, anchor, angolo, width_factor, charspace_factor, fixed_altezza, 'string_expr1' [, 'string_expr2', ...]Definizione di blocco di testo. Gli script GDL possono includere definizioni di blocco di testo prima del primo riferimento a quel nome diblocco di testo. Il blocco di testo definito in questo modo può essere utilizzato solo nello script in cui è stato definito e nei suoi successivi scriptdi seconda generazione. Un blocco di testo è definito come una sequenza di un numero arbitrario di stringhe o paragrafi che possono essereinseriti utilizzando RICHTEXT2 e RICHTEXT. Utilizza la funzione REQUEST ("TEXTBLOCK_INFO", ...) per ottenere informazioni sullalarghezza e l'altezza calcolate di un blocco di testo.name: nome del blocco di testo, valore di tipo stringa.width: larghezza del blocco di testo in mm o m nello spazio modello, se 0 viene calcolata automaticamente.anchor: codice del punto di posizione nel testo.

Attributi

Guida di Riferimento al GDL 254

1 2 3

4 5 6

7 8 9

angle: angolo di rotazione del blocco di testo in gradi.width_factor: Le larghezze dei caratteri definite dallo stile effettivo verranno moltiplicate per questo numero.charspace_factor: La distanza orizzontale tra due caratteri verrà moltiplicata per questo numero.fixed_height: Possibili valori:1: il TEXTBLOCK posizionato sarà indipendente dalla scala e tutti i parametri del tipo di lunghezza specificati significheranno millimetri,0: il TEXTBLOCK posizionato dipenderà dalla scala e tutti i parametri del tipo di lunghezza specificati indicheranno metri nello spaziomodello.

string_expri: indica il nome del paragrafo se è stato precedentemente definito, altrimenti semplice stringa (con parametri di paragrafopredefiniti).

TEXTBLOCK_TEXTBLOCK_ name width, anchor, angolo, width_factor, charspace_factor, fixed_altezza, n, 'expr_1' [, 'expr_2', ..., 'expr_n']Simile a TEXTBLOCK. Il significato di tutti i parametri è lo stesso, con le seguenti aggiunte:expr_i: i nomi dei paragrafi possono essere di tipo stringa o intero all'interno di un blocco di testo.n: numero di nomi expr_i elencati

Dati aggiuntiviLe definizioni degli attributi possono contenere definizioni di dati aggiuntive facoltative dopo la parola chiave ADDITIONAL_DATA. I datiaggiuntivi devono essere inseriti dopo i parametri precedentemente definiti del comando attributo. Un dato aggiuntivo ha un nome (namei) e unvalore (valuei), che può essere un'espressione di qualsiasi tipo, anche una matrice. Se il nome di un parametro stringa termina con la sottostringa

Attributi

Guida di Riferimento al GDL 255

"_file", il suo valore è considerato un nome di file e sarà incluso nel progetto archivio. Diversi significati di dati aggiuntivi possono essere definitie utilizzati dall'applicazione in esecuzione.La definizione di dati aggiuntivi è disponibile nei seguenti comandi:DEFINE MATERIAL parameters [[,] ADDITIONAL_DATA name1 = value1, name2 = value2, ...]DEFINE MATERIAL name [,] BASED_ON orig_name [,] PARAMETERS name1 = expr1 [, ...] [[,] ADDITIONAL_DATA name1 = expr1 [, ...]]DEFINE FILL parameters [[,] ADDITIONAL_DATA name1 = value1, name2 = value2, ...]DEFINE FILLA parameters [[,] ADDITIONAL_DATA name1 = value1, name2 = value2, ...]DEFINE SYMBOL_FILL parameters [[,] ADDITIONAL_DATA name1 = value1, name2 = value2, ...]DEFINE SOLID_FILL name [[,] FILLTYPES_MASK fill_types] [[,] ADDITIONAL_DATA name1 = value1, name2 = value2, ...]DEFINE EMPTY_FILL name [[,] FILLTYPES_MASK fill_types] [[,] ADDITIONAL_DATA name1 = value1, name2 = value2, ...]DEFINE LINEAR_GRADIENT_FILL name [[,] FILLTYPES_MASK fill_types] [[,] ADDITIONAL_DATA name1 = value1, name2 = value2, ...]DEFINE RADIAL_GRADIENT_FILL name [[,] FILLTYPES_MASK fill_types] [[,] ADDITIONAL_DATA name1 = value1, name2 = value2, ...]DEFINE TRANSLUCENT_FILL name [[,] FILLTYPES_MASK fill_types] pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8, percentage [[,] ADDITIONAL_DATA name1 = value1, name2 = value2, ...]DEFINE IMAGE_FILL name image_name [[,] FILLTYPES_MASK fill_types] part1, part2, part3, part4, part5, part6, part7, part8, image_vert_size, image_hor_size, image_mask, image_rotangolo [[,] ADDITIONAL_DATA name1 = value1, name2 = value2, ...]DEFINE LINE_TYPE parameters [[,] ADDITIONAL_DATA name1 = value1, name2 = value2, ...]DEFINE SYMBOL_LINE parameters [[,] ADDITIONAL_DATA name1 = value1, name2 = value2, ...]

DIPENDENZA DA FILE ESTERNI

FILE_DEPENDENCEFILE_DEPENDENCE "name1" [, "name2", ...]Puoi fornire un elenco di file esterni da cui dipende il tuo script GDL. I nomi dei file dovrebbero essere stringhe costanti.

Attributi

Guida di Riferimento al GDL 256

Tutti i file specificati qui saranno inclusi nel progetto archivio (come i nomi delle macro costanti usati nelle istruzioni CALL e i nomi delleimmagini costanti usati in vari comandi GDL). Il comando funziona solo a questo livello: se i file specificati sono elementi di libreria, i filedelle macro da loro chiamati non saranno inclusi.Il comando può essere utile nei casi in cui si fa riferimento a file esterni in posizioni personalizzate nello script GDL, ad esempio:ADDITIONAL_DATA parametri file, file di dati nelle operazioni sui file.

Script non geometrici

Guida di Riferimento al GDL 257

SCRIPT NON GEOMETRICIOltre alle finestre di script 3D e 2D che definiscono l'aspetto dell'Oggetto GDL, sono disponibili ulteriori script per aggiungervi informazionicomplementari. Si tratta dello script delle Proprietà utilizzato per i calcoli della quantità, dello script dei Parametri che include l'elenco deipossibili valori per i diversi parametri e dello script dell'Interfaccia utente per la creazione di un'interfaccia personalizzata per l'immissione deiparametri, script di Migrazione in avanti e script di Migrazione all'indietro per definire come eseguire la migrazione una vecchia istanza con ilpiù recente elemento effettivo o come migrare l'elemento corrente all'indietro verso uno più vecchio . I comandi disponibili per tutti questi tipidi script sono descritti in dettaglio nelle pagine seguenti.

LO SCRIPT DELLE PROPRIETàGli elementi di libreria hanno una finestra GDL riservata allo script delle Proprietà. Questo script consente di rendere le proprietà degli elementidi libreria dipendenti dai parametri e, tramite una direttiva, definire la loro posizione nella Lista finale dei Componenti. Utilizzando pochicomandi, è possibile definire nello script descrizioni e componenti locali. È inoltre possibile fare riferimento a descrizioni e componenti didatabase esterni. La lunghezza del codice non può superare i 32 caratteri.Nello script delle Proprietà è possibile utilizzare qualsiasi comando GDL che non generi una forma.

DATABASE_SETDATABASE_SET set_name [, descriptor_name, component_name, unit_name, key_name, criteria_name, list_set_name]Definizione del Set di Database o Selezione del Set di Database. Se questo comando viene inserito in uno script MASTER_GDL, definirà unset di database contenente i file Descrizione, Componente, Unità, Chiave, Criterio e Schema Lista.Questo nome del set di database può quindi essere referenziato dagli script delle proprietà utilizzando lo stesso comando con solo il parametroset_name come direttiva, selezionando il set di database effettivo a cui fanno riferimento REF COMPONENT e REF DESCRIPTOR. Ilnome del set di database predefinito è "Set di Default" e verrà utilizzato se nessun altro set è stato selezionato. I nomi dei file del set didatabase predefiniti sono: DESCDATA, COMPDATA, COMPUNIT, LISTKEY, LISTCRIT, LISTSET. Tutti questi nomi vengono tradottinelle versioni Archicad localizzate.Gli script possono includere un numero qualsiasi di selezioni DATABASE_SET.set_name: nome del set di database.descriptor_name: nome del file con i dati delle descrizioni.component_name: nome del file con i dati dei componenti.

Script non geometrici

Guida di Riferimento al GDL 258

unit_name: nome del file con i dati delle unità.key_name: nome del file con i dati delle chiavi.criteria_name: nome del file con i dati dei criteri.list_set_name: nome del file con i dati degli Schemi Lista.

DESCRIPTORDESCRIPTOR name [, code, keycode]Definizione di descrizione locale. Gli script possono includere un numero qualsiasi di DESCRIPTOR.name: può estendersi a più di una riga. Le nuove righe possono essere definite dal carattere "\n" e le tabulazioni da "\t". L'aggiunta di

"\" alla fine di una riga consente di continuare la stringa nella riga successiva senza aggiungere una nuova riga. All'interno della stringa, seil carattere "\" viene raddoppiato (\\), perderà la sua funzione di controllo e significherà semplicemente "\". La lunghezza della stringa(inclusi i caratteri della nuova riga) non può superare i 255 caratteri: caratteri aggiuntivi verranno semplicemente tagliati dal compilatore. Sehai bisogno di un testo più lungo, usa diversi DESCRIPTOR.

code: stringa, definisce un codice per la descrizione.keycode: stringa, riferimento a una chiave in un database esterno.La chiave verrà assegnata alla descrizione.

REF DESCRIPTORREF DESCRIPTOR code [, keycode]Riferimento tramite stringa codice e codice chiave a una descrizione in un database esterno.

COMPONENTCOMPONENT name, quantity, unit [, proportional_with, code, keycode, unitcode]Definizione dei componenti locali. Gli script possono includere un numero qualsiasi di COMPONENT.name: il nome del componente (max. 128 caratteri).quantity: un'espressione numerica.unit: la stringa utilizzata per la descrizione dell'unità.proportional_with: un codice compreso tra 1 e 6. Durante la creazione della lista, la quantità di componenti definita sopra verrà

automaticamente moltiplicata per un valore calcolato per l'elemento corrente elencato:1: elemento,

Script non geometrici

Guida di Riferimento al GDL 259

2: lunghezza,3: superficie A,4: superficie B,5: superficie ,6: volume.

code: stringa, definisce un codice per il componente.keycode: stringa, riferimento a una chiave in un database esterno. La chiave verrà assegnata al componente.unitcode: stringa, riferimento a un'unità in un database esterno che controlla il formato di output della quantità di componenti. Ciò

sostituirà la stringa di unità definita localmente.

REF COMPONENTREF COMPONENT code [, keycode [, numeric_expression]]Riferimento tramite stringa codice e codice chiave a un componente in un database esterno. Il valore per cui moltiplicare nel database delcomponente può essere sovrascritto dall'espressione numerica facoltativa specificata qui.

BINARYPROPBINARYPROPBinaryprop è un riferimento ai dati delle proprietà binarie (componenti e descrizioni) definiti nell'elemento di libreria nelle sezioni Componentie Descrizioni.Le direttive DATABASE_SET non hanno effetto sui dati binari.

SURFACE3DSURFACE3D ()La funzione Surface 3D () fornisce la superficie della forma 3D dell'elemento di libreria.Avvertimento: Se metti due o più forme nella stessa posizione con gli stessi parametri, questa funzione ti darà la somma totale delle superficidi tutte le forme.

VOLUME3DVOLUME3D ()La funzione Volume 3D () fornisce il volume della forma 3D dell'elemento di libreria.Avvertimento: Se metti due o più forme nella stessa posizione con gli stessi parametri, questa funzione ti darà la somma totale dei volumi ditutte le forme.

Script non geometrici

Guida di Riferimento al GDL 260

POSITIONPOSITION position_keywordEfficace solo nella Lista Componente.Modifica solo il tipo di elemento a cui sono associati le seguenti descrizioni e componenti. Se non sono presenti tali direttive nello scriptProprietà, le descrizioni e i componenti verranno elencati con i loro tipi di elemento predefiniti.position_keyword: le parole chiave sono le seguenti:WALLSCOLUMNSBEAMSDOORSWINDOWSOBJECTSCEILSPITCHED_ROOFSLIGHTSHATCHESROOMSMESHES

Una direttiva rimane valida per tutti i DESCRIPTOR e COMPONENT successivi fino a quando non viene attribuita la direttiva successiva.Uno script può includere un numero qualsiasi di direttive.

Esempio:DESCRIPTOR "\tMobile verniciato.\n\t Proprietà:\n\\t\t - porte a battenti\n\\t\t - altezza regolabile\n\\t\t - a prova di graffio"REF DESCRIPTOR "0001"s = SURFACE3D () !superficie del guardarobaCOMPONENT "collante", 1.5, "kg"COMPONENT "maniglia", 2*c, "nb" !c number of doorsCOMPONENT "vernice", 0.5*s, "kg"POSITION WALLSREF COMPONENT "0002"

Script non geometrici

Guida di Riferimento al GDL 261

DRAWINGDRAWINGDRAWING: Si riferisce al disegno descritto nello script 2D dello stesso elemento di libreria. Usalo per posizionare i disegni nella distinta base.

LO SCRIPT DEI PARAMETRIGli elenchi di parametri sono insiemi di possibili valori numerici o stringa. Possono essere applicati ai parametri come definito nello Scriptdei Parametri dell'elemento di Libreria, nell'oggetto Archicad_LibraryMaster o nello script MASTER_GDL. La compatibilità dei tipi vieneverificata dal compilatore GDL.Lo script dei parametri verrà interpretato ogni volta che il valore di un parametro del tipo di elenco di valori deve essere modificato e i possibilivalori definiti nello script appariranno in un menu a comparsa. Per i parametri numerici, i valori delle voci del menu a tendina possono esseredefiniti come stringhe utilizzando il comando VALUES{2}.

VALUESVALUES "parameter_name" [,]value_definition1 [, value_definition2, ...]VALUES "fill_parameter_name" [[,] FILLTYPES_MASK fill_types], value_definition1 [, value_definition2, ...]VALUES "profile_parameter_name" [[,] PROFILETYPES_MASK profile_types], value_definition1 [, value_definition2, ...]Definisce una restrizione di valore per un parametro (eccetto i tipi di dizionario). Il comando ha una sintassi speciale per i parametri di tiporetino e di tipo di profilo. Se utilizzato su un parametro matrice, la restrizione verrà applicata a tutti gli elementi singolarmente.parameter_name: nome di un parametro esistentefill_parameter_name: nome di un parametro di tipo retinoesistentefill_types:fill_types = j1 + 2*j2 + 4*j3, dove ogni j può essere 0 o 1.j1: retini sezione,j2: retini coprenti,j3: retini disegno.

Può essere utilizzato solo per i parametri di tipo retino. Il popup del retino per questo parametro conterrà solo quei tipi di retino specificatidai bit impostati su 1. L'impostazione predefinita è tutti i retini (0).profile_parameter_name: nome di un parametro di tipo profilo esistenteprofile_types:

Script non geometrici

Guida di Riferimento al GDL 262

profile_types = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5, dove ogni j può essere 0 o 1.j1: muro,j2: trave,j3: pilastro,j4: parapetto,j5: altro.

Può essere impostato solo per i parametri di tipo profilo. La lista dei valori per qualsiasi parametro di tipo profilo include automaticamente tuttii profili esistenti del file di pianta, non è necessaria alcuna definizione individuale VALUES. L'uso di VALUES senza maschera (0) ha lo stessoidentico risultato. Utilizzando VALUES con mascheramento è possibile filtrare l'elenco dei valori, lasciando solo i profili corrispondenti dei bitimpostati su 1. Anche gli indici individuali dei profili possono essere elencati come definizioni di valori regolari.value_definitioni: definizione di valore, può essere:expression: espressione numerica o stringa, oCUSTOM: parola chiave, il che significa che è possibile immettere qualsiasi valore personalizzato oRANGE: definizione di intervallo, con passo opzionaleRANGE left_delimiter[lower_limit], [upper_limit]right_delimiter [STEP step_start_value,step_value]

left_delimiter: [, significa >=, oppure (, significa >; lower_limit: espressione del limite inferiore; upper_limit: espressione del limite superiore;right_delimiter: ], significa <=, oppure ), significa <; step_start_value: valore iniziale; step_value: valore del passo.

VALUES{2}VALUES{2} "parameter_name" [,]num_expression1, description1, [, num_expression2, description2, ...]VALUES{2} "parameter_name" [,]num_values_array1, descriptions_array1 [, num_values_array2, descriptions_array2, ...]parameter_name: nome di un parametro di tipo angolo, lunghezza, reale o intero esistentenum_expressioni, num_values_arrayi: definizione di valore semplice per un parametro numerico o espressione di matrice

contenente più valori numerici. Disponibile solo per VALUES{2}descriptioni, descriptions_arrayi: stringa di descrizione del valore numerico i o espressione di matrice contenente più

stringhe di descrizione dei valori definiti da num_values_arrayi (le dimensioni della matrice devono corrispondere). Disponibile solo perVALUES{2}

Script non geometrici

Guida di Riferimento al GDL 263

Esempio 1: Liste semplici di valoriVALUES "par1" 1, 2, 3VALUES "par2" "a", "b"VALUES "par3" 1, CUSTOM, SIN (30)VALUES "par4" 4, RANGE(5, 10], 12, RANGE(,20] STEP 14.5, 0.5, CUSTOM

Esempio 2: Legge tutti i valori di stringa da un file per utilizzarli in un elenco di valoriDIM sarray[]! file nella libreria, contenente i dati dei parametrifilename = "ProjectNotes.txt"ch1 = OPEN ("text", filename, "MODE=RO, LIBRARY")i = 1j = 1sarray[1] = ""! raccoglie tutte le stringheDO n = INPUT (ch1, i, 1, var) IF n > 0 AND VARTYPE (var) = 2 THEN sarray[j] = var j = j + 1 ENDIF i = i + 1WHILE n > 0CLOSE ch1! popup dei parametri con stringhe lette dal fileVALUES "RefNote" sarray

PARAMETERSPARAMETERS name1 = expression1 [, name2 = expression2, ..., namen = expressionn]namei: il nome del parametro.expressioni: il nuovo valore del parametro.Utilizzando questo comando, i valori dei parametri di un elemento di libreria possono essere modificati dallo script dei parametri.La modifica avrà effetto solo per la successiva interpretazione. I comandi nelle macro si riferiscono ai parametri del chiamante. Se il parametroè un elenco di valori, il valore scelto sarà un valore esistente, il valore personalizzato o il primo valore dall'elenco di valori.

Script non geometrici

Guida di Riferimento al GDL 264

Inoltre, la variabile stringa globale GLOB_MODPAR_NAME contiene il nome dell'ultimo parametro modificato dall'utente.

LOCKLOCK "name1" [, "name2", ..., "namen"]Blocca nella finestra di dialogo delle impostazioni, i parametri con i nomi specificati . Un parametro bloccato apparirà in grigio nella finestradi dialogo e il suo valore non può essere modificato dall'utente.namen: espressione stringa, nome del parametro da bloccare.Compatibilità: a partire da Archicad 22, il blocco/occultamento dei controlli selezionati dell'interfaccia Archicad è stato esteso.La funzionalità estesa può essere attivata con l'impostazione "Abilita il nascondi/blocca di parametri opzionali specifici a nome fisso " (Vedi lafinestra di dialogo "Dettagli / Opzioni compatibilità" dell'oggetto nell'Editor degli elementi di libreria). La selezione estesa contiene parametriopzionali specifici corrispondenti a:• controlli di gestione del testo standard della finestra di dialogo delle impostazioni "Stile Testo"- vedi sezione chiamata «Parametri per la

gestione del testo»,• controlli estesi per lo stile delle etichette della finestra di dialogo delle impostazioni "Stile testo" nello strumento Etichetta - vedisezione

chiamata «Parametri per le etichette»,• e controlli del puntatore dell'etichetta selezionati del pannello di dialogo delle impostazioni "Puntatore" - vedisezione chiamata «Parametri

per le etichette».LOCK ALL ["name1" [, "name2", ..., "namen"]]Blocca tutti i parametri nella finestra di dialogo delle impostazioni, ad eccezione di quelli elencati dopo la parola chiave ALL.

HIDEPARAMETERHIDEPARAMETER "name1" [, "name2", ..., "namen"]Nasconde i parametri denominati e i relativi parametri figlio nella finestra di dialogo delle impostazioni. Un parametro nascosto che usa questocomando nello script dei parametri scomparirà automaticamente dall'elenco dei parametri.namen: espressione stringa, nome del parametro da nascondere.Compatibilità: a partire da Archicad 22, il blocco / occultamento dei controlli dell'interfaccia Archicad selezionati è stato esteso. Per i dettagli, Vedi LOCK.HIDEPARAMETER ALL ["name1" [, "name2", ..., "namen"]]Nasconde tutti i parametri ei relativi parametri secondari nella finestra di dialogo delle impostazioni, ad eccezione di quelli (e dei loro figli)elencati dopo la parola chiave ALL.

Script non geometrici

Guida di Riferimento al GDL 265

LO SCRIPT DELL'INTERFACCIA UTENTEUtilizzando i seguenti comandi GDL, è possibile definire un'interfaccia personalizzata per il pannello Impostazioni personali di un elemento dilibreria nella finestra di dialogo delle impostazioni. Se fai click sul pulsante Imposta come Default nell'editor dell'elemento di libreria, l'interfacciapersonalizzata verrà utilizzata per impostazione predefinita nella finestra di dialogo delle impostazioni dell'oggetto (porte, finestre, ecc.). Iparametri con controllo personalizzato non vengono nascosti automaticamente nell'elenco dei parametri originale, ma possono essere nascostimanualmente nell'editor degli elementi di libreria.

L'origine del sistema di coordinate si trova nell'angolo in alto a sinistra. Dimensioni e valori delle coordinate sono misurati in pixel.

UI_DIALOGUI_DIALOG title [, size_x, size_y]Definisce il titolo della finestra di dialogo. Il titolo predefinito è "Impostazioni personali'. Attualmente, la dimensione dell'area disponibile èfissata a 444 x 296 pixel e i parametri size_x e size_y non vengono utilizzati.Restrizione: Lo script dell'interfaccia dovrebbe contenere un solo comando UI_DIALOG.

UI_PAGEUI_PAGE page_number [, parent_id, page_title [, image]]Direttiva di pagina, definisce la pagina su cui sono posizionati gli elementi dell'interfaccia. La numerazione delle pagine predefinita inizia da 1,ma è possibile utilizzare qualsiasi numero iniziale. Se non è presente alcun comando UI_PAGE nello script dell'interfaccia, ogni elemento verràvisualizzato sulla prima pagina per impostazione predefinita. Lo spostamento tra le pagine può essere definito in diversi modi:• Il modo più semplice è lasciarlo fare ad Archicad: nell'editor degli oggetti, premere il pulsante "Pagine gerarchiche" nella finestra Script

dell'interfaccia utente e inserire i parametri opzionali del comando UI_PAGE. In questo caso il numero_pagina della pagina selezionatadall'albero viene passato alla parte libreria tramite il parametro "gs_ui_current_page". Non è necessario impostare una lista di valori per ilparametro di paginazione: Archicad raccoglie e ordina tutti gli ID di pagina validi dai parametri del comando UI_PAGE pre-leggendo loscript dell'interfaccia utente dell'oggetto.

Script non geometrici

Guida di Riferimento al GDL 266

• Un altro metodo consiste nell'utilizzare due pulsanti creati con i comandi UI_NEXT e UI_PREV, inserendoli in ogni pagina per manipolareil valore del parametro "gs_ui_current_page". Vedi UI_BUTTON per maggori informazioni.

• Nel caso in cui la nuova configurazione gerarchica della pagina non sia richiesta, per creare la gestione dinamica della pagina, utilizzare ilUI_INFIELD{3}. Imposta un elenco di valori per il parametro "gs_ui_current_page" e posiziona un popup utilizzando i suoi valori in ognipagina.

page_number: il numero di pagina, un numero intero positivo. I seguenti elementi dell'interfaccia sono inseriti in questa pagina.parent_id: numero intero positivo, l'id genitore della pagina. Il valore speciale -1 valore indica il genitore radice.Valutato solo se è impostato

"Pagine gerarchiche".page_title: stringa del titolo della pagina, appare nella parte superiore della pagina e nel popup di visualizzazione ad albero delle pagine.

Valutato solo se è impostato "Pagine gerarchiche".image: nome del file o numero di indice di un'immagine memorizzata nell'elemento di libreria. Se specificata e non vuota o 0, questa icona

associata alla pagina viene visualizzata nella parte superiore della pagina e nella visualizzazione ad albero popup delle pagine, accanto al titolo.Valutato solo se è impostato "Pagine gerarchiche".

Avvertimento: Nel metodo semplice di paginazione, qualsiasi interruzione di continuità nella numerazione delle pagine costringe l'inserimentodi una nuova pagina senza pulsanti, e quindi non ci sarà la possibilità di andare a nessuna altra pagina da quel punto. Questa restrizione puòessere aggirata utilizzando UI_CURRENT_PAGE.

UI_CURRENT_PAGEUI_CURRENT_PAGE indiceDefinizione della tabpage corrente da visualizzare.Avvertimento: Il salto a una pagina inesistente forza l'inserimento di una nuova pagina senza pulsanti e controlli, e quindi non c'è la possibilitàdi andare a nessuna altra pagina da quel punto.index: indice valido della UI_PAGE da visualizzare.

UI_BUTTONUI_BUTTON tipo, testo, x, y [, larghezza, altezza, id [, url]]Definizione di pulsante nella pagina corrente. I pulsanti possono essere utilizzati per vari scopi: spostarsi da una pagina all'altra, aprire unapagina Web o eseguire un'azione definita da uno script di parametri. I pulsanti possono contenere testo.type: tipo di pulsante come segue:UI_PREV: se premuto, viene visualizzata la pagina precedente,UI_NEXT: se premuto, viene visualizzata la pagina successiva,

Script non geometrici

Guida di Riferimento al GDL 267

UI_FUNCTION: se premuta, la variabile globale GLOB_UI_BUTTON_ID viene impostata sull'id del pulsante specificato nell'espressione,UI_LINK: se premuto, l'URL dell'espressione viene aperto nel browser web predefinito,

text: il testo che dovrebbe apparire sul pulsante.x, y: la posizione del pulsante.width, height: larghezza e altezza del pulsante in pixel. Se non specificato (per motivi di compatibilità) i valori predefiniti sono 60 pixel

per la larghezza e 20 pixel per l'altezza.id: un identificatore univoco intero.url: una stringa contenente un URL.I pulsanti UI_PREV e UI_NEXT sono disabilitati se la pagina precedente/successiva non è presente. Se questi pulsanti vengono premuti, ilparametro gs_ui_current_page dell'elemento di libreria viene impostato sull'indice della pagina da mostrare - se esiste un parametro con questonome.

Esempio:! Script UIUI_CURRENT_PAGE gs_ui_current_pageUI_BUTTON UI_FUNCTION, "Vai a pagina 9", 200,150, 70,20, 3UI_BUTTON UI_LINK, "Visita il sito web", 200,180, 100,20, 0, "https://graphisoft.com"! script dei parameterif GLOB_UI_BUTTON_ID = 3 then parameters gs_ui_current_page = 9, ...endif

UI_PICT_BUTTONUI_PICT_BUTTON tipo, testo, riferimento_immagine, x, y, larghezza, altezza[, id [, url]]Simile a UI_BUTTON. Ma questo tipo di pulsanti può contenere immagini.picture_reference: nome del file o numero di indice dell'immagine memorizzata nell'elemento di libreria. L'indice 0 si riferisce

all'anteprima dell'immagine dell'elemento di libreria. La trasparenza dei pixel è consentita nell'immagine.text: non ha effetto sui pulsanti immagine.

UI_SEPARATORUI_SEPARATOR x1, y1, x2, y2Genera un rettangolo separatore. Il rettangolo diventa una singola linea di separazione (verticale o orizzontale) se x1 = x2 o y1 = y2

Script non geometrici

Guida di Riferimento al GDL 268

x1, y1: coordinate del nodo in alto a sinistra (coordinate del punto iniziale della linea).x2, y2: coordinate del nodo in basso a destra (coordinate del punto finale della linea).

UI_GROUPBOXUI_GROUPBOX testo, x, y, larghezza, altezzaUna riquadro di gruppo è un separatore rettangolare con il testo della didascalia. Può essere utilizzato per raggruppare visivamente i parametricorrelati logicamente.text: il titolo del riquadro di gruppo.x, y: la posizione dell'angolo superiore sinistro.width, height: larghezza e altezza in pixel.

UI_PICTUI_PICT picture_reference, x, y [, width, height [, mask]]Elemento immagine nella finestra di dialogo. Il file immagine deve trovarsi in una delle librerie caricate.picture_reference: nome del file o numero di indice dell'immagine memorizzata nell'elemento di libreria. L'indice 0 si riferisce

all'immagine di anteprima dell'elemento di libreria.x, y: posizione dell'angolo superiore sinistro dell'immagine.width, height: larghezza e altezza opzionali in pixel; per impostazione predefinita, verranno utilizzati i valori originali di larghezza e

altezza dell'immagine.mask: alfa + distorsione.Vedi PICTURE per una spiegazione completa.

UI_STYLEUI_STYLE fontsize, face_codeTutti gli UI_OUTFIELD e gli UI_INFIELD generati dopo questa parola chiave useranno questo stile fino alla successiva istruzione UI_STYLE.fontsize: uno dei seguenti valori di dimensione del carattere:0: piccolo,1: piccolissimo,2: grande.

face_code: simile a DEFINE STYLE, ma i valori non possono essere usati in combinazione.

Script non geometrici

Guida di Riferimento al GDL 269

0: normale,1: grassetto,2: corsivo,4: sottolineato.

UI_OUTFIELDUI_OUTFIELD espressione, x, y [, larghezza, altezza [, flags]]Genera un testo statico.expression: espressione numerica o stringa.x, y: posizione dell'angolo superiore sinistro del blocco di testo.width, height: larghezza e altezza della casella di testo. Se omesso, la casella di testo avvolgerà il testo il più strettamente possibile

per il carattere specificato.flags:flags = j1 + 2*j2 + 4*j3, dove ogni j può essere 0 o 1.j1: allineamento orizzontale (con j2),j2: allineamento orizzontale (con j1):j1 = 0, j2 = 0: Allinea al bordo sinistro (default),j1 = 1, j2 = 0: Allinea al bordo destro,j1 = 0, j2 = 1: Allinea al centro,j1 = 1, j2 = 1: Non usato,j3: testo in grigio.

UI_INFIELDUI_INFIELD "nome", x, y, larghezza, altezza [, metodo, nome_immagine, numero_immagine, numero_righe, cella_x, cella_y, immagine_x, immagine_y, espressione_immagine1, testo1, ... espressione_immaginen, teston]

Script non geometrici

Guida di Riferimento al GDL 270

UI_INFIELD{2}UI_INFIELD{2} nome, x, y, larghezza, altezza [, metodo, nome_immagine, numero_immagine, numero_righe, cella_x, cella_y, immagine_x, immagine_y, espressione_immagine1, testo1, ... espressione_immaginen, teston]

UI_INFIELD{3}UI_INFIELD{3} nome, x, y, larghezza, altezza [, metodo, nome_immagine, numero_immagine, numero_righe, cella_x, cella_y, immagine_x, immagine_y, espressione_immagine1, testo1, definizione_valore1, ... [picIdxArray, textArray, valuesArray, ...] espressione_immaginen, teston, definizione_valoren]

UI_INFIELD{4}UI_INFIELD{4} "nome", x, y, larghezza, altezza [, metodo, nome_immagine, numero_immagine, numero_righe, cella_x, cella_y, immagine_x, immagine_y, espressione_immagine1, testo1, definizione_valore1, ... [picIdxArray, textArray, valuesArray, ...] espressione_immaginen, teston, definizione_valoren]Genera un testo di modifica o un menu a comparsa per l'immissione del parametro. Viene generato un popup se il tipo di parametro è listavalori, materiale, retino, tipo di linea o colore penna.

Script non geometrici

Guida di Riferimento al GDL 271

Se sono presenti i parametri opzionali del comando, gli elenchi di valori possono essere visualizzati in alternativa come campi di visualizzazionecon immagini in miniatura. Sono disponibili diversi tipi di controllo di immagini in miniatura. Visualizzano le immagini specificate e i testiassociati e consentono la selezione di un singolo elemento alla volta, proprio come in un menu a tendina.Nella versione 1 e 2 di infield, gli elementi in miniatura e gli elementi della lista valori sono associati da indici.La versione 3 e la versione 4 infield definiscono l'associazione di valori che lega le voci delle miniature agli elementi dell'elenco di valori delparametro associato. Se un valore definito in un elemento miniatura non è presente nell'elenco dei valori del parametro, non verrà visualizzatonel controllo. Anche matrici di dimensioni identiche possono essere utilizzati per le linee di definizione.Lo script dell'Interfaccia viene ricostruito con il nuovo valore dopo la modifica di qualsiasi parametro.name: nome parametro come espressione stringa (tutte e 4 le versioni del comando), con opzione nome parametro per UI_INFIELD{2}

e UI_INFIELD{3} e nome parametro come opzione valore matrice di testo per UI_INFIELD{4}.x, y: la posizione del testo di modifica, popup o controllo.width, height: larghezza e altezza in pixel.method: il tipo di controllo.1: Controllo visualizzazione elenco.

2: Controllo menu a comparsa.

Script non geometrici

Guida di Riferimento al GDL 272

3: Controllo radio popup con icona (freccia sull'immagine ).

4: Controllo radio a premere con icona.

5: Pulsante con testo.

6: Pulsante con immagine.

7: Checkbox con testo.

8: Menu a comparsa con testo.

Script non geometrici

Guida di Riferimento al GDL 273

9: Controllo radio popup con icona (freccia a lato dell'immagine ).

picture_name: nome del file immagine comune contenente una matrice di immagini concatenate, o una stringa vuota.images_number: numero di immagini nella matrice, per i parametri booleani può essere 0 o 2.rows_number: numero di righe della matrice.cell_x, cell_y: larghezza e altezza di una cella all'interno del campo di visualizzazione delle miniature, inclusi immagine e testo.image_x, image_y: larghezza e altezza dell'immagine nella cella.expression_imagei: indice del numero di immagine i nella matrice o il nome del singolo file. Se è stato specificato un nome file di

immagine comune, qui è necessario utilizzare gli indici. La combinazione di indici e nomi di file individuali non funziona.texti: testo nella cella di numero i.value_definitioni: definizione di valore che corrisponde a una voce dell'elenco di valori in base al valore:expression: espressione numerica o stringa, oCUSTOM: parola chiave, il che significa che è possibile inserire qualsiasi valore personalizzato.

picIdxArray: Matrice dinamica di nomi di immagini (stringhe) o indici (numeri interi) nelle celle. Non utilizzare tipi misti nella matricetextArray: Matrice dinamica di testi nelle cellevalueArray: Matrice dinamica dei valori dei parametri nelle celle

Script non geometrici

Guida di Riferimento al GDL 274

Esempio 1:IF c THEN UI_DIALOG "Parametri di definizione del foro" UI_OUTFIELD "Tipo di foro:",15,40,180,20 UI_INFIELD "D",190,40,105,20 IF d="Rettangolare" THEN UI_PICT "rect.pict",110,33,60,30 UI_OUTFIELD "Larghezza del foro",15,70,180,20 UI_INFIELD "E", 190,70,105,20 UI_OUTFIELD "Altezza del foro",15,100,180,20 UI_INFIELD "F", 190,100,105,20 UI_OUTFIELD "Distanza tra i fori",15,130,180,20 UI_INFIELD "G", 190,130,105,20 ELSE UI_PICT "circle.pict",110,33,60,30 UI_OUTFIELD "Diametro del foro circolare",15,70,180,20 UI_INFIELD "J", 190,70,105,20 UI_OUTFIELD "Distanza tra i centri dei fori", 15,100,180,20 UI_INFIELD "K", 190,100,105,20 UI_OUTFIELD "Risoluzione del foro circolare", 15,130,180,20 UI_INFIELD "M", 190,130,105,20 ENDIF UI_OUTFIELD "Numero di fori",15,160,180,20 UI_INFIELD "I", 190,160,105,20ENDIFUI_SEPARATOR 50,195,250,195UI_OUTFIELD "Materiale della trave", 15,210,180,20UI_INFIELD "MAT", 190,210,105,20UI_OUTFIELD "Penna della trave", 15,240,180,20UI_INFIELD "P", 190,240,105,20

Script non geometrici

Guida di Riferimento al GDL 275

Esempio 2:! Script dei Parametri:VALUES "mioParametro" "Due", "Tre", "Cinque", CUSTOM

! Script dell'Interfaccia:px = 80py = 60cx = px + 3cy = py + 25

UI_INFIELD{3} "mioParametro", 10, 10, 4 * cx + 21, cy + 5, 1, "miaImmagine", 6, 1, cx, cy, px, py, 1, "1 - uno", "Uno", 2, "2 - due", "Due", 3, "3 - tre", "Tre", 4, "4 - quattro", "Quattro", 5, "5 - cinque", "Cinque", 6, "valore personale", CUSTOM

Script non geometrici

Guida di Riferimento al GDL 276

Esempio 3:! Script dei Parametri:VALUES "mioParametro" "Due", "Tre", "Cinque", CUSTOM

! Script dell'Interfaccia:px = 80py = 60cx = px + 3cy = py + 25

paramNameVar = "mioParametro"UI_INFIELD{4} paramNameVar, 10, 10, 4 * cx + 21, cy + 5, 1, "miaImmagine", 6, 1, cx, cy, px, py, 1, "1 - uno", "Uno", 2, "2 - due", "Due", 3, "3 - tre", "Tre", 4, "4 - quattro", "Quattro", 5, "5 - cinque", "Cinque", 6, "valore personale", CUSTOM

Script non geometrici

Guida di Riferimento al GDL 277

Esempio 4:! Script Masterdim picIdxValuesUI[]dim textValuesUI[]dim parameterValues[]

if myTypeParameter = 1 then picIdxValuesUI[1] = 6 picIdxValuesUI[2] = 7 picIdxValuesUI[3] = 8

textValuesUI[1] = "6 - sei" textValuesUI[2] = "7 - sette" textValuesUI[3] = "8 - otto"

parameterValues[1] = "Sei" parameterValues[2] = "Sette" parameterValues[3] = "Otto"else picIdxValuesUI[1] = 6 picIdxValuesUI[2] = 7

textValuesUI[1] = "6 - sei" textValuesUI[2] = "7 - sette"

parameterValues[1] = "Sei" parameterValues[2] = "Sette"endif

Script non geometrici

Guida di Riferimento al GDL 278

! Script dei Parametri:VALUES "myTypeParameter" 1, 2VALUES "myStringParameter" "Due", "Tre", "Cinque", parameterValues, CUSTOM

! Script dell'Interfaccia:px = 80py = 60cx = px + 3cy = py + 25

paramNameVar = "myStringParameter"UI_INFIELD{4} paramNameVar, 10, 10, 4 * cx + 21, cy + 5, 1, "miaImmagine", 6, 1, cx, cy, px, py, 1, "1 - uno", "Uno", 2, "2 - due", "Due", 3, "3 - tre", "Tre", 4, "4 - quattro", "Quattro", 5, "5 - cinque", "Cinque", picIdxValuesUI, textValuesUI, parameterValues, 9, "valore personale", CUSTOM

UI_CUSTOM_POPUP_INFIELDUI_CUSTOM_POPUP_INFIELD "nome", x, y, larghezza, altezza, storeHiddenId, treeDepth, groupingMethod, selectedValDescription, value1, value2, valuesArray1, .... valuen, valuesArrayn

UI_CUSTOM_POPUP_INFIELD{2}UI_CUSTOM_POPUP_INFIELD{2} nome, x, y, larghezza, altezza, storeHiddenId, treeDepth, groupingMethod, selectedValDescription, value1, value2, valuesArray1, .... valuen, valuesArrayn Compatibilità: introdotto in Archicad 20.Genera un popup per un elenco di valori di un parametro definito nello script dell'interfaccia utente per evitare di utilizzare lo script dei Parametri.

Script non geometrici

Guida di Riferimento al GDL 279

Adatto per elenchi che non possono essere richiesti nello script dei Parametri. Per le limitazioni dello script dei parametri vedi sezione chiamata «OpzioniREQUEST».name: nome parametro come espressione stringa per UI_CUSTOM_POPUP_INFIELD o nome parametro con valori di indice effettivi

opzionali se matrice per UI_CUSTOM_POPUP_INFIELD {2}.x, y: la posizione del testo di modifica, pop-up.width, height: larghezza e altezza in pixel.storeHiddenId, treeDepth: per impostare alberi automatici o manuali.storeHiddenId = 0, treeDepth = 0: funziona solo con i parametri di matrici.Il parametro "treeDepth" viene impostato automaticamente dalla seconda dimensione (numero di colonne) della matrice.storeHiddenId = 1, treeDepth > 0: funziona solo con parametri singoli.Devono essere definiti n * (1 + treeDepth) valori (il primo per l'ID memorizzato e il resto per la definizione dell'albero personalizzato).

groupingMethod: metodo di raggruppamento per ordinare l'albero.1: non ordina i gruppi e i valori sotto lo stesso genitore.

2: ordina i gruppi e i valori sotto lo stesso genitore.

Script non geometrici

Guida di Riferimento al GDL 280

selectedValDescription: il testo scritto nel campo, se stringa vuota il testo sarà l'ID memorizzato dell'elemento selezionato.valuei, valuesArrayi: definire i valori dell'albero uno per uno e/o con una matrice monodimensionale.

Esempio:

UI_CUSTOM_POPUP_INFIELD "stParameterName", x, y, larghezza, altezza, 1, 3, 2, "", ! storeHiddenId, treeDepth, groupingMethod, selectedValDescription "IDnascosto1", "tipo1", "gruppo1", "valore1", "IDnascosto2", "tipo1", "gruppo1", "valore2", "IDnascosto3", "tipo2", "gruppo2", "valore1", "IDnascosto4", "tipo2", "gruppo2", "valore2", "IDnascosto5", "tipo2", "", "valore3", "IDnascosto6", "", "", "valore4", "IDnascosto7", "", "", "valore5"

Script non geometrici

Guida di Riferimento al GDL 281

UI_RADIOBUTTONUI_RADIOBUTTON nome, valore, testo, x, y, larghezza, altezza

UI_RADIOBUTTON{2}UI_RADIOBUTTON{2} "nome", valore, testo, x, y, larghezza, altezzaVersione {2} Compatibilità: introdotto in Archicad 20.Genera un pulsante radio di un gruppo di pulsanti radio. I gruppi di pulsanti radio sono definiti dal nome del parametro. Gli elementi nellostesso gruppo si escludono a vicenda.name: nome parametro o nome come espressione stringa per UI_RADIOBUTTON e nome parametro come espressione stringa (o valore

indicizzato matrice di testo) per UI_RADIOBUTTON{2}.value: parametro è impostato su questo valore se questo pulsante radio è impostato.text: questo testo viene visualizzato accanto al pulsante radio.x, y: la posizione del pulsante radio.width, height: larghezza e altezza in pixels.

Esempio:UI_RADIOBUTTON "ceilingPlan", 0, `Pianta pavimento`, 10, 140, 100, 20UI_RADIOBUTTON "ceilingPlan", 1, `Pianta soffitto`, 10, 160, 100, 20

Script non geometrici

Guida di Riferimento al GDL 282

UI_PICT_RADIOBUTTONUI_PICT_RADIOBUTTON nome, valore, testo, riferimento_immagine, x, y, larghezza, altezza [UI_TOOLTIP tooltip]

UI_PICT_RADIOBUTTON{2}UI_PICT_RADIOBUTTON{2} "nome", valore, testo, riferimento_immagine, x, y, larghezza, altezza [UI_TOOLTIP tooltip]Compatibilità: introdotto in Archicad 22.Genera un pulsante radio con icona di un gruppo di pulsanti radio. I gruppi di pulsanti radio sono definiti dal nome del parametro. Gli elementinello stesso gruppo si escludono a vicenda.name: nome parametro o nome come espressione stringa per UI_PICT_RADIOBUTTON e nome parametro come espressione stringa (o

valore indicizzato matrice di testo) per UI_PICT_RADIOBUTTON{2}.value: parametro è impostato su questo valore se questo pulsante radio è impostato.text: questo testo viene visualizzato sul pulsante se non viene dichiarata alcuna immagine.picture_reference: nome del file o numero di indice dell'immagine memorizzata nell'elemento di libreria. L'indice 0 si riferisce

all'anteprima dell'immagine dell'elemento di libreria. La trasparenza dei pixel è consentita nell'immagine.x, y: la posizione del pulsante radio (ancoraggio in alto a sinistra).width, height: larghezza e altezza del pulsante in pixel. La dimensione dell'immagine non è dichiarata individualmente: dovrebbe

adattarsi al pulsante, poiché l'immagine non viene ridimensionata automaticamente per adattarsi ed è centrata sul pulsante.

UI_PICT_PUSHCHECKBUTTONUI_PICT_PUSHCHECKBUTTON nome, testo, riferimento_immagine, frameFlag, x, y, larghezza, altezza [UI_TOOLTIP tooltip]

UI_PICT_PUSHCHECKBUTTON{2}UI_PICT_PUSHCHECKBUTTON{2} "nome", testo, riferimento_immagine, frameFlag, x, y, larghezza, altezza [UI_TOOLTIP tooltip]Compatibilità: introdotto in Archicad 22.

Script non geometrici

Guida di Riferimento al GDL 283

Genera un pulsante di controllo a pressione con icona per un parametro booleano. Simile a UI_INFIELD{3} con il metodo 6, con un'opzioneaggiuntiva per controllare la visibilità del riquadro dei pulsanti.name: nome parametro o nome come espressione stringa per UI_PICT_PUSHCHECKBUTTON e nome parametro come espressione

stringa (o valore indicizzato matrice di testo) per UI_PICT_PUSHCHECKBUTTON{2}.text: questo testo viene visualizzato sul pulsante se non viene dichiarata alcuna immagine.picture_reference: nome del file o numero di indice dell'immagine memorizzata nell'elemento di libreria. L'indice 0 si riferisce

all'anteprima dell'immagine dell'elemento di libreria. La trasparenza dei pixel è consentita nell'immagine.frameFlag: 1 - viene visualizzato il riquadro, 0 - il riquadro non è visibile. Utilizzare questa opzione per abbinare il controllo ad altri

elementi dell'interfaccia utente nello stile.x, y: la posizione del pulsante (ancoraggio in alto a sinistra).width, height: larghezza e altezza del pulsante in pixel. La dimensione dell'immagine non è dichiarata individualmente: dovrebbe

adattarsi al pulsante, poiché l'immagine non viene ridimensionata automaticamente per adattarsi ed è centrata sul pulsante.

UI_TEXTSTYLE_INFIELDUI_TEXTSTYLE_INFIELD nome, faceCodeMask, x, y, buttonWidth, buttonHeight[, buttonOffsetX]

UI_TEXTSTYLE_INFIELD{2}UI_TEXTSTYLE_INFIELD{2} "name", faceCodeMask, x, y, buttonWidth, buttonHeight [, buttonOffsetX]Compatibilità: introdotto in Archicad 22.Genera una riga di pulsanti di selezione utilizzati specificamente per impostare lo stile del carattere tramite un parametro intero, con aspetto similea quello visualizzato nell'interfaccia generale del programma. Il formato del valore impostato corrisponde al parametro di input di DEFINESTYLE{2}. Sia le icone che i suggerimenti sono referenziati da Archicad stesso, in base alla versione localizzata. I pulsanti abilitati vengonovisualizzati in una disposizione a riga singola.name: nome parametro o nome come espressione stringa per UI_TEXTSTYLE_INFIELD e nome parametro come espressione stringa (o

valore indicizzato matrice di testo) per UI_TEXTSTYLE_INFIELD {2}.faceCodeMask: i bit utilizzati aggiungono l'opzione di stile del carattere corrispondente al controllo:faceCodeMask = j1 + 2*j2 + 4*j3 + 32*j6 + 64*j7 + 128*j8, dove ogni j può essere 0 o 1.j1: grassetto,j2: corsivo,

Script non geometrici

Guida di Riferimento al GDL 284

j3: sottolineato,j6: apice,j7: pedice,j8: barrato.Se faceCodeMask = 0, vengono visualizzati tutti i possibili pulsanti di stile del carattere. In caso di un faceCodeMasknon valido, "ControllaScript" restituisce avvertimento ("È stato utilizzato un valore di maschera non valido").

x, y: la posizione del primo pulsante (ancoraggio in alto a sinistra).buttonWidth, buttonHeight: larghezza e altezza di un pulsante in pixel. La larghezza intera può essere calcolata utilizzando i valorifaceCodeMask, buttonWidth e buttonOffsetX, se necessario.

buttonOffsetX: distanza tra i pulsanti adiacenti nella riga, in pixel. Automatico, se non impostato.

UI_LISTFIELDUI_LISTFIELD fieldID, x, y, larghezza, altezza [, iconFlag [, description_header [, value_header]]]Genera un controllo per l'input del parametro come un elenco scorrevole contenente un numero arbitrario di righe, con le seguenti colonne:icona, descrizione e campo di input per il valore del parametro. Le righe della lista possono essere definite con il comando UI_LISTITEM.Le definizioni UI_LISTFIELD e UI_LISTITEM possono essere inserite in script in un ordine arbitrario. I campi di elenco vuoti (senza vocidi elenco) non vengono visualizzati.fieldID: l'identificatore univoco del campo elenco. Questo ID utilizzato anche nei comandi UI_LISTITEM specifica il campo di elenco

a cui appartengono gli elementi di elenco. Non sono consentiti duplicati all'interno di uno script dell'interfaccia utente.x, y: posizione dell'angolo superiore sinistro del campo di elenco.width, height: larghezza e altezza in pixel.iconFlag:iconFlag = 0: la colonna dell'icona non viene generata per questo campo di elenco.iconFlag = 1: viene generata la colonna icona per questo campo di elenco (valore predefinito se non specificato).

Se il pannello Impostazioni personalizzate ha un solo controllo e questo controllo è un campo elenco, i parametri x, y, larghezza e altezza nonhanno effetto. In questo caso, la larghezza del campo elenco è uguale alla larghezza del pannello Impostazioni personalizzate.description_header: il titolo della colonna Descrizione.value_header: il titolo della colonna Valore.Se sia description_header che value_header sono stringhe vuote o non specificate, il campo di elenco viene generato senza un'intestazione. Sele stringhe contengono almeno uno spazio, il campo elenco viene generato con un'intestazione vuota.

Script non geometrici

Guida di Riferimento al GDL 285

UI_LISTITEMUI_LISTITEM itemID, fieldID, "nome" [, childFlag [, immagine [, paramDesc]]]

UI_LISTITEM{2}UI_LISTITEM{2} itemID, fieldID, nome [, childFlag [, image [, paramDesc]]]Aggiunge un listitem al listfield definito dal parametro fieldIDl.itemID: l'identificatore univoco dell'elemento list. Gli elementi di elenco possono essere inseriti in uno script in un ordine arbitrario e

vengono ordinati in base all'ID elemento. Non sono consentiti ID duplicati di elementi di elenco all'interno di un campo di elenco.fieldID: l'identificatore univoco del campo di elenco contenente questo elemento di elenco.name: nome parametro come espressione stringa per UI_LISTITEM o nome parametro con valori di indice effettivi opzionali se matrici

per UI_LISTITEM {2}.childFlag:childFlag = 0: listitem è un groupitem (valore predefinito se non specificato).childFlag = 1: l'elemento listitem è un elemento figlio. L'elemento padre è il primo elemento di gruppo (groupitem) sopra.

image: nome del file o numero di indice dell'immagine memorizzata nell'elemento di libreria. Se valido, viene visualizzato come icona nellaprima colonna del campo elenco (listfield) nella riga dell'elemento di elenco associato (listitem).

paramDesc: il nome visibile dell'elemento dell'elenco nella colonna Descrizione. Se lasciato vuoto, la descrizione viene automaticamentecompilata dalla descrizione dell'elenco dei parametri dell'elemento di libreria. Se non è presente alcuna descrizione, viene invece visualizzatoil nome del parametro.

Se la stringa "nome" è vuota, l'elemento dell'elenco è un gruppo con tipo di carattere in grassetto. Se sia la stringa "nome" che paramDesc sonovuoti, listitem è un separatore. Il comando HIDEPARAMETER è inefficace per gli elementi dell'elenco, lo script non dovrebbe aggiungerel'elemento invece di usarlo. Il comando LOCK può essere utilizzato ed è efficace per gli elementi dell'elenco.Per un campo elenco (listfield) si consiglia di definire diversi itemID per diversi parametri, gruppi e separatori.

Script non geometrici

Guida di Riferimento al GDL 286

Esempio:! Elenco con intestazione senza colonna di icone

ui_listfield 1, 10, 35, 432, 220, 0, "Testo intestazione descrizione", "Testo intestazione valore"

ui_listitem 1, 1, "", 0, "", "Titolo del gruppo 1" ! Group Lineui_listitem 2, 1, "A", 1ui_listitem 3, 1, "B", 1ui_listitem 4, 1, "ZZYZX", 1

ui_listitem 5, 1, "" !separatorui_listitem 6, 1, "AC_show2DHotspotsIn3D", 0, "", "Group Title 2" ! Riga dei parametri di gruppoui_listitem 7, 1, "A", 1, "", "Descrizione personalizzata A"ui_listitem 8, 1, "B", 1, "", "Descrizione personalizzata B"ui_listitem 9, 1, "ZZYZX", 1, "", "Descrizione personalizzata ZZYZX"

UI_CUSTOM_POPUP_LISTITEM

UI_CUSTOM_POPUP_LISTITEM itemID, fieldID, "nome", childFlag, image, paramDesc, storeHiddenId, treeDepth, groupingMethod, selectedValDescription, value1, value2, valuesArray1, .... valuen, valuesArrayn

Script non geometrici

Guida di Riferimento al GDL 287

UI_CUSTOM_POPUP_LISTITEM{2}

UI_CUSTOM_POPUP_LISTITEM{2} itemID, fieldID, nome, childFlag, image, paramDesc, storeHiddenId, treeDepth, groupingMethod, selectedValDescription, value1, value2, valuesArray1, .... valuen, valuesArrayn Compatibilità: introdotto in Archicad 20.Simile a "UI_CUSTOM_POPUP_INFIELD" e a "UI_CUSTOM_POPUP_INFIELD{2}"Genera un listitem con popup per un elenco di valori di un parametro definito nello script dell'interfaccia utente per evitare di utilizzare loscript dei Parametri.Adatto per elenchi che non possono essere richiesti nello script dei Parametri. Per le limitazioni dello script dei parametri vedi sezione chiamata «OpzioniREQUEST».itemID: l'identificatore univoco dell'elemento listitem. Gli elementi di elenco possono essere inseriti in uno script in un ordine arbitrario e

vengono ordinati in base all'ID elemento. Non sono consentiti ID duplicati di elementi di elenco all'interno di un campo di elenco (listfield).fieldID: l'identificatore univoco del campo di elenco (listfield) contenente questo elemento di elenco (listitem).name: nome parametro come espressione stringa per UI_CUSTOM_POPUP_LISTITEM o nome parametro con valori di indice effettivi

opzionali se matrice per UI_CUSTOM_POPUP_LISTITEM {2}.childFlag:childFlag = 0: l'elemento di lista (listitem) è un gruppo di elementi (groupitem) (valore predefinito se non specificato).childFlag = 1: l'elemento di lista (listitem) è un elemento figlio (childitem). L'elemento padre è il primo elemento di gruppo (groupitem)sopra.

image: nome del file o numero di indice dell'immagine memorizzata nell'elemento di libreria. Se valido, viene visualizzato come icona nellaprima colonna del campo elenco nella riga dell'elemento di elenco associato.

paramDesc: il nome visibile dell'elemento dell'elenco nella colonna Descrizione. Se lasciato vuoto, la descrizione viene automaticamentecompilata dalla descrizione dell'elenco dei parametri dell'elemento di libreria. Se non è presente alcuna descrizione, viene invece visualizzatoil nome del parametro.

storeHiddenId, treeDepth: per impostare alberi automatici o manuali.storeHiddenId = 0, treeDepth = 0: funziona solo con i parametri matrice.Il parametro "treeDepth" viene impostato automaticamente dalla seconda dimensione (numero di colonne) della matrice.

Script non geometrici

Guida di Riferimento al GDL 288

storeHiddenId = 1, treeDepth > 0: funziona solo con parametri singoli.Ci devono essere n * (1 + treeDepth) valori definiti (il primo per l'ID memorizzato e il resto per la definizione dell'albero personalizzato).

groupingMethod: metodo di raggruppamento per ordinare l'albero.1: non ordina i gruppi e i valori sotto lo stesso genitore.

2: ordina i gruppi e i valori sotto lo stesso genitore.

Script non geometrici

Guida di Riferimento al GDL 289

selectedValDescription: il testo scritto nel campo, se stringa vuota il testo sarà l'ID memorizzato dell'elemento selezionato.valuei, valuesArrayi: definire i valori dell'albero uno per uno e/o con una matrice monodimensionale.

Esempio:

UI_CUSTOM_POPUP_LISTITEM itemID, fieldID, "stParameterName", 0, "", "", 1, 3, 2, "", ! storeHiddenId, treeDepth, groupingMethod, selectedValDescription "IDnascosto1", "tipo1", "gruppo1", "valore1", "IDnascosto2", "tipo1", "gruppo1", "valore2", "IDnascosto3", "tipo2", "gruppo2", "valore1", "IDnascosto4", "tipo2", "gruppo2", "valore2", "IDnascosto5", "tipo2", "", "valore3", "IDnascosto6", "", "", "valore4", "IDnascosto7", "", "", "valore5"

UI_TOOLTIPUI_BUTTON tipo, testo, x, y, larghezza, altezza [, id [, url]] [ UI_TOOLTIP tooltiptext ]UI_PICT_BUTTON tipo, testo, riferimento_immagine, x, y, larghezza, altezza [, id [, url]] [ UI_TOOLTIP tooltiptext ]UI_INFIELD "nome", x, y, larghezza, altezza [, parametri extra ... ] [ UI_TOOLTIP tooltiptext ]UI_INFIELD{2} nome, x, y, larghezza, altezza [, parametri extra ... ] [ UI_TOOLTIP tooltiptext ]

Script non geometrici

Guida di Riferimento al GDL 290

UI_INFIELD{3} nome, x, y, larghezza, altezza [, parametri extra ... ] [ UI_TOOLTIP tooltiptext ]UI_INFIELD{4} "nome", x, y, larghezza, altezza [, parametri extra ... ] [ UI_TOOLTIP tooltiptext ]UI_CUSTOM_POPUP_INFIELD "nome", x, y, larghezza, altezza , parametri extra ... [ UI_TOOLTIP tooltiptext ]UI_CUSTOM_POPUP_INFIELD{2} nome, x, y, larghezza, altezza , parametri extra ... [ UI_TOOLTIP tooltiptext ]UI_RADIOBUTTON nome, valore, testo, x, y, larghezza, altezza [ UI_TOOLTIP tooltiptext ]UI_OUTFIELD espressione, x, y, larghezza, altezza [, flags] [ UI_TOOLTIP tooltiptext ]UI_PICT espressione, x, y [, larghezza, altezza [, mask]] [ UI_TOOLTIP tooltiptext ]UI_LISTFIELD fieldID, x, y, larghezza, altezza [, iconFlag [, description_header [, value_header]]] [ UI_TOOLTIP tooltiptext ]UI_LISTITEM itemID, fieldID, "nome" [, childFlag [, immagine [, paramDesc]]] [ UI_TOOLTIP tooltiptext ]UI_LISTITEM{2} itemID, fieldID, nome [, childFlag [, image [, paramDesc]]] [ UI_TOOLTIP tooltiptext ]UI_CUSTOM_POPUP_LISTITEM itemID, fieldID, "nome", childFlag , immagine, paramDesc, parametri extra ... [ UI_TOOLTIP tooltiptext ]UI_CUSTOM_POPUP_LISTITEM{2} itemID, fieldID, nome, childFlag , immagine, paramDesc, parametri extra ... [ UI_TOOLTIP tooltiptext ]Definisce il tooltip per il controllo nella pagina dell'interfaccia utente. Le descrizioni comandi (tooltip) sono disponibili per pulsanti, campiinterni, campi esterni, campi elenco, elementi di elenco e immagini se non sono disabilitati dall'utente nel contesto in esecuzione (ad esempio,nel menu Aiuto di Archicad).Il suggerimento del campo di elenco viene visualizzato in tutti gli elementi di elenco inclusi se per un elemento non è stato dichiarato nessuno.Il tooltip del listitem avrà effetto sul tooltip del listfield (se esistente) inline.tooltiptext: il testo da visualizzare come descrizione comando per il controllo.

UI_COLORPICKERUI_COLORPICKER "redParamName", "greenParamName", "blueParamName", x0, y0 [, larghezza [, altezza]]

UI_COLORPICKER{2}UI_COLORPICKER{2} redParamName, greenParamName, blueParamName, x0, y0 [, larghezza [, altezza]]

Script non geometrici

Guida di Riferimento al GDL 291

Finestra di dialogo di selezione dei colori per impostare i componenti r, g, b di un colore e memorizzarli nei parametri dati. Questi valori possonoessere utilizzati successivamente nel comando LIGHT.redParamName, greenParamName, blueParamName: nomi di parametri come espressione stringa per UI_COLORPICKER

o nomi di parametri con valori di indice effettivi opzionali se matrice per UI_COLORPICKER{2}x0, y0: posizione dell'angolo superiore sinistro del selettore di colori.width, height: larghezza e altezza in pixel.

UI_SLIDERUI_SLIDER "nome", x0, y0, larghezza, altezza [, nSegments [, sliderStyle]]

UI_SLIDER{2}UI_SLIDER{2} nome, x0, y0, larghezza, altezza [, nSegments [, sliderStyle]]Genera un controllo dispositivo di scorrimento per un parametro intero definito con un intervallo. Per i parametri interi con intervallo indefinito,i valori limite inferiore e superiore sono -32768 (minimo con segno breve) e 32767 (massimo con segno breve).name: nome parametro come espressione parametro stringa o nome con valori di indice effettivi opzionali per UI_SLIDER{2}.x0, y0: posizione del cursore.width, height: larghezza e altezza del cursore in pixel. Se larghezza > altezza il cursore è orizzontale, nel caso opposto è verticale.nSegments: numero opzionale di segmenti sul dispositivo di scorrimento. Se 0, non viene visualizzato alcun segmento, se omesso o negativo,

il numero di segmenti viene calcolato dai valori limite superiore e inferiore dell'intervallo e dal passo definito per il parametro.sliderStyle: stile del cursore opzionale (il valore predefinito è 0)0: il cursore punta verso il basso (cursori orizzontali) o verso destra (cursori verticali).1: il cursore punta verso l'alto (cursori orizzontali) o verso sinistra (cursori verticali).

LO SCRIPT DI MIGRAZIONE IN AVANTISe un elemento viene modificato completamente in una libreria più recente, la compatibilità può essere mantenuta definendo la logica dimigrazione. Per informazioni più dettagliate, dai un'occhiata a sezione chiamata «Script di migrazione in avanti».

Script non geometrici

Guida di Riferimento al GDL 292

Esempio:

actualGUID = FROM_GUID

! ==============================================================================! Subroutines! ==============================================================================

_startID = "AAAA-AAAA-...AAA" _endID = "BBBB-BBBB-...BBB"gosub "migrationstepname_FWM"

! ==============================================================================! Set Migration GUID! ==============================================================================

setmigrationguid actualGUID

! ==============================================================================end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! en! ==============================================================================

! ==============================================================================! migrationstepname! =============================================================================="migrationstepname_FWM": if actualGuid = _startID then newParameter = oldParameter parameters newParameter = newParameter actualGuid = _endID endifreturn

FROM_GUID è la variabile globale che contiene l'ID principale dell'oggetto originale su cui viene eseguita la migrazione.Nel caso in cui lo script abbia esito positivo, l'istanza viene sostituita dal nuovo elemento con i parametri aggiornati.

SETMIGRATIONGUIDSETMIGRATIONGUID guid

Script non geometrici

Guida di Riferimento al GDL 293

Il comando indica all'ambiente in esecuzione quale elemento sarà l'elemento di migrazione corrispondente per l'oggetto corrente. Se l'IDrestituito appartiene all'elemento corrente, la migrazione dell'oggetto viene completata.

STORED_PAR_VALUESTORED_PAR_VALUE ("oldparname", outputvalue)Recupera il valore di un parametro, che è presente nell'oggetto migrato e presente o eliminato nella nuova versione dell'oggetto. Questo modulodi comando è suggerito anche per quei parametri che sono presenti anche nel nuovo oggetto. Per ottenere il valore di un vecchio parametroMatrice, il parametro outputvalue deve essere inizializzato come matrice (con il comando dim).oldparname: espressione stringa, nome del parametro nel vecchio elenco di parametri.outputvalue: variabile di output per memorizzare il valore del parametro.Valore di ritorno: 1 in caso di successo, altrimenti 0 (ad esempio, se non ci sono parametri con quel nome nell'elenco dei parametri del vecchiooggetto). Durante il controllo dello script il valore restituito è sempre 0, perché la vecchia sezione Parametri non è nota.

DELETED_PAR_VALUEDELETED_PAR_VALUE ("oldparname", outputvalue)Recupera il valore di un parametro, che è presente nell'oggetto migrato e presente o eliminato nella nuova versione dell'oggetto. Questo modulodi comando è suggerito per quei parametri che sono cancellati dal nuovo oggetto. Per ottenere il valore di un vecchio parametro matrice, ilparametro outputvalue deve essere inizializzato come matrice (con il comando dim).oldparname: espressione stringa, nome del parametro nel vecchio elenco di parametri.outputvalue: variabile di output per memorizzare il valore del parametro.Valore di ritorno: 1 in caso di successo, altrimenti 0 (ad esempio, se non ci sono parametri con quel nome nell'elenco dei parametri del vecchiooggetto). Durante il controllo dello script il valore restituito è sempre 0, perché la vecchia sezione Parametri non è nota.

LO SCRIPT DI MIGRAZIONE A RITROSOTramite lo script di migrazione a ritroso è possibile definire la logica di conversione all'indietro convertendo le nuove istanze di oggetti in quellepiù vecchie. Per informazioni più dettagliate, dai un'occhiata a sezione chiamata «Script di migrazione all'indietro».

Script non geometrici

Guida di Riferimento al GDL 294

Esempio:

targetGUID = TO_GUID

! ==============================================================================! Subroutines! ==============================================================================

gosub "migrationstepname_BWM"

! ==============================================================================! Set Migration GUID! ==============================================================================

setmigrationguid targetGUID

! ==============================================================================end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! en! ==============================================================================

! ==============================================================================! migrationstepname! =============================================================================="migrationstepname _BWM": if targetGUID # "" then bMigrationSuccess = 1 if bMigrationSuccess = 1 then oldParameter = newParameter parameters oldParameter = oldParameter else targetGuid = "" endif endifreturn

TO_GUID è la variabile globale che contiene l'ID principale dell'elemento di destinazione nella conversione.Usa SETMIGRATIONGUID per impostare targetGUID.

Script non geometrici

Guida di Riferimento al GDL 295

NEWPARAMETERNEWPARAMETER "nome", "tipo" [, dim1 [, dim2]]Aggiunge un nuovo parametro ai parametri di un elemento di libreria nello script di migrazione a ritroso. La creazione del parametro avviene solodopo la completa interpretazione dello script. Se un parametro con il nome specificato esiste già nell'elenco dei parametri, si verifica un errore.name: espressione stringa, nome del parametro da creare.type: espressione stringa, tipo del parametro. I valori possibili sono:IntegerLengthAngleRealNumLightSwitchColorRGBIntensityLineTypeMaterialFillPatternPenColorStringBooleanBuildingMaterial(Compatibilità: introdotto in Archicad 22.)Profile(Compatibilità: introdotto in Archicad 22.)Dictionary(Compatibilità: introdotto in Archicad 24.)

dim1, dim2: dim1 è la prima dimensione del parametro, 0 se non impostato. dim2 è la seconda dimensione del parametro, 0 se nonimpostato .dim1 = 0, dim2 = 0: il parametro è un parametro scalare,dim1 > 0, dim2 = 0: il parametro è una matrice monodimensionale,dim1 > 0, dim2 > 0: il parametro è una matrice bidimensionale,

Limitazione dei parametri:If dim2 > 0, then dim1 > 0.

Espressioni e Funzioni

Guida di Riferimento al GDL 296

ESPRESSIONI E FUNZIONITutti i parametri delle forme GDL possono essere il risultato di calcoli. Ad esempio, è possibile definire che l'altezza del cilindro è cinquevolte il raggio del cilindro, oppure prima di definire un cubo, è possibile spostare il sistema di coordinate in ciascuna direzione della metà delladimensione del cubo, in modo da avere il origine iniziale al centro del cubo anziché nell'angolo inferiore sinistro. Per definire questi calcoli,GDL offre un gran numero di strumenti matematici: espressioni, operatori e funzioni.

ESPRESSIONIÈ possibile scrivere espressioni composte nelle istruzioni GDL. Le espressioni possono essere di tipo numerico e stringa. Sono costanti, variabili,parametri o chiamate di funzione e qualsiasi combinazione di questi negli operatori. Le coppie di parentesi tonde (()) (precedenza 1) vengonoutilizzate per sostituire la precedenza predefinita degli operatori.Alle variabili di tipo semplice possono essere assegnati valori numerici e stringa, anche nello stesso script, e possono essere utilizzaterispettivamente in espressioni di tipo numerico e stringa. Le operazioni che producono stringhe NON POSSONO essere utilizzate direttamentecome nomi di macro nelle chiamate di macro o come nomi di attributi in materiale, retino, tipo di linea o definizioni di stile. Le variabili a cui èstato assegnato un valore stringa verranno trattate come tali e possono essere utilizzate ovunque siano richiesti valori stringa. Se in un secondomomento nello script viene assegnato un valore numerico alla stessa variabile, sarà utilizzabile nelle espressioni numeriche solo fino a quandonon verrà assegnato nuovamente un valore stringa. Ove possibile, nel processo di precompilazione viene controllato il tipo di espressioni.

DICTDICT variableName1[, variableName2...]Compatibilità: introdotto in Archicad 23.Il GDL supporta i dizionari. Una variabile viene dichiarata come dizionario dopo la dichiarazione di cui sopra (e non può essere modificatain matrice o tipo semplice o viceversa). I parametri degli elementi di libreria possono anche essere dizionari, selezionando il Tipo dizionarionell'elenco dei parametri.Dopo la parola chiave DICT può esserci un numero qualsiasi di nomi di variabili separati da virgole. Ogni variabile conterrà chiavi gerarchichee coppie di valori. È possibile fare riferimento a una chiave del dizionario con la notazione a punti. Il percorso completo di una chiave non puòessere più lungo di 255 caratteri (contando gli indici di matrice come un carattere).Dizionari e valori di tipo semplice:• È possibile assegnare valori di tipo semplice (stringa, numero intero, virgola mobile) alle chiavi del dizionario,• non è necessaria alcuna dichiarazione, il tipo di valore per la chiave è impostato dal valore corrente:

Espressioni e Funzioni

Guida di Riferimento al GDL 297

DICT myDictionary

myDictionary.element1 = 1myDictionary.element1 = "salve"

print myDictionaryDizionari e valori di tipo derivati:• un dizionario può annidare il tipo matrice (con una sola dimensione) e le chiavi di tipo dizionario,• un array all'interno di un dizionario può contenere un dizionario senza nome o tipi semplici (a cui fa riferimento l'indice),• tuttavia, un parametro/variabile di tipo matrice autonomo non può contenere elementi di tipo dizionario,• una chiave di matrice annidata può essere inizializzata facendovi riferimento immediatamente, in questo caso non è necessario dichiararla

con DIM,DICT myDictionarymyDictionary.myArray[1] = 1myDictionary.myArray[2] = 5

print myDictionary• gli indici non referenziati di una matrice annidata vengono inizializzati automaticamente in base al tipo del primo elemento referenziato della

matrice (chiavi stringa a "", chiavi numeriche a 0, chiavi del dizionario a {}),DICT myDictionaryDICT dictForNestingdictForNesting.elem1 = "salve"dictForNesting.elem2 = "mondo"

myDictionary.myArray[2] = dictForNesting

print myDictionary

DICT myDictionary2myDictionary2.myArray[3] = 33myDictionary2.myArray[4] = 44

print myDictionary2• i valori di una matrice annidata devono essere dello stesso tipo (tutto stringa, tutto intero, tutto in virgola mobile o tutti tipi dizionario),

questo è contrario al modo in cui funzionano le matrici, quindi è necessaria una maggiore cautela!

Espressioni e Funzioni

Guida di Riferimento al GDL 298

DICT myDictionary2myDictionary2.myArray[1] = 1myDictionary2.myArray[2] = 1.0 ! errore GDL

• per modificare i tipi di valore di una matrice annidata, è necessario prima ripristinarla: si crea una matrice vuota e si sovrascrive la matricenidificata con questa nuova matrice vuota. Il tipo del valore di riferimento successivo imposterà automaticamente il tipo per la matrice dopoil ripristino:DICT myDictionarymyDictionary.myArray[1] = "salve"print myDictionary

DIM arrayForReset[]myDictionary.myArray = arrayForResetprint myDictionary

myDictionary.myArray[1] = 10000print myDictionary

• la modifica del tipo del primo valore di una matrice annidata contenente solo quel valore, non cambierà il tipo della matrice!DICT myDictionarymyDictionary.myArray[1] = "salve"print myDictionary

myDictionary.myArray[1] = 10000 ! errore GDLprint myDictionary

Inizializzazione e copia:• il primo riferimento del dizionario deve essere DICT dictName, una subroutine contenente il nome del dizionario non può precederlo

(come nel caso di DIM matrice),• l'inizializzazione è richiesta prima del primo utilizzo di una chiave, sia esplicitamente con l'assegnazione alla chiave, sia implicitamente con

l'assegnazione di un dizionario che contiene la chiave alla giusta profondità.DICT myDictionary

myDictionary.level1.a = 1myDictionary.level1.b = 2myDictionary.level2 = myDictionary.level1

print myDictionary.level2.b• scrivere il nome del dizionario senza chiavi interne effettive fa riferimento all'intera struttura del dizionario, che in alcuni casi è accettata

(istruzioni CALL, PRINT, LET),

Espressioni e Funzioni

Guida di Riferimento al GDL 299

• la scrittura di una parte della struttura fa riferimento alla sottostruttura sotto quella chiave come dizionarioDICT myDictionarymyDictionary.point1.x = 1myDictionary.point1.y = 1myDictionary.point1.type = 0print myDictionary

DICT myPointmyPoint = myDictionary.point1print myPoint

myDictionary.point2 = myDictionary.point1print myDictionary

• l'assegnazione di tutto o parte di un dizionario fa una copia completa del lato destro sul lato sinistroDICT myDictionary, tempPointtempPoint.x = 1tempPoint.y = 1myDictionary.line.point1 = tempPoint

tempPoint.x = 2tempPoint.y = 2myDictionary.line.point2 = tempPoint

DICT myLinemyLine = myDictionary.linemyDictionary.line.point2.x = 0print myLine

Chiamate a macro e richieste:• nelle chiamate di macro, i valori del tipo di dizionario possono essere inviati alla macro se è presente un parametro di tipo di dizionario

all'estremità ricevente,• RETURNED_PARAMETERS può lavorare con i dizionari: un DICT vuoto deve essere dichiarato sul lato ricevente (oggetto chiamante).

Nel codice seguente myDictionary è un parametro di tipo dict nella macro, _myDictionary è una variabile di tipo dict sul latodell'oggetto chiamante:

Espressioni e Funzioni

Guida di Riferimento al GDL 300

! oggetto chiamante script MasterDICT _myDictionary

_myDictionary.element1 = 1_myDictionary.element2 = 2

DICT _dictForReceivedData

call "macroname" parameters all myDictionary = _myDictionary, returned_parameters _dictForReceivedData

print _dictForReceivedData

! nello script Master dell'oggetto macromyDictionary.element1 = myDictionary.element1 * 2myDictionary.element2 = myDictionary.element2 * 2

end myDictionary• nelle opzioni REQUEST attualmente non ci sono richieste di supporto ai dizionari. Tuttavia, la possibilità è aperta per il futuro.• Le richieste LIBRARYGLOBAL non possono restituire valori di tipo dizionario.Visualizzazione e funzioni:• i parametri di tipo di dizionario non sono visibili nella pagina "Tutti i parametri" nella finestra di dialogo "Impostazioni",• i parametri di tipo di dizionario non sono disponibili per la visualizzazione nelle Liste o per le mappature IFC,• la visualizzazione simile al testo funziona solo con PRINT (avvertimenti"Controlla Script" e stampa nella finestra di Resoconto in formato

JSON),• comandi generali di gestione del testo come TEXT2, RICHTEXT2, ecc. non supportano il dizionario completo,• tuttavia, i valori di tipo non di dizionario nidificati possono essere visualizzati con essi,DICT myDictionarymyDictionary.myArray[1] = "salve"myDictionary.myArray[2] = "mondo"

text2 0, 0, myDictionary.myArray[1] + " " + myDictionary.myArray[2]print myDictionary

• i valori per un parametro di tipo dizionario possono essere impostati solo tramite lo script dei Parametri (nessun input diretto dell'utente èdisponibile tramite l'elenco dei parametri o per i controlli dell'interfaccia utente), VALUES è disabilitato per questo tipo,

Espressioni e Funzioni

Guida di Riferimento al GDL 301

• tuttavia, l'utilizzo di parametri non di tipo dizionario per l'input dell'utente può funzionare. Nel codice seguente, myDictionary è unparametro di tipo dizionario, stTextInput è un parametro di tipo stringa (che può essere utilizzato nell'interfaccia utente, visualizzatonella pagina "Tutti i parametri" e funziona insieme a GLOB_MODPAR_NAME):! nello script dei ParametrimyDictionary.text1 = stTextInputparameters myDictionary = myDictionary

! nello script Masterprint myDictionary

! nello script 2DTEXT2 0, 0, myDictionary.text1

• la sostituzione del valore utilizzando lo strumento LP_XMLConverter non è attualmente disponibile per i parametri di tipo dizionario.

HASKEYHASKEY (dictionary.key)Restituisce un valore booleano se la chiave è stata precedentemente definita nel dizionario (la chiave può includere sottochiavi).

Esempio:DICT myDictionarymyDictionary.point[1].x = 1myDictionary.point[1].y = 1

print HASKEY(myDictionary.point) ! trueprint HASKEY(myDictionary.point[2]) ! falseprint HASKEY(myDictionary.point[1].z) ! false

REMOVEKEYREMOVEKEY (dictionary.key)La funzione rimuove la chiave a cui si fa riferimento dal dizionario, insieme ai valori assegnati.Se la rimozione ha avuto successo, il valorerestituito è 1, altrimenti 0 (nel caso in cui la chiave sia inesistente o già cancellata).

Espressioni e Funzioni

Guida di Riferimento al GDL 302

Esempio:DICT myDictionarymyDictionary.myText[1] = "salve"myDictionary.myOtherText[1] = "mondo"

print myDictionary

_dummy = REMOVEKEY(myDictionary.myOtherText)print myDictionary, _dummy

_dummy2 = REMOVEKEY(myDictionary.myNonExistentText)print myDictionary, _dummy2

DIMDIM var1[dim_1], var2[dim_1][dim_2], var3[ ], var4[ ][ ], var5[dim_1][ ], var5[ ][dim_2]GDL supporta matrici monodimensionali e bidimensionali. Le variabili diventano matrici dopo la dichiarazione di cui sopra, in cui sonospecificate le loro dimensioni. (Le variabili di tipo dizionario non possono essere dichiarate nuovamente come matrice o viceversa.)Dopo la parola chiave DIM può esserci un numero qualsiasi di nomi di variabili separati da virgole. var1, var2, ... sono i nomi delle matrici, mentrei numeri tra parentesi rappresentano le dimensioni della matrice (costanti numeriche). Le espressioni variabili non possono essere utilizzatecome dimensionil. Se mancano, la matrice viene dichiarata come dinamica (una o entrambe le dimensioni).Anche i parametri degli elementi di libreria possono essere matrici. Le loro dimensioni effettive sono specificate nella finestra di dialogodell'elemento di libreria. Le matrici dei parametri non devono essere dichiarati nello script e sono dinamiche per impostazione predefinita.Quando si fa riferimento all'elemento di libreria utilizzando un'istruzione CALL, i valori effettivi di un parametro matrice possono essere unamatrice con dimensioni arbitrarie.Gli elementi della matrice possono essere referenziati ovunque nello script ma se sono variabili, solo dopo la loro dichiarazione.var1[num_expr] o var1var2[num_expr1][num_expr2] o var2[num_expr1] o var2Scrivere il nome della matrice senza indici effettivi significa fare riferimento all'intera matrice (o una riga di una matrice bidimensionale) che èaccettato in alcuni casi (istruzioni CALL, PRINT, LET, PUT, REQUEST, INPUT, OUTPUT, SPLIT). Per le matrici dinamiche non vi è alcunalimitazione per il valore dell'indice effettivo. Durante l'interpretazione, quando viene assegnato un valore a un elemento della matrice dinamicanon esistente, viene allocata la quantità di memoria necessaria e gli elementi mancanti sono tutti impostati a 0 (numerico).

Espressioni e Funzioni

Guida di Riferimento al GDL 303

Attenzione! In alcuni casi, ciò potrebbe causare un errore imprevisto di memoria insufficiente. Ogni indice, anche di un valore potenzialmenteerrato, enorme, è considerato valido, poiché l'interprete non è in grado di rilevare la condizione di errore. Un elemento di matrice dinamicainesistente è 0 (numerico).Le matrici con una dimensione fissa vengono verificate per la validità dell'indice effettivo sulla dimensione fissa. Le variabili matrice conlunghezza fissa non possono accettare valori di matrici dinamiche nelle assegnazioni. Tuttavia, le matrici dinamiche a cui vengono dati valoriinteri di matricie assumeranno tali valori. Ciò si applica anche ad alcune istruzioni in cui è possibile utilizzare riferimenti a intere matrici comeparametri di ritorno. (REQUEST, INPUT, SPLIT).Gli elementi della matrice possono essere utilizzati in qualsiasi espressione numerica o stringa. Possono essere dati stringa o valori numerici.Gli indici iniziano con 1 e qualsiasi espressione numerica può essere utilizzata come indice.Gli elementi matrice possono essere di diversi tipi semplici (numerico, stringa, gruppo). Il tipo dell'intera matrice (tipo principale) è il tipo delsuo primo elemento ([1] o [1][1]). Le matrici di parametri e variabili globali non possono essere di tipo misto.

VARDIM1VARDIM1 (expr)

VARDIM2VARDIM2 (expr)Queste funzioni restituiscono come numeri interi i valori effettivi delle dimensioni per l'espressione (matrice) specificata come parametro.Devono essere utilizzati se si desidera gestire correttamente tutti gli elementi effettivi di una matrice dinamica o di un parametro matrice. Senessun elemento di una matrice dinamica è stato impostato in precedenza, il valore restituito è 0. Per matrici monodimensionali VARDIM2restituisce 0.

Esempio 1: Esempi di espressioni numeriche: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 (alfa)height * width

Espressioni e Funzioni

Guida di Riferimento al GDL 304

Esempio 2: Esempi di espressioni stringa:"Stringa constante"name + STR ("%m", i) + "." + extstring_param <> "Modalità 1"

Esempio 3: Esempi di espressioni che utilizzano valori di matrice:DIM tab[5], tab2[3][4] ! dichiarazionetab[1] + tab[2]tab2[2][3] + APRINT tabDIM f1 [5], v1[], v2[][]v1[3] = 3 ! v1[1] = 0, v1[2] = 0, matrice di 3 elementiv2[2][3] = 23 ! tutti gli altri elementi (2 X 3) = 0PRINT v1, v2DIM f1 [5], v1[], v2[][]FOR i = 1 TO VARDIM1(f1) f1[i] = iNEXT iv1 = f1v2 [1] = f1PRINT v1, v2

Espressioni e Funzioni

Guida di Riferimento al GDL 305

Esempio 4: Esempi di espressioni che utilizzano valori di dizionario:DICT _exampleDict

! DICT tipi di chiavi semplici

_exampleDict.false = (1 = 2) ! logical false (integer internally)_exampleDict.true = (1 = 1) ! vero logico (intero internamente)_exampleDict.int = 2 ! intero_exampleDict.float = 1 / 3 ! virgola mobile_exampleDict.string = "Testo personale" ! string

! DICT tipi di chiavi matrice

! inizializzazione al volo della matrice_exampleDict.array[1] = _exampleDict.float ! aggiunta alla matrice al volo _exampleDict.array[2] = _exampleDict.float * 2 ! aggiunta alla matrice con inizializzazione automatica degli elementi intermedi_exampleDict.array[4] = _exampleDict.float * 3

! DICT matrice di DICT

DIM array[]DICT _element_element.a = "A"_element.b = 1

_exampleDict.array = array ! cambia la matrice esistente in una vuota_exampleDict.array[2] = _element ! vartype diverso dal precedente

! print DICT array of DICTsprint "\n\t", "Stampa la matrice DICT dei DICT", "\n--------------------------------------------------------------------------------\n\t", vartype(_exampleDict.array), vardim1(_exampleDict.array), "\n", _exampleDict.array, "\n--------------------------------------------------------------------------------"

Espressioni e Funzioni

Guida di Riferimento al GDL 306

PARVALUE_DESCRIPTION PARVALUE_DESCRIPTION (parname [, ind1 [, ind2]])Questa funzione restituisce la stringa di descrizione del valore del parametro di un parametro numerico specificato utilizzando l'istruzioneVALUES. Se non viene specificata alcuna descrizione, il valore restituito è una stringa vuota.parname: nome del parametroind1, ind2: indici effettivi se il parametro è una matrice.

OPERATORIGli operatori seguenti sono elencati in ordine decrescente di precedenza. La valutazione di un'espressione inizia con l'operatore con la precedenzapiù alta e da sinistra a destra.

Operatori aritmetici

^ (or **) Potenza di precedenza 2

* Moltiplicazione precedenza 3

/ Divisione precedenza 3MOD (o %) Modulo (resto della divisione) x MOD y = x - y * INT (x/y) precedenza 3

+ Addizione precedenza 4

- Sottrazione precedenza 4

Nota+ (addizione) può essere applicata anche alle espressioni stringa: il risultato è la concatenazione delle stringhe. Il risultato della'/' (Divisione) è sempre un numero reale, mentre il risultato delle altre operazioni dipende dal tipo di operandi: se tutti gli operandisono interi, il risultato sarà intero, altrimenti reale.

Espressioni e Funzioni

Guida di Riferimento al GDL 307

Operatori relazionali

= Uguale precedenza 5

< Minore di precedenza 5

> Maggiore di precedenza 5

<= Minore o uguale precedenza 5

>= Maggiore o uguale precedenza 5

<> (o #) Diverso precedenza 5

NotaQuesti operatori possono essere utilizzati anche tra due espressioni stringa qualsiasi (il confronto tra stringhe fa distinzione tramaiuscole e minuscole). Il risultato è un numero intero, 1 o 0. Non è consigliabile utilizzare gli operatori "=" (uguale), "<=" (minoreo uguale), "> =" (maggiore o uguale), "<>" (o #) (diverso) con operandi reali, poiché queste operazioni possono causare problemidi precisione .

Operatori Booleani

AND (o &) And logico precedenza 6OR (o |) Or logico inclusivo precedenza 7EXOR (o @) Or logico esclusivo precedenza 8

NotaGli operatori booleani lavorano con numeri interi. Di conseguenza, 0 significa falso, mentre qualsiasi altro numero significa vero. Ancheil valore di un'espressione logica è intero, ovvero 1 per vero e 0 per falso. Non è consigliabile utilizzare operatori booleani con operandireali, poiché queste operazioni possono causare problemi di precisione.

Espressioni e Funzioni

Guida di Riferimento al GDL 308

FUNZIONI

Funzioni aritmeticheABSABS (x)Restituisce il valore assoluto di x (intero se x intero, altrimenti reale).

CEILCEIL (x)Restituisce il valore intero più piccolo che non è inferiore a x (sempre intero). (e.g., CEIL(1.23) = 2; CEIL (-1.9) = -1).

INTINT (x)Restituisce la parte intera di x (sempre intero). (e.g., INT(1.23) = 1, INT(-1.23) = -2).

FRAFRA (x)Restituisce la parte frazionaria di x (intero 0 se x intero, altrimenti reale). (e.g., FRA(1.23) = 0.23, FRA(-1.23) = 0.77).

ROUND_INTROUND_INT (x)Restituisce la parte intera arrotondata di x. L'espressione "i = ROUND_INT (x)" è equivalente al seguente script:IF x < 0.0 THEN i = INT (x - 0.5) ELSE i = INT (x + 0.5)

SGNSGN (x)Restituisce +1 intero se x positivo, -1 intero se x negativo, altrimenti 0 intero.

SQRSQR (x)Restituisce la radice quadrata di x (sempre reale).

Espressioni e Funzioni

Guida di Riferimento al GDL 309

Funzioni circolariQueste funzioni utilizzano i gradi per gli argomenti (COS, SIN, TAN) e per i valori di ritorno (ACS, ASN, ATN).

ACSACS (x)Restituisce l'arcocoseno di x. (-1.0 <= x <= 1.0; 0° <= ACS(x) <= 180°).

ASNASN (x)Restituisce l'arcoseno di x. (-1.0 <= x <= 1.0; -90° <= ASN(x) <= 90°).

ATNATN (x)Restituisce l'arcotangente di x. (-90° <= ATN(x) <= 90°).

COSCOS (x)Restituisce il coseno di x.

SINSIN (x)Restituisce il seno di x.

TANTAN (x)Restituisce la tangente di x.

PIPIRestituisce la costante di Ludolph. (p = 3.1415926...).

Nota: Tutti i valori restituiti sono reali.

Espressioni e Funzioni

Guida di Riferimento al GDL 310

Funzioni trascendentaliEXPEXP (x)Restituisce la x-esima potenza di e (e = 2.7182818).

LGTLGT (x)Restituisce il logaritmo in base 10 di x.

LOGLOG (x)Restituisce il logaritmo naturale di x.

Nota: Tutti i valori restituiti sono reali.

Funzioni booleaneNOTNOT (x)Restituisce falso (= 0 intero) se x è vero (<> 0) e vero (= 1 intero) se x è falso (= 0) (negazione logica).

Nota: Il valore del parametro deve essere intero.

Funzioni statisticheMINMIN (x1, x2, ..., xn)Restituisce il più piccolo di un numero illimitato di argomenti.

MAXMAX (x1, x2, ..., xn)Restituisce il più grande di un numero illimitato di argomenti.

Espressioni e Funzioni

Guida di Riferimento al GDL 311

RNDRND (x)Restituisce un valore casuale compreso tra 0.0 e x (x> 0.0) sempre reale.

Funzioni bitBITTESTBITTEST (x, b)Restituisce 1 se è impostato il bit b di x, 0 altrimenti.

BITSETBITSET (x, b [, expr])expr può essere 0 o diverso, il valore predefinito è 1. Imposta il bit b di x su 1 o 0 a seconda del valore dell'espressione specificata e restituisceil risultato. Il valore del parametro deve essere intero, il valore restituito è intero.

Funzioni specialiFunzioni speciali (oltre alle variabili globali) possono essere utilizzate nello script per comunicare con il programma in esecuzione. Chiedonolo stato corrente e le diverse impostazioni delle preferenze del programma o fanno riferimento all'ambiente corrente dell'elemento di libreria.Le chiamate di richiesta (Request) possono essere utilizzate anche per comunicare con le estensioni GDL.

REQREQ (parametro_stringa)Chiede lo stato attuale del programma. Il suo parametro - la domanda - è una stringa. L'interprete GDL risponde con un valore numerico. Senon comprende la domanda, la risposta è negativa.parameter_string: stringa della domanda, una delle seguenti:"GDL_version": numero di versione del compilatore/interprete GDL. Attenzione: non è la stessa della versione Archicad."Program": codice del programma (es. 1: Archicad),"Serial_number": il numero seriale della chiave di protezione,"Model_size": dimensione della struttura dati 3D corrente in byte,"Red_of_material name""Green_of_material name""Blue_of_material name": Definisce i componenti di colore del materiale dato in valori RGB compresi tra 0 e 1,

Espressioni e Funzioni

Guida di Riferimento al GDL 312

"Red_of_pen index""Green_of_pen index""Blue_of_pen index": Definisce i componenti del colore della penna data in valori RGB compresi tra 0 e 1,"Pen_of_RGB r g b": Definisce l'indice della penna più vicina al colore dato. I valori delle costanti r, g e b sono compresi tra 0 e 1.

REQUESTREQUEST (nome_domanda, nome | indice, variabile1 [, variabile2, ...])Il primo parametro rappresenta la stringa della domanda mentre il secondo rappresenta l'oggetto della domanda (se esiste) e può essere di tipostringa o numerico (ad esempio, la domanda può essere "Rgb_of_material" e il suo oggetto il nome del materiale o "Rgb_of_pen" e il suooggetto l'indice della penna). Gli altri parametri sono nomi di variabili in cui sono memorizzati i valori di ritorno (le risposte).Il valore di ritorno delle richieste è sempre il numero di valori recuperati con successo (intero), mentre il tipo di valori recuperati è definito daciascuna richiesta in parte. Nel caso di una domanda formulata male o di un nome inesistente, il valore restituito sarà 0.Archicad identifica l'ordine e il numero dei parametri di input tramite la versione del comando o il nome esatto (come costante di stringa)dell'opzione di richiesta. Variazioni attualmente accettate:• n = REQUEST - richiesta predefinita, con 1 parametro di input di tipo stringa o numerico• n = REQUEST{2} - 2 parametri di input: tipo stringa o numerico, stringa• n = REQUEST{3} - 2 parametri di input: tipo stringa, matrice stringa o numerica• n = REQUEST{4} - 3 parametri di input: stringa o numerico, numerico, tipo stringa. Compatibilità: introdotto in Archicad 21.Per l'elenco delle opzioni disponibili vedi sezione chiamata «Opzioni REQUEST».

INDIND (MATERIAL, name_string)IND (BUILDING_MATERIAL, name_string)IND (FILL, name_string)IND (LINE_TYPE, name_string)IND (STYLE, name_string)IND (TEXTURE, name_string)IND (PROFILE_ATTR, name_string, index)Questa funzione restituisce l'indice corrente del materiale, materiale da costruzione, retino, tipo di linea o stile, tessitura o attributo profilo. L'usoprincipale del numero risultante è trasferirlo a una macro che richiede lo stesso attributo della macro chiamante.Le funzioni restituiscono un valore di indice di attributo (intero). Il risultato è negativo per le definizioni inline (all'interno dello script o dal fileMaster_GDL) e positivo per le definizioni globali (dagli attributi del progetto).Vedi anche sezione chiamata «Definizione dell'Attributo in linea».

Espressioni e Funzioni

Guida di Riferimento al GDL 313

APPLICATION_QUERYAPPLICATION_QUERY (extension_name, parameter_string, variable1, variable2, ...)Il GDL consente alle singole applicazioni di fornire funzioni di richiesta specifiche nel loro contesto. Queste opzioni di query non sono definitenella sintassi GDL; consultare la documentazione per sviluppatori GDL dell'applicazione data per opzioni specifiche. Vedi anche sezione chiamata«Opzioni di query dell'applicazione».

LIBRARYGLOBALLIBRARYGLOBAL (nome_oggetto, parametro, valore)Riempie il valore con il valore del parametro di Opzioni Vista Modello corrente dell'oggetto globale della libreria definito da nome_oggetto,se disponibile. Un'impostazione globale della libreria è disponibile se l'oggetto globale è attualmente caricato nella libreria o è stato caricato inprecedenza e la sua impostazione è stata salvata nella combinazione Opzioni Vista Modello corrente.Gli oggetti posizionati visibili i cui script 2D o 3D contengono i comandi LIBRARYGLOBAL vengono aggiornati quando i parametridell'oggetto globale della libreria cambiano in Opzioni Vista Modello. I parametri e gli script di migrazione non dovrebbero utilizzare i valoriLIBRARYGLOBAL, la vista corrente non dovrebbe avere alcun effetto su altre viste.Restituisce 1 in caso di successo, altrimenti 0.object_name: nome dell'oggetto globale della libreria. Deve essere una costante stringa. Attenzione: Se vengono utilizzati parametri o

variabili stringa come nomi oggetto, la vista 2D e 3D degli oggetti che interrogano questo oggetto globale della libreria non si aggiorneràautomaticamente.

parameter: nome del parametro richiesto.value: riempito con il valore del parametro richiesto.

Esempio:success = LIBRARYGLOBAL ("MyGlobalOptions", "detLevel2D", det)if success > 0 then text2 0, 0, detelse text2 0, 0, "Non disponibile"endif

Funzioni stringaSTRSTR (espressione_numerica, lunghezza, frazioni)

Espressioni e Funzioni

Guida di Riferimento al GDL 314

Questa forma della funzione crea una stringa dal valore corrente dell'espressione numerica. Il numero minimo di caratteri numerici nella stringaè la lunghezza, mentre le frazioni rappresentano i numeri che seguono la virgola mobile. Se il valore convertito ha più di caratteri di lunghezza,viene espanso come richiesto. Se ha meno caratteri, viene riempito a sinistra (lunghezza > 0) o a destra (lunghezza < 0).Limitazione dei parametri:lunghezza >= -100, lunghezza <= 100frazioni <= 20, frazioni < lunghezza

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

STR (formato_stringa, espressione_numerica)Questa forma è deprecato, usa STR{2}.In questa forma formato_stringa può essere una variabile o una costante. Se il formato è vuoto, viene interpretato come metri, con una precisionedi tre decimali (visualizzando 0). L'uso di flag di precisione extra può dare risultati errati.

STR{2}STR{2} (formato_stringa, espressione_numerica [, stringa_extra_precisione])Questa funzione crea una rappresentazione di stringa formattata del valore corrente dell'espressione numerica. La formattazione è specificatada formato_stringa che può essere una variabile o una stringa letterale. Se il formato è vuoto, l'output viene formattato come metri, con unaprecisione di tre decimali (visualizzando 0). Se i flag di extra precisione sono impostati in formato_stringa, la funzione STR {2} restituirà lacorrispondente stringa di extra precisione nel 3° parametro.format_string: "%[0 o più flag][campo_larg][.precisione] spec_conv"flags: (per m, mm, cm, dm, e, df, di, sqm, sqcm, sqf, sqi, dd, gr, rad, cum, l, cucm, cumm, cuf, cui, cuy, gal):(none): giustifica a destra (default),-: giustifica a sinistra,+: segno più esplicito,(space): al posto del segno +,'*0': precisione extra Off (default),

Espressioni e Funzioni

Guida di Riferimento al GDL 315

'*1': precisione extra .5,'*2': precisione extra .25,'*3': precisione extra .1,'*4': precisione extra .01,'*5': arrotondamento a 0.5 entro l'intervallo decimale visualizzato, nessuna stringa di precisione extra restituita, (utilizzata per i calcolidell'area),'*6': arrotondamento a 0.25 entro l'intervallo decimale visualizzato, nessuna stringa di precisione extra restituita, (utilizzata per i calcolidell'area),'*7': riempie la parte frazionaria di espressione_numerica in stringa_extra_precisione in caso di fi o ffi, mentre l'espressione restituitadalla funzione non contiene le parti frazionarie,'#': non visualizzare gli 0 (for m, mm, cm, dm, ffi, fdi, fi, df, di, sqm, sqcm, sqf, sqi, dd, fr, rad, cum, l, cucm, cumm, cuf, cui, cuy, gal),'0': visualizza gli 0 pollici(for ffi, fdi, fi),'~': nasconde i decimali 0 (efficace solo se il flag '#' non è specificato) (per m, mm, cm, dm, fdi, df, di, sqm, sqcm, sqf, sqi, dd, fr, rad,cum, l, cucm, cumm, cuf, cui, cuy, gal),'^': non modificare il separatore decimale e i caratteri di raggruppamento delle cifre (se non specificato, questi caratteri verranno sostituiticome impostato nel sistema corrente).'[1*j1+2*j2+4*j3]': mostra 0 pollici prima delle frazioni, efficace se il flag '0' non è specificato (per ffi, fdi, fi)j1: mostra 0 pollici prima delle frazioni (0 3/4 "), efficace quando il valore è inferiore a 1 piede e non mostra 0 piedi (viene specificatoil flag '#')j2: mostra 0 pollici interi dopo i piedi (1'-0 "), efficace quando il valore è di almeno 1 piedej3: mostra 0 pollici prima delle frazioni (1'-0 3/4 "), efficace quando il valore è di almeno 1 piede

field_width: numero intero decimale senza segno, il numero minimo di caratteri da generare.precision: numero intero decimale senza segno, il numero di cifre frazionarie da generare.conv_spec: (identificatore di conversione):e: formato esponenziale (metro),m: metri,mm: millimetri,cm: centimetri,dm: decimetri,Compatibilità: decimetri introdotti in Archicad 22.ffi: piedi e pollici frazionari,fdi: piedi e pollici decimali,

Espressioni e Funzioni

Guida di Riferimento al GDL 316

df: piedi decimali,fi: pollici frazionari,di: pollici decimali,pt: punti,per le aree:sqm: metri quadrati,sqcm: centimetri quadrati,sqmm: millimetri quadrati,sqf: piedi quadrati,sqi: pollici quadrati,per gli angoli:dd: gradi decimali,dms: gradi, minuti, secondi,gr: grado,rad: radianti,surv: unità del rilevatore,per i volumi:cum: metri cubi,l: litri,cucm: centimetri cubi,cumm: millimetri cubi,cuf: piedi cubi,cui: pollici cubi,cuy: iarde cubiche,gal: galloni.

Espressioni e Funzioni

Guida di Riferimento al GDL 317

Esempio:nr = 0.345678TEXT2 0, 23, STR{2} ("%m", nr) !0.346TEXT2 0, 22, STR{2} ("%#10.2m", nr) !35TEXT2 0, 21, STR{2} ("%.4cm", nr) !34.5678TEXT2 0, 20, STR{2} ("%12.4cm", nr) ! 34.5678TEXT2 0, 19, STR{2} ("%.6mm", nr) !345.678000TEXT2 0, 18, STR{2} ("%+15e", nr) !+3.456780e-01TEXT2 0, 17, STR{2} ("%ffi", nr) !1'-2"TEXT2 0, 16, STR{2} ("%0.16ffi", nr) !1'-1 5/8"TEXT2 0, 15, STR{2} ("% .3fdi", nr) ! 1'-1.609"TEXT2 0, 14, STR{2} ("% -10.4df", nr) ! 1.1341'TEXT2 0, 13, STR{2} ("%0.64fi", nr) !13 39/64"TEXT2 0, 12, STR{2} ("%+12.4di", nr) !+13.6094"TEXT2 0, 11, STR{2} ("%#.3sqm", nr) !346TEXT2 0, 10, STR{2} ("%+sqcm", nr) !+3,456.78TEXT2 0, 9, STR{2} ("% .2sqmm", nr) ! 345,678.00TEXT2 0, 8, STR{2} ("%-12sqf", nr) !3.72TEXT2 0, 7, STR{2} ("%10sqi", nr) ! 535.80TEXT2 0, 6, STR{2} ("%.2pt", nr) !0.35

alfa = 88.657TEXT2 0, 5, STR{2} ("%+10.3dd", alfa) !+88.657°TEXT2 0, 4, STR{2} ("%.1dms", alfa) !88°39'TEXT2 0, 3, STR{2} ("%.2dms", alfa) !88°39'25"TEXT2 0, 2, STR{2} ("%10.4gr", alfa) ! 98.5078GTEXT2 0, 1, STR{2} ("%rad", alfa) !1.55RTEXT2 0, 0, STR{2} ("%.2surv", alfa) !N 1°20'35" E

Espressioni e Funzioni

Guida di Riferimento al GDL 318

nr = 0'-0 3/4"TEXT2 0, -1, STR{2} ("%#[1].16ffi", nr) !0 3/4"nr = 1'-0"TEXT2 0, -2, STR{2} ("%[2].16ffi", nr) !1'-0"nr = 1'-0 3/4"TEXT2 0, -3, STR{2} ("%[4].16ffi", nr) !1'-0 3/4"

! usa separatori di cifre di sistema, impostazione predefinitanr = 1234.5678TEXT2 0, -4, STR{2} ("%8.6m", nr) !1 234,5678! ignora i separatori di cifre di sistemaTEXT2 0, -5, STR{2} ("%^8.6m", nr) !1234.5678

nr = 0.34278TEXT2 0, -6, STR{2} ("%*5 .4m", nr) ! 0.3430

! diviso in parti integrali e frazionariestringa_extra_precisione = ""nr = 1'-0 3/4"TEXT2 0, -7, STR{2}("%*7.16ffi", nr, stringa_extra_precisione) !1'-TEXT2 0, -8, stringa_extra_precisione !3/4"nr = -0.07TEXT2 0, -9, STR{2} ("%*1.1", nr, stringa_extra_precisione) !-0,0TEXT2 0, -10, stringa_extra_precisione !5

SPLITSPLIT (stringa, formato, variabile1 [, variabile2, ..., variabilen])Divide il parametro stringa in base al formato in una o più parti numeriche o stringa. Il processo di divisione si interrompe quando viene rilevatala prima parte non corrispondente. Restituisce il numero di valori letti con successo (intero).string: la stringa da dividere.format: qualsiasi combinazione di stringhe costanti, %s, %n e %^n -s. Le parti nella stringa devono adattarsi alle stringhe costanti, %s

denota qualsiasi valore stringa delimitato da spazi o tabulazioni, mentre %n o %^n denota qualsiasi valore numerico. Se è presente il flag'^', le impostazioni di sistema correnti per il separatore decimale e i caratteri di raggruppamento delle cifre vengono prese in considerazionequando si abbina il valore numerico effettivo.

variablei: nomi delle variabili per memorizzare le parti della stringa divisa.

Espressioni e Funzioni

Guida di Riferimento al GDL 319

Esempio:ss = "3 pezzi 2x5 trave"n = SPLIT (ss, "%n pezzi %nx%n %s", num, ss1, dim_1, ss2, dim_2, nome)IF n = 6 THEN PRINT num, ss1, dim_1, ss2, dim_2, nome ! 3 pezzi 2 x 5 traveELSE PRINT "ERRORE"ENDIF

STWSTW (espressione_stringa)Restituisce la larghezza (reale) della stringa in millimetri visualizzata nello stile corrente. La larghezza in metri, alla scala corrente, è STW(espressione_stringa) / 1000 * GLOB_SCALE.

Esempio:

DEFINE STYLE "mio" "Gabriola", 180000 / GLOB_scala, 1, 0SET STYLE "mio"stringa = "abcd"larghezza = STW (string) / 1000 * GLOB_SCALEn = REQUEST ("Height_of_style", "mio", altezza)altezza = altezza / 1000 * GLOB_SCALETEXT2 0,0, stringaRECT2 0,0, larghezza, -altezza

STRLENSTRLEN (espressione_stringa)Restituisce la lunghezza (intero) della stringa (il numero di caratteri)

Espressioni e Funzioni

Guida di Riferimento al GDL 320

STRSTRSTRSTR (espressione_stringa1, espressione_stringa2[, case_insensitivity])Restituisce la posizione (intero) della prima comparsa della seconda stringa nella prima stringa. Se la prima stringa non contiene la seconda,la funzione restituisce 0.Nota: Nel caso che espressione_stringa2 sia una stringa vuota, la funzione restituisce 1.case_insensitivity:0 or not set: Sensibile a maiuscole e minuscole1: Non sensibile a maiuscole e minuscole

Esempio 1:szFormat = ""n = REQUEST ("Linear_dimension", "", szFormat)unit = ""IF STRSTR (szFormat, "m") > 0 THEN unit = "m"IF STRSTR (szFormat, "mm") > 0 THEN unit = "mm"IF STRSTR (szFormat, "cm") > 0 THEN unit = "cm"IF STRSTR (szFormat, "dm") > 0 THEN unit = "dm"TEXT2 0, 0, STR (szFormat, a) + " " + unit !1.00 m

Esempio 2:STRSTR ("abcdefg", "BCdEf") = 0STRSTR ("abcdefg", "BCdEf", 0) = 0STRSTR ("abcdefg", "BCdEf", 1) = 2

STRSUBSTRSUB (espressione_stringa, posizione_inizio, numero_caratteri)Restituisce una sottostringa del parametro stringa che inizia nella posizione data dal parametro posizione_inizio e la sua lunghezza ènumero_caratteri.

Esempio:string = "Fiori.jpeg"len = STRLEN (string)iDotPos = STRSTR (string, ".")TEXT2 0, -1, STRSUB (string, 1, iDotPos - 1) !FioriTEXT2 0, -2, STRSUB (string, len - 4, 5) !.jpeg

Espressioni e Funzioni

Guida di Riferimento al GDL 321

STRTOUPPERSTRTOUPPER (espressione_stringa)Restituisce una stringa convertita in maiuscolo.

Esempio:_oldString = "fiori"_newString = STRTOUPPER (_oldString) ! _newString sarà "FIORI"

STRTOLOWERSTRTOLOWER (espressione_stringa)Restituisce una stringa convertita in minuscolo.

Esempio:_oldString = "FLOWER"_newString = STRTOLOWER (_oldString) ! _newString sarà "fiori"

Dichiarazioni di controllo

Guida di Riferimento al GDL 322

DICHIARAZIONI DI CONTROLLOQuesto capitolo esamina i comandi GDL disponibili per il controllo di ciclo e subroutine negli script e introduce il concetto di manipolazione del buffer progettato permemorizzare i valori dei parametri per un loro ulteriore utilizzo. Spiega inoltre come utilizzare gli oggetti come chiamate di macro e come visualizzare le espressionicalcolate sullo schermo.

DICHIARAZIONI DI CONTROLLO DEL FLUSSO

FOR - TO - NEXTFOR nome_variabile = valore_iniziale TO valore_finale [ STEP valore_passo ] NEXT nome_variabileFOR è la prima istruzione di un ciclo FOR.NEXT è l'ultima istruzione di un ciclo FOR.La variabile del ciclo varia da valore_iniziale a valore_finale dell'incremento (o decremento) valore_passo in ogni esecuzione del corpo del ciclo(istruzioni tra le istruzioni FOR e NEXT). Se la variabile del ciclo supera il valore di valore_finale, il programma esegue l'istruzione che seguel'istruzione NEXT.Se mancano la parola chiave STEP e il valore valore_passo, si presume che il passo sia 1.

Nota: La modifica di valore_passo durante l'esecuzione del ciclo non ha alcun effetto.Una variabile globale non è consentita come variabile di controllo del ciclo.

Esempio 1:FOR i=1 TO 10 STEP 2 PRINT iNEXT i

Dichiarazioni di controllo

Guida di Riferimento al GDL 323

Esempio 2:! I due frammenti di programma seguenti sono equivalenti:

! 1°a = b1:IF c > 0 AND a > d OR c < 0 AND a < d THEN 2PRINT aa = a + cGOTO 1

! 2°2:FOR a = b TO d STEP c PRINT aNEXT aL'esempio sopra mostra che valore_passo = 0 causa un ciclo infinito.È consentita una sola istruzione NEXT dopo un'istruzione FOR. Puoi uscire dal ciclo con GOTO e tornarci dopo essere usciti, ma non puoientrare in un ciclo saltando l'istruzione FOR.

DO - WHILEDO [istruzione1 istruzione2 ... istruzionen]WHILE condizioneLe istruzioni tra le parole chiave vengono eseguite fintanto che la condizione è vera.La condizione viene verificata dopo ogni esecuzione delle istruzioni.

WHILE - ENDWHILEWHILE condizione DO [istruzione1 istruzione2 ... istruzionen]ENDWHILE

Dichiarazioni di controllo

Guida di Riferimento al GDL 324

Le istruzioni tra le parole chiave vengono eseguite fintanto che la condizione è vera.La condizione viene verificata prima di ogni esecuzione delle istruzioni.

REPEAT - UNTILREPEAT [istruzione1 istruzione2 ... istruzionen]UNTIL condizioneLe istruzioni tra le parole chiave vengono eseguite finché la condizione non diventa vera.La condizione viene verificata dopo ogni esecuzione delle istruzioni.

Dichiarazioni di controllo

Guida di Riferimento al GDL 325

Esempio: Le seguenti quattro sequenze di comandi GDL sono equivalenti! 1°FOR i = 1 TO 5 STEP 1 BRICK 0.5, 0.5, 0.1 ADDZ 0.3NEXT i

! 2°i = 1DO BRICK 0.5, 0.5, 0.1 ADDZ 0.3 i = i + 1WHILE i <= 5

! 3°i = 1WHILE i <= 5 DO BRICK 0.5, 0.5, 0.1 ADDZ 0.3 i = i + 1ENDWHILE

! 4°i = 1REPEAT BRICK 0.5, 0.5, 0.1 ADDZ 0.3 i = i + 1UNTIL i > 5

IF - GOTOIF condizione THEN etichettaIF condizione GOTO etichettaIF condizione GOSUB etichettaDichiarazione di salto condizionale. Se il valore dell'espressione della condizione è 0 ("falso" logico), il comando non ha effetto, altrimentil'esecuzione continua sull'etichetta. THEN, GOTO o THEN GOTO sono equivalenti in questo contesto.

Dichiarazioni di controllo

Guida di Riferimento al GDL 326

Esempio:IF a THEN 28IF i > j GOTO 200+i*jIF i > 0 GOSUB 9000

IF - THEN - ELSE - ENDIFIF condizione THEN istruzione [ELSE istruzione]IF condizione THEN [istruzione1 istruzione2 ... istruzionen][ELSE istruzionen+1 istruzionen+2 ... istruzionen+m]ENDIFSe si scrive un solo comando dopo le parole chiave THEN e/o ELSE nella stessa riga, non è necessario ENDIF. Un comando dopo THENo ELSE nella stessa riga significa un ENDIF definito.Se c'è una nuova riga dopo THEN, i comandi successivi (tutti fino alla parola chiave ELSE o ENDIF) verranno eseguiti solo se l'espressionenella condizione è vera (diversa da zero). In caso contrario, verranno eseguiti i comandi che seguono ELSE.. Se la parola chiave ELSE è assente,verranno eseguiti i comandi dopo ENDIF.

Dichiarazioni di controllo

Guida di Riferimento al GDL 327

Esempio:IF a = b THEN altezza = 5 ELSE altezza = 7IF usaPorte THEN CALL "door_macro" PARAMETERS ADDX aENDIFIF semplice THEN HOTSPOT2 0, 0 RECT2 a, 0, 0, bELSE PROJECT2 3, 270, 1IF nome = "Sfera" THEN ADDY b SPHERE 1ELSE ROTX 90 TEXT 0.002, 0, nomeENDIF

GOTOGOTO etichettaDichiarazione di salto incondizionato. Il programma esegue un ramo dell'istruzione indicata dal valore dell'etichetta (numerica o stringa). Leespressioni di etichetta variabile possono rallentare l'interpretazione a causa della determinazione dell'indirizzo di salto in esecuzione.

Esempio:GOTO K+2

GOSUBGOSUB etichettaRichiamo della subroutine interna in cui l'etichetta è il punto di ingresso della subroutine. Il valore dell'etichetta può essere qualsiasi espressionenumerica o stringa. Le espressioni di etichetta variabile possono rallentare l'interpretazione a causa della determinazione dell'indirizzo di saltoin esecuzione.

RETURNRETURNRitorno da una subroutine interna.

Dichiarazioni di controllo

Guida di Riferimento al GDL 328

END / EXITEND [v1, v2, ..., vn]EXIT [v1, v2, ..., vn]Fine dello script GDL corrente. Il programma termina o torna al livello superiore. È possibile utilizzare più END o EXIT in un file GDL. Seviene specificato l'elenco facoltativo di valori, lo script corrente passerà questi valori di ritorno al suo chiamante.Nota: il numero di possibili elementi restituiti è limitato a 32767 articoli.Vedi la descrizione della ricezione dei parametri restituiti in CALL.

BREAKPOINTBREAKPOINT espressioneCon questo comando è possibile specificare un punto di interruzione nello script GDL. Il debugger GDL si fermerà a questo comando se ilvalore del parametro (un'espressione numerica) è vero (1) e l'opzione Abilita punti di interruzione del debugger è selezionata. Nella modalitàdi esecuzione normale, l'interprete GDL esegue semplicemente questo comando.

MANIPOLAZIONE DEL BUFFER DEI PARAMETRIIl buffer dei parametri è una struttura dati incorporata che può essere utilizzata se alcuni valori (coordinate, ad esempio) cambiano dopo unaregola definita che può essere descritta utilizzando un'espressione matematica. Ciò è utile se, ad esempio, desideri memorizzare i valori correntidelle tue variabili.

PUT NSP = NSP+1

Il buffer dei parametri è una matrice infinitamente lunga in cui è possibile memorizzare valori numerici utilizzando PUT. PUT memorizza ivalori dati alla fine del buffer. Questi valori possono essere utilizzati successivamente (dai comandi GET e USE) nell'ordine in cui sono statiinseriti (ovvero, il primo valore memorizzato sarà il primo utilizzato). Un comando GET(n) o USE(n) è equivalente a n valori separati da virgole.In questo modo, possono essere utilizzati in qualsiasi elenco di parametri GDL in cui sono necessari n valori.

Dichiarazioni di controllo

Guida di Riferimento al GDL 329

GET NSP = NSP-1

USE NSP = NSP

PUTPUT espressione [, espressione, ...]Memorizza i valori dati nell'ordine dato nel buffer interno dei parametri.

GETGET (n)Usa i successivi n valori dal buffer dei parametri interni e quindi ignorali.

USEUSE (n)Usa i successivi n valori dal buffer dei parametri interni senza eliminarli. Le seguenti funzioni USE e GET possono utilizzare la stessa sequenzadi parametri.

NSPNSPRestituisce il numero di parametri memorizzati nel buffer interno.

Dichiarazioni di controllo

Guida di Riferimento al GDL 330

Esempio: Utilizzo del buffer dei parametri:

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 tFOR 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

La descrizione completa:

Dichiarazioni di controllo

Guida di Riferimento al GDL 331

r=2: b=6: c=4: d=10FOR 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 1

Dichiarazioni di controllo

Guida di Riferimento al GDL 332

ADDZ 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

OGGETTI MACROSebbene gli oggetti 3D di cui potresti aver bisogno possono sempre essere suddivisi in elementi complessi o primitivi, a volte è desiderabiledefinire questi elementi complessi specificamente per determinate applicazioni. Questi elementi definiti individualmente sono chiamati macro.Una macro GDL ha il proprio ambiente che dipende dal suo ordine di chiamata. I valori correnti delle opzioni MODEL, RADIUS, RESOL,TOLER, PEN, LINE_TYPE, MATERIAL, FILL, STYLE, SHADOW e le trasformazioni attuali sono tutte valide nella macro.Puoi usarli o modificarli, ma le modifiche avranno effetto solo localmente. Non hanno effetto sul livello da cui è stata chiamata la macro. Dareparametri a una chiamata di macro significa un'assegnazione implicita di valore a livello della macro. I parametri A e B sono generalmente usatiper ridimensionare gli oggetti.

CALLCALL stringa_nome_macro [,] PARAMETERS [ALL][nome1=valore1, ..., nomen=valoren][[,] RETURNED_PARAMETERS r1, r2, ...]macro_name_string: stringa, il nome di un elemento di libreria esistente

I nomi delle macro non possono contenere più di 31 caratteri. I nomi delle macro possono essere costanti stringa, variabili stringa o parametri.Le operazioni sulle stringhe non possono essere utilizzate con una chiamata macro come nome macro. Attenzione: Se si utilizzano parametri

Dichiarazioni di controllo

Guida di Riferimento al GDL 333

o variabili stringa come nomi di macro, la macro richiamata potrebbe non venire inclusa nel progetto archivio. Per far conoscere a GDL ladipendenza, usa FILE_DEPENDENCE per ogni possibile nome di macro. Il nome della macro deve essere racchiuso tra virgolette (",',`,´,”,’,“,‘), a meno che non corrisponda alla definizione di identificatori, ovvero, inizia con una lettera o un carattere "_" o "~" e contienesolo lettere, numeri e i caratteri "_" e "~". In caso contrario, le virgolette utilizzate in CALL deve essere lo stesso all'inizio e alla fine e deveessere diverso da qualsiasi carattere del nome della macro. Anche il nome della macro stesso può essere utilizzato come comando, senzala parola chiave CALL.

PARAMETERS: può seguire l'elenco dei parametri effettivi della macroI nomi dei parametri della macro chiamata possono essere elencati in qualsiasi sequenza, con un segno "=" e un valore effettivo per ciascuno.È possibile utilizzare espressioni di tipo stringa qui, ma solo dare un valore stringa ai parametri di tipo stringa della macro chiamata. Aiparametri matrice devono essere assegnati valori della matrice completa. Se non è possibile trovare un nome di parametro nell'elenco deiparametri nella macro richiamata, verrà visualizzato un messaggio di errore. I parametri della macro chiamata che non sono elencati nellachiamata della macro riceveranno i loro valori predefiniti originali come definito nell'elemento di libreria chiamato come macro.

ALL: tutti i parametri del chiamante vengono passati alla macroSe questa parola chiave è presente, non è necessario specificare i parametri uno per uno. Per un parametro della macro che non può esseretrovato nel chiamante, verrà utilizzato il valore predefinito. Se i valori dei parametri vengono specificati uno per uno, sovrascriveranno i valoriprovenienti dal chiamante o i parametri della macro chiamata lasciati come predefiniti.

RETURNED_PARAMETERS: può seguire un elenco di variabili per raccogliere i parametri restituiti dalla macroAl lato del chiamante, i valori restituiti possono essere raccolti utilizzando la parola chiave RETURNED_PARAMETERS seguita da unelenco di variabili. I valori restituiti verranno memorizzati in queste variabili nell'ordine in cui vengono restituiti nella macro chiamata. Ilnumero e il tipo delle variabili specificate nel chiamante e quelle restituite nella macro devono corrispondere. Se sono presenti più variabilispecificate nel chiamante, verranno impostate su 0 numeri interi. La compatibilità del tipo non è verificata: il tipo delle variabili specificatenel chiamante verrà impostato sul tipo dei valori restituiti. Se una delle variabili nel chiamante è una matrice dinamica, tutti i valori successiviverranno memorizzati al suo interno. Nota: il numero di possibili elementi restituiti è limitato a 32767 articoli. Vedi la sintassi della restituzione deiparametri in END / EXIT.

CALL stringa_nome_macro [,]PARAMETERS valore1 o DEFAULT [, ..., valoren o DEFAULT] Questa forma di chiamata macro può essere utilizzata per la compatibilità con le versioni precedenti. Utilizzando questa sintassi i valori effettividei parametri devono essere specificati uno per uno nell'ordine in cui sono presenti nell'elemento di libreria chiamata, nessun valore può essereperso, tranne che dalla fine della lista. L'uso della parola chiave DEFAULT al posto del valore effettivo di un parametro significa che il valoreeffettivo sarà il valore predefinito memorizzato nell'elemento di libreria. Per i valori mancanti verranno utilizzati automaticamente i valoripredefiniti (il numero di valori effettivi n può essere inferiore al numero di parametri). Quando si interpreta questo tipo di chiamata macro non

Dichiarazioni di controllo

Guida di Riferimento al GDL 334

è necessario trovare i parametri per nome per assegnare loro il valore effettivo, quindi anche se è più scomodo da usare rispetto ai precedenti,si possono ottenere prestazioni migliori.CALL stringa_nome_macro [, lista_parametri]Questa forma di chiamata macro può essere utilizzata per la compatibilità con le versioni precedenti. Può essere utilizzato con semplici file ditesto GDL così come qualsiasi elemento di libreria, a condizione che il suo elenco di parametri contenga solo parametri numerici di una solalettera (A ... Z). Con questo metodo non sono consentite espressioni di tipo stringa o matrice. L'elenco dei parametri è un elenco di semplicivalori numerici: il valore del parametro A sarà il primo valore nell'elenco, il valore del parametro B sarà il secondo valore e così via. Se sonopresenti valori inferiori a A ... Z specificati nell'elenco dei parametri, per i valori mancanti verrà utilizzato automaticamente 0. Se la macro(elemento di libreria) non ha un parametro di una sola lettera corrispondente al valore, l'interpretazione continuerà saltando questo valore, mariceverai un avviso dal programma.

Esempio:CALL "leg" 2, , 5 ! A = 2, B = 0, C = 5 leg 2, , 5CALL "porta-1" PARAMETERS height = 2, a = 25.5, name = "Direttore"CALL "porta-1" PARAMETERS ! usa i valori predefiniti dei parametri

OUTPUT IN UN RIQUADRO DI AVVISO O IN UNA FINESTRA DI RESOCONTO

PRINTPRINT espressione [, espressione, ...]Scrive tutti i suoi argomenti in una finestra di dialogo o nella finestra di Resoconto, a seconda dell'Ambiente di Lavoro (vedi sezione chiamata«Avvisi GDL»). Gli argomenti possono essere stringhe o espressioni numeriche di qualsiasi numero in qualsiasi sequenza, separati da virgole.

Esempio:PRINT "variabile-loop:", iPRINT j, k-3*lPRINT "Inizio dell'interpretazione"PRINT a * SIN (alfa) + b * COS (alfa)PRINT "Valori dei parametri: ", "a = ", a, ", b = ", bPRINT name + STR ("%m", i) + "." + ext

Dichiarazioni di controllo

Guida di Riferimento al GDL 335

OPERAZIONI SUI FILELe seguenti parole chiave consentono di aprire file esterni per la lettura/scrittura e di manipolarli inserendo/ottenendo valori da/agli scriptGDL. Questo processo implica necessariamente l'utilizzo di estensioni add-on speciali. I file di testo possono essere gestiti da sezione chiamata«Add-on GDL Text I/O». Add-on per altri tipi di file possono essere sviluppati da terze parti.Vedi anchesezione chiamata «Add-on GDL Text I/O».

OPENOPEN (filtro, nomefile, parametro_stringa)Apre un file come indicato. Il suo valore di ritorno è un numero intero positivo che identificherà il file specifico, -2 se manca l'add-on, -1 semanca il file. Se positivo, questo valore, il numero del canale, sarà il numero di riferimento del file nelle istanze successive. Per includere il filedi riferimento nel progetto di archivio, utilizzare FILE_DEPENDENCE con il nome del file.filter: stringa, il nome di un'estensione esistente.filename: stringa, il nome del file.parameter_string: stringa, contiene i caratteri di separazione specifici dell'estensione operativa e della modalità di apertura. I suoi

contenuti sono interpretati dall'estensione.

INPUTINPUT (canale, recordID, IDcampo, variabile1 [, variabile2, ...])Il numero di parametri dati definisce il numero di valori dalla posizione iniziale letti dal file identificato dal valore del canale. L'elenco deiparametri deve contenere almeno un valore. Questa funzione inserisce i valori letti nei parametri come ordinato. Questi valori possono esseredi tipo numerico o stringa, indipendentemente dal tipo di parametro definito per la memorizzazione.Il valore restituito è il numero dei valori letti con successo. Quando si incontra un carattere di fine file, viene restituito -1.recordID, fieldID: la stringa o la posizione di inizio della lettura di tipo numerico, il suo contenuto viene interpretato dall'estensione.

VARTYPEVARTYPE (espressione)Restituisce il tipo di espressione:• 1 - numerico• 2 - stringa• 3 - gruppo (come risultato di ADDGROUP e simili)• 4 - dizionario

Dichiarazioni di controllo

Guida di Riferimento al GDL 336

Utile durante la lettura di valori in variabili con INPUT, che può variare tra il tipo 1 e 2 in base ai valori correnti. Il tipo di queste variabili nonviene verificato durante il processo di compilazione.

OUTPUTOUTPUT canale, recordID, IDcampo, espressione1 [, espressione2, ...]Scrive tanti valori nel file identificato dal valore del canale dalla posizione data quante sono le espressioni definite. Deve esserci almenoun'espressione. Il tipo di valori è lo stesso di quelli delle espressioni.recordID, fieldID: la stringa o la posizione di inizio della scrittura di tipo numerico; i suoi contenuti sono interpretati dall'estensione.

CLOSECLOSE canaleChiude il file identificato dal valore del canale.

UTILIZZO DI ADD-ON DETERMINISTICILe seguenti parole chiave consentono di chiamare add-on GDL che forniscono una funzione deterministica, ovvero il risultato di unadeterminata operazione dipende solo dai parametri specificati. Questo processo implica necessariamente l'utilizzo di estensioni add-on speciali.Ad esempio, le operazioni sui poligoni possono essere eseguite tramite l'add-on PolyOperations. Add-on per altre operazioni possono esseresviluppati da terze parti.Vedi anchesezione chiamata «Estensione Operazioni sui Poligoni».

INITADDONSCOPEINITADDONSCOPE (estensione, parametro_stringa1, parametro_stringa2)Apre un canale come indicato. Il suo valore di ritorno è un numero intero positivo che identificherà la connessione specifica. Questo valore, ilnumero del canale, sarà il numero di riferimento della connessione nelle istanze successive.extension: stringa, il nome di un'estensione esistente.parameter_string1: string, il suo contenuto viene interpretato dall'estensione.parameter_string2: string, il suo contenuto viene interpretato dall'estensione.

PREPAREFUNCTIONPREPAREFUNCTION canale, nome_funzione, espressione1 [, espressione2, ...]Imposta alcuni valori nell'add-on come fase di preparazione per chiamare una funzione successiva.function_name: la stringa o l'identificatore numerico della funzione da chiamare; i suoi contenuti sono interpretati dall'estensione.

Dichiarazioni di controllo

Guida di Riferimento al GDL 337

expression: parametri da trasmettere per la fase di preparazione.

CALLFUNCTIONCALLFUNCTION (canale, nome_funzione, parametro, variabile1 [, variabile2, ...])La funzione denominata nome_funzione nell'add-on specificato dal canale viene chiamata. L'elenco dei parametri deve contenere almeno un valore.Questa funzione inserisce i valori restituiti nei parametri come ordinato. Il valore restituito è il numero dei valori impostati correttamente.channel: valore del canale, utilizzato per identificare la connessione.function_name: la stringa o l'identificatore numerico della funzione da chiamare; i suoi contenuti sono interpretati dall'estensione.parameter: parametro di input; i suoi contenuti sono interpretati dall'estensione.variablei: parametro di output.

CLOSEADDONSCOPECLOSEADDONSCOPE canaleChiude la connessione identificata dal valore del canale.

Varie

Guida di Riferimento al GDL 338

VARIEGDL può anche gestire una serie di operazioni su file esterni tramite speciali applicazioni Add-On. I comandi utilizzati per ottenere questo sono descritti in questocapitolo e illustrati con un esempio.

VARIABILI GLOBALILe variabili globali consentono di memorizzare valori speciali del modello. Ciò consente di accedere alle informazioni geometriche sull'ambientedella macro GDL. Ad esempio, è possibile accedere ai parametri del muro quando si definisce una finestra che deve adattarsi al muro. Le variabiliglobali non vengono impilate durante le chiamate di macro.Per porte, finestre, etichette ed elementi di libreria di tipo proprietà c'è una possibilità in più di comunicare con Archicad attraverso parametrinominati e opzionali. Questi parametri, se presenti nella lista dei parametri dell'elemento di libreria, sono impostati da Archicad. Vedi l'elenco deiparametri a nome fisso e maggiori dettagli in sezione chiamata «Parametri opzionali a nome fisso».

Compatibilità degli ScriptLe variabili globali dipendenti dalla vista o dal progetto non devono essere utilizzate negli script dei parametri (o script master eseguiticome script di parametri) per evitare che gli script di parametri vengano eseguiti in occasioni e i valori dei parametri risultanti diventino dipendentidal contesto, incoerenti all'interno del file di pianta.Compatibilità fino ad Archicad 19: Tali globali utilizzate accidentalmente nello script dei parametri generano avvisi GDL.Compatibilità a partire da Archicad 20: Tali variabili globali utilizzate nello script dei parametri generano avvisi GDL e conterranno solo un valore predefinitostatico (corrispondenza-tipo).Compatibilità a partire da Archicad 22: Le variabili globali dipendenti dalla vista non devono essere utilizzate negli script delle proprietà (o gli script Master eseguiticome script di Proprietà). Tali istanze causeranno avvisi negli script. Tuttavia, le variabili dipendenti dal progetto sono abilitate nella maggior parte dei casi nelloscript delle proprietà.Per i dettagli sulla compatibilità, controlla le descrizioni delle variabili globali. Ove indicato, si applicano limitazioni al tipo di script.Legenda

funziona senza limitazioni

funziona (con avviso aggiuntivo)

contiene un valore predefinito fittizio (con avviso aggiuntivo)

Varie

Guida di Riferimento al GDL 339

Informazioni generali sull'ambienteGLOB_SCRIPT_TYPE tipo di script corrente

• 1 - script delle Proprietà• 2 - script 2D• 3 - script 3D• 4 - script Interfaccia Utente• 5 - script dei Parametri• 6 - script Master• 7 - script Migrazione in Avanti• 8 - script Migrazione a Ritroso

GLOB_VIEW_TYPE tipo di vista corrente (dipendente dalla vista, non utilizzare negli script di parametri/proprietà).

2D 3D UI Parametro Proprietà Default -

• 2 - 2D (Pianta)• 3 - 3D• 4 - Sezione• 5 - Alzato• 6 - Documento 3D• 7 - Dettaglio• 8 - Layout• 9 - CalcoloUsa i valori esatti necessari. L'uso di intervalli non è consigliato a causa di possibili future estensioni di valore.

GLOB_PREVIEW_MODE tipo di anteprima corrente (dipende dalla vista, non utilizzare negli script di parametri/proprietà)

• 0 - Nulla• 1 - Dialogo• 2 - Lista• 3 - Salvataggio PreferitoUsa i valori esatti necessari. L'uso di intervalli non è consigliato a causa di possibili future estensioni di valore.

GLOB_FEEDBACK_MODE indica la modifica in corso (dipende dalla vista, non utilizzare negli script di parametri/proprietà)

0 - off, 1 - feedback modalità di modifica

Varie

Guida di Riferimento al GDL 340

GLOB_SEO_TOOL_MODE indica operazioni su elementi solidi in corso (dipendente dalla vista, non utilizzare negli script diparametri/proprietà)

0 - off, 1 - modalità di operazioni degli elementi solidi

GLOB_DIAGNOSTICS_MODE Comando del menu Sviluppatore della Libreria (59) per la diagnostica GDL

Compatibilità: introdotto in Archicad 23.0 - off, 1 - onUtilizzare negli script come istruzione condizionale per visualizzare il contenuto di debug delle parti della libreria.

GLOB_SCALE scala del disegno (dipendente dalla vista, non utilizzare negli script di parametri/proprietà)

2D 3D UI Parametro Proprietà Default 100

secondo la finestra corrente

GLOB_DRAWING_BGD_PEN penna del colore di sfondo del disegno (dipendente dalla vista, non utilizzare negli script diparametri/proprietà)

2D 3D UI Parametro Proprietà Default 19

la penna (stampabile) dalla palette corrente che più corrisponde al colore di sfondo della finestra corrente

GLOB_FILL_INDEX_SOLID indice del tipo di retino "Primo Piano" (retino pieno) in base al Template (dipendente dal progetto,non utilizzare nello script dei parametri)

2D 3D UI Parametro Proprietà Default 16

contiene l'indice applicato del tipo retino "Primo Piano"Compatibilità: introdotto in Archicad 22.

GLOB_FILL_INDEX_BACKGROUND indice del tipo di riempimento "Sfondo" in base al Template (dipendente dal progetto, non utilizzarenello script dei parametri)

2D 3D UI Parametro Proprietà Default 16

contiene l'indice applicato del tipo di retino "Sfondo"Compatibilità: introdotto in Archicad 22.

Varie

Guida di Riferimento al GDL 341

GLOB_NORTH_DIR direzione nord di progetto (dipendente dal progetto, non utilizzare nello script dei parametri)

2D 3D UI Parametro Proprietà Default 90

rispetto al sistema di coordinate del progetto predefinito in base alle impostazioni effettuate nella finestra di dialogo Posizione Progetto

GLOB_PROJECT_LONGITUDE longitudine del progetto (dipendente dal progetto, non utilizzare nello script dei parametri)

GLOB_PROJECT_LATITUDE latitudine del progetto (dipendente dal progetto, non utilizzare nello script dei parametri)

GLOB_PROJECT_ALTITUDE altitudine del progetto (dipendente dal progetto, non utilizzare nello script dei parametri)

2D 3D UI Parametro Proprietà Default 0

le coordinate geografiche dell'origine del progetto in base alle impostazioni specificate nella finestra di dialogo Posizione Progetto

GLOB_PROJECT_DATE data del progetto (dipendente dal progetto, non utilizzare nello script dei parametri)

2D 3D UI Parametro Proprietà Default [0, 0, 0,0, 0, 0]

matrice dei seguenti sei valori: 1 - anno, 2 - mese, 3 - giorno, 4 - ora, 5 - minuti, 6 - secondi. Questa variabile contiene la data corrente del progetto ed è impostata solo nell'add-onEcoDesigner STAR® (in altri casi tutti i valori sono impostati a 0). Il valore di questa variabile viene modificato dall'add-on durante l'esecuzione delle routine di analisi solare perconsentire a determinati oggetti GDL (ad esempio alberi decidui) di essere rappresentati in modo diverso in diversi periodi dell'anno.

GLOB_WORLD_ORIGO_OFFSET_X (dipendente dal progetto, non utilizzare nello script dei parametri)

GLOB_WORLD_ORIGO_OFFSET_Y (dipendente dal progetto, non utilizzare nello script dei parametri)

2D 3D UI Parametro Proprietà Default 0

Posizione dell'origine del progetto rispetto all'origine del mondo. Vedi Illustrazione dell'uso delle globali GLOB_WORLD_ORIGO _....

GLOB_MODPAR_NAME nome dell'ultimo parametro modificato

nella finestra di dialogo delle impostazioni o nell'editor degli elementi di libreria, inclusi i parametri modificati tramite hotspot modificabili.

GLOB_UI_BUTTON_ID id del pulsante premuto nella pagina dell'interfaccia utente

o 0, se l'ultima azione non è stata la pressione di un pulsante con id.

Varie

Guida di Riferimento al GDL 342

GLOB_CUTPLANES_INFO (dipendente dal progetto, non utilizzare nello script dei parametri)

2D 3D UI Parametro Proprietà Default [1.,, 3.0,-0.1, -0.1]

matrice di 4 valori di lunghezza: 1 - altezza Piano di Taglio, 2 - livello superiore del Piano di Taglio, 3 - livello inferiore del Piano di Taglio, 4 - limite di visualizzazione assoluto,nel sistema di coordinate locali dell'elemento di libreria. Vedi i dettagli nella finestra di dialogo Piano di Taglio Pianta di Archicad.

GLOB_STRUCTURE_DISPLAY dettaglio visualizzazione della struttura (dipendente dal progetto, non utilizzare nello script deiparametri)

2D 3D UI Parametro Proprietà Default 0

informa sulle impostazioni delle opzioni di visualizzazione parziale della struttura (intero): 0 - intero modello, 1 - solo struttura, 2 - senza finiture

GLOB_ISSUE_SCHEME elenco di dati personalizzati definiti nello schema problematica

2D 3D UI Parametro Proprietà Default -

Disponibile in ogni contesto. Matrice di stringhe a 2 righe, contenente i nomi dei campi definiti nello Schema Modifica (prima riga), con i GUID corrispondenti (seconda riga). Leprime cinque colonne sono fisse: ID Revisione, ID Modifica, Nome Modifica, Data Modifica, Trasmesso da.Per esempio:

ID Revisione ID Modifica Nome Modifica Data Modifica Trasmesso da Destinatario Stato ...

{RevIdGUID} {IssueIdGUID} {IssueNameGUID} {IssueDateGUID} {IssuedByGUID} {Custom1GUID} {Custom2GUID}

LAYOUT_REVISION_HISTORY elenco dello storico delle revisioni del layout corrente

2D 3D UI Parametro Proprietà Default -

Disponibile solo nel contesto del layout. Matrice di stringhe, contenente 1 riga per revisione, nella stessa struttura di GLOB_ISSUE_SCHEME. Le prime cinque colonne sonofisse: ID Revisione, ID Modifica, Nome Modifica, Data Modifica, Trasmesso da.Per esempio:

01 1 Prima Modifica 2013-06-30 utente1 Chiunque SD ...

02 3 Aggiornamento generale 2013-07-31 utente2 Meccanico DD

03 5 Aggiornamentostrutturale

2013-08-31 utente1 Strutturale DD

...

Varie

Guida di Riferimento al GDL 343

GLOB_CHANGE_SCHEME elenco di dati personalizzati definiti nello Schema Modifica

2D 3D UI Parametro Proprietà Default -

Disponibile in ogni contesto. Matrice di stringhe a 2 righe, contenente i nomi dei campi definiti nello Schema Modifica (prima riga), con i corrispondenti GUID (seconda riga). Leprime cinque colonne sono fisse: ID Revisione, ID Modifica, Nome Modifica, Data Ultima Modifica, Ultima Modifica da.Per esempio:

ID Revisione ID Modifica DescrizioneModifica

Ultima Modifica Ultima Modificada

Creato da Approvato da ...

{RevIdGUID} {ChIdGUID} {ChDescGUID} {ModiTimeGUID} {ModiByGUID} {Custom1GUID} {Custom2GUID}

LAYOUT_CHANGE_HISTORY elenco di tutte le modifiche che compaiono nello Storico delle Revisioni del layout corrente

2D 3D UI Parametro Proprietà Default -

Disponibile solo nel contesto del layout. Matrice di stringhe, contenente 1 riga per Modifica, nella stessa struttura di GLOB_CHANGE_SCHEME. Le prime cinque colonnesono fisse: ID Revisione, ID Modifica, Nome Modifica, Data Ultima Modifica, Ultima Modifica da.Per esempio:

2 Ch-13 Cucina 2013-07-13 utente1 Architetto 1 Architetto Capo 1 ...

2 Ch-15 Ventilazione 2013-07-16 utente2 Architetto 2 Architetto Capo 1

3 Ch-18 Pil. Strutturale. 2013-08-03 utente2 Architetto 1 Architetto Capo 2

3 Ch-19 Sezioni Trave 2013-08-12 utente1 Architetto 3 Architetto Capo 2

B Ch-23 Numerazione Porte 2013-10-01 utente3 Architetto 2 Architetto Capo 1

...

LAYOUT_CURRENTREVISION_OPEN Stato di lavoro in corso del layout corrente (dipendente dal progetto, non utilizzare nello script deiparametri)

2D 3D UI Parametro Proprietà Default 0

Disponibile solo nel contesto del layout. 0 - il layout corrente non ha Revisioni aperte, 1 - il layout corrente ha una Revisione aperta (è un layout in lavorazione)

Varie

Guida di Riferimento al GDL 344

Informazioni sul PianoGLOB_HSTORY_ELEV elevazione del Piano Ospite (dipendente dal progetto, non utilizzare nello script dei parametri)

2D 3D UI Parametro Proprietà Default 0

il Piano Ospite è quello su cui è posizionato l'oggetto

GLOB_HSTORY_HEIGHT altezza del Piano Ospite (dipendente dal progetto, non utilizzare nello script dei parametri)

2D 3D UI Parametro Proprietà Default 3.1

il Piano Ospite è quello su cui è posizionato l'oggetto

GLOB_CSTORY_ELEV elevazione del Piano corrente (dipendente dal progetto, non utilizzare nello script dei parametri)

2D 3D UI Parametro Proprietà Default 0.0

il Piano corrente è quello attualmente mostrato nella finestra Pianta

GLOB_CSTORY_HEIGHT altezza del Piano corrente (dipendente dal progetto, non utilizzare nello script dei parametri)

2D 3D UI Parametro Proprietà Default 3.1

il Piano corrente è quello attualmente mostrato nella finestra Pianta

GLOB_CH_STORY_DIST posizione relativa del Piano corrente rispetto al Piano Ospite (dipendente dal progetto, non utilizzarenello script dei parametri)

2D 3D UI Parametro Proprietà Default 0.0

il Piano corrente è quello attualmente mostrato nella finestra Pianta

Informazioni Vola-AttraversoGLOB_FRAME_NR numero di fotogramma corrente nell'animazione (dipende dalla vista, non utilizzare negli script di

parametri/proprietà)

2D 3D UI Parametro Proprietà Default -1

valido solo per l'animazione, -1 per le immagini fisse

Varie

Guida di Riferimento al GDL 345

GLOB_FIRST_FRAME indice del primo fotogramma nel Vola-Attraverso (dipendente dalla vista, non utilizzare negli scriptdi parametri/proprietà)

2D 3D UI Parametro Proprietà Default 0

valido solo per l'animazione, 0 per le immagini fisse

GLOB_LAST_FRAME indice dell'ultimo fotogramma nel Vola-Attraverso (dipendente dalla vista, non utilizzare negli scriptdi parametri/proprietà)

2D 3D UI Parametro Proprietà Default 0

valido solo per l'animazione, 0 per le immagini fisse

GLOB_EYEPOS_X posizione corrente della telecamera (x) (dipendente dalla vista, non utilizzare negli script diparametri/proprietà)

2D 3D UI Parametro Proprietà Default -5.0

valido solo nella proiezione prospettica sia per l'animazione che per le immagini fisse

GLOB_EYEPOS_Y posizione corrente della telecamera (y) (dipendente dalla vista, non utilizzare negli script diparametri/proprietà)

2D 3D UI Parametro Proprietà Default -5.0

valido solo nella proiezione prospettica sia per l'animazione che per le immagini fisse

GLOB_EYEPOS_Z posizione corrente della telecamera (z) (dipendente dalla vista, non utilizzare negli script diparametri/proprietà)

2D 3D UI Parametro Proprietà Default 1.7

valido solo nella proiezione prospettica sia per l'animazione che per le immagini fisse

GLOB_TARGPOS_X posizione corrente dell'obbiettivo (x) (dipendente dalla vista, non utilizzare negli script di parametri/proprietà)

2D 3D UI Parametro Proprietà Default 0.0

valido solo nella proiezione prospettica sia per l'animazione che per le immagini fisse

Varie

Guida di Riferimento al GDL 346

GLOB_TARGPOS_Y posizione corrente dell'obbiettivo (y) (dipendente dalla vista, non utilizzare negli script di parametri/proprietà)

2D 3D UI Parametro Proprietà Default 0.0

valido solo nella proiezione prospettica sia per l'animazione che per le immagini fisse

GLOB_TARGPOS_Z posizione corrente dell'obbiettivo (z) (dipendente dalla vista, non utilizzare negli script di parametri/proprietà)

2D 3D UI Parametro Proprietà Default 1.7

valido solo nella proiezione prospettica sia per l'animazione che per le immagini fisse

GLOB_SUN_AZIMUTH azimut del sole (dipendente dal progetto, non utilizzare nello script dei parametri)

2D 3D UI Parametro Proprietà Default 240

secondo le impostazioni nella finestra di dialogo Sole...

GLOB_SUN_ALTITUDE altitudine del sole (dipendente dal progetto, non utilizzare nello script dei parametri)

2D 3D UI Parametro Proprietà Default 35

secondo le impostazioni nella finestra di dialogo Sole...

Parametri generali degli elementiGLOB_LAYER lucido dell'elemento

nome del lucido a cui è assegnato l'elemento

GLOB_ID ID utente dell'elemento

ID come impostato nella finestra di dialogo delle impostazioni

GLOB_INTGUID GUID interno dell'elemento

il GUID interno generato dal programma (non può essere controllato dall'utente)

Varie

Guida di Riferimento al GDL 347

GLOB_ELEVATION elevazione di base dell'elemento

• oggetti porta/finestra: altezza soglia/davanzale, secondo le impostazioni correnti• solaio: l'elevazione del piano di riferimento scelto per il solaio, secondo le impostazioni• muro/testa muro: l'elevazione della base del muro (l'altezza della linea di riferimento di un muro profilato può essere diversa, a seconda dell'origine del profilo)• altri elementi/oggetti: l'elevazione della base, in base alle impostazioni

GLOB_ELEM_TYPE tipo di elemento, per le etichette e gli oggetti proprietà contiene il tipo dell'elemento padre

0 - nessuno (etichetta individuale), 1 - oggetto, 2 - lampada, 3 - finestra, 4 - porta, 5 - muro, 6 - pilastro, 7 - solaio, 8 - falda, 9 - retino, 10 - mesh, 11 - zona, 12 - trave, 13 -curtain wall, 14 - profilo curtain wall, 15 - pannello curtain wall, 16 - giunto curtain wall, 17 - accessorio curtain wall, 18 - shell, 19 - lucernario, 20 - forma, 21 - scala, 22 -pedata scala, 23 - alzata scala, 24 - struttura scala, 25 - parapetto, 26 - apertura, 27 - segmento pilastro, 28 - segmento trave.

Parametri Oggetto, Lampada, Porta, Finestra, Testa Muro, LucernarioSYMB_LINETYPE tipo di linea della parte dell'elemento di libreria

applicato come tipo di linea predefinito del simbolo 2D

SYMB_FILL tipo retino dell'elemento di libreria

applicato su superfici di taglio di elementi di libreria nelle finestre di sezione/alzato

SYMB_FILL_PEN penna del retino dell'elemento di libreria

applicato su superfici di taglio di elementi di libreria nelle finestre di sezione/alzato

SYMB_FBGD_PEN penna dello sfondo del retino dell'elemento di libreria

applicato su superfici di taglio di elementi di libreria nelle finestre di sezione/alzato

SYMB_SECT_PEN penna dell'elemento di libreria in sezione

applicato sui contorni delle superfici di taglio dell'elemento di libreria nelle finestre di sezione/alzato

SYMB_VIEW_PEN penna predefinita dell'elemento di libreria

applicato su tutti i bordi nella finestra 3D e sui bordi in vista nelle finestre di sezione/alzato

SYMB_MAT indice dell'attributo di superficie di default dell'elemento di libreria

SYMB_POS_X posizione dell'elemento di libreria (x)

rispetto all'origine del progetto (escluso porta, finestra e testa muro: rispetto al punto iniziale del muro che la include)

Varie

Guida di Riferimento al GDL 348

SYMB_POS_Y posizione dell'elemento di libreria (y)

rispetto all'origine del progetto (escluso porta, finestra e testa muro: rispetto al punto iniziale del muro che la include) Nota: Vedi sezione chiamata «Porte e finestre» per l'orientamentodegli assi Y e Z

SYMB_POS_Z posizione dell'elemento di libreria (z)

rispetto all'origine del progetto (escluso porta, finestra e testa muro: rispetto al punto iniziale del muro che la include) Nota: Vedi sezione chiamata «Porte e finestre» per l'orientamentodegli assi Y e Z

SYMB_ROTANGLE angolo di rotazione dell'elemento di libreria

la rotazione numerica dall'interno della finestra di dialogo delle impostazioni viene eseguita attorno al punto di ancoraggio corrente

SYMB_MIRRORED elemento di libreria specchiato

0-no, 1-si (la specchiatura viene eseguita attorno al punto di ancoraggio corrente.) Sempre 0 per le teste muro, tranne quando l'origine del sistema di coordinate locali si trova in unvertice non rettangolare del poligono di un muro trapezoidale.Lo stato di specchiatura di un collegamento non è incluso, gli elementi di libreria in un modulo ricevono il loro stato di specchiatura relativo al modulo (come nel piano originaleda cui il modulo è stato salvato).

Parametri Oggetto, Lampada, Porta, Finestra, Testa Muro, Lucernario, Accessorio perCurtain Wall - disponibili solo per liste ed etichetteSYMB_A_SIZE lunghezza/larghezza nominale dell'elemento di libreria

lunghezza oggetto/lampada, larghezza finestra/porta (parametro fisso), larghezza accessorio

SYMB_B_SIZE larghezza/altezza nominale dell'elemento di libreria

larghezza oggetto/lampada, altezza finestra/porta (parametro fisso), altezza accessorio

Parametri Oggetto, Lampada, Accessorio Curtain Wall - disponibili solo per liste edetichetteSYMB_Z_SIZE altezza/lunghezza nominale dell'elemento di libreria

lunghezza dell'accessorio o se un parametro utente è denominato in formato zzyzx, verrà utilizzato per l'altezza nominale, altrimenti 0

Varie

Guida di Riferimento al GDL 349

Parametri OggettoSYMB_POS_FROM_SURVEY_POINT dizionario, posizione dell'elemento di libreria trasformata nel sistema di coordinate del Punto di

Rilevamento

2D 3D UI Parametro Proprietà Default { 0, 0, 0 }

Coordinate calcolate della posizione dell'oggetto rispetto al Punto di Rilevamento del progetto. Applicato agli oggetti posizionati sulla planimetria o sulla finestra del modello 3D,altrimenti viene inizializzato a vettore zero.Compatibilità: introdotto in Archicad 25.{ "x": 0.0, "y": 0.0, "z": 0.0}

Parametri Apertura - disponibili solo per liste ed etichetteOPENING_HEIGHT lunghezza, altezza nominale dell'apertura

2D 3D UI Parametro Proprietà Default 1

Compatibilità: introdotto in Archicad 23.

OPENING_WIDTH lunghezza, larghezza nominale dell'apertura

2D 3D UI Parametro Proprietà Default 1

Compatibilità: introdotto in Archicad 23.

OPENING_HEADERHEIGHT_VALUES dizionario, elevazione relativa dell'architrave dell'apertura (o punto più alto se ruotato) da specificilivelli di riferimento

2D 3D UI Parametro Proprietà Default {}

Compatibilità: introdotto in Archicad 23.{ "toHomeStory": 1.5, "toProjectZero": 1.5, "toWallBottom": 1.5, "toWallTop": 1.5}

Varie

Guida di Riferimento al GDL 350

OPENING_CENTERHEIGHT_VALUES dizionario, elevazione relativa del centro dell'apertura da specifici livelli di riferimento

2D 3D UI Parametro Proprietà Default {}

Compatibilità: introdotto in Archicad 23.{ "toHomeStory": 1.0, "toProjectZero": 1.0, "toWallBottom": 1.0, "toWallTop": 2.0}

OPENING_SILLHEIGHT_VALUES dizionario, elevazione relativa del davanzale dell'apertura (o punto più basso se ruotato) da specificilivelli di riferimento

2D 3D UI Parametro Proprietà Default {}

Compatibilità: introdotto in Archicad 23.{ "toHomeStory": 0.5, "toProjectZero": 0.5, "toWallBottom": 0.5, "toWallTop": 0.5}

Parametri del Simbolo dell'AperturaOPENING_SYMBOL_DISPLAY intero, visibilità del simbolo di apertura in base al Piano di Taglio in pianta (dipendente dalla vista,

non utilizzare negli script di parametri/proprietà)

2D 3D UI Parametro Proprietà Default 1

Compatibilità: introdotto in Archicad 23.1 - visibile, 2 - nascosto, 3 - da sopra

Varie

Guida di Riferimento al GDL 351

OPENING_SYMBOL_GEOMETRY dizionario, contiene la geometria del simbolo (dipendente dalla vista, non utilizzare negli script diparametri/proprietà)

2D 3D UI Parametro Proprietà Default {}

Compatibilità: introdotto in Archicad 23.• .boundingBox2D{}: (dizionario) definizione del rettangolo di ingombro del poligono di apertura, sempre allineato al sistema di coordinate del simbolo di apertura.• .boundingBox2D.xmin• .boundingBox2D.xmax• .boundingBox2D.ymin• .boundingBox2D.ymax• .polygon2D{}: (dizionario) poligono proiettato dell'apertura tagliato dalla geometria dell'elemento padre• .polygon2D.isClosed: (booleano) sempre 1 in caso di poligono (0 - riservato per sviluppi futuri)• .polygon2D.contour{}: (dizionario) contiene i dati del contorno del poligono. Il poligono predefinito corrisponde al rettangolo in .boundingBox2D{}• .polygon2D.contour.edges[n]: (matrice) contiene un dizionario incorporato per ogni bordo del poligono• .polygon2D.contour.edges[n].type: (intero) 0 - diritto, 1 - curvo (arco circolare)• .polygon2D.contour.edges[n].begPoint{}: (dizionario) un dizionario incorporato per le coordinate del punto iniziale del bordo• .polygon2D.contour.edges[n].arcangolo: (angolo) angolo centrale della curva del bordo, positivo in senso antiorario, negativo in senso orario (non

impostato per i bordi diritti)• .polygon2D.holes[m]: (matrice) contiene i dati dei fori interni, simile a .contour, impostato solo quando esistono dei fori

Varie

Guida di Riferimento al GDL 352

OPENING_SYMBOL_GEOMETRY: { "boundingBox2D": { "xmin": 0, "xmax": 1, "ymin": 0, "ymax": 1 }, "polygon2D": { "isClosed": 1, "contour": { "edges": [ { "type": 1, "begPoint": { "x": 1, "y": 0.5 }, "arcangolo": 90 }, { "type": 1, "begPoint": { "x": 0.5, "y": 1 }, "arcangolo": 90 }, { "type": 1, "begPoint": { "x": 0, "y": 0.5 }, "arcangolo": 90 },

Varie

Guida di Riferimento al GDL 353

{ "type": 1, "begPoint": { "x": 0.5, "y": 0 }, "arcangolo": 90 } ] }, "holes": { "edges": [ { "type": 0, "begPoint": { "x": 0.4, "y": 0.4 }, }, { "type": 0, "begPoint": { "x": 0.4, "y": 0.6 }, }, { "type": 0, "begPoint": { "x": 0.6, "y": 0.6 }, },

Varie

Guida di Riferimento al GDL 354

{ "type": 0, "begPoint": { "x": 0.6, "y": 0.4 }, } ] } }

Parametri Finestra, Porta e Testa MuroWIDO_REVEAL_ON la spalletta incorporata della finestra/porta è attiva

0-spalletta off, 1-spalletta on

WIDO_SILL profondità del davanzale/soglia della finestra/porta - a volte indicata come profondità della spalletta

per muri curvi: in direzione radiale all'angolo di apertura di dimensioni nominali

WIDO_SILL_HEIGHT altezza nominale della soglia/davanzale della porta/finestra

WIDO_RSIDE_SILL_HEIGHT altezza della soglia/davanzale della porta/finestra sul lato della spalletta

WIDO_OPRSIDE_SILL_HEIGHT della soglia/davanzale della porta/finestra sul lato opposto alla spalletta

WIDO_RIGHT_JAMB spalletta incorporata porta/finestra sul lato destro

WIDO_LEFT_JAMB spalletta incorporata porta/finestra sul lato sinistro

WIDO_THRES_DEPTH profondità davanzale/soglia incorporata finestra/porta

WIDO_HEAD_DEPTH profondità architrave incorporato finestra/porta

WIDO_HEAD_HEIGHT altezza nominale architrave della finestra/porta

WIDO_RSIDE_HEAD_HEIGHT altezza architrave della finestra/porta sul lato della spalletta

WIDO_OPRSIDE_HEAD_HEIGHT altezza architrave della finestra/porta sul lato opposto alla spalletta

WIDO_REVEAL_SIDE il lato della spalletta è opposto al lato di apertura

1-si, 0-no - quando si posiziona un elemento, il valore predefinito è 0 per le finestre, 1 per le porte

Varie

Guida di Riferimento al GDL 355

WIDO_FRAME_THICKNESS spessore telaio di finestra/porta

quando si capovolgono porte/finestre, verranno specchiate e ricollocate automaticamente con questo valore

WIDO_POSITION offset della porta/finestra

angolo o distanza tra l'asse dell'apertura o dell'estremità del muro e il vettore normale nel punto di partenza del muro

WIDO_ORIENTATION orientamento apertura finestra/porta

sinistra/destra: funzionerà bene solo se la porta/finestra è stata creata secondo gli standard locali

WIDO_MARKER_TXT testo marker finestra/porta

WIDO_SUBFL_THICKNESS spessore del sottopavimento (per la correzione dell'altezza della soglia/davanzale)

WIDO_PREFIX prefisso altezza davanzale/soglia finestra/porta

WIDO_CUSTOM_MARKER commutatore marker personalizzato per porta/finestra

1-I parametri possono essere utilizzati nello script 2D mentre la quota automatica non è presente

WIDO_ORIG_DIST distanza dell'origine locale dal centro di curvatura del muro

distanza dell'origine locale dal punto centrale del muro curvo, 0 per i muri diritti. Negativo per le teste muro nel punto finale del muro curvo.

WIDO_PWALL_INSET parapetto incassato nel muro

Parametri Finestra, Porta: disponibile solo per liste ed etichetteWIDO_RSIDE_WIDTH larghezza apertura porta/finestra lato spalletta

WIDO_OPRSIDE_WIDTH larghezza apertura porta/finestra lato opposto alla spalletta

WIDO_RSIDE_HEIGHT altezza apertura porta/finestra lato spalletta

WIDO_OPRSIDE_HEIGHT altezza apertura porta/finestra lato opposto alla spalletta

WIDO_RSIDE_SURF superficie apertura porte/finestre lato spalletta

WIDO_OPRSIDE_SURF superficie apertura porte/finestre lato opposto alla spalletta

WIDO_N_RSIDE_WIDTH larghezza nominale di apertura della finestra/porta sul lato spalletta

WIDO_N_OPRSIDE_WIDTH larghezza nominale di apertura della finestra/porta sul lato opposto alla spalletta

WIDO_N_RSIDE_HEIGHT altezza nominale apertura porta/finestra lato spalletta

Varie

Guida di Riferimento al GDL 356

WIDO_N_OPRSIDE_HEIGHT altezza nominale apertura porta/finestra lato opposto alla spalletta

WIDO_N_RSIDE_SURF superficie nominale apertura porta/finestra lato spalletta

WIDO_N_OPRSIDE_SURF superficie nominale apertura porta/finestra lato opposto alla spalletta

WIDO_VOLUME volume apertura porta/finestra

WIDO_GROSS_SURFACE superficie nominale apertura finestra/porta

WIDO_GROSS_VOLUME volume nominale apertura finestra/porta

Parametri Lampada: disponibili solo per liste ed etichetteLIGHT_ON luce accesa

0-luce spenta, 1-luce accesa

LIGHT_RED componente rossa del colore della luce

LIGHT_GREEN componente verde del colore della luce

LIGHT_BLUE componente blu del colore della luce

LIGHT_INTENSITY intensità della luce

Parametri marker (Marker Dettaglio, Foglio di Lavoro e Modifica)MARKER_HEAD_ROT_MODE globale tipo intero, impostato secondo la funzione "Angolo Marker: Angolo fisso sullo schermo /

Angolo fisso sul Modello" nel pannello della finestra di dialogo Impostazioni Marker

2D 3D UI Parametro Proprietà Default 1

può essere utilizzato per reagire alle impostazioni di rotazione della testa del marker di Archicad sul lato del simbolo GDL1 - Angolo fisso sullo schermo, 2 - Angolo fisso sul ModelloCompatibilità: introdotto in Archicad 22.

Varie

Guida di Riferimento al GDL 357

MARKER_HEAD_ANGLE globale tipo angolo, impostato dall'utente nel pannello Marker della finestra di dialogo Impostazioni

2D 3D UI Parametro Proprietà Default 0

dati di rotazione del simbolo della testa del marker per la parte del simbolo GDL del markerCompatibilità: introdotto in Archicad 22.Negli oggetti marker di Dettaglio/Foglio di Lavoro, il valore SYMB_ROTANGLE rimane compatibile con questi nuovi dati di angolo:• Modalità "Angolo fisso sullo schermo": 1 - SYMB_ROTANGLE è l'opposto dell'angolo di rotazione della vista• Modalità "Angolo fisso sul Modello": 2 - SYMB_ROTANGLE è uguale a MARKER_HEAD_ANGLENegli oggetti Marker Modifica, il valore di SYMB_ROTANGLE rimane 0 come prima in tutti i casi.

Parametri EtichettaLABEL_POSITION posizione dell'etichetta

2D 3D UI Parametro Proprietà Default 0

matrice[3] [2] contenente le coordinate dei 3 punti che definiscono il puntatore dell'etichetta e la posizione iniziale del simbolo GDL dell'etichetta.Compatibilità: le restrizioni relative a script parametri e proprietà sono state introdotte in Archicad 22.Valore dipendente dalla vista in caso di "Angolo fisso" ON. Dipendente dal progetto nel caso in cui "Orientamento etichetta" sia impostato su "Parallelo" o "Perpendicolare" el'elemento genitore venga spostato, cambiando così il valore della variabile mentre non si esegue lo script dei parametri dell'etichetta stessa (non può essere memorizzato come parametro).

LABEL_ASSOC_ELEM_ORIENTATION orientamento dell'elemento associato

2D 3D UI Parametro Proprietà Default 0

• elementi dritti: la direzione della linea di riferimento• elementi curvi: la direzione della corda dell'arco• elementi puntiformi: l'angolo di rotazione dell'elementoCompatibilità: le restrizioni relative a script parametri e proprietà sono state introdotte in Archicad 22.Dipendente dal progetto: l'elemento genitore può essere spostato, cambiando così il valore della variabile mentre non si esegue lo script dei parametri dell'etichetta stessa (non puòessere memorizzato come parametro).

Varie

Guida di Riferimento al GDL 358

LABEL_ASSOC_ELEM_GEOMETRY linea di riferimento dell'elemento associato

2D 3D UI Parametro Proprietà Default {}

Compatibilità: introdotto in Archicad 23.Valido solo quando l'elemento associato è un muro.• .referenceLine2D{}: (dizionario) Linea di riferimento 2D nel sistema di coordinate del progetto. I muri di base con il metodo della geometria poligonale possono avere

più bordi. Lo stesso formato dei dati delle polilinee in PolyOperations, può essere inviato direttamente a "StoreDictPolyline".• .referenceLine2D.isClosed: (booleano) 1 - polilinea chiusa, 0 - polilinea aperta (l'ultimo punto dato come bordo aggiuntivo). Le linee di riferimento sono sempre

polilinee aperte.• .referenceLine2D.contour{}: (dizionario) contiene i dati della polilinea• .referenceLine2D.contour.edges[n]: (matrice) contiene un dizionario incorporato per ogni bordo della polilinea.• .referenceLine2D.contour.edges[n].type: (intero) 0 - dritto, 1 - curvo (arco circolare)• .referenceLine2D.contour.edges[n].begPoint{}: (dizionario) un dizionario incorporato per le coordinate 2D del punto iniziale del bordo• .referenceLine2D.contour.edges[n].begPoint.x: (mobile)• .referenceLine2D.contour.edges[n].begPoint.y: (mobile)• .referenceLine2D.contour.edges[n].arcangolo: (angolo) angolo centrale della curva del bordo, positivo in senso antiorario, negativo in senso orario

(non impostato per i bordi diritti)

LABEL_ROTANGLE dati angolo di rotazione assoluta per etichette di tipo simbolo GDL

2D 3D UI Parametro Proprietà Default 0

L'angolo viene calcolato in base alle impostazioni di Orientamento etichetta, Angolo fisso e leggibilità.Compatibilità: Le restrizioni degli script parametri e proprietà sono state introdotte in Archicad 22.Valore dipendente dalla vista in caso di "Angolo fisso" ON. Dipendente dal progetto nel caso in cui "Orientamento etichetta" sia impostato su "Parallela" o "Perpendicolare"":l'elemento genitore può essere spostato, cambiando così il valore della variabile.

LABEL_ARROWHEAD_PEN penna del terminatore a freccia

LABEL_HAS_POINTER Booleano

1 - "Aggiungi/Rimuovi Puntatore" è vistato nel pannello "Impostazioni Etichetta/Puntatore", altrimenti 0.Compatibilità: introdotto in Archicad 22. La variabile globale simile e inversa "LABEL_CUSTOM_ARROW" è considerata obsoleta da Archicad 22.

Parametri Muro - disponibili per Porte/Finestre, liste ed etichetteWALL_ID ID utente del muro

Varie

Guida di Riferimento al GDL 359

WALL_INTGUID GUID interno del muro

il GUID interno generato dal programma (non può essere controllato dall'utente)

WALL_RESOL risoluzione 3D di un muro curvo

efficace solo in 3D

WALL_THICKNESS spessore del muro

in caso di muri inclinati: lo spessore della parete in corrispondenza dell'asse di apertura (asse z locale)

WALL_START_THICKNESS Spessore iniziale del muro

WALL_END_THICKNESS Spessore finale del muro

WALL_INCL inclinazione delle superfici murarie

l'angolo tra le due superfici di muro inclinate - 0 per muri diritti comuni

WALL_FLIPPED valore booleano impostato in base a "Posizione linea di riferimento: Opzione "Gira il Muro sullaLinea di Riferimento" del muro

2D 3D UI Parametro Proprietà Default 0

informazioni sullo stato capovolto del muro corrente0 - posizione predefinita del muro, 1 - il muro è capovolto sulla linea di riferimentoCompatibilità: introdotto in Archicad 22.

WALL_HEIGHT altezza del muro

WALL_MAT_A indice di attributo di superficie del muro sul lato opposto al lato di apertura

WALL_MAT_B indice di attributo di superficie del muro sul lato di apertura

questa può variare da apertura a apertura posta nello stesso muro

WALL_MAT_EDGE indice di attributo di superficie dei bordi del muro

WALL_LINETYPE tipo di linea del muro

applicato sui contorni solo nella finestra di Pianta

WALL_FILL tipo retino del muro

indice di retino, primo strato di una struttura composita

WALL_FILL_PEN penna del retino del muro

Varie

Guida di Riferimento al GDL 360

WALL_COMPS_NAME nome della struttura composita o complessa del muro

il nome dell'attributo profilo per i muri complessi, il nome dell'attributo composito per i muri composti, altrimenti stringa vuota.

WALL_BMAT_NAME nome del materiale da costruzione del muro

nome del materiale da costruzione del muro, stringa vuota per muri compositi o complessi.

WALL_BMAT indice del materiale da costruzione del muro

Compatibilità: introdotto in Archicad 21.indice del materiale da costruzione del muro, 0 per muri compositi o complessi.

WALL_SKINS_NUMBER numero di strati per muri composti o complessi

intervallo da 1 a 127, 0 se viene applicato un retino singolo

Varie

Guida di Riferimento al GDL 361

WALL_SKINS_PARAMS parametri degli strati di muri composti o complessi

matrice con 19 colonne con numero arbitrario di righe:• [1] retino• [2] spessore• [3] (vecchia penna di contorno)• [4] penna del retino• [5] penna dello sfondo del retino• [6] stato struttura interna• [7] penna linea superiore• [8] tipo linea superiore• [9] penna linea inferiore• [10] tipo linea inferiore• [11] penna faccia terminale• [12] orientamento del retino• [13] tipo di strato• [14] tipo linea faccia terminale• [15] stato strato finitura• [16] stato retino orientato• [17] stato trapezoidale/doppia inclinazione• [18] indice materiale da costruzione• [19] indice superficie bordo strato (considerando la sovrascrittura dei bordi del muro). Compatibilità: introdotto in Archicad 22.stato struttura interna: 0 - non parte, 1 - parte, 3 - ultimo strato di struttura interna.orientamento del retino: 0 - globale, 1 - locale.tipo di strato: 0 - sezionato, 1 - sotto il piano di taglio, 2 - sopra il piano di taglio (tutti i tipi di strato sono 0 per muri semplici).trapezoidale/doppia inclinazione: 0 - questo strato ha facce parallele in tutte le circostanze, 1 - questo strato può avere facce non parallele per regolare la differenza di larghezza dipareti trapezoidali o pareti a doppia inclinazione. Anche se le facce del muro sono parallele, questo flag può essere attivo.stato strato finitura: 0 - strato non di finitura, 1 - strato di finitura.stato retino orientato: 0 - globale o orientamento locale del retino come impostato nella colonna "orientamento retino", 1 - l'orientamento e la dimensione del retino corrispondonoalla direzione e allo spessore dello strato del muro.Per i muri complessi questa variabile contiene solo i dati degli strati che vengono sezionati in pianta (2D - correlato all'altezza del piano di taglio della pianta), o tagliate all'altezzadel davanzale/soglia di F/P / altezza inferiore testa muro (3D).

Varie

Guida di Riferimento al GDL 362

WALL_SKINS_BMAT_NAMES i nomi dei materiali da costruzione degli strati dei muri compositi o complessi

matrice con 1 colonna: nome del materiale da costruzione dello strato e con numero arbitrario di righe.Per P/F e Teste Muro nella finestra 3D contiene i dati dello strato attualmente tagliato da P/F o testa muro.

WALL_SECT_PEN penna dei contorni delle superfici del muro tagliate

applicato sui contorni delle superfici tagliate sia nelle finestre di pianta che nelle finestre di sezione/alzato

WALL_VIEW_PEN penna dei contorni del muro a vista

applicato su tutti i bordi nella finestra 3D e sui bordi del contorno (bordi a vista sotto il piano di taglio) nella finestra di pianta e in sezione/alzato

WALL_FBGD_PEN penna dello sfondo del retino del muro

WALL_DIRECTION direzione del muro

muri diritti: la direzione della linea di riferimento, muri curvi: la direzione della corda dell'arco

WALL_POSITION coordinate assolute del muro

matrice con 3 colonne: x, y, z, che significa la posizione del punto di partenza del muro rispetto all'origine del progetto

WALL_TEXTURE_WRAP dati di avvolgimento della trama del muro da utilizzare nei comandi VERT e COOR{2}, oCOOR{3}. Le coordinate della struttura del muro vengono trasformate per corrispondere alsistema di coordinate locale dell'oggetto collegato al muro (non sono necessarie trasformazioniaggiuntive).

matrice con 14 righe:• [1]: wrapping_method• [2]: wrap_flags• [3]-[4]-[5]: origin_X, origin_Y, origin_Z (nodi del vert 1)• [6]-[7]-[8]: endOfX_X, endOfX_Y, endOfX_Z (nodi del 2)• [9]-[10]-[11]: endOfY_X, endOfY_Y, endOfY_Z (nodi del 3)• [12]-[13]-[14]: endOfZ_X, endOfZ_Y, endOfZ_Z (nodi del 4)

Parametri Muro: disponibili solo per liste ed etichetteWALL_LENGTH_A lunghezza del muro sul lato della linea di riferimento

WALL_LENGTH_B lunghezza del muro sul lato opposto alla linea di riferimento

WALL_LENGTH_A_CON lunghezza condizionale del muro sul lato della linea di riferimento

Varie

Guida di Riferimento al GDL 363

WALL_LENGTH_B_CON lunghezza condizionale del muro sul lato opposto alla linea di riferimento

WALL_CENTER_LENGTH lunghezza del muro al centro

WALL_AREA area del muro

WALL_PERIMETER perimetro del muro

WALL_SURFACE_A area della superficie del muro sul lato della linea di riferimento

WALL_SURFACE_B area della superficie del muro sul lato opposto alla linea di riferimento

WALL_SURFACE_A_CON area della superficie condizionale del muro sul lato della linea di riferimento

WALL_SURFACE_B_CON area della superficie condizionale del muro sul lato opposto alla linea di riferimento

WALL_GROSS_SURFACE_A area lorda della superficie condizionale del muro sul lato della linea di riferimento

WALL_GROSS_SURFACE_B area lorda della superficie condizionale del muro sul lato opposto alla linea di riferimento

WALL_EDGE_SURF area della superficie del bordo del muro

WALL_VOLUME volume del muro

WALL_VOLUME_CON volume condizionale del muro

WALL_GROSS_VOLUME volume lordo del muro

WALL_VOLUME_A volume dello strato del muro sul lato della linea di riferimento

WALL_VOLUME_A_CON volume condizionale dello strato del muro sul lato della linea di riferimento

WALL_VOLUME_B volume dello strato del muro sul lato opposto alla linea di riferimento

WALL_VOLUME_B_CON volume condizionale dello strato del muro sul lato opposto alla linea di riferimento

WALL_DOORS_NR numero di porte nel muro

WALL_WINDS_NR numero di finestre nel muro

WALL_HOLES_NR numero di aperture vuote nel muro

WALL_DOORS_SURF area della superficie delle porte nel muro

WALL_WINDS_SURF area della superficie delle finestre nel muro

WALL_HOLES_SURF area della superficie delle aperture vuote nel muro

WALL_HOLES_SURF_A superficie analitica delle aperture sul lato della linea di riferimento

Varie

Guida di Riferimento al GDL 364

WALL_HOLES_SURF_B superficie analitica delle aperture sul lato opposto alla linea di riferimento

WALL_HOLES_VOLUME volume analitico delle aperture nel muro

WALL_WINDS_WID larghezza combinata delle finestre nel muro

WALL_DOORS_WID larghezza combinata delle porte nel muro

WALL_COLUMNS_NR numero di pilastri nel muro

WALL_CROSSSECTION_TYPE tipo di sezione trasversale del muro

0 - profilo complesso, 1 - rettangolare, 2 - inclinato, 3 - doppio inclinato

WALL_MIN_HEIGHT altezza minima del muro

WALL_MAX_HEIGHT altezza massima del muro

WALL_SKIN_MIN_HEIGHT_A altezza minima dello strato del muro sul lato della linea di riferimento

WALL_SKIN_MAX_HEIGHT_A altezza massima dello strato del muro sul lato della linea di riferimento

WALL_SKIN_MIN_HEIGHT_B altezza minima dello strato del muro sul lato della linea di riferimento

WALL_SKIN_MAX_HEIGHT_B altezza massima dello strato del muro sul lato della linea di riferimento

WALL_SKIN_THICKNESS_A spessore dello strato del muro sul lato della linea di riferimento

WALL_SKIN_THICKNESS_B spessore dello strato del muro sul lato opposto alla linea di riferimento

WALL_INSU_THICKNESS spessore dello strato di isolamento del muro

WALL_AIR_THICKNESS spessore dello strato camera d'aria del muro

Parametri Pilastro - disponibili solo per liste ed etichetteCompatibilità: Da Archicad 23, l'elemento Pilastro è costituito da una serie di Segmenti Pilastro. GLOB_ELEM_TYPE ha un nuovo valore peri segmenti di pilastro: 27, il valore dell'elemento Pilastro rimane 6.La disponibilità di ogni variabile globale (se contiene dati significativi) è mostrata in una tabella con icone, con il valore della variabile globaleGLOB_ELEM_TYPE tra parentesi.

Varie

Guida di Riferimento al GDL 365

COLU_SEGMENT_INDEX indice del segmento di colonna nella matrice COLU_SEGMENT_INFO.segments []

Segmento di Pilastro (27) Pilastro a singolo segmento (6) Pilastro a multi-segmento (6)

Compatibilità: introdotto in Archicad 23.

COLU_SEGMENT_INFO dizionario, contiene tutte le impostazioni geometriche dei segmenti di colonna che possonodeterminare la disponibilità di altre variabili globali. Non disponibile negli script di parametri eproprietà.

Quando posizionato su un segmento di pilastro, COLU_SEGMENT_INFO.segments [COLU_SEGMENT_INDEX] contiene le informazioni sul segmento etichettato.• .segments[n].tapered: (intero): 0 - sezione trasversale uniforme, 1 - sezione trasversale rastremata• .segments[n].crossSection{}: (dizionario) dati della sezione trasversale del segmento• .segments[n].crossSection.type: (intero) tipo di sezione trasversale: 1 - rettangolare, 2 - circolare, 3 - profilo complesso• .segments[n].crossSection.startWidth: (lunghezza) larghezza del rettangolo di ingombro della sezione trasversale dell'inizio del segmento. La direzione

del segmento è definita dalla sua linea di riferimento.• .segments[n].crossSection.startHeight: (lunghezza) altezza del rettangolo di ingombro della sezione trasversale dell'inizio del segmento. La direzione

del segmento è definita dalla sua linea di riferimento.• .segments[n].crossSection.endWidth: (lunghezza) larghezza del rettangolo di ingombro della sezione trasversale della fine del segmento. La direzione del

segmento è definita dalla sua linea di riferimento.• .segments[n].crossSection.endHeight: (lunghezza) altezza del rettangolo di ingombro della sezione trasversale della fine del segmento. La direzione del

segmento è definita dalla sua linea di riferimento.

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

Compatibilità: introdotto in Archicad 23.

COLU_CORE proprietà nucleo/rivestimento (0 in caso di segmento di colonna rastremato)

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

serve la compatibilità: è efficace solo nello script delle proprietà dei file .CPS (Column.Properties ossia Proprietà.Pilastro)

COLU_HEIGHT altezza del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

Varie

Guida di Riferimento al GDL 366

COLU_MIN_HEIGHT Altezza minima del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_MAX_HEIGHT Altezza massima del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_VENEER_WIDTH spessore del rivestimento del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_CORE_X Larghezza del nucleo (0 in caso di segmento pilastro rastremato)

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_CORE_Y Profondità del nucleo (0 in caso di segmento pilastro rastremato)

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_DIM1 1a dimensione della colonna (0 in caso di segmento di pilastro rastremato) - solo per etichette

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_DIM2 2a dimensione della colonna (0 in caso di segmento di pilastrorastremato) - solo per etichette

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_MAT indice di attributo di superficie del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

Il rivestimento del muro (incamiciatura) sostituirà la superficie della colonna con le superfici delle pareti di collegamento

COLU_LINETYPE tipo linea del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

applicato sui contorni solo nella finestra della pianta

Varie

Guida di Riferimento al GDL 367

COLU_CORE_FILL retino del nucleo del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_CORE_BMAT_NAME materiale da costruzione del nucleo del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_CORE_BMAT indice del materiale da costruzione del nucleo del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

Compatibilità: introdotto in Archicad 21.

COLU_VENEER_FILL retino del rivestimento del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_VENEER_BMAT_NAME nome del materiale da costruzione del rivestimento del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_VENEER_BMAT indice del materiale da costruzione del rivestimento del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

Compatibilità: introdotto in Archicad 21.

COLU_SECT_PEN penna dei contorni per le superfici di taglio del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

applicato sui contorni delle superfici di taglio sia nelle finestre di pianta che in quelle di sezione/alzato

COLU_VIEW_PEN penna del pilastro a vista

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

applied on all edges in 3D window and on outline edges (edges on view below cutting plane) in floor plan and section/elevation windows

Varie

Guida di Riferimento al GDL 368

COLU_CORE_FILL_PEN penna del retino del nucleo del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_CORE_FBGD_PEN penna dello sfondo del retino del nucleo del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_VENEER_FILL_PEN penna del retino del rivestimento del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_VENEER_FBGD_PEN penna dello sfondo del retino del rivestimento del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_PERIMETER Perimetro del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)(6)

COLU_AREA Area del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_VOLUME Volume del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_GROSS_VOLUME volume lordo del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_CORE_SURF area di superficie del nucleo del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_CORE_GROSS_SURF area di superficie lorda del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

Varie

Guida di Riferimento al GDL 369

COLU_CORE_VOL volume del nucleo del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_CORE_GROSS_VOL volume lordo del nucleo del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_VENEER_SURF area di superficie del rivestimento del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_VENEER_GROSS_SURF area di superficie lorda del rivestimento del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_VENEER_VOL volume del rivestimento del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_VENEER_GROSS_VOL volume lordo del rivestimento del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_CORE_TOP_SURF Area di superficie dell'estradosso del nucleo

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_CORE_BOT_SURF Area di superficie dell'intradosso del nucleo

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_VENEER_TOP_SURF Area di superficie dell'estradosso del rivestimento

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_VENEER_BOT_SURF Area di superficie dell'intradosso del rivestimento

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

Varie

Guida di Riferimento al GDL 370

COLU_CORE_GROSS_TOPBOT_SURF Area di superficie lorda dell'estradosso e dell'intradosso del nucleo

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_VENEER_GROSS_TOPBOT_SURF Area di superficie lorda dell'estradosso e dell'intradosso del rivestimento

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

COLU_PROFILE_NAME nome del profilo del pilastro, se complesso

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

Parametri Trave - disponibili solo per liste ed etichetteCompatibilità: da Archicad 23, l'elemento Trave è costituito da una serie di Segmenti Trave. GLOB_ELEM_TYPE ha un nuovo valore per isegmenti di Trave: 28, il valore dell'elemento Trave rimane12.La disponibilità di ogni variabile globale (se contiene dati significativi) è mostrata in una tabella con icone, con il valore della variabile globaleGLOB_ELEM_TYPE tra parentesi.

BEAM_SEGMENT_INDEX indice del segmento di Trave nella matrice BEAM_SEGMENT_INFO.segments []

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Compatibilità: introdotto in Archicad 23.

Varie

Guida di Riferimento al GDL 371

BEAM_SEGMENT_INFO dizionario, contiene tutte le impostazioni geometriche dei segmenti di trave che possonodeterminare la disponibilità di altre variabili globali e ulteriori dati geometrici dei segmenti di trave.Non disponibile negli script di parametri e proprietà.

Quando posizionato su un segmento di trave, BEAM_SEGMENT_INFO.segments [BEAM_SEGMENT_INDEX] contiene le informazioni sul segmento etichettato.• .segments[n].curvature: asse di curvatura (intero): 0 - dritto, 1 - curvo orizzontalmente, 2 - curvo verticalmente• .segments[n].tapered: (intero): 0 - sezione trasversale uniforme, 1 - sezione trasversale rastremata• .segments[n].refLineLength: Lunghezza 3D della linea di riferimento del segmento di trave (lunghezza)• .segments[n].crossSection{}: (dizionario) dati della sezione trasversale del segmento• .segments[n].crossSection.type: (intero) tipo di sezione trasversale: 1 - rattangolare, 2 - circolare, 3 - profilo complesso• .segments[n].crossSection.startWidth: (lunghezza) larghezza del rettangolo di ingombro della sezione trasversale dell'inizio del segmento. La direzione

del segmento è definita dalla sua linea di riferimento.• .segments[n].crossSection.startHeight: (lunghezza) altezza del rettangolo di ingombro della sezione trasversale dell'inizio del segmento. La direzione

del segmento è definita dalla sua linea di riferimento.• .segments[n].crossSection.endWidth: (lunghezza) larghezza del rettangolo di ingombro della sezione trasversale della fine del segmento. La direzione del

segmento è definita dalla sua linea di riferimento.• .segments[n].crossSection.endHeight: (lunghezza) altezza del rettangolo di ingombro della sezione trasversale della fine del segmento. La direzione del

segmento è definita dalla sua linea di riferimento.

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Compatibilità: introdotto in Archicad 23.

BEAM_THICKNESS spessore della trave (0 in caso di segmento di trave rastremato)

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_HEIGHT altezza della trave (0 in caso di segmento di trave rastremato)

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_REFLINE_OFFSET offset della linea di riferimento rispetto agli assi della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Varie

Guida di Riferimento al GDL 372

BEAM_ELEVATION_TOP elevazione calcolata del punto più alto della geometria della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Compatibilità: introdotto in Archicad 22.

BEAM_ELEVATION_BOTTOM elevazione calcolata del punto più basso della geometria della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Compatibilità: introdotto in Archicad 22.

BEAM_PRIORITY Numero indice priorità intersezione 3D

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_MAT_RIGHT indice di attributo di superficie della trave sul lato destro della linea di riferimento

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_MAT_LEFT indice di attributo di superficie della trave sul lato sinistro della linea di riferimento

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_MAT_TOP indice di attributo di superficie della trave sul lato superiore

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_MAT_BOTTOM indice di attributo di superficie della trave sul lato inferiore

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_MAT_END indice di attributo di superficie della trave su entrambe le testate

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_OUTLINE_LINETYPE tipo di linea del contorno della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Varie

Guida di Riferimento al GDL 373

BEAM_AXES_LINETYPE tipo di linea dell'asse della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_FILL tipo retino della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_BMAT_NAME nome materiale da costruzione della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_BMAT indice materiale da costruzione della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Compatibilità: introdotto in Archicad 21.

BEAM_FILL_PEN penna del retino della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_SECT_PEN penna dei contorni delle superfici di taglio della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_FBGD_PEN penna dello sfondo del retino della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_DIRECTION la direzione della linea di riferimento della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_POSITION coordinate assolute del punto iniziale dell'asse della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Varie

Guida di Riferimento al GDL 374

BEAM_LENGTH_RIGHT lunghezza della trave sul lato destro della linea di riferimento (0 in caso di trave rastremata o curvaverticalmente)

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Compatibilità: deprecato per la lista in Archicad 23.

BEAM_LENGTH_LEFT lunghezza della trave sul lato sinistro della linea di riferimento (0 in caso di trave rastremata o curvaverticalmente)

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Compatibilità: deprecato per la lista in Archicad 23.

BEAM_RIGHT_SURF area della superficie della trave sul lato destro della linea di riferimento

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_LEFT_SURF surface area della superficie della trave sul lato sinistro della linea di riferimento

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_TOP_SURF area della superficie della trave sul lato superiore

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_BOTTOM_SURF area della superficie della trave sul lato inferiore

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_END_SURF area della superficie della trave su entrambe le testate

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_VOLUME volume della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Varie

Guida di Riferimento al GDL 375

BEAM_VOLUME_CON volume condizionale della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_HOLES_NR numero di fori nella traveh

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_HOLES_SURF superficie totale dei fori nella trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_HOLE_EDGE_SURF superficie totale dei bordi dei fori nella trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_HOLES_VOLUME volume totale dei fori nella trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

BEAM_PROFILE_NAME nome del profilo della trave, se complesso

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Parametri Solaio - disponibili solo per liste ed etichetteSLAB_THICKNESS spessore del solaio

SLAB_ELEVATION_TOP elevazione estradosso del solaio

SLAB_ELEVATION_BOTTOM elevazione intradosso del solaio

SLAB_MAT_TOP indice attributo di superficie dell'estradosso del solaio

SLAB_MAT_EDGE indice attributo di superficie dei bordi del solaio

SLAB_MAT_BOTT indice attributo di superficie dell'intradosso del solaio

SLAB_LINETYPE tipo linea del solaio

SLAB_FILL retino del solaio

indice del retino: il suo valore è negativo nel caso di una struttura composta

Varie

Guida di Riferimento al GDL 376

SLAB_FILL_PEN penna del retino del solaio

SLAB_FBGD_PEN penna dello sfondo del retino del solaio

SLAB_COMPS_NAME nome del composto della struttura composta del solaio

SLAB_BMAT_NAME nome del materiale da costruzione del solaio, stringa vuota per solai compositi

SLAB_BMAT indice del materiale da costruzione del solaio, 0 per solai compositi

Compatibilità: introdotto in Archicad 21.

SLAB_SKINS_NUMBER numero di strati della stuttura composta del solaio

intervallo da 1 a 8, 0 se viene applicato un retino singolo

SLAB_SKINS_PARAMS parametri degli strati del solaio composito

matrice con 18 colonne con un numero arbitrario di righe:• [1] retino• [2] spessore• [3] (vecchia penna del contorno)• [4] penna del retino• [5] penna sfondo del retino• [6] stato del nucleo• [7] penna linea superiore• [8] tipo linea superiore• [9] penna linea inferiore• [10] tipo linea inferiore• [11] penna faccia terminale• [12] orientamento del retino• [13] tipo di strato• [14] tipo linea faccia terminale• [15] stato dello strato di finitura• [16] stato retino orientato• [17] stato dello strato nucleo (se non esiste strato del nucleo, lo strato più spesso)• [18] indice materiale da costruzione.core status: 0 - non parte, 1 - parte, 3 - ultimo strato del nucleo, orientamento retino: 0 - globale, 1 - locale; tipo di strato: nell'Archicad attuale sempre 0 - il taglio, può essere utilizzatocome nei muri in seguito; stato dello strato di finitura: 0 non è uno strato di finitura, 1: strato di finitura

Varie

Guida di Riferimento al GDL 377

SLAB_SKINS_BMAT_NAMES i nomi dei materiali da costruzione degli strati dei solai compositi

matrice con 1 colonna: nome del materiale da costruzione dello strato e con numero arbitrario di righe.

SLAB_SECT_PEN penna dei contorni del solaio in sezione

applicato sui contorni delle superfici di taglio sia nelle finestre di pianta che in quelle di sezione/alzato

SLAB_VIEW_PEN penna del solaio

applicato su tutti i bordi nella finestra 3D e sui bordi visibili nelle finestre di sezione/alzato

SLAB_TOP_SURF area della superficie superiore del solaio

non ridotta dalla superficie dei fori

SLAB_GROSS_TOP_SURF area lorda della superficie superiore del solaio senza fori

ridotta dalla superficie dei fori

SLAB_TOP_SURF_CON area condizionale della superficie superiore del solaio

ridotta dalla superficie dei fori, che sono più grandi di un valore dato

SLAB_BOT_SURF area della superficie inferiore del solaio senza fori

non ridotta dalla superficie dei fori

SLAB_GROSS_BOT_SURF area lorda della superficie inferiore del solaio

ridotta dalla superficie dei fori

SLAB_BOT_SURF_CON area condizionale della superficie inferiore del solaio

ridotta dalla superficie dei fori, che sono più grandi di un valore dato

SLAB_EDGE_SURF area della superficie dei bordi del solaio

non ridotta dalla superficie dei fori

SLAB_GROSS_EDGE_SURF area lorda della superficie dei bordi del solaio senza fori

ridotta dalla superficie dei fori

SLAB_PERIMETER perimetro del solaio

SLAB_VOLUME volume del solaio

non ridotto dal volume dei fori

Varie

Guida di Riferimento al GDL 378

SLAB_GROSS_VOLUME volume lordo del solaio senza fori

ridotto dal volume dei fori

SLAB_VOLUME_CON volume condizionale del solaio

ridotto dal volume dei fori, che sono più grandi di un valore dato

SLAB_SEGMENTS_NR numero di segmenti nel solaio

SLAB_HOLES_NR numero di fori nel solaio

SLAB_HOLES_AREA area dei fori nel solaio

SLAB_HOLES_PRM perimetro dei fori nel solaio

SLAB_GROSS_TOP_SURF_WITH_HOLES area lorda della superficie di estradosso del solaio

SLAB_GROSS_BOT_SURF_WITH_HOLES area lorda della superficie di intradosso del solaio

SLAB_GROSS_EDGE_SURF_WITH_HOLES area lorda della superficie dei bordi del solaio

SLAB_GROSS_VOLUME_WITH_HOLES volume lordo del solaio

Parametri dei Componenti della Scala

Variabili generali della scala - disponibili per liste ed etichetteCompatibilità: introdotto in Archicad 21.

STAIR_AREA area 2D proiettata della scala

2D 3D UI Parametro Proprietà Default 0

Varie

Guida di Riferimento al GDL 379

STAIR_BREAKMARK_GEOMETRY geometria dei segni di sezione

2D 3D UI Parametro Proprietà Default {}

Compatibilità: introdotto in Archicad 23.• .breakMarks[m]: (matrice) geometria di tutti i punti di interruzione visualizzati. La dimensione della matrice dipende dal layout di visualizzazione in pianta della scala.• .breakMarks[m].isVisible: (booleano) Attributo di visibilità della parte della scala tagliata da questo segno di sezione.• .breakMarks[m].polyline2D{}: (dizionario) Polilinea 2D nel sistema di coordinate del progetto. Contiene solo la parte compresa tra i confini della scala (senza

le estensioni). Lo stesso formato di dati delle polilinee in PolyOperations, può essere direttamente inviato a "StoreDictPolyline".• .breakMarks[m].polyline2D.isClosed: (booleano) 1 - polilinea chiusa, 0 - polilinea aperta (l'ultimo punto dato come bordo aggiuntivo). I punti di

interruzione sono sempre delle poliliee aperte.• .breakMarks[m].polyline2D.contour{}: (dizionario) contiene i dati della polilinea• .breakMarks[m].polyline2D.contour.edges[n]: (matrice) contiene un dizionario incorporato per ogni bordo della polilinea.• .breakMarks[m].polyline2D.contour.edges[n].type: (intero) 0 - dritto, 1 - curvo (arco circolare)• .breakMarks[m].polyline2D.contour.edges[n].begPoint{}: (dizionario) un dizionario incorporato per le coordinate 2D del punto iniziale

del bordo• .breakMarks[m].polyline2D.contour.edges[n].begPoint.x: (mobile)• .breakMarks[m].polyline2D.contour.edges[n].begPoint.y: (mobile)• .breakMarks[m].polyline2D.contour.edges[n].arcAngle: (angolo) angolo centrale della curva del bordo, positivo in senso antiorario, negativo

in senso orario (non impostato per i bordi diritti)

STAIR_VOLUME area della scala comprese tutte le parti 3D

2D 3D UI Parametro Proprietà Default 0

STAIR_HEIGHT differenza tra il massimo e il minimo delle coordinate Z.

2D 3D UI Parametro Proprietà Default 0

STAIR_WALKLINE_LENGTH lunghezza proiettata 2D della linea di passo della scala

2D 3D UI Parametro Proprietà Default 0

STAIR_DEFAULT_WIDTH larghezza predefinita della scala (come impostato nel pannello Impostazioni di Default della scala/Geometria e Posizionamento)

2D 3D UI Parametro Proprietà Default 0

Varie

Guida di Riferimento al GDL 380

STAIR_DEFAULT_GOING_DEPTH profondità predefinita della pedata (come impostato nel pannello Impostazioni di Default dellascala/Geometria e Posizionamento)

2D 3D UI Parametro Proprietà Default 0

STAIR_DEFAULT_RISER_HEIGHT larghezza predefinita dell'alzata (come impostato nel pannello Impostazioni di Default della scala/Geometria e Posizionamento)

2D 3D UI Parametro Proprietà Default 0

STAIR_DEFAULT_TREAD_THICKNESS spessore predefinito della pedata della scala (come impostato nel pannello Impostazioni di Defaultdella scala/Geometria e Posizionamento)

2D 3D UI Parametro Proprietà Default 0

STAIR_NR_OF_TREADS_IN_FLIGHTS matrice intera con una dimensione ([n]) numero di gradini in ogni rampa della scala (n = numerodi rampe)

2D 3D UI Parametro Proprietà Default 0

STAIR_NR_OF_RISERS_IN_FLIGHTS matrice intera con una dimensione ([n]) numero di alzate in ogni rampa della scala (n = numerodi rampe)

2D 3D UI Parametro Proprietà Default 0

STAIR_NR_OF_RISERS numero di alzate rispetto a tutta la scala

2D 3D UI Parametro Proprietà Default 0

STAIR_NR_OF_TREADS numero di pedate rispetto all'intera scala

2D 3D UI Parametro Proprietà Default 0

STAIR_LANDING_NUMBER numero di tratti di pianerottolo rispetto all'intera scala

2D 3D UI Parametro Proprietà Default 0

STAIR_STAIR_GRADIENT inclinazione della scala: l'angolo del rapporto alzata/pedata in radianti

2D 3D UI Parametro Proprietà Default 0

Varie

Guida di Riferimento al GDL 381

STAIR_RULE_LIMITS matrice di lunghezza/angolo a due dimensioni ([6] [2]), raccolta di valori minimi e massimi impostatinel pannello Impostazioni di Default Scala / Regole e norme / Pedate e alzate

2D 3D UI Parametro Proprietà Default [0]

L'impostazione delle preferenze di progetto della visibilità di questi valori non influisce sulla variabile.• [1][1] - [1][2]: Valore minimo e massimo dell'altezza dell'alzata (A)• [2][1] - [2][2]: Valore minimo e massimo della Pedata (P)• [3][1] - [3][2]: 2 alzata + 1 pedata (2*A + P) valore minimo e massimo• [4][1] - [4][2]: Proporzione Alzata/Pedata ratio (A/P) valore minimo e massimo• [5][1] - [5][2]: Alzata+Pedata (A + P) valore minimo e massimo• [6][1] - [6][2]: Pendenza della scala valore minimo e massimo

STAIR_RULE_FLAGS matrice booleana a due dimensioni ([6] [2]), raccolta dello stato abilita/disabilita dei limiti inconformità con STAIR_RULE_LIMITS, impostato nel pannello Impostazioni di Deafult Scala /Regole e standard / Pedate e alzate

2D 3D UI Parametro Proprietà Default [0]

Gli indici dei valori sono paralleli a STAIR_RULE_LIMITS. Possibili valori:• 0 - opzione limite dello stesso indice in STAIR_RULE_LIMITS attualmente non è utilizzato• 1 - opzione limite dello stesso indice in STAIR_RULE_LIMITS attualmente è utilizzato

Variabili generali della pedata - disponibili per liste ed etichetteCompatibilità: introdotto in Archicad 21.

TREAD_STEP_INDEX indice di passo della pedata selezionata (corrente)

2D 3D UI Parametro Proprietà Default 0

TREAD_GOING lunghezza della pedata selezionata (corrente)

2D 3D UI Parametro Proprietà Default 0

TREAD_ELEVATION elevazione allo zero di progetto della pedata selezionata (corrente)

2D 3D UI Parametro Proprietà Default 0

Varie

Guida di Riferimento al GDL 382

TREAD_AREA area 2D proiettata della pedata selezionata (corrente)

2D 3D UI Parametro Proprietà Default 0

TREAD_FRONT_AREA superficie anteriore della pedata selezionata (corrente)

2D 3D UI Parametro Proprietà Default 0

TREAD_VOLUME volume della pedata selezionata (corrente)

2D 3D UI Parametro Proprietà Default 0

TREAD_BMATS matrice a una dimensione ([n]), materiali da costruzione della pedata selezionata (corrente) (n =numero di materiali da costruzione)

2D 3D UI Parametro Proprietà Default 0

Variabili generali dell'alzata - disponibili per liste ed etichetteCompatibilità: introdotto in Archicad 21.

RISER_STEP_INDEX indice di passo dell'alzata selezionata (corrente)

2D 3D UI Parametro Proprietà Default 0

RISER_WIDTH lunghezza polilinea dell'alzata selezionata (corrente)

2D 3D UI Parametro Proprietà Default 0

RISER_FRONT_AREA superficie anteriore dell'alzata selezionata (corrente)

2D 3D UI Parametro Proprietà Default 0

RISER_VOLUME volume dell'alzata selezionata (corrente)

2D 3D UI Parametro Proprietà Default 0

RISER_BMATS matrice a una dimensione ([n]), materiali da costruzione dell'alzata selezionata (corrente) (n =numero di materiali da costruzione)

2D 3D UI Parametro Proprietà Default 0

Varie

Guida di Riferimento al GDL 383

Variabili della struttura della scala - disponibili per liste ed etichetteCompatibilità: introdotto in Archicad 21.

STRUCTURE_WIDTH larghezza del componente della struttura selezionato (corrente)

2D 3D UI Parametro Proprietà Default 0

STRUCTURE_HEIGHT altezza del componente della struttura selezionato (corrente) (differenza di min. e max. z)

2D 3D UI Parametro Proprietà Default 0

STRUCTURE_3DLENGTH lunghezza 3D completa del componente della struttura selezionato (corrente)

2D 3D UI Parametro Proprietà Default 0

STRUCTURE_VOLUME volume del componente della struttura selezionato (corrente)

2D 3D UI Parametro Proprietà Default 0

STRUCTURE_THICKNESS spessore del componente della struttura selezionato (corrente)

2D 3D UI Parametro Proprietà Default 0

Variabili delle Opzioni Vista Modello della ScalaLe impostazioni correlate sono disponibili nella finestra di dialogo Opzioni Vista Modello / Opzioni Scala e Parapetto.Compatibilità: introdotto in Archicad 21.

GLOB_MVO_STAIR_FLOOR_PLAN_OPT Opzioni OVM della Pianta della Scala: 0 - Pianta, 1 - Pianta Soffitto

2D 3D UI Parametro Proprietà Default 1

Varie

Guida di Riferimento al GDL 384

GLOB_MVO_STAIR_FLOOR_PLAN_COMP Bitset Componente OVM della Scala

2D 3D UI Parametro Proprietà Default 1

mask: restituisce informazioni sui componenti scala visibili della piantamask = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 + 128*j8 + 256*j9, dove ogni j può essere 0 o 1.j1: linea di passoj2: numerazionej3: testo sopra/sottoj4: descrizionej5: accessori pedataj6: struttura - travej7: struttura - coscialij8: struttura - a sbalzoj9: struttura - monolitica Compatibilità: introdotto in Archicad 22.

GLOB_MVO_RAILING_PLAN_COMP Bitset Componente OVM del Parapetto

2D 3D UI Parametro Proprietà Default 127

mask: restituisce informazioni sui componenti scala visibili della piantamask = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7, dove ogni j può essere 0 o 1.j1: montantij2: corrimano Topj3: corrimanij4: traversej5: colonnine internej6: balaustrij7: pannelli

Variabili 2D della Scala - disponibili solo per la rappresentazione di piantaCompatibilità: introdotto in Archicad 21.

Varie

Guida di Riferimento al GDL 385

Variabili griglia della scalaSTAIR2D_FULL_TPOLYGON_GEOM matrice a due dimensioni ([n] [3]), triplette di dati dei nodi del poligono pedata

2D 3D UI Parametro Proprietà Default [0]

n = numero di pedate * 5 nodi per ogni pedata (in generale):• [n][1] - coordinata x del nodo del poligono misurata dall'origine della scala• [n][2] - coordinata y del nodo del poligono misurata dall'origine della scala• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

STAIR2D_FULL_TPOLYGON_FLAGS matrice a due dimensioni ([n] [4]), dati aggiuntivi dei poligoni pedata, secondoSTAIR2D_FULL_TPOLYGON_GEOM

2D 3D UI Parametro Proprietà Default [0]

n = numero di pedate * 5 nodi per ogni pedata (in generale):• [n][1] - indice della pedata• [n][2] - tipo di bordo a partire dal nodo (0 - iniziale, 1 - finale, 2 - sinistro, 3 - destro, 4 - linea di sezione, -1 - chiusura)• [n][3] - visibilità del bordo a partire dal nodo (1 - visibile, 0 - omesso)• [n][4] - tipo di pedata (0 - rampa, 1 - pianerottolo)

STAIR2D_FULL_RPOLYLINE_GEOM matrice a due dimensioni ([n] [3]), triplette di dati di8 nodi della polilinea alzata

2D 3D UI Parametro Proprietà Default [0]

n = numero di alzate * 2 nodi per ogni pedata (in generale):• [n][1] - coordinata x del nodo della polilinea misurata dall'origine della scala• [n][2] - coordinata y del nodo della polilinea misurata dall'origine della scala• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

STAIR2D_FULL_RPOLYLINE_FLAGS matrice a due dimensioni ([n] [1]), dati aggiuntivi delle polilinee alzata, secondoSTAIR2D_FULL_RPOLYLINE_GEOM

2D 3D UI Parametro Proprietà Default [0]

n = numero di alzate * 2 nodi per ogni pedata (in generale):• [n][1] - indice dell'alzata

Varie

Guida di Riferimento al GDL 386

STAIR2D_FULL_BOUNDARY_GEOM matrice a due dimensioni ([n] [3]), triplette di dati dei nodi del poligono del contorno della scala

2D 3D UI Parametro Proprietà Default [0]

n = numero di nodi di confine (5 in generale):• [n][1] - coordinata x del nodo del poligono misurata dall'origine della scala• [n][2] - coordinata y del nodo del poligono misurata dall'origine della scala• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

Le seguenti variabili globali vengono utilizzate per definire le parti della scala rappresentate sotto il primo segno di sezione.

STAIR2D_LOWER_TPOLYGON_GEOM matrice a due dimensioni ([n] [3]), triplette di dati dei nodi del poligono pedata della parte inferiore,simili a STAIR2D_FULL_TPOLYGON_GEOM

2D 3D UI Parametro Proprietà Default [0]

STAIR2D_LOWER_TPOLYGON_FLAGS matrice a due dimensioni ([n] [4]), dati aggiuntivi dei nodi del poligono pedata della parte inferiore,simili a STAIR2D_FULL_TPOLYGON_FLAGS

2D 3D UI Parametro Proprietà Default [0]

STAIR2D_LOWER_RPOLYLINE_GEOM matrice a due dimensioni ([n] [3]), triplette di dati dei nodi di polilinea alzata della parte inferiore,simili a STAIR2D_FULL_RPOLYLINE_GEOM

2D 3D UI Parametro Proprietà Default [0]

STAIR2D_LOWER_RPOLYLINE_FLAGS matrice a due dimensioni ([n] [1]), dati aggiuntivi dei nodi della polilinea alzata della parte inferiore,simili a STAIR2D_FULL_RPOLYLINE_FLAGS

2D 3D UI Parametro Proprietà Default [0]

STAIR2D_LOWER_BOUNDARY_GEOM matrice a due dimensioni ([n] [3]), triplette di dati dei nodi del poligono del contorno della scaladella parte inferiore, simili a STAIR2D_FULL_BOUNDARY_GEOM

2D 3D UI Parametro Proprietà Default [0]

Le seguenti variabili globali vengono utilizzate per definire le parti della scala rappresentate tra due interruzioni di sezione.

STAIR2D_MIDDLE_TPOLYGON_GEOM matrice a due dimensioni ([n] [3]), triplette di dati di nodi del poligono pedata della parte centrale,simili a STAIR2D_FULL_TPOLYGON_GEOM

2D 3D UI Parametro Proprietà Default [0]

Varie

Guida di Riferimento al GDL 387

STAIR2D_MIDDLE_TPOLYGON_FLAGS matrice a due dimensioni ([n] [4]), dati aggiuntivi dei nodi del poligono pedata della parte centrale,simili a STAIR2D_FULL_TPOLYGON_FLAGS

2D 3D UI Parametro Proprietà Default [0]

STAIR2D_MIDDLE_RPOLYLINE_GEOM matrice a due dimensioni ([n] [3]), triplette di dati di nodi della polilinea alzata della parte centrale,simili a STAIR2D_FULL_RPOLYLINE_GEOM

2D 3D UI Parametro Proprietà Default [0]

STAIR2D_MIDDLE_RPOLYLINE_FLAGS matrice a due dimensioni ([n] [1]), dati aggiuntivi dei nodi della polilinea alzata della parte centrale,simili a STAIR2D_FULL_RPOLYLINE_FLAGS

2D 3D UI Parametro Proprietà Default [0]

STAIR2D_MIDDLE_BOUNDARY_GEOM matrice a due dimensioni ([n] [3]), triplette di dati dei nodi del poligono contorno della scala dellaparte centrale, simili aSTAIR2D_FULL_BOUNDARY_GEOM

2D 3D UI Parametro Proprietà Default [0]

Le seguenti variabili globali vengono utilizzate per definire le parti della scala rappresentate sopra l'ultimo segno di sezione.

STAIR2D_UPPER_TPOLYGON_GEOM matrice a due dimensioni ([n] [3]), triplette di dati di nodi del poligono pedata della parte superiore,simili a STAIR2D_FULL_TPOLYGON_GEOM

2D 3D UI Parametro Proprietà Default [0]

STAIR2D_UPPER_TPOLYGON_FLAGS matrice a due dimensioni ([n] [4]), dati aggiuntivi dei nodi del poligono pedata della parte superiore,simili a STAIR2D_FULL_TPOLYGON_FLAGS

2D 3D UI Parametro Proprietà Default [0]

STAIR2D_UPPER_RPOLYLINE_GEOM matrice a due dimensioni ([n] [3]), triplette di dati dei nodi della polilinea alzata della parte superiore,simili a STAIR2D_FULL_RPOLYLINE_GEOM

2D 3D UI Parametro Proprietà Default [0]

STAIR2D_UPPER_RPOLYLINE_FLAGS matrice a due dimensioni ([n] [1]), dati aggiuntivi dei nodi della polilinea alzata della parte superiore,simili a STAIR2D_FULL_RPOLYLINE_FLAGS

2D 3D UI Parametro Proprietà Default [0]

Varie

Guida di Riferimento al GDL 388

STAIR2D_UPPER_BOUNDARY_GEOM matrice a due dimensioni ([n] [3]), triplette di dati dei nodi del poligono contorno della scala dellaparte superiore, simili a STAIR2D_FULL_BOUNDARY_GEOM

2D 3D UI Parametro Proprietà Default [0]

Variabili del simbolo della linea di passo delle scaleSTAIR2D_FULL_WALKLINE_GEOM matrice a due dimensioni ([n] [3]), triplette di dati dei nodi della linea di passo della scala, lunghezza

intera

2D 3D UI Parametro Proprietà Default [0]

n = numero di nodi della polilinea per l'intera lunghezza della linea di passo• [n][1] - coordinata x del nodo della polilinea misurata dall'origine della scala• [n][2] - coordinata y del nodo della polilinea misurata dall'origine della scala• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

STAIR2D_FULL_WALKLINE_FLAGS matrice a due dimensioni ([n] [2]), dati aggiuntivi dei nodi della linea di passo, lunghezza intera

2D 3D UI Parametro Proprietà Default [0]

n = numero di nodi della polilinea per l'intera lunghezza della linea di passomask: restituisce informazioni sulla posizione del nodo

mask = j1 + 2*j2 + 4*j3 + 8*j4, dove ogni j può essere 0 o 1.j1: il nodo si trova all'estremità del tracciato della prima pedataj2: il nodo è sull'estremità principale del pianerottoloj3: il nodo è sull'estremità del tracciato del pianerottoloj4: il nodo è sull'estremità principale dell'ultima pedata

• [n][1] - maschera di posizione del nodo• [n][2] - indice della pedata dove si trova il nodo all'estremità del tracciato o al di sopra

Varie

Guida di Riferimento al GDL 389

STAIR2D_LOWER_WALKLINE_GEOM matrice con due dimensioni ([n] [3]), triplette di dati dei nodi della linea di passo della scala, parteinferiore (stessa logica della divisione del poligono della scala)

2D 3D UI Parametro Proprietà Default [0]

n = numero di nodi della polilinea per la parte inferiore della linea di passo• [n][1] - coordinata x del nodo della polilinea misurata dall'origine della scala• [n][2] - coordinata y del nodo della polilinea misurata dall'origine della scala• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

STAIR2D_LOWER_WALKLINE_FLAGS matrice di interi a due dimensioni ([n] [2]), dati aggiuntivi dei nodi della linea di passo, parte inferiore

2D 3D UI Parametro Proprietà Default [0]

n = numero di nodi della polilinea per la parte inferiore della linea di passomask: restituisce informazioni sulla posizione del nodo

mask = j1 + 2*j2 + 4*j3 + 8*j4, dove ogni j può essere 0 o 1.j1: il nodo si trova all'estremità del tracciato della prima pedataj2: il nodo è sull'estremità principale del pianerottoloj3: il nodo è alla fine del tracciato del pianerottoloj4: il nodo si trova sull'estremità principale dell'ultima pedata

• [n][1] - maschera di posizione del nodo• [n][2] - indice della pedata dove il nodo si trova all'estremità del tracciato o al di sopra

STAIR2D_MIDDLE_WALKLINE_GEOM matrice a due dimensioni ([n] [3]), triplette di dati dei nodi della linea di passo, parte centrale

2D 3D UI Parametro Proprietà Default [0]

n = numero di nodi della polilinea per la parte centrale della linea di passo• [n][1] - coordinata x del nodo della polilinea misurata dall'origine della scala• [n][2] - coordinata y del nodo della polilinea misurata dall'origine della scala• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

Varie

Guida di Riferimento al GDL 390

STAIR2D_MIDDLE_WALKLINE_FLAGS matrice interi a due dimensioni ([n] [2]), dati aggiuntivi dei nodi della linea di passo, parte centrale

2D 3D UI Parametro Proprietà Default [0]

n = numero di nodi della polilinea per la parte centrale della linea di passomask: restituisce informazioni sulla posizione del nodo

mask = j1 + 2*j2 + 4*j3 + 8*j4, dove ogni j può essere 0 o 1.j1: il nodo si trova all'estremità del tracciato della prima pedataj2: il nodo è sull'estremità principale del pianerottoloj3: il nodo è alla fine del tracciato del pianerottoloj4: il nodo si trova sull'estremità principale dell'ultima pedata

• [n][1] - maschera di posizione del nodo• [n][2] - indice della pedata dove il nodo si trova all'estremità del tracciato o al di sopra

STAIR2D_UPPER_WALKLINE_GEOM matrice a due dimensioni ([n] [3]), triplette di dati dei nodi della linea di passo, parte superiore

2D 3D UI Parametro Proprietà Default [0]

n = numero di nodi della polilinea per la parte superiore della linea di passo• [n][1] - coordinata x del nodo della polilinea misurata dall'origine della scala• [n][2] - coordinata y del nodo della polilinea misurata dall'origine della scala• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

STAIR2D_UPPER_WALKLINE_FLAGS matrice a due dimensioni ([n] [2]), dati aggiuntivi dei nodi della linea di passo, parte superiore

2D 3D UI Parametro Proprietà Default [0]

n = numero di nodi della polilinea per la parte superiore della linea di passomask: restituisce informazioni sulla posizione del nodo

mask = j1 + 2*j2 + 4*j3 + 8*j4, dove ogni j può essere 0 o 1.j1: il nodo si trova all'estremità del tracciato della prima pedataj2: il nodo è sull'estremità principale del pianerottoloj3: il nodo è alla fine del tracciato del pianerottoloj4: il nodo si trova sull'estremità principale dell'ultima pedata

• [n][1] - maschera di posizione del nodo• [n][2] - indice della pedata dove il nodo si trova all'estremità del tracciato o al di sopra

Varie

Guida di Riferimento al GDL 391

Variabili del simbolo del segno di sezione della scalaSTAIR2D_BREAKMARK_GEOM matrice a due dimensioni ([n] [9]), dati dei nodi di polilinea di sezione

2D 3D UI Parametro Proprietà Default [0]

n = numero di interruzioni * 9 nodi-dati per ogni interruzione (il numero massimo di interruzioni visualizzate è 4):• [n][1] - coordinata x dell'inizio della polilinea misurata dall'origine della scala• [n][2] - coordinata y dell'inizio della polilinea misurata dall'origine della scala• [n][3] - coordinata x della fine della polilinea misurata dall'origine della scala• [n][4] - coordinata y della fine della polilinea misurata dall'origine della scala• [n][5] - amgolo del punto di interruzione calcolato dalla perpendicolare della linea di passo, in gradi (il valore si aggiorna con la modifica). Vedi anche

STAIR2D_BREAKMARK_ANGLE.• [n][6] - coordinata x dell'estensione iniziale misurata dall'origine della scala Compatibilità: introdotto in Archicad 22.• [n][7] - coordinata y dell'estensione iniziale misurata dall'origine della scala Compatibilità: introdotto in Archicad 22.• [n][8] - coordinata x dell'estensione finale misurata dall'origine della scala Compatibilità: introdotto in Archicad 22.• [n][9] - coordinata y dell'estensione finale misurata dall'origine della scala Compatibilità: introdotto in Archicad 22.

STAIR2D_BREAKMARK_FLAGS matrice di interi con due dimensioni ([n] [1]), dati aggiuntivi per la visibilità della polilinea del segnodi sezione

2D 3D UI Parametro Proprietà Default [0]

n = numero di interruzioni visibili nelle impostazioni correnti (massimo 4)Attribute Set Index:

1: segno di interruzione visibile,2: segno di interruzione nascosto

STAIR2D_BREAKMARK_ANGLE angolo del segno di interruzione in gradi (valore del tipo reale) come impostato nella finestra didialogo Impostazioni Scala. Mantiene il valore preimpostato anche se il segno di interruzione vienemodificato.

2D 3D UI Parametro Proprietà Default 0

Varie

Guida di Riferimento al GDL 392

Variabili di descrizione Alzata e PedataSTAIR2D_DESCRIPTION_POSITION matrice a due dimensioni ([n] [4]), contenente informazioni sulla posizione e la direzione del testo

di Descrizione

2D 3D UI Parametro Proprietà Default [0]

n: definizione della posizione:1: centro della prima rampa,2: centro del primo pianerottolo,3: centro dell'ultima rampa,4: centro dell'ultimo pianerottolo,5: centro della scala.

• [n][1] - coordinata x della posizione della descrizione misurata dall'origine della scala• [n][2] - coordinata y della posizione della descrizione misurata dall'origine della scala• [n][3] - coordinata x del vettore normale alla linea di passo nella posizione della descrizione• [n][4] - coordinata y del vettore normale alla linea di passo nella posizione della descrizione

Variabili 2D della scolatura delle scaleNella geometria delle seguenti variabili globali non è presente alcuna suddivisione con segni di interruzione.

STAIR2D_EXT_TPOLYGON_GEOM matrice a due dimensioni ([n] [3]), triplette di dati di nodi del poligono pedata estesi (inclusoscolatura). Struttura simile a STAIR2D_FULL_TPOLYGON_GEOM.

2D 3D UI Parametro Proprietà Default [0]

n = numero di pedate * 5 nodi per ogni pedata (in generale):• [n][1] - coordinata x del nodo del poligono pedata estesa misurata dall'origine della scala• [n][2] - coordinata y del nodo del poligono pedata estesa misurata dall'origine della scala• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

Varie

Guida di Riferimento al GDL 393

STAIR2D_EXT_TPOLYGON_FLAGS matrice a due dimensioni ([n] [4]), dati aggiuntivi dei poligoniestesi pedata, secondo STAIR2D_EXT_TPOLYGON_GEOM. Struttura simile aSTAIR2D_FULL_TPOLYGON_FLAGS.

2D 3D UI Parametro Proprietà Default [0]

n = numero di pedate * 5 nodi per ogni pedata (in generale):• [n][1] - indice della pedata• [n][2] - tipo di bordo a partire dal nodo (0 - iniziale, 1 - finale, 2 - sinistra, 3 - destra, -1 - chiusura)• [n][3] - visibilità del bordo a partire dal nodo (1 - visibile, 0 - omesso)• [n][4] - tipo di pedata (0 - rampa, 1 - pianerottolo)

STAIR2D_EXT_RPOLYLINE_GEOM matrice a due dimensioni ([n] [3]), triplette di dati di nodi polilinea alzata estesi (incluso scolatura).Struttura simile a STAIR2D_FULL_RPOLYLINE_GEOM.

2D 3D UI Parametro Proprietà Default [0]

n = numero di pedate * 5 nodi per ogni pedata (in generale):• [n][1] - coordinata x del nodo della polilinea misurata dall'origine della scala• [n][2] - coordinata y del nodo della polilinea misurata dall'origine della scala• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

STAIR2D_EXT_RPOLYLINE_FLAGS matrice a due dimensioni ([n] [1]), dati addizionali delle polilineealzata, secondo STAIR2D_EXT_RPOLYLINE_GEOM. Struttura simile aSTAIR2D_FULL_RPOLYLINE_FLAGS.

2D 3D UI Parametro Proprietà Default [0]

n = numero di pedate * 2 nodi per ogni pedata (in generale):• [n][1] - indice dell'alzata

STAIR2D_DRAIN_TPOLYGON_GEOM matrice a due dimensioni ([n] [3]), triplette di dati di nodi poligonali della scolatura. Struttura similea STAIR2D_FULL_TPOLYGON_GEOM.

2D 3D UI Parametro Proprietà Default [0]

n = numero di pedate * 5 nodi per ogni pedata (in generale):• [n][1] - coordinata x del nodo del poligono pedata estesa misurata dall'origine della scala• [n][2] - coordinata y del nodo del poligono pedata estesa misurata dall'origine della scala• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

Varie

Guida di Riferimento al GDL 394

STAIR2D_DRAIN_TPOLYGON_FLAGS matrice a due dimensioni ([n] [4]), dati aggiuntivi dei poligoniscolatura, secondo STAIR2D_DRAIN_TPOLYGON_GEOM. Struttura simile aSTAIR2D_FULL_TPOLYGON_FLAGS.

2D 3D UI Parametro Proprietà Default [0]

n = numero di pedate * 5 nodi per ogni pedata (in generale):• [n][1] - indice della pedata• [n][2] - tipo di bordo a partire dal nodo

• 0 - iniziale• 1 - finale• 2 - sinistra (+100 - lato sinistro scolatura, +200 - lato sinistro scolatura e tipo "a gradini")• 3 - destra (+100 - lato destro scolatura, +200 - lato destro scolatura e tipo "a gradini")• -1 - chiusura

• [n][3] - visibilità del bordo a partire dal nodo (1 - visibile, 0 - omesso)• [n][4] - tipo di pedata (0 - rampa, 1 - pianerottolo)

Variabili 2D della struttura della Scala - Struttura con TraveSTAIR2D_POLYLINES_GEOM matrice a due dimensioni ([n] [3]), dove n è il numero di nodi della polilinea della struttura della

rampa/pianerottolo corrente in 2D, contiene i dati geometrici dei nodi della polilinea derivati dalconfine della scala: linea di confine sinistra, linea di confine destra e linea centrale.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - coordinata x del nodo della polilinea della struttura misurata dall'origine della scala• [n][2] - coordinata y del nodo della polilinea della struttura misurata dall'origine della scala• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

STAIR2D_POLYLINES_FLAGS matrice a due dimensioni ([n] [1]), dove n è il numero di nodi della polilinea della struttura dellarampa/pianerottolo corrente in 2D, contiene i dati del gruppo dei nodi della polilinea.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - flag di posizione, il punto n appartiene a: 0 - confine sinistro, 1 - confine destro, 2 - linea centrale

Varie

Guida di Riferimento al GDL 395

STAIR2D_STRUCT_ATTRIBUTES matrice a due dimensioni ([2] [7]), contenente le impostazioni degli attributi delle parti visibile ([1][n]) e invisibile ([2] [n]) della struttura.

2D 3D UI Parametro Proprietà Default [0, 0, 0,0, 0, 0, 0]

• [n][1] - indice del tipo di linea di delimitazione• [n][2] - indice della penna di delimitazione• [n][3] - tipo retino del simbolo• [n][4] - penna retino del simbolo• [n][5] - penna sfondo del retino del simbolo• [n][6] - controllo booleano ON/OFF del retino del simbolo solo per visualizzazioni personalizzate (STAIR2D_CUSTOMDISPLAY = 1)• [n][7] - controllo booleano ON/OFF che abilita la parte del simbolo solo per visualizzazioni personalizzate (STAIR2D_CUSTOMDISPLAY = 1).

Variabili 2D della struttura della Scala - Struttura MonoliticaCompatibilità: introdotto in Archicad 22.Questi valori globali sono riempiti con valori rispetto alla vista di pianta/pianta del soffitto.

STAIR2D_FULL_SPOLYGON_GEOM matrice a due dimensioni ([n] [3]), contenente sotto-poligoni della proiezione 2D della scala.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - coordinata x del nodo del poligono della struttura misurata dall'origine della scala• [n][2] - coordinata y del nodo del poligono della struttura misurata dall'origine della scala• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

Varie

Guida di Riferimento al GDL 396

STAIR2D_FULL_SPOLYGON_FLAGS matrice a due dimensioni ([n] [2]), dove n è il numero di nodi del poligono.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - indice del sottopoligono• [n][2] - tipo di sottopoligono

• 1: Confine della Rampa - senza connessione• 2: Confine della Rampa - con connessione• 3: Confine del Pianerottolo - senza connessione• 4: Confine del Pianerottolo - con connessione• 5: Connessione• 6: Scolatura

• [n][3] - tipo di bordo del sottopoligono• -1: punto di chiusura (il punto seguente è un nuovo sottopoligono)• 0: bordo invisibile (solo area delimitata)• 1: bordo monolite visibile (attributo visibile o nascosto impostato da STAIR2D_VISIBILITY)• 2: bordo connessione visibile (attributo visibile o nascosto impostato da STAIR2D_VISIBILITY)• 3: bordo del dettaglio di connessione visibile (attributo visibile o nascosto impostato da STAIR2D_VISIBILITY)Un sottopoligono di tipo Connessione può avere bordi monolite e di connessione misti.

STAIR2D_FULL_SPOLYLINE_GEOM matrice a due dimensioni ([n] [2]), contenente i bordi all'interno del confine.

2D 3D UI Parametro Proprietà Default [0]

• [2*i][1] - coordinata x del nodo iniziale misurata dall'origine della scala• [2*i][2] - coordinata y del nodo iniziale misurata dall'origine della scala• [2*i + 1][1] - coordinata x del nodo finale misurata dall'origine della scala• [2*i + 1][2] - coordinata y del nodo finale misurata dall'origine della scala

Varie

Guida di Riferimento al GDL 397

STAIR2D_FULL_SPOLYLINE_FLAGS matrice a una dimensione [n], dove n è il numero di nodi inSTAIR2D_FULL_SPOLYLINE_GEOM.

2D 3D UI Parametro Proprietà Default [0]

• [n] - tipo di bordo• 1: Pedata, tagliata con scolatura• 2: Pedata, completa• 3: Naso pedata (alzate inclinate), tagliata con scolatura• 4: Naso pedata (alzate inclinate), completo• 5: Linea Pianerottolo, tagliata con scolatura• 6: Linea Pianerottolo, completo• 7: Connessione• 8: Dettaglio Connessione• 9: Scolatura (scolatura a gradini)• 10: Naso Scolatura (Scolatura con gradini inclinati)

Varie

Guida di Riferimento al GDL 398

STAIR2D_MONOLITH_ATTRIBUTES matrice a due dimensioni ([2] [23]), contenente attributi e impostazioni di visibilità delle parti visibile([1] [n]) e invisibile ([2] [n]) della struttura monolitica.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - Visibilità struttura (bool)• [n][2] - Visibilità scolatura (bool)• [n][3] - Tipo linea contorno• [n][4] - Penna linea contorno• [n][5] - Visibilità pedata struttura (bool)• [n][6] - Visibilità linea pianerottolo (bool)• [n][7] - Tipo linea pedata• [n][8] - Penna linea pedata• [n][9] - Visibilità naso pedata struttura (bool)• [n][10] - Tipo linea naso pedata• [n][11] - Penna linea naso pedata• [n][12] - Visibilità connessione (bool)• [n][13] - Tipo linea connessione• [n][14] - Penna linea connessione• [n][15] - Tipo linea dettaglio connessione• [n][16] - Penna linea dettaglio connessione• [n][17] - Visibilità retino scolatura e struttura (bool)• [n][18] - Tipo retino struttura• [n][19] - Penna retino struttura• [n][20] - Penna sfondo retino struttura• [n][21] - Tipo retino scolatura• [n][22] - Penna retino scolatura• [n][23] - Penna sfondo retino scolatura

Varie

Guida di Riferimento al GDL 399

Variabili 2D GeneraliSTAIR2D_CURRSTORY_LOCATION informazioni sulla visibilità della piano corrente della scala

2D 3D UI Parametro Proprietà Default 0

values:1: sotto il piano pertinente,2: primo piano pertinente,3: piano pertinente intermedio,4: superiore-ultimo piano pertinente,5: sopra il piano pertinente.

Varie

Guida di Riferimento al GDL 400

STAIR2D_LAYOUT_TYPES[5] matrice a una dimensione ([5]), informazioni sui tipi di layout di visualizzazione della scala secondoSTAIR2D_CURRSTORY_LOCATION

2D 3D UI Parametro Proprietà Default [0]

• [1] - impostazioni del layout sotto il piano pertinente• [2] - impostazioni del layout sul primo piano pertinente• [3] - impostazioni del layout sul piano pertinente intermedio• [4] - impostazioni del layout sul superiore-ultimo piano pertinente• [5] - impostazioni del layout sopra il piano pertinente

Layout setting values:0: non valido1: Con il segno di interruzione: Visibile - Nascosto2: Senza segno di interruzione: Visibile3: Sotto il segno di interruzione: Visibile4: Sopra il segno di interruzione: Visibile7: Senza segno di interruzione: Nascosto8: Sopra il segno di interruzione: Nascosto9: Sotto il segno di interruzione: Nascosto13: Con il segno di interruzione: Tutto Visibile14: COn il segno di interruzione: Nascosto - Visible5: Multipiano 2D: Visibile tra i segni di interruzione6: Multipiano 2D: Nascosto - Visibile - Nascosto10: Multipiano 2D: Tutto Visibile11: Multipiano 2D: Nascosto - Visibile - Senza12: Multipiano 2D: Senza - Visibile - Nascosto

STAIR2D_VISIBILITY tipo del set di attributi attivo del disegno corrente

2D 3D UI Parametro Proprietà Default 0

Utilizzabile solo in combinazione con il simbolo Griglia e Pedata 2D.values:

1: 'Il set di attributi "Visible" è attivo0: 'Il set di attributi "Nascosto" è attivo

Varie

Guida di Riferimento al GDL 401

STAIR2D_CUSTOMDISPLAY contiene informazioni sulle impostazioni della vista del modello della scala

2D 3D UI Parametro Proprietà Default 0

values:0: La scala viene visualizzata in base alle impostazioni delle Opzioni Vista modello1: viene visualizzata la scala con le impostazioni personalizzate

STAIR_START_WITH_RISER Valore booleano che indica se la scala inizia con una alzata.

2D 3D UI Parametro Proprietà Default 0

Compatibilità: introdotto in Archicad 22.

STAIR_END_WITH_RISER Valore booleano che indica se la scala termina con una alzata.

2D 3D UI Parametro Proprietà Default 0

Compatibilità: introdotto in Archicad 22.

STAIR_TREAD_EXIST Matrice booleana ([2]) che indica se la scala ha un componente Pedata.

2D 3D UI Parametro Proprietà Default 0

Compatibilità: introdotto in Archicad 22.Le pedate personalizzate in modalità Modifica non hanno effetto su questi valori.• [1] - sulla Rampa• [2] - sul Pianerottolo

STAIR_RISER_EXIST Matrice booleana ([2]) che indica se la scala ha un componente Alzata.

2D 3D UI Parametro Proprietà Default 0

Compatibilità: introdotto in Archicad 22.Le alzate personalizzate in modalità Modifica non hanno effetto su questi valori.• [1] - sulla Rampa• [2] - sul Pianerottolo

Varie

Guida di Riferimento al GDL 402

STAIR_NOSING_EXIST Matrice booleana ([2]) che indica se la scala ha una pedata con naso (lunghezza > 0) impostata.

2D 3D UI Parametro Proprietà Default 0

Compatibilità: introdotto in Archicad 22.Le pedate personalizzate in modalità Modifica non hanno effetto su questi valori.• [1] - sulla Rampa• [2] - sul Pianerottolo

Variabili 3D scala: disponibile solo per la rappresentazione 3D (e il collegamento di punti di vista)Compatibilità: introdotto in Archicad 21.

Variabili 3D dell'alzata della scalaRISER_HEIGHT Valore dell'altezza 3D dell'alzata selezionata

2D 3D UI Parametro Proprietà Default 0

RISER_THICKNESS Valore dello spessore 3D dell'alzata selezionata

2D 3D UI Parametro Proprietà Default 0

STAIR_RISER_GEOMETRY matrice a due dimensioni ([n] [3]), triplette di dati dei nodi del percorso della polilinea alzata dellascala

2D 3D UI Parametro Proprietà Default [0]

n = numero di nodi del percorso della polilinea alzata:• [n][1] - coordinata x del nodo della polilinea misurata dall'origine della scala• [n][2] - coordinata y del nodo della polilinea misurata dall'origine della scala• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

Varie

Guida di Riferimento al GDL 403

RISER_CUT array a due dimensioni ([2] [2]), contiene i dati dei punti di inizio e di chiusura del TUBE ideale(modellando l'alzata in 3D)

2D 3D UI Parametro Proprietà Default [0]

La segmentazione del display del tube non influisce sul valore di questa variabile. Per ottenere un modello corretto in tutti i casi, questo globale può essere utilizzato per calcolare ipunti effettivi di inizio e chiusura del tubo seguendo l'arco segmentato.• [1][1] - coordinata x del nodo iniziale misurata dall'origine della scala• [1][2] - coordinata y del nodo iniziale misurata dall'origine della scala• [2][1] - coordinata x del nodo di chiusura misurata dall'origine della scala• [2][2] - coordinata y del nodo di chiusura misurata dall'origine della scala

RISER_SLANT_ANGLE angolo di inclinazione dell'alzata selezionata

2D 3D UI Parametro Proprietà Default 0

Nel caso in cui Inclinazione sia impostata su 0, il valore di questa globale è di 90 gradi.

Variabili 2D-3D della pedata della scalaTREAD_THICKNESS Valore dello spessore 3D della pedata selezionata

2D 3D UI Parametro Proprietà Default 0

STAIR_TREAD_GEOMETRY matrice a due dimensioni ([n] [3]), triplette di dati dei nodi del poligono pedata della scala

2D 3D UI Parametro Proprietà Default [0]

n = numero di nodi del poligono pedata:• [n][1] - coordinata x del nodo misurata dall'origine della scala• [n][2] - coordinata y del nodo misurata dall'origine della scala• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

Varie

Guida di Riferimento al GDL 404

STAIR_TREAD_FLAGS matrice a due dimensioni ([n] [1]), dati aggiuntivi dei bordi del poligono pedata (a partire dai nodi),secondo STAIR_TREAD_GEOMETRY

2D 3D UI Parametro Proprietà Default [0]

n = numero di nodi del poligono pedata:• [n][1] - flag dell'n-simo bordo del poligono

flags:0: bordo anteriore del poligono pedata1: bordo del tracciato del poligono pedata2: bordo sinistro del poligono pedata3: bordo destro del poligono pedata-1: nodo di chiusura del poligono pedata

TREAD_LOWER_RISER_THICKNESS spessore dell'alzata sotto l'attuale pedata (misurato tra griglia e struttura)

2D 3D UI Parametro Proprietà Default 0

TREAD_LOWER_RISER_HEIGHT altezza dell'alzata sotto la pedata corrente (misurata tra il piano inferiore della pedata corrente e ilpiano superiore della pedata precedente)

2D 3D UI Parametro Proprietà Default 0

TREAD_LOWER_RISER_SLANT_ANGLE angolo di inclinazione dell'alzata sotto la pedata corrente in gradi (è Inclinazione = 0, il valore è90 gradi)

2D 3D UI Parametro Proprietà Default 0

TREAD_UPPER_RISER_THICKNESS spessore dell'alzata sopra l'attuale pedata (misurato tra griglia e struttura)

2D 3D UI Parametro Proprietà Default 0

TREAD_UPPER_RISER_HEIGHT altezza dell'alzata sopra la pedata corrente (misurata tra il piano superiore della pedata corrente eil piano inferiore della pedata successiva)

2D 3D UI Parametro Proprietà Default 0

TREAD_UPPER_RISER_SLANT_ANGLE angolo di inclinazione dell'alzata sopra la pedata corrente in gradi (se Inclinazione = 0, il valore è90 gradi)

2D 3D UI Parametro Proprietà Default 0

Varie

Guida di Riferimento al GDL 405

TREAD_NOSING_METHOD informazioni sul metodo gestione del naso della pedata corrente, come impostato nella finestra didialogo Impostazioni Scala

2D 3D UI Parametro Proprietà Default 0

values:1: naso in base alla lunghezza del valore2: naso per lunghezza inclinata

TREAD_NOSING contiene il valore della profondità del naso della pedata selezionata (offset orizzontale, comeimpostato nella finestra di dialogo Impostazioni Scala), nel caso TREAD_NOSING_METHOD= 1 (del valore della lunghezza)

2D 3D UI Parametro Proprietà Default 0

TREAD_NOSING_BY_SLANTING contiene il valore della lunghezza del naso della pedata (offset verticale per controllare il puntodi intersezione dell'alzata, come impostato nella finestra di dialogo Impostazioni Scala), nel casoTREAD_NOSING_METHOD = 2 (offset per lunghezza inclinata)

2D 3D UI Parametro Proprietà Default 0

Varie

Guida di Riferimento al GDL 406

Variabili della struttura della scalaSTAIR_STRUCTURE_GEOMETRY matrice con due dimensioni ([n] [14]), dove n è il numero di punti poligoni della struttura della

rampa/pianerottolo corrente.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - coordinata x del nodo n del poligono struttura, misurata dall'origine della scala• [n][2] - coordinata x del nodo n del poligono struttura, misurata dall'origine della scala• [n][3] - coordinata z del nodo n del poligono struttura, misurata dall'origine della scala• [n][4] - angolo centrale in gradi del bordo a partire dal nodo n (0 - bordo dritto, < 0 - arco, senso antiorario, > 0 - arco, senso orario)• [n][5] - angolo di inclinazione alzata del bordo a partire dal nodo n. In caso di bordo iniziale, l'angolo appartiene all'alzata sotto il poligono. In caso di bordo di tracciato, l'angolo

appartiene all'alzata sopra il poligono. Contiene 0 per tutte le altre categorie di bordi.• [n][6] - altezza dell'alzata sotto il poligono struttura (restituisce 0 nel caso in cui non sia presente l'alzata, oppure se il poligono è un poligono di collegamento)• [n][7] - altezza dell'alzata sopra il poligono struttura (restituisce 0 nel caso non sia presente l'alzata, o se il poligono è un poligono di collegamento)• [n][8] - spessore della pedata del poligono struttura (restituisce 0 se il poligono è un poligono di connessione)• [n][9] - spessore della fessura sotto la pedata del poligono struttura (restituisce 0 se il poligono è un poligono di connessione)• [n][10-14] - Compatibilità: introdotto in Archicad 22.• [n][10] - Altezza struttura a sbalzo (letta dal suo parametro ac_stairStructureThickness) sotto la pedata in questo punto. Zero in caso di poligoni di connessione.• [n][11] - Naso della pedata sul bordo partendo da questo punto.

• Zero in caso di poligoni di connessione• Naso della pedata sopra i bordi iniziali• Naso della pedata successiva sopra i bordi di tracciato• Zero in caso di altri bordi

• [n][12] - Spessore dell'alzata sul bordo a partire da questo punto.• Zero in caso di poligoni di connessione• Spessore dell'alzata sotto i bordi iniziali• Spessore dell'alzata sopra i bordi di tracciato• Zero in caso di altri bordi

• [n][13] - Spessore della fessura dell'alzata sul bordo a partire da questo punto.• Zero in caso di poligoni di connessione• Spessore della fessura dell'alzata sotto i bordi iniziali• Spessore della fessura dell'alzata sopra i bordi di tracciato• Zero in caso di altri bordi

• [n][14] - Spessore orizzontale struttura a sbalzo (letto dal suo parametro ac_stairStructureHorizThick) sul bordo a partire da questo punto.• Zero in caso di poligoni di connessione• Spessore orizzontale della struttura a sbalzo sotto i bordi iniziali• Spessore orizzontale della struttura a sbalzo sopra i bordi di tracciato• Zero in caso di altri bordi

Varie

Guida di Riferimento al GDL 407

STAIR_STRUCTURE_FLAGS matrice a due dimensioni ([n] [3]), dove n è il numero di punti dei poligoni struttura della rampa/pianerottolo corrente.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - tipo di poligono del nodo n nella struttura poligono: nucleo o poligono di connessione• [n][2] - indica a quale lato appartiene il nodo n: poligono della struttura sinistra o destra dove la divisione è la linea centrale della scala: 0 - sinistra, 1 - destra• [n][3] - tipo di bordo a partire dal nodo n. Possibili valori: 0 - bordo iniziale, 1 - bordo del tracciato, 2 - bordo sinistro, 3 - bordo destro, 4 - bordo linea centrale, -1 - bordo finale.

values: indicatori delle categorie di nodi per [n][1]-1: Nessun poligono di connessione (pedata intera): in caso di pianerottolo, tutti i punti sono in questa categoria. Tale valore non è presente in caso di poligoni di rampa.0: Nessuna poligono di connessione (nucleo): in caso di pianerottolo, le connessioni inizio-fine possono influenzare la geometria. In caso di rampa, il poligono è sempre completo.1: Inizio Poligono di Connessione: indica il poligono rimanente o il poligono racchiuso tra il nucleo e i poligoni di connessione. Nodi necessari per definire il percorso della trave:punto iniziale o punto finale con punti del poligono di delimitazione.2: Poligono Posizione della Connessione Iniziale: indica la posizione della connessione. Questo poligono è sempre un poligono unitario generico, non fa parte del percorso dellatrave ed è necessario solo per il piano di taglio e la posizione del piatto d'estremità.3: Poligono Interruzione della Connessione Iniziale: indica il poligono contenente i punti di interruzione in caso di connessione verticale o orizzontale. Punti necessari per ilpercorso della trave: punto iniziale o punto finale completato con punti del poligono di delimitazione.4: Poligono DIrezione Connessione Iniziale: indica il poligono necessario per eseguire il taglio bisettrice in caso di collegamento lungo bisettrice. Questo poligono è sempre unpoligono unitario generico, non fa parte del percorso della trave ed è necessario solo per ottenere la posizione del piano di taglio.5: Poligono Estensione Connessione Iniziale: indica i punti di estensione della trave per sostenere i tagli. Punti necessari per il percorso della trave: punto iniziale o punto finalecompletato con punti poligono di delimitazione.6: Poligono Bordo Struttura Connessione Iniziale: indica i punti di confine della trave all'inizio. Questo poligono è sempre un poligono generico unitario. Punti necessari peril percorso della trave: punto iniziale o punto finale.101: Poligono Connessione Finale: indica il poligono rimanente o il poligono racchiuso tra il nucleo e i poligoni di connessione. Punti necessari per definire il percorso dellatrave: punto iniziale o punto finale con punti del poligono di delimitazione.102: Poligono Posizione Connessione Finale: indica la posizione della connessione. Questo poligono è sempre un poligono unitario generico, non fa parte del percorso della traveed è necessario solo per il piano di taglio e la posizione del piatto d'estremità.103: Poligono Interruzione Connessione Finale: indica il poligono contenente i punti di interruzione in caso di connessione verticale o orizzontale. Punti necessari per il percorsodella trave: punto iniziale o punto finale con punti del poligono di delimitazione.104: Poligono DIrezione Connessione Finale: indica il poligono necessario per eseguire il taglio bisettrice in caso di collegamento lungo bisettrice. Questo poligono è sempre unpoligono unitario generico, non fa parte del percorso della trave ed è necessario solo per ottenere la posizione del piano di taglio.105: Poligono Estensione Connessione Finale: indica i punti di estensione della trave per sostenere i tagli. Punti necessari per il percorso della trave: punto iniziale o puntofinale completato con punti del poligono di delimitazione.106: Poligono Bordo Struttura Connessione Finale: indica i punti di confine della trave all'estremità. Questo poligono è sempre un poligono generico unitario. Punti necessariper il percorso della trave: punto iniziale o punto finale.

Varie

Guida di Riferimento al GDL 408

STAIR_STRUCTURE_CONN_OFFSETS matrice a due dimensioni([2][6]). Contiene i dati dei punti di offset della connessione.

2D 3D UI Parametro Proprietà Default [0]

• [1][1] - Offset orizzontale della connessione iniziale (dx)• [1][2] - Offset verticale della connessione iniziale (dy)• [1][3] - Offset orizzontale connessione iniziale 2 (dx1)• [1][4] - Offset verticale connessione iniziale 2 (dy1)• [1][5] - Offset orizzontale connessione iniziale (cx)• [1][6] - Offset verticale connessione iniziale (cy)• [2][1] - Offset orizzontale connessione finale (dx)• [2][2] - Offset verticale connessione finale (dy)• [2][3] - Offset orizzontale connessione finale 2 (dx1)• [2][4] - Offset verticale connessione finale 2 (dy1)• [2][5] - Offset orizzontale connessione finale (cx)• [2][6] - Offset verticale connessione finale (cy)

STAIR_STRUCTURE_CONN_FLAGS matrice a due dimensioni ([2][3]). Contiene dati aggiuntivi della connessione della struttura.

2D 3D UI Parametro Proprietà Default 0

• [1][1] - Tipo connessione iniziale: 0 - taglio verticale, 1 - taglio orizzontale, 2 - taglio sagomato, 3 - taglio verticale e orizzontale, 4 - connessione orizzontale, 5 - connessioneorizzontale e taglio sagomato, 6 - connessione verticale, 7 - bisettrice, 8 - automatico.

• [1][2] - Parte connessione iniziale: 0 - rampa e inizio, 1 - rampa e pianerottolo, 2 - pianerottolo e rampa, 3 - rampa e rampa, 4 - rampa e fine, 5 - pianerottolo e pianerottolo.• [1][3] - Pedata o alzata all'inizio: 0 - Alzata all'inizio, 1 - Pedata all'inizio.• [2][1] - Tipo connessione finale: 0 - taglio verticale, 1 - taglio orizzontale, 2 - taglio sagomato, 3 - taglio verticale e orizzontale, 4 - connessione orizzontale, 5 - connessione

orizzontale e taglio sagomato, 6 - connessione verticale, 7 - bisettrice, 8 - automatico.• [2][2] - Parte connessione finale: 0 - rampa e inizio, 1 - rampa e pianerottolo, 2 - pianerottolo e rampa, 3 - rampa e rampa, 4 - rampa e fine, 5 - pianerottolo e pianerottolo.• [2][3] - Pedata o alzata alla fine: 0 - Alzata alla fine, 1 - Pedata alla fine.

STAIR_STRINGER_PATH_OFFSET contiene il valore impostato in "Altezza sopra i gradini" nella finestra di dialogo Impostazioni Scala.

2D 3D UI Parametro Proprietà Default 0

Parametri dei componenti del parapettp

Variabili generali del parapetto - disponibili per liste ed etichetteCompatibilità: introdotto in Archicad 21.

Varie

Guida di Riferimento al GDL 409

RAILING_HEIGHT altezza del segmento di parapetto (come impostato nella finestra di dialogo ImpostazioniParapetto / Impostazioni Segmento)

2D 3D UI Parametro Proprietà Default 0

RAILING_3DLENGTH lunghezza 3D completa del parapetto

2D 3D UI Parametro Proprietà Default 0

RAILING_HORIZONTAL_LENGTH lunghezza totale proiettata 2D del parapetto

2D 3D UI Parametro Proprietà Default 0

RAILING_VOLUME volume del parapetto(compresi tutti i sottoelementi)

2D 3D UI Parametro Proprietà Default 0

RAILING_NR_OF_SEGMENTS numero di segmenti nel parapetto

2D 3D UI Parametro Proprietà Default 0

RAILING_NR_OF_POSTS numero di montanti nel parapetto

2D 3D UI Parametro Proprietà Default 0

RAILING_NR_OF_BALUSTERS numero di colonnine nel parapetto

2D 3D UI Parametro Proprietà Default 0

RAILING_NR_OF_PANELS numero di pannelli nel parapetto

2D 3D UI Parametro Proprietà Default 0

RAILING_NR_OF_RAILS numero di traverse nel parapetto

2D 3D UI Parametro Proprietà Default 0

Variabili 3D del parapettoCompatibilità: introdotto in Archicad 21.

Varie

Guida di Riferimento al GDL 410

RAILING_REFLINE_DISTANCE matrice a una dimensione ([2]), offset orizzontali dell'elemento traversa dalla linea di riferimentodel parapetto.

2D 3D UI Parametro Proprietà Default [0]

• [1] - offset della linea di riferimento del segmento dalla linea di riferimento del parapetto• [2] - offset dell'elemento pannello rispetto alla linea di riferimento del segmento (sempre 0 in caso di colonnina, montante o corrimano top)

RAIL_CONNECTING_POSTS_NUM numero di montanti e colonnine che intersecano la traversa.

2D 3D UI Parametro Proprietà Default 0

RAIL_CONNECTING_POSTS matrice a due dimensioni ([n] [2]), dove n è il numero di montanti e colonnine lungo la traversa.Contiene i dati di posizione di questi elementi intersecanti.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - posizione dei montanti e colonnine lungo la traversa.. I valori di posizione sono calcolati proporzionalmente rispetto alla lunghezza della traversa (i valori sono compresitra 0-1.)

• [n][2] - valore di inclinazione del montante o colonnina (simile a quello del pannello). I valori degli elementi angolari possono differire dagli elementi frapposti.

RAIL_TYPE contiene il tipo di sottoelemento per cui è selezionata la parte di libreria corrente.

2D 3D UI Parametro Proprietà Default 0

• 1 - corrimano top (o estremità corrimano top )• 2 - corrimano (o estremità corrimano)• 3 - traversa (o estremità traversa)

RAIL_POLYLINE_GEOMETRY matrice a due dimensioni ([n] [5]), dove n è il numero di nodi del parapetto (n> 2). Contiene i datigeometrici del parapetto corrente, tutti i segmenti.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - coordinata x del nodo del parapetto• [n][2] - coordinata y del nodo del parapetto• [n][3] - coordinata z del nodo del parapetto• [n][4] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)• [n][5] - rotazione della sezione trasversale per comando TUBE. La rotazione dei collegamenti dei parapetti attorcigliati estesi automaticamente, può differire dal valore

dell'inclinazione.

Varie

Guida di Riferimento al GDL 411

RAIL_SEGMENT_FLAGS matrice a una dimensione ([n]), dove n è il numero di nodi del parapetto (n> 2). Contiene i datigeometrici del parapetto corrente, tutti i segmenti.

2D 3D UI Parametro Proprietà Default [0]

Identifica il segmento a cui appartiene il nodo in base all'indice, in conformità con RAIL_POLYLINE_GEOMETRY. I nodi nello stesso segmento appartengono insieme.

RAIL_CUTS matrice a due dimensioni ([2] [4]), definisce l'orientamento delle superfici terminali della traversa

2D 3D UI Parametro Proprietà Default [0]

Le coordinate restituite possono essere utilizzate nel comando TUBE per le coordinate del primo e dell'ultimo nodo del percorso così come sono. Gli elementi di [1] [n] appartengonoal vertice iniziale, mentre [2n] imposta le coordinate del vertice finale.• [1][1] - coordinata x• [1][2] - coordinata y• [1][3] - coordinata z• [1][4] - booleano, metodo di taglio: 0 - bordi continui, 1 - taglio ad angolo

RAIL_DISCONNECTED_CUTS matrice a due dimensioni ([2] [4]), definisce l'orientamento delle superfici terminali in caso diconnessione disconnessa.

2D 3D UI Parametro Proprietà Default [0]

Le coordinate restituite possono essere utilizzate nel comando TUBE per le coordinate del primo e dell'ultimo nodo del percorso così come sono. Gli elementi di [1] [n] appartengonoal vertice finale del primo segmento, mentre [2] [n] imposta le coordinate al vertice iniziale del secondo segmento.• [1][1] - coordinata x• [1][2] - coordinata y• [1][3] - coordinata z• [1][4] - 0 (riservato per sviluppi futuri)Compatibilità: introdotto in Archicad 22.

RAIL_COMPONENTS matrice a una dimensione ([3]), contiene informazioni aggiuntive sulla traversa.

2D 3D UI Parametro Proprietà Default [0]

Tipo booleano per indicare la necessità/presenza di fissaggi, tappi.• [1] - presenza di fissaggi necessari (nessuno per connessioni o estensioni)• [2] - presenza di tappi di apertura necessari (inizio traversa, o collegate ad un altro)• [3] - presenza di tappi di chiusura necessari (fine traversa, o collegate ad un altro)

Varie

Guida di Riferimento al GDL 412

RAIL_SLANT_ANGLE angolo di inclinazione della rotaia in gradi rispetto alla direzione verticale, perpendicolare alladirezione di marcia.

2D 3D UI Parametro Proprietà Default 0

values: valori possibili (< 90 gradi)positive: inclinato a sinistra rispetto alla direzione di marcianegative: inclinato a destra rispetto alla direzione di marcia

Sezioni curve: l'angolo è misurato su un piano radiale verticale.

RAILINGPANEL_TYPE tipo di geometria generica del pannello.

2D 3D UI Parametro Proprietà Default 0

• 1 - planare• 2 - cilindrico (curvo - verticale o curvo - inclinato)• 3 - conico (curvo - orizzontale - inclinato)• 4 - attorcigliato (curvo - inclinato - inclinato o curvo - inclinato - obliquo)

RAILINGPANEL_UNCUT_GEOMETRY matrice a due dimensioni ([n] [4]), dove n è il numero di nodi del pannello (n > 3). Contiene i datigeometrici del pannello corrente del parapetto, geometria grezza completa (senza tagli).

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - coordinata x del nodo del pannello parapetto• [n][2] - coordinata y del nodo del pannello parapetto• [n][3] - coordinata z del nodo del pannello parapetto• [n][4] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

RAILINGPANEL_GEOMETRY array a due dimensioni ([n] [5]), dove n è il numero di nodi del pannello (n > 3). Contiene i datigeometrici del pannello corrente del parapetto, i piani di taglio applicati.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - coordinata x del nodo del pannello parapetto• [n][2] - coordinata y del nodo del pannello parapetto• [n][3] - coordinata z del nodo del pannello parapetto• [n][4] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)• [n][5] - in caso di bordo tagliato, contiene l'angolo del piano di taglio (0 - perpendicolare al pannello). In caso di pannello curvo, il piano di riferimento è tangenziale.

Varie

Guida di Riferimento al GDL 413

RAILINGPANEL_FLAGS matrice due dimensioni ([n] [3]), dove n è il numero di nodi del pannello (n> 3) secondoRAILINGPANEL_GEOMETRY. Contiene i dati geometrici degli attuali bordi del pannello delparapetto, piani di taglio applicati.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - numero di segmento del bordo a partire dal nodo nel pannello non tagliato• [n][2] - posizione del bordo a partire dal nodo nel pannello tagliato (indicizzazione secondo RAILINGPANEL_SIDE_OFFSETS)• [n][3] - bit di stato del bordo

mask: [n][3] valori possibilimask = j1 + 2*j2, dove ogni j può essere 0 o 1.j1: bordo a partire dal nodo collegato ad un altro pannelloj2: il bordo a partire dal nodo è tagliato

RAILINGPANEL_SIDE_OFFSETS matrice con una dimensione ([4]), contiene gli offset del pannello come impostato nella finestra didialogo Impostazioni Parapetto, distanza degli assi degli elementi adiacenti in un piano verticale,inclinazione e obliquo ignorate.

2D 3D UI Parametro Proprietà Default [0]

• [1] - offset inferiore• [2] - offset lato vertice finale• [3] - offset superiore• [4] - offset lato vertice iniziale

RAILINGPANEL_SLANT_ANGLE angolo di inclinazione in gradi, perpendicolare alla direzione di camminata. La verticale è 0 gradi, ivalori positivi indicano il lato sinistro, i valori negativi indicano il lato destro della direzione di marcia(angolo < 90). Segmenti curvi: misurata sul piano perpendicolare al piano tangenziale iniziale delsegmento (prima dell'inclinazione).

2D 3D UI Parametro Proprietà Default 0

RAILINGPANEL_SKEW_ANGLE angolo di inclinazione in gradi, parallelamente alla direzione di camminata. La verticale è 0 gradi, ivalori positivi indicano l'inclinazione all'indietro, i valori negativi indicano l'inclinazione in avanti inbase alla direzione di marcia (angolo < 90). Segmenti curvi: misurata sul piano tangenziale inizialedel segmento (prima dell'inclinazione).

2D 3D UI Parametro Proprietà Default 0

Varie

Guida di Riferimento al GDL 414

RAILINGPOST_TYPE contiene il tipo di sottoelemento per cui è selezionata l'elemento di libreria corrente.

2D 3D UI Parametro Proprietà Default 0

• 1 - montante• 2 - colonnina• 3 - balaustro

RAILINGPOST_TOP_COORD matrice a una dimensione ([3]), coordinate della parte superiore del montante corrente

2D 3D UI Parametro Proprietà Default [0, 0, 0]

• [1] - coordinata x• [2] - coordinata y• [3] - coordinata z

RAILINGPOST_CUTS matrice a due dimensioni ([2] [3]), definisce l'orientamento delle superfici terminali del montante

2D 3D UI Parametro Proprietà Default [0]

Le coordinate restituite possono essere utilizzate nel comando TUBE per le coordinate del primo e dell'ultimo nodo del percorso così come sono. Gli elementi di [1] [n] appartengonoal vertice di base, mentre [2n] imposta le coordinate del vertice superiore.• [1][1] - coordinata x• [1][2] - coordinata y• [1][3] - coordinata z

RAILINGPOST_SEGMENT_CUTS matrice a due dimensioni ([2] [4]), contiene i parametri vettoriali di due piani utilizzati per tagliarele colonnine e i balaustri al confine del segmento, quando il parapetto è inclinato

2D 3D UI Parametro Proprietà Default [0]

La normale del piano è il vettore (A; B; C), e D è la sua distanza dall'origine, misurata nella direzione della normale. Il modello dovrebbe essere tagliato nella direzione della normale.Nel caso in cui tutti restituiscano valori 0 per uno qualsiasi dei 2 piani, il piano non esiste (nessun taglio).• [1][1] - A• [1][2] - B• [1][3] - C• [1][4] - D

Varie

Guida di Riferimento al GDL 415

RAILINGEND_DIRECTION_AND_ANGLE matrice a due dimensioni ([n] [5]), dati del vettore che puntano in direzione tangenziale lontanodalla traversa di collegamento. Per due estremità di una traversa diritta, questi vettori sono oppostiin direzione.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - coordinata x del vettore• [n][2] - coordinata y del vettore• [n][3] - coordinata z del vettore• [n][4] - rotazione della traversa di collegamento attorno all'asse del vettore, con effetto obliquo. L'estremita della traversa dovrebbe modellare la stessa rotazione per connettersi

senza problemi.

Variabili 2D del parapettoCompatibilità: introdotto in Archicad 21.

RAIL2D_FULL_POLYLINE_GEOM matrice con due dimensioni ([n] [3]), dove n è il numero di punti nella polilinea dell'asse di pannello/traversa/estremità traversa. Contiene i dati geometrici del pannello del parapetto.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - coordinata x del nodo misurata dall'origine del parapetto• [n][2] - coordinata y del nodo misurata dall'origine del parapetto• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

RAIL2D_FULL_POLYLINE_FLAGS matrice con due dimensioni ([n] [1]), dove n è il numero di punti nella polilinea dell'asse pannello/traversa/estremità traversa. Contiene i dati di visibilità dei bordi.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - flag di visibilità del bordo che inizia al nodo n (0 - non visibile, 1 - visibile)

RAIL2D_FULL_POLYGON_GEOM matrice con due dimensioni ([n] [3]), dove n è il numero di punti nel poligono simbolo pannello/traversa/estremità traversa. Contiene i dati geometrici del pannello del parapetto.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - coordinata x del nodo misurata dall'origine del parapetto• [n][2] - coordinata y del nodo misurata dall'origine del parapetto• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

Varie

Guida di Riferimento al GDL 416

RAIL2D_FULL_POLYGON_FLAGS matrice a due dimensioni ([n] [1]), dove n è il numero di punti nel poligono simbolo pannello/traversa/estremità traversa. Contiene i dati di visibilità dei bordi.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - flag di visibilità del bordo che inizia al nodo n (0 - non visibile, 1 - visibile)

RAIL2D_FULL_VISIBILITY tipo del set di attributi attivo del disegno corrente del parapetto.

2D 3D UI Parametro Proprietà Default 0

values:1: Il set di attributi "Visibile" è attivo0: Il set di attributi "Nascosto" è attivo

RAIL2D_CUSTOMDISPLAY contiene informazioni sulle impostazioni della vista del modello del parapetto.

2D 3D UI Parametro Proprietà Default 0

values:0: il parapetto viene visualizzato in base alle impostazioni delle Opzioni Vista Modello1: il parapetto viene visualizzato con le impostazioni personalizzate

Le seguenti variabili globali vengono utilizzate per definire le parti del parapetto rappresentate sotto il primo segno di interruzione.

RAIL2D_LOWER_POLYLINE_GEOM matrice a due dimensioni ([n] [3]), dove n è il numero di punti nella polilinea dell'asse del pannello/traversa/estremità traversa sotto il primo segno di rottura. Contiene i dati geometrici della polilineadel pannello del parapetto.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - coordinata x del nodo misurata dall'origine del parapetto• [n][2] - coordinata y del nodo misurata dall'origine del parapetto• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

RAIL2D_LOWER_POLYLINE_FLAGS matrice a due dimensioni ([n] [1]), dove n è il numero di punti nella polilinea dell'asse di pannello/traversa/estremità traversa sotto il primo segno di interruzione. Contiene i dati di visibilità dei bordi.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - flag di visibilità del bordo che inizia al nodo n (0 - non visibile, 1 - visibile)

Varie

Guida di Riferimento al GDL 417

RAIL2D_LOWER_POLYGON_GEOM matrice a due dimensioni ([n] [3]), dove n è il numero di punti nel poligono del simbolo del pannello/traversa/estremità traversa sotto il primo segno di interruzione. Contiene i dati geometrici delpoligono del pannello del parapetto.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - coordinata x del nodo misurata dall'origine del parapetto• [n][2] - coordinata y del nodo misurata dall'origine del parapetto• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

RAIL2D_LOWER_POLYGON_FLAGS matrice a due dimensioni ([n] [1]), dove n è il numero di punti nel poligono del simbolo del pannello/traversa/estremità traversa sotto il primo segno di interruzione. Contiene i dati di visibilità dei bordidel poligono.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - flag di visibilità del bordo che inizia al nodo n (0 - non visibile, 1 - visibile)

RAIL2D_LOWER_VISIBILITY tipo del set di attributi attivi del disegno corrente del parapetto sotto il primo punto di interruzione.

2D 3D UI Parametro Proprietà Default 0

values:1: Il set di attributi "Visibile" è attivo0: Il set di attributi "Nascosto" è attivo

Le seguenti variabili globali vengono utilizzate per definire le parti del parapetto rappresentate tra due segni di interruzione.

RAIL2D_MIDDLE_POLYLINE_GEOM matrice a due dimensioni ([n] [3]), dove n è il numero di punti nella polilinea dell'asse del pannello/traversa/estremità traversa tra i punti di interruzione. Contiene i dati geometrici della polilinea delpannello del parapetto.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - coordinata x del nodo misurata dall'origine del parapetto• [n][2] - coordinata y del nodo misurata dall'origine del parapetto• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

Varie

Guida di Riferimento al GDL 418

RAIL2D_MIDDLE_POLYLINE_FLAGS matrice con due dimensioni ([n] [1]), dove n è il numero di punti nella polilinea dell'asse finale delpannello/traversa/estremità traversa tra i punti di interruzione. Contiene i dati di visibilità dei bordi.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - flag di visibilità del bordo che inizia al nodo n (0 - non visibile, 1 - visibile)

RAIL2D_MIDDLE_POLYGON_GEOM matrice a due dimensioni ([n] [3]), dove n è il numero di punti nel poligono del simbolo del pannello/traversa/estremità traversa tra i punti di interruzione. Contiene i dati geometrici del poligono delpannello del parapetto.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - coordinata x del nodo misurata dall'origine del parapetto• [n][2] - coordinata y del nodo misurata dall'origine del parapetto• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

RAIL2D_MIDDLE_POLYGON_FLAGS matrice a due dimensioni ([n] [1]), dove n è il numero di punti nel poligono del simbolo del pannello/traversa/estremità traversa tra i punti di interruzione. Contiene i dati di visibilità dei bordi delpoligono.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - flag di visibilità del bordo che inizia al nodo n (0 - non visibile, 1 - visibile)

RAIL2D_MIDDLE_VISIBILITY tipo del set di attributi attivo del disegno corrente del parapetto tra le interruzioni.

2D 3D UI Parametro Proprietà Default 0

values:1: Il set di attributi "Visibile" è attivo0: Il set di attributi "Nascosto" è attivo

Le seguenti variabili globali vengono utilizzate per definire le parti del parapetto rappresentate sopra l'ultimo segno di interruzione.

Varie

Guida di Riferimento al GDL 419

RAIL2D_UPPER_POLYLINE_GEOM matrice a due dimensioni ([n] [3]), dove n è il numero di punti nella polilinea dell'asse finale delpannello/traversa/estremità traversa sopra l'ultimo segno di interruzione. Contiene i dati geometricidella polilinea del pannello del parapetto.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - coordinata x del nodo misurata dall'origine del parapetto• [n][2] - coordinata y del nodo misurata dall'origine del parapetto• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

RAIL2D_UPPER_POLYLINE_FLAGS matrice a due dimensioni ([n] [1]), dove n è il numero di punti nella polilinea dell'asse finale delpannello/traversa/estremità traversa sopra l'ultimo segno di interruzione. Contiene i dati di visibilitàdei bordi.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - flag di visibilità del bordo che inizia al nodo n (0 - non visibile, 1 - visibile)

RAIL2D_UPPER_POLYGON_GEOM matrice a due dimensioni ([n] [3]), dove n è il numero di punti nel poligono del simbolo delpannello/traversa/estremità traversa sopra l'ultimo segno di interruzione. Contiene i dati geometricidel poligono del pannello del parapetto.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - coordinata x del nodo misurata dall'origine del parapetto• [n][2] - coordinata y del nodo misurata dall'origine del parapetto• [n][3] - angolo centrale del bordo a partire dal nodo (0 - dritto, > 0 - curvo in senso antiorario, < 0 - curvo in senso orario)

RAIL2D_UPPER_POLYGON_FLAGS matrice a due dimensioni ([n] [1]), dove n è il numero di punti nel poligono del simbolo del pannello/traversa/estremità sopra l'ultimo segno di interruzione. Contiene i dati di visibilità dei bordi delpoligono.

2D 3D UI Parametro Proprietà Default [0]

• [n][1] - flag di visibilità del bordo che inizia al nodo n (0 - non visibile, 1 - visibile)

Varie

Guida di Riferimento al GDL 420

RAIL2D_UPPER_VISIBILITY tipo del set di attributi attivo del disegno corrente del parapetto sopra l'ultimo punto di interruzione.

2D 3D UI Parametro Proprietà Default 0

values:1: Il set di attributi "Visibile" è attivo0: Il set di attributi "Nascosto" è attivo

Il seguente globale appartiene alla rappresentazione 2D dei montanti della ringhiera.

RAILPOST2D_VISIBILITY tipo del set di attributi attivo del disegno del montante corrente.

2D 3D UI Parametro Proprietà Default 0

values:1: Il set di attributi "Visibile" è attivo0: Il set di attributi "Nascosto" è attivo

Parametri Falda - disponibili per lucernari, liste ed etichetteROOF_THICKNESS spessore della falda

ROOF_ANGLE pendenza della falda

ROOF_MAT_TOP indice di attributo di superficie della superficie superiore della falda

ROOF_MAT_EDGE indice di attributo di superficie dei bordi della falda

ROOF_MAT_BOTT indice di attributo di superficie della superficie inferiore della falda

ROOF_LINETYPE tipo linea della falda

applicato sui contorni solo nella finestra di pianta

ROOF_FILL retino della falda

indice retino: il suo valore è negativo nel caso di una struttura composta

ROOF_FILL_PEN penna del retino della falda

ROOF_FBGD_PEN penna dello sfondo del retino della falda

ROOF_COMPS_NAME nome della struttura composita della falda

ROOF_BMAT_NAME nome del materiale da costruzione della falda, stringa vuota per falde composite

Varie

Guida di Riferimento al GDL 421

ROOF_BMAT indice del materiale da costruzione della falda, 0 per le falde composite

Compatibilità: introdotto in Archicad 21.

ROOF_SKINS_NUMBER numero di strati dell falda composita

intervallo da 1 a 8, 0 se viene applicato un retino singolo

ROOF_SKINS_PARAMS parametri dello strato della falda composita

matrice con 18 colonne con numero arbitrario di righe:• [1] retino• [2] spessore• [3] (vecchia penna del contorno)• [4] penna del retino• [5] penna dello sfondo del retino• [6] stato del nucleo• [7] penna linea superiore• [8] tipo linea superiore• [9] penna linea inferiore• [10] tipo linea inferiore• [11] penna della faccia terminale• [12] orientamento del retino• [13] tipo di strato• [14] tipo linea faccia terminale• [15] stato dello strato di finitura• [16] stato del retino orientato• [17] stato dello strato nucleo (se non esiste lo strato nucleo, lo strato più spesso)• [18] indice materiale da costruzione.stato nucleo: 0 - non parte, 1 - parte, 3 - ultimo strato del nucleo, orientamento retino: 0 - globale, 1 - locale; tipo di strato: nell'Archicad attuale sempre 0 - il taglio, può essereutilizzato in seguito come nei muri; stato dello strato di finitura: 0 non è uno strato di finitura, 1: è uno strato di finitura

ROOF_SKINS_BMAT_NAMES nomi dei materiali da costruzione dello strato della falda composita

matrice con 1 colonna: nome del materiale da costruzione dello strato e con numero arbitrario di righe.

ROOF_SECT_PEN penna dei contorni delle superfici tagliate della falda

applicato sui contorni delle superfici tagliate sia nelle finestre di pianta che nelle finestre di sezione/alzato

Varie

Guida di Riferimento al GDL 422

ROOF_VIEW_PEN penna della falda a vista

applicato su tutti i bordi nella finestra 3D e sui bordi del contorno (bordi sulla vista sotto il piano di taglio) nelle finestre di pianta e in quelle sezione/alzato

Parametri della Falda - disponibii solo per liste ed etichetteROOF_BOTTOM_SURF area della superficie di intradosso della falda

non ridotto della superficie dei fori, che sono maggiori del valore dato

ROOF_GROSS_BOTTOM_SURF superficie lorda dell'intradosso della falda

ridotta dalla superficie dei fori

ROOF_BOTTOM_SURF_CON area di superficie condizionale dell'intradosso della falda

ridotta della superficie dei fori, che sono maggiori del valore dato

ROOF_TOP_SURF area della superficie di estradosso della falda

non ridotto della superficie dei fori, che sono maggiori del valore dato

ROOF_GROSS_TOP_SURF superficie lorda dell'estradosso della falda

ridotta dalla superficie dei fori

ROOF_TOP_SURF_CON superficie condizionale della falda

ridotta della superficie dei fori, che sono maggiori del valore dato

ROOF_EDGE_SURF superficie del bordo della falda

non ridotta dalla superficie dei fori

ROOF_GROSS_EDGE_SURF superficie lorda dei bordi della falda

ridotta dalla superficie dei fori

ROOF_CONTOUR_AREA area coperta della falda

ROOF_PERIMETER perimetro della falda

ROOF_VOLUME volume della falda

non ridotto dal volume dei fori

ROOF_GROSS_VOLUME volume lordo della falda

ridotto dal volume dei fori

Varie

Guida di Riferimento al GDL 423

ROOF_VOLUME_CON volume condizionale della falda

ridotto dal volume dei fori, che sono maggiori del valore dato

ROOF_SEGMENTS_NR numero di segmenti della falda

ROOF_HOLES_NR numero di fori nella falda

ROOF_HOLES_AREA area dei fori nella falda

ROOF_HOLES_PRM perimetro dei fori nella falda

ROOF_INSU_THICKNESS spessore dello strato di isolamento della falda

ROOF_RIDGE lunghezza colmi della falda

ROOF_VALLEY lunghezza compluvi della falda

ROOF_GABLE lunghezza timpani della falda

ROOF_HIP lunghezza fianchi della falda

ROOF_EAVES lunghezza gronda della falda

ROOF_PEAK lunghezza picchi della falda

ROOF_SIDE_WALL lunghezza attacco parete laterale della falda

ROOF_END_WALL lunghezza del collegamento della parete dell'estremità della falda

ROOF_TRANSITION_DOME lunghezza del collegamento della cupola della falda

ROOF_TRANSITION_HOLLOW lunghezza del collegamento cavo della falda

Parametri retino - disponibili solo per liste ed etichetteFILL_LINETYPE tipo linea del retino

FILL_FILL tipo retino del retino

FILL_BMAT_NAME nome del materiale da costruzione del retino

FILL_BMAT indice del materiale da costruzione del retino

Compatibilità: introdotto in Archicad 21.

FILL_FILL_PEN penna della campitura del retino

Varie

Guida di Riferimento al GDL 424

FILL_PEN penna del del retino

FILL_FBGD_PEN penna dello sfondo del retino

FILL_SURF area del del retino

FILL_PERIMETER perimetro del retino

FILL_SEGMENT_NR numero di segmenti nel retino

FILL_HOLES_NR numero di fori nel retino

FILL_HOLES_PRM perimetro dei fori nel retino

FILL_HOLES_AREA area dei fori nel retino

FILL_FILL_CATEGORY categoria retino del retino

0 - Retino, 1 - Sezione, 2 - Coprente

Parametri della Mesh - disponibili solo per liste ed etichetteMESH_TYPE tipo di mesh

1- corpo chiuso, 2 - sopra e gonna, 3 - solo superficie superiore

MESH_BASE_OFFSET offset della superficie inferiore dal livello di base

MESH_USEREDGE_PEN penna degli spigoli definiti dall'utente nella mesh

MESH_TRIEDGE_PEN penna dei bordi triangolati della mesh

MESH_SECT_PEN penna dei contorni della meshin sezione

applicato sui contorni delle superfici di taglio delle pareti sia in pianta che in finestre di sezione/alzato

MESH_VIEW_PEN penna dei contorni in vista

applicato su tutti i bordi nella finestra 3D e sui bordi in vista nelle finestre di sezione/alzato

MESH_MAT_TOP indice di attributo di superficie della superficie superiore della mesh

MESH_MAT_EDGE indice di attributo di superficie dei bordi della mesh

MESH_MAT_BOTT indice di attributo di superficie della superficie inferiore della mesh

Varie

Guida di Riferimento al GDL 425

MESH_LINETYPE tipo di linea della mesh

applicato sui contorni solo nella finestra della pianta

MESH_FILL tipo di retino della mesh

MESH_BMAT_NAME nome del materiale da costruzione della mesh

MESH_BMAT indice materiale da costruzione della mesh

Compatibilità: introdotto in Archicad 21.

MESH_FILL_PEN penna del retino della mesh

MESH_FBGD_PEN penna dello sfondo del retino della mesh

MESH_BOTTOM_SURF superficie inferiore della mesh

MESH_TOP_SURF superficie superiore della mesh

MESH_EDGE_SURF superficie del bordo della mesh

MESH_PERIMETER perimetro della mesh

MESH_VOLUME volume della mesh

MESH_SEGMENTS_NR numero di segmenti della mesh

MESH_HOLES_NR numero di fori nella mesh

MESH_HOLES_AREA area dei fori nella mesh

MESH_HOLES_PRM perimetro dei fori nella mesh

Varie

Guida di Riferimento al GDL 426

Parametri dei componenti del Curtain WallCW_BOUNDARY_PLACEMENT Posizionamento del profilo del curtain

2D 3D UI Parametro Proprietà Default 0

Compatibilità: introdotto in Archicad 22.Contiene le impostazioni di Posizionamento dei Profili perimetrali definiti in Sistema Curtain Wall/Posizionamento dei Membri.

values:0: Centro sulla Perimetrale, o il profilo attuale non è un profilo di confine.-1: Profilo Interno1: Profilo Esterno

GLOB_MVO_CWFRAME_DETLEVEL Livello di dettaglio dei profili del Curtain Wall impostato in Opzioni Vista Modello/Opzioni CurtainWall.

2D 3D UI Parametro Proprietà Default 4

Compatibilità: introdotto in Archicad 22.values:

1: Solo Asse2: Schematico3: Semplificato4: Dettagliato

GLOB_MVO_CWPANEL_DETLEVEL Livello di dettaglio dei pannelli del Curtain Wall impostato in Opzioni Vista Modello/OpzioniCurtain Wall.

2D 3D UI Parametro Proprietà Default 4

Compatibilità: introdotto in Archicad 22.values:

2: Schematico3: Semplificato4: Dettagliato

Varie

Guida di Riferimento al GDL 427

GLOB_MVO_CWJUNCT_DETLEVEL Livello di dettaglio dei giunti del Curtain Wall impostato in Opzioni Vista Modello/Opzioni CurtainWall.

2D 3D UI Parametro Proprietà Default 4

Compatibilità: introdotto in Archicad 22.values:

2: Schematico3: Semplificato4: Dettagliato

GLOB_MVO_CWACC_DETLEVEL Livello di dettaglio degli accessori del Curtain Wall impostato in Opzioni Vista Modello/OpzioniCurtain Wall.

2D 3D UI Parametro Proprietà Default 4

Compatibilità: introdotto in Archicad 22.values:

2: Schematico3: Semplificato4: Dettagliato

Parametri del Curtain Wall - disponibili solo per liste ed etichetteCWALL_ID D utente del curtain wall

CWALL_FRAMES_LENGTH lunghezza dei profili nel curtain wall

CWALL_CONTOUR_FRAMES_LENGTH lunghezza dei profili sul contorno del curtain wall

CWALL_MAINAXIS_FRAMES_LENGTH lunghezza dei profili sulle linee della griglia primaria nel curtain wall

CWALL_SECAXIS_FRAMES_LENGTH lunghezza dei profili sulle linee della griglia d secondaria nel curtain wall

CWALL_CUSTOM_FRAMES_LENGTH lunghezza di altri profili nel curtain wall

CWALL_PANELS_SURF superficie dei pannelli nel curtain wall

CWALL_PANELS_SURF_N superficie dei pannelli nord nel curtain wall

CWALL_PANELS_SURF_S superficie dei pannelli sud nel curtain wall

CWALL_PANELS_SURF_E superficie dei pannelli est nel curtain wall

Varie

Guida di Riferimento al GDL 428

CWALL_PANELS_SURF_W superficie dei pannelli ovest nel curtain wall

CWALL_PANELS_SURF_NE superficie dei pannelli nord-est nel curtain wall

CWALL_PANELS_SURF_NW superficie dei pannelli nord-ovest nel curtain wall

CWALL_PANELS_SURF_SE superficie dei pannelli sud-est nel curtain wall

CWALL_PANELS_SURF_SW superficie dei pannelli sud-ovest nel curtain wall

CWALL_SURF superficie del curtain wall

CWALL_SURF_BOUNDARY superficie del curtain wall delimitata dai profili della perimetrale

CWALL_LENGTH unghezza del curtain wall

CWALL_HEIGHT altezza del curtain wall

CWALL_SLANT_ANGLE angolo di inclinazione del curtain wall

CWALL_THICKNESS spessore del curtain wall

CWALL_PANELS_NR numero di pannelli nel curtain wall

CWALL_PATTERN_ANGLE angolo del motivo del curtain wall

Parametri dei Profili del Curtain Wall

Variabili Generali del Profilo del Curtain Wall - disponibili solo per liste ed etichetteCWFRAME_TYPE tipo di profilo

'Invisible' o il nome dell'oggetto GDLCompatibilità: fino as Archicad 21 'Generico', 'di Testa', 'Invisible' o il nome dell'oggetto GDL

CWFRAME_POSITION posizione del profilo. Da Archicad 22 la definizione della posizione del profilo si basa sui valoridelle coordinate relative ai profli.

0 - verticale, 1 - orizzontale, 2 - contorno, 3 - diagonaleCompatibilità: fino ad Archicad 21 la definizione della posizione del profilo è basata sulle linee della griglia. I valori si riferiscono a: 0 - linea della griglia primaria, 1 - lineadella griglia secondaria, 2 - confine, 3 - altro

CWFRAME_DIRECTION angolo di inclinazione del profilo

angolo tra 0 e 90

Varie

Guida di Riferimento al GDL 429

CWFRAME_WIDTH larghezza del profilo

CWFRAME_DEPTH profondità del profilo

CWFRAME_LENGTH lunghezza del profilo

Variabili 3D del Profilo del Curtain WallCWFRAME_TOP_CUTTYPE Definisce il metodo di taglio in corrispondenza della connessione superiore del profilo del curtain

wall .

2D 3D UI Parametro Proprietà Default 0

Compatibilità: introdotto in Archicad 22.values:

0: Piano: il proflio deve essere tagliato da un piano definito dalla globale CWFRAME_TOP_CUTPLANE1: Polilinea: il proflio deve essere tagliato lungo una polilinea definita dalla globale CWFRAME_TOP_CUTPOLYLINE

CWFRAME_TOP_CUTPLANE matrice a una dimensione ([4]), contenente la posizione del piano di taglio superiore del profilo,definita nel sistema di coordinate locali dell'elemento di libreria

2D 3D UI Parametro Proprietà Default [0, 0, 0, 0]

Compatibilità: introdotto in Archicad 22.values:

[1]: Componente X del vettore normale del piano di taglio superiore[2]: Componente Y del vettore normale del piano di taglio superiore[3]: Componente Z del vettore normale del piano di taglio superiore[4]: distanza del piano di taglio superiore dall'origo del profilo

Varie

Guida di Riferimento al GDL 430

CWFRAME_TOP_CUTPOLYLINE array a due dimensioni ([n] [2]), dove n è il numero di nodi della polilinea di taglio. Contiene lecoordinate della polilinea di taglio per la connessione superiore del profilo, definite nel piano Y-Zdel sistema di coordinate locale dell'elemento di libreria. Il primo nodo della polilinea si trova sulvalore minimo della coordinata Y, l'ultimo nodo si trova sul valore massimo della coordinata Y delprofilo del curtain wall.

2D 3D UI Parametro Proprietà Default [0, 0]

Compatibilità: introdotto in Archicad 22.values:

[n][1]: coordinata X del nodo misurata dall'origine del profilo del curtain wall[n][2]: coordinata Y del nodo misurata dall'origine del profilo del curtain wall

CWFRAME_BOTTOM_CUTTYPE Definisce il metodo di taglio sulla connessione inferiore del profilo del curtain wall.

2D 3D UI Parametro Proprietà Default 0

Compatibilità: introdotto in Archicad 22.values:

0: Piano: il profilo deve essere tagliato da un piano definito dalla globale CWFRAME_BOTTOM_CUTPLANE1: Polilinea: il telaio deve essere tagliato lungo una polilinea definita nella globale CWFRAME_BOTTOM_CUTPOLYLINE

CWFRAME_BOTTOM_CUTPLANE matrice con una dimensione ([4]), contenente la posizione del piano di taglio inferiore del profilo,definita nel sistema di coordinate locali dell'elemento di libreria

2D 3D UI Parametro Proprietà Default [0, 0, 0, 0]

Compatibilità: introdotto in Archicad 22.values:

[1]: Componente X del vettore normale del piano di taglio inferiore[2]: Componente Y del vettore normale del piano di taglio inferiore[3]: Componente Z del vettore normale del piano di taglio inferiore[4]: distanza del piano di taglio inferiore dall'origo del profilo

Varie

Guida di Riferimento al GDL 431

CWFRAME_BOTTOM_CUTPOLYLINE matrice a due dimensioni ([n] [2]), dove n è il numero di nodi della polilinea di taglio. Contiene lecoordinate della polilinea di taglio per la connessione inferiore del profilo, definite nel piano Y-Zdel sistema di coordinate locale dell'elemento di libreria. Il primo nodo della polilinea si trova sulvalore minimo della coordinata Y, l'ultimo nodo si trova sul valore massimo della coordinata Y delprofilo del curtain wall.

2D 3D UI Parametro Proprietà Default [0, 0]

Compatibilità: introdotto in Archicad 22.values:

[n][1]: coordinata X del nodo misurata dall'origine del profilo della facciata continua[n][2]: coordinata Y del nodo misurata dall'origine del profilo della facciata continua

Variabil del Pannello del Curtain WallCWPANEL_HORIZONTAL_DIRECTION angolo della superficie esterna del pannello dal Nord di Progetto.

2D 3D UI Parametro Proprietà Default [180]

Compatibilità: introdotto in Archicad 22 for 2D and 3D scripts. Nelle versioni precedenti funziona solo per etichette e liste.valori: angolo tra -180 e 180

CWPANEL_VERTICAL_DIRECTION angolo di inclinazione della superficie esterna del pannello.

2D 3D UI Parametro Proprietà Default [90]

Compatibilità: introdotto in Archicad 22 for 2D and 3D scripts. Nelle versioni precedenti funziona solo per etichette e liste.valori: angolo tra -90 e 90

Parametri Pannello Curtain Wall - disponibili solo per liste ed etichetteCWPANEL_WIDTH larghezza del pannello

CWPANEL_NOMINAL_WIDTH larghezza nominale del pannello

CWPANEL_HEIGHT altezza del pannello

CWPANEL_NOMINAL_HEIGHT altezza nominale del pannello

CWPANEL_THICKNESS spessore del pannello

Varie

Guida di Riferimento al GDL 432

CWPANEL_SURF superficie del pannello

CWPANEL_GROSS_SURF superficie lorda del pannello

CWPANEL_NOMINAL_SURF superficie nominale del pannello

CWPANEL_PERIMETER perimetro del pannello

CWPANEL_FUNCTION funzione del pannello

0 - fisso, 1 - porta, 2 - finestra

CWPANEL_ORIENTATION orientamento di apertura del pannello porta/finestra

sinistra/destra

Parametro Giunti del Curtain Wall - disponibili solo per liste ed etichetteCWJUNC_TYPE tipo di giunzione

nome dell'oggetto GDL

Parametri Accessorio Curtain Wall - disponibili solo per liste ed etichetteCWACC_TYPE tipo di accessorio

nome dell'oggetto GDL

Parametri di migrazione: disponibili solo per gli script di migrazioneFROM_GUID GUID principale dell'elemento di libreria che era stato collocato originariamente

TO_GUID GUID principale dell'elemento di libreria su cui viene eseguita la migrazione

Parametri Lucernario - disponibili solo per liste ed etichetteSKYL_MARKER_TXT testo marker lucernario

SKYL_OPENING_SURF superficie di apertura del lucernario

SKYL_OPENING_VOLUME volume dell'apertura tagliata dal lucernario

SKYL_OPENING_HEIGHT altezza apertura lucernario

SKYL_OPENING_WIDTH larghezza apertura lucernario

Varie

Guida di Riferimento al GDL 433

SKYL_HEADER_HEIGHT altezza dell'architrave del lucernario

SKYL_SILL_HEIGHT altezza del davanzale del lucernario

Parametro Comuni per Shells e Falde - disponibili solo per liste ed etichetteSHELLBASE_THICKNESS spessore della shell/falda/solaio

uguale a ROOF_THICKNESS per le falde

SHELLBASE_MAT_REFERENCE indice di attributo di superficie della superficie inferiore della shell/falda

uguale a ROOF_MAT_BOTT per le falde

SHELLBASE_MAT_EDGE indice di attributo di superficie dei bordi della shell/falda

uguale a ROOF_MAT_EDGE per le falde

SHELLBASE_MAT_OPPOSITE indice di attributo di superficie della superficie superiore della shell/falda

uguale a ROOF_MAT_TOP per le falde

SHELLBASE_LINETYPE tipo di linea della shell/falda

applicato sui contorni solo nella finestra di pianta, uguale a ROOF_LINETYPE per le falde

SHELLBASE_FILL retino della shell/falda

indice del retino: il suo valore è negativo nel caso di una struttura composta, uguale a ROOF_FILL per le falde

SHELLBASE_FILL_PEN penna del retino della shell/falda

uguale a ROOF_FILL_PEN per le falde

SHELLBASE_FBGD_PEN penna dello sfondo del retino della shell/falda

uguale a ROOF_FBGD_PEN per le falde

SHELLBASE_COMPS_NAME nome della struttura composita della shell/falda

uguale a ROOF_COMPS_NAME per le falde

SHELLBASE_BMAT_NAME nome del materiale da costruzione della shell/falda

uguale a ROOF_BMAT_NAME per le falde

Varie

Guida di Riferimento al GDL 434

SHELLBASE_BMAT indice materiale da costruzione della shell/falda

Compatibilità: introdotto in Archicad 21.uguale a ROOF_BMAT per le falde

SHELLBASE_SKINS_NUMBER numero di strati nel composito della shell/falda

intervallo da 1 a 8, 0 se applicato retino singolo, uguale a ROOF_SKINS_NR per le falde

SHELLBASE_SKINS_PARAMS parametri dello strato delo coposito della shell/falda

matrice a 18 colonne con un numero arbitrario di righe:• [1] retino• [2] spessore• [3] (vecchia penna di contorno)• [4] penna del retino• [5] penna dello sfondo del retino• [6] stato del nucleo• [7] penna linea superiore• [8] tipo linea superiore• [9] penna linea inferiore• [10] tipo linea inferiore• [11] penna faccia terminale• [12] orientamento retino• [13] tipo di strato• [14] tipo linea faccia terminale• [15] stato dello strato di finitura• [16] stato del retino orientato• [17] stato dello strato del nucleo (se non esiste lo strato del nucleo, lo strato più spesso)• [18] indice materiale da costruzione.tato del nucleo: 0 - non parte, 1 - parte, 3 - ultio strato del nucleo, orientamento retino: 0 - globale, 1 - locale; tipo di strato: nell'Archicad attuale sempre 0 - taglio, può essere utilizzatocome nei muri in seguito; stato strato di finitura: 0 non è uno strato di finitura, 1: è uno strato di finiturauguale a ROOF_SKINS_PARAMS per le falde

SHELLBASE_SKINS_BMAT_NAMES nomi dei materiali da costruzione dello strato del composito della shell/falda

matrice a 1 colonna: nome del materiale da costruzione dello strato e con numero arbitrario di righe.uguale a ROOF_SKINS_BMAT_NAMES per le falde

Varie

Guida di Riferimento al GDL 435

SHELLBASE_SECT_PEN penna dei contorni delle superfici tagliate della shell/falda

applicato sui contorni delle superfici tagliate sia nelle finestre di pianta che nelle finestre di sezione/alzato, uguale a ROOF_SECT_PEN per le falde

SHELLBASE_VIEW_PEN penna della shell/falda a vista

applicato su tutti i bordi nella finestra 3D e sui bordi del contorno (bordi a vista sotto il piano di taglio) nelle finestre di pianta e in sezione/alzato, uguale a ROOF_VIEW_PENper le falde

SHELLBASE_REFERENCE_SURF superficie sul lato di riferimento della shell/falda

non ridotto dalla superficie dei fori, uguale a ROOF_BOTTOM_SURF per le falde

SHELLBASE_COND_REFERENCE_SURF superficie condizionale sul lato di riferimento della shell/falda

uguale a ROOF_BOTTOM_SURF_CON per le falde

SHELLBASE_GROSS_REFERENCE_SURF superficie lorda sul lato di riferimento della shell/falda

ridotta dalla superficie dei fori, uguale a ROOF_GROSS_BOTTOM_SURF per le falde

SHELLBASE_OPPOSITE_SURF superficie sul lato opposto a quello di riferimento della shell/falda

non ridotta dalla superficie dei fori, uguale a ROOF_TOP_SURF per le falde

SHELLBASE_COND_OPPOSITE_SURF superficie condizionale sul lato opposto a quello di riferimento della shell/falda

ridotta dalla superficie dei fori, che sono più grandi del valore dato; uguale a ROOF_TOP_SURF_CON per le falde

SHELLBASE_GROSS_OPPOSITE_SURF superficie condizionale sul lato opposto a quello di riferimento della shell/falda

ridotto della superficie dei fori, uguale a ROOF_GROSS_TOP_SURF per le falde

SHELLBASE_EDGE_SURF superficie dei bordi della shell/roof

non ridotto della superficie dei fori, uguale a ROOF_EDGE_SURF per le falde

SHELLBASE_GROSS_EDGE_SURF superficie lorda deo bordi della shell/falda

ridotto della superficie dei fori, uguale a ROOF_GROSS_EDGE_SURF per le falde

SHELLBASE_PERIMETER perimetro della shell/falda

uguale a ROOF_PERIMETER per le falde

SHELLBASE_VOLUME volume della shell/falda

non ridotto della superficie dei fori, uguale a ROOF_VOLUME per le falde

Varie

Guida di Riferimento al GDL 436

SHELLBASE_COND_VOLUME conditional volume of the roof shell/roof

reduced by the volume of holes, which are bigger than the given value; equal to ROOF_VOLUME_CON for roofs

SHELLBASE_GROSS_VOLUME volume lordo della shell/falda

ridotto dal volume dei fori, uguale a ROOF_GROSS_VOLUME per le falde

SHELLBASE_HOLES_NR numero di fori nellla shell/falda

uguale a ROOF_HOLES_NR per le falde

SHELLBASE_HOLES_SURF superficie dei fori nella shell/falda

uguale a ROOF_HOLES_AREA per le falde

SHELLBASE_HOLES_PRM perimetro dei fori nella shell

uguale a ROOF_HOLES_PRM per le falde

SHELLBASE_OPENINGS_NR numero di aperture nella shell

SHELLBASE_OPENINGS_SURF superficie delle aperture nella shell

SHELLBASE_INSU_THICKNESS spessore dello strato di isolamento nella shell/falda

uguale a ROOF_INSU_THICKNESS per le falde

SHELLBASE_RIDGE lunghezza degli spigoli della shell/falda

uguale a ROOF_RIDGE per le falde

SHELLBASE_VALLEY lunghezza dei compluvo della shell/falda

uguale a ROOF_VALLEY per le falde

SHELLBASE_GABLE lunghezza timapni della shell/falda

uguale a ROOF_GABLE per le falde

SHELLBASE_HIP lunghezza fianchi della mesh/falda

uguale a ROOF_HIP per le falde

SHELLBASE_EAVES Lunghezza dell agronda della shell/falda

uguale a ROOF_EAVES per le falde

Varie

Guida di Riferimento al GDL 437

SHELLBASE_PEAK lunghezza dei picchi della shell/falda

uguale a ROOF_PEAK per le falde

SHELLBASE_SIDE_WALL lunghezza connessione muro laterale della shell/falda

uguale a ROOF_SIDE_WALL per le falde

SHELLBASE_END_WALL lunghezza connessione muro terminale della shell/falda

uguale a ROOF_END_WALL per le falde

SHELLBASE_TRANSITION_DOME lunghezza connessione cupola della shell/falda

uguale a ROOF_TRANSITION_DOME per le falde

SHELLBASE_TRANSITION_HOLLOW lunghezza del collegamento cavo dellla shell/falda

uguale a ROOF_TRANSITION_HOLLOW per le falde

Parametri per le Forme - disponibili solo per liste ed etichetteMORPH_LINETYPE Tipo di linea della forma a vista

MORPH_FILL Retino delle superfici di taglio della forma

MORPH_BMAT_NAME Nome del materiale da costruzione delle superfici di taglio della forma

MORPH_BMAT Indice del materiale da costruzione delle superfici di taglio delle forma

Compatibilità: introdotto in Archicad 21.

MORPH_FILL_PEN Penna delle superfici tagliate della forma

MORPH_FBGD_PEN Penna dello sfondo del retino delle superfici tagliate della forma

MORPH_SECT_LINETYPE Tipo di linea dei contorni delle superfici di taglio della forma

MORPH_SECT_PEN Penna dei contorni delle superfici di taglio della forma

MORPH_VIEW_PEN Penna dei contorni della forma a vista

MORPH_SOLID Forma a corpo pieno (on/off)

MORPH_MAT_DEFAULT Indice di attributo di superficie predefinito della forma

MORPH_CASTS_SHADOW Ombre portate (on/off)

Varie

Guida di Riferimento al GDL 438

MORPH_RECEIVES_SHADOW Riceve ombre (on/off)

MORPH_SURFACE Superficie lorda della forma

MORPH_VOLUME Volume della forma

MORPH_FLOOR_PERIMETER perimetro della forma in pianta

Globali libere per gli utentiGLOB_USER_1

GLOB_USER_2

GLOB_USER_3

GLOB_USER_4

GLOB_USER_5

GLOB_USER_6

GLOB_USER_7

GLOB_USER_8

GLOB_USER_9

GLOB_USER_10 le variabili libere da 1 a 10 vengono inizializzate come numero per impostazione predefinita

GLOB_USER_11

GLOB_USER_12

GLOB_USER_13

GLOB_USER_14

GLOB_USER_15

GLOB_USER_16

GLOB_USER_17

GLOB_USER_18

GLOB_USER_19

Varie

Guida di Riferimento al GDL 439

GLOB_USER_20 le variabili libere da 11 a 20 sono inizializzate come stringa per impostazione predefinita

Esempio di utilizzo di variabili globali

Esempio: Illustrazione dell'uso delle globali GLOB_WORLD_ORIGO _...ADD2 -GLOB_WORLD_ORIGO_OFFSET_X-SYMB_POS_X, -GLOB_WORLD_ORIGO_OFFSET_X-SYMB_POS_YLINE2 -0.1, 0.0, 0.1, 0.0LINE2 0.0, -0.1, 0.0, 0.1HOTSPOT2 0.0, 0.0, 1TEXT2 0, 0, "( 0.00 ; 0.00 )"TEXT2 0, 0.5, "Origine Mondo"DEL TOPif ABS(GLOB_WORLD_ORIGO_OFFSET_X) > 0.01 OR \ ABS(GLOB_WORLD_ORIGO_OFFSET_Y) > 0.01 THEN ADD2 - SYMB_POS_X, - SYMB_POS_Y LINE2 -0.1, 0.0, 0.1, 0.0 LINE2 0.0, -0.1, 0.0, 0.1 HOTSPOT2 0.0, 0.0, 2 TEXT2 0, 0, "(" + \ STR (GLOB_WORLD_ORIGO_OFFSET_X, 9, 4) + "; " + \ STR (GLOB_WORLD_ORIGO_OFFSET_Y, 9, 4) + " )" TEXT2 0, 0.5, "Origine Virtuale" DEL TOPENDIFif ABS(GLOB_WORLD_ORIGO_OFFSET_X + SYMB_POS_X) > 0.01 OR \ ABS(GLOB_WORLD_ORIGO_OFFSET_Y + SYMB_POS_Y) > 0.01 THEN LINE2 -0.1, 0.0, 0.1, 0.0 LINE2 0.0, -0.1, 0.0, 0.1 HOTSPOT2 0.0, 0.0, 3 TEXT2 0, 0, "(" + \ STR (GLOB_WORLD_ORIGO_OFFSET_X + SYMB_POS_X, 9, 4) + "; " + \ STR (GLOB_WORLD_ORIGO_OFFSET_Y + SYMB_POS_Y, 9, 4) + " )" TEXT2 0, 0.5, "Posizionamento Oggetto"ENDIF

Varie

Guida di Riferimento al GDL 440

Variabili globali deprecateQueste variabili globali funzionano ancora nell'ambiente di Archicad per motivi di compatibilità, ma è consigliabile evitarle durante la creazionedi un nuovo oggetto.

GLOB_CONTEXT contesto di apparizione (dipendente dalla vista, non utilizzare negli script di parametri/proprietà)

2D 3D UI Parametro Proprietà Default 2

1 - editore elemento di libreria, 2 - pianta, 3 - vista 3D, 4 - sezione/alzato, 5 - dialogo delle impostazioni, 6 - lista, 7 - disegno dettaglio, 8 - layout, 22 - feedback modalitàmodifica dalla pianta, 23 - feedback modalità modifica da una vista 3D, 24 - feedback modalità modifica dalla sezione/alzato, 28 - feedback modalità modifica dal layout, 43- generato come operatore da una vista 3D, 44 - generato come operatore da una sezione/alzato, 46 - generato come operatore da una lista. Vedi sezione chiamata «Contesti diesecuzione GDL» per maggiori dettagli.

Variabili globali Trave/Pilastro obsolete: disponibili solo per elenchi ed etichetteDa Archicad 23 questi valori sono disponibili nelle variabili globali BEAM_SEGMENT_INFO e COLU_SEGMENT_INFO con riferimentia valori uniformi. Vedi anchesezione chiamata «Parametri di Trave/Pilastro obsoleti: disponibili solo per elenchi ed etichette». Per compatibilità,sono ancora disponibili su Travi omogenee, dritte o curve orizzontalmente e su Pilastri omogenei (GLOB_ELEM_TYPE = 12 o 6).

COLU_CROSSSECTION_TYPE tipo di sezione trasversale del pilastro

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

0 - profilo complesso, 1 - rettangolare, 4 - rotondo

BEAM_CROSSSECTION_TYPE tipo di sezione trasversale della trave

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

0 - profilo complesso, 1 - rettangolare

Variabili globali Etichetta obsoleteQueste variabili globali sono state sostituite da parametri opzionali denominati fissi a partire da Archicad 22 (Vedi sezione). Per motivi dicompatibilità, le variabili globali sono ancora mantenute, quindi il comportamento degli oggetti legacy non dovrebbe essere influenzato.Gruppo di globali che gestisce un Testo Etichetta:

Varie

Guida di Riferimento al GDL 441

LABEL_ALWAYS_READABLE il testo dell'etichetta è sempre leggibile

1 Se è sempre leggibile è attivo, altrimenti 0

LABEL_TEXT_WRAP avvolgi il testo dell'etichetta

1 Se a Capo è vistato, altrimenti 0

LABEL_TEXT_ALIGN allineamento del testo

1 - allineato a sinistra, 2 - allineato al centro, 3 - allineato a destra, 4 - giustificato

LABEL_TEXT_LEADING fattore di interlinea

LABEL_TEXT_WIDTH_FACT fattore di larghezza

LABEL_TEXT_CHARSPACE_FACT fattore di spaziatura

LABEL_FONT_NAME nome del carattere

LABEL_TEXT_SIZE dimensione del testo

LABEL_TEXT_PEN penna del testo

LABEL_TEXT_BG_PEN penna di sfondo della casella di testo

0 se opaco è disattivato, altrimenti l'indice della penna di sfondo

LABEL_FONT_STYLE stile carattere

0-normale, 1-grassetto, 2-corsivo, 4- sottolineato

LABEL_FONT_STYLE2 stile del carattere nella finestra di dialogo delle impostazioni

0 - normale, altrimenti j1 + 2*j2 + 4*j3 + 32*j6 + 64*j7 + 128*j8, j1 - grassetto, j2 - corsivo, j3 - sottolineato, j6 - apice, j7 - pedice, j8 - barrato

Gruppo di globali che gestisce puntatore/riquadro dell'Etichetta:

LABEL_CUSTOM_ARROW utilizzare l'opzione freccia simbolo on/off

1 se la casella di controllo Usa freccia simbolo è selezionata, 0 altrimenti

LABEL_ARROW_LINETYPE tipo di linea della linea della freccia

LABEL_ARROW_PEN penna della freccia

LABEL_FRAME_ON riquadro etichetta on / off

1 se il riquadro dell'etichetta è selezionato, 0 altrimenti

Varie

Guida di Riferimento al GDL 442

LABEL_FRAME_OFFSET offset riquadro

LABEL_ANCHOR_POS posizione di ancoraggio dell'etichetta

0 - in mezzo, 1 - sopra, 2 - sotto, 3 - sotto a destra

Variabili globali del Curtain Wall obsolete: disponibili solo per liste ed etichetteDa Archicad 22 sono state introdotte le classi di profilo e pannello per i curtain wall definite dall'utente al posto delle classi predefinite. Permotivi di compatibilità, queste variabili globali sono ancora mantenute, ma i loro valori sono cambiati.

CWFRAME_CLASS classe del profilo

2 - perimetrale, 3 - altroCompatibilità: fino ad Archicad 21 i valori possono essere 0 - montante, 1 - traversa, 2 - perimetrale, 3 - personalizzato

CWPANEL_CLASS classe del pannello

0Compatibilità: fino ad Archicad 21 i valori possono essere 0 - principale, 1 - distinto, 2 - personalizzato

CWPANEL_TYPE tipo di pannello

Il nome dell'oggetto GDLCompatibilità: fino ad Archicad 21 i valori possono essere "Generico" oppure il nome dell'oggetto GDL

Da Archicad 22 non è possibile sovrascrivere le superfici del telaio del curtain wall e degli oggetti pannello. Sono completamente definitidall'oggetto GDL e dovrebbero essere accessibili per essere elencati come parametri. Per motivi di compatibilità, queste variabili globali esistonoancora, ma contengono dati non validi.

CWFRAME_MAT indice di attributo di superficie del profilo

CWPANEL_MAT_OUTER indice di attributo superficie per la superficie esterna del pannello

CWPANEL_MAT_INNER indice di attributo superficie per la superficie interna del pannello

CWPANEL_MAT_CUT indice di attributo di superficie per il bordo del pannello

Vecchie variabili globaliÈ possibile utilizzare vecchi nomi di variabili globali; tuttavia, si consiglia di utilizzare i nuovi nomi. Ogni vecchio globale corrisponde a unanuova variabile con un nome lungo.

Varie

Guida di Riferimento al GDL 443

A_ GLOB_SCALEB_ GLOB_HSTORY_ELEVC_ WALL_THICKNESSD_ WALL_HEIGHTE_ WALL_SECT_PENF_ WALL_FILL_PENG_ WALL_MAT_AH_ WALL_MAT_BI_ WALL_MAT_EDGEJ_ GLOB_ELEVATIONK_ WIDO_SILLL_ SYMB_VIEW_PENM_ SYMB_MATN_ GLOB_FRAME_NRO_ 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

Varie

Guida di Riferimento al GDL 444

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_ROTangoloX~ SYMB_POS_XY~ SYMB_POS_YZ~ SYMB_POS_Z

PARAMETRI OPZIONALI A NOME FISSO

Parametri impostati da ArchicadIl nuovo metodo di Archicad per fornire le informazioni è il metodo dei parametri opzionali con nome fisso. Se una dato elemento di libreriaha un parametro fisso che corrisponde a un parametro opzionale nel nome e nel tipo, Archicad imposta il suo valore in base alla sua funzione.

Varie

Guida di Riferimento al GDL 445

Parametri per attributi P/F (disponibili per Porta, Finestra, Etichetta, Lista)

Visualizzazione di Piantaac_hole_cut_linetype tipolinea

penna delle linee di taglio [pianta e sezione]

ac_hole_overhead_pen penna

penna dei bordi a vista di sopra (in alto) [solo pianta]

ac_hole_overhead_linetype tipolinea

tipo di linea dei bordi a vista di sopra (in alto) [solo pianta]

ac_hole_uncut_pen penna

penna dei bordi a vista sottostanti (non tagliati) [solo pianta]

ac_hole_uncut_linetype tipolinea

tipo di linea dei bordi a vista sottostanti (non tagliati) [solo pianta]

ac_hole_display_option intero

opzioni visualizzazione di pianta: 1 - Proiettato, 2 - Proiettato con Parte Superiore, 3 - Simbolico, 5 - Tutto come Parte Superiore

Direzioneac_hole_direction_type Intero

direzione piano di apertura: 1 - Associato al Muro, 2 - Verticale

ac_wido_rotation angolo

angolo di rotazione della porta/finestra rispetto al piano di taglio orizzontale

ac_openingside stringa

parametro di orientamento porta/finestra per la lista (S - sinistra, D - destra, Personalizzato) in base alle impostazioni di definizione dell'orientamento (Automatico, Personalizzato).Archicad ignorerà qualsiasi impostazione di Opzioni di compatibilità / Visualizzazione orientamento se questo parametro è presente.

Varie

Guida di Riferimento al GDL 446

Dati del muro poligonaleac_walltype intero

dice se la finestra è in un muro poligonale o meno. 1 - non poligonale, 2 - poligonale.

ac_wallContourPolygon[][3] lunghezza

Il poligono del muro in punti 2D più un valore di angolo extra per le sezioni ad arco. [impostato solo se ac_walltype uguale a 2]

ac_windowInWallContour[4] intero

Indici dei quattro vertici del poligono ac_wallContourPolygon quella parte del poligono del contorno del muro come punti d'angolo della finestra. [impostato solo seac_walltype uguale a 2]

Posizione foroac_hole_position_angle angolo

In caso di muri curvi fornisce l'angolo tra l'asse dell'apertura e il vettore normale nel punto di partenza del muro.

Dati ancoraggioac_vertAnchorPos intero

ancoraggio verticale di P/F: 1 - Soglia/Davanzale, 2 - Architrave

ac_revealAnchorPos intero

spalletta di P/F: 1 - Faccia, 2 - Nucleo

ac_revealToWallCore lunghezza

profondità della spalletta misurata dal lato spalletta del nucleo del muro.

Parametri per gli attributi del MURO (disponibili per Porta, Finestra, Etichetta, Lista)

Visualizzazione di piantaac_wall_overhead_pen penna

penna dei bordi a vista sopra del muro (parte superiore) [solo pianta]

ac_wall_overhead_linetype tipo linea

tipo linea dei bordi a vista sopra del muro (parte superiore) [solo pianta]

Varie

Guida di Riferimento al GDL 447

ac_wall_uncut_linetype tipo linea

tipo di linea dei bordi a vista sottostante del muro (non tagliati) [solo pianta]

ac_wall_display_option intero

opzione di visualizzazione di pianta del muro: 1 - Proiettato, 2 - Proiettato con parte superiore, 3 - Simbolico, 4 - Solo contorni, 5 - Tutto come parte superiore

ac_wall_show_projection_to intero

limitazione della profondità della vista verticale del muro: 1 - Su intervallo relativo del piano, 2 - Su limite assoluto di visualizzazione, 3 - Intero Elemento

Dati geometriciac_wall_elevation lunghezza

elevazione del fondo del muro, rispetto al piano ospite del muro

ac_wall_crosssection_type intero

tipo di sezione trasverale del muro: 1 - Semplice, 2 - Complesso, 3 - Inclinato, 4 - Trapezoidale

ac_wall_profile_name stringa

nome profilo se il muro è complesso con l'attributo profilo, "Custom_Profile_i" se complesso con profilo personalizzato (i è l'id del muro posizionato) o "n/a" se il muro è semplice,inclinato o trapezoidale

ac_wall_slant_angle1 angolo

primo angolo di inclinazione del muro rispetto all'orizzontale (90 gradi se il muro è verticale)

ac_wall_slant_angle2 angolo

secondo angolo di inclinazione del muro rispetto all'orizzontale (90 gradi se il muro è verticale)

ac_wall_direction_type intero

tipo di direzione del muro; il metodo di costruzione del muro, il che significa la regolazione del corpo del muro e della linea di riferimento: 0 - Destra, 1 - Sinistra, 2 - Centro (Destra),3 - Centro (Sinistra). I valori centrali indicano che il muro è impostato su "Centro" nell'interfaccia utente, ma la notazione laterale mostra come agisce internamente il muro.

Parametri per gli attributi del PILASTRO (disponibili per Etichetta, Lista)La disponibilità di ogni parametro (se contiene dati significativi) è mostrata in una tabella con icone, con il valore della variabile globaleGLOB_ELEM_TYPE tra parentesi.

Varie

Guida di Riferimento al GDL 448

Visualizzazione di Piantaac_colu_overhead_pen penna

penna dei bordi a vista sopra del pilastro (parte superiore) [solo pianta]

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

ac_colu_overhead_linetype tipo linea

tipo linea dei bordi a vista sopra del pilastro (parte superiore) [solo pianta]

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

ac_colu_uncut_linetype tipo linea

tipo dei bordi a vista sotto del pilastro (non tagliati) [solo pianta]

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

ac_colu_display_option intero

opzione di visualizzazione di pianta del pilastro: 1 - Proiettato, 2 - Proiettato con parte superiore, 3 - Simbolico, 4 - Solo contorni, 5 - Tutto come parte superiore

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

ac_colu_show_projection_to intero

limitazione della profondità della vista verticale del pilastro: 1 - Su intervallo relativo del piano, 2 - su limite assoluto di visualizzazione, 3 - Intero Elemento

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

Varie

Guida di Riferimento al GDL 449

Dati geometriciac_colu_profile_name stringa

nome del profilo se il pilastro è complesso con l'attributo del profilo, "Custom_Profile_i" se complesso con il profilo personalizzato (i è l'id del pilastro posizionato) o "n/a" se ilpilastro è rettangolare o rotondo

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

ac_colu_inclination angolo

angolo di inclinazione del pilastro rispetto alla linea orizzontale

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

ac_colu_twist_angle angolo

angolo di torsione della sezione trasversale

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

Parametri per gli attributi della TRAVE (disponibili per Etichetta, Lista)La disponibilità di ogni parametro (se contiene dati significativi) è mostrata in una tabella con icone, con il valore della variabile globaleGLOB_ELEM_TYPE tra parentesi.

Visualizzazione di Piantaac_beam_overhead_pen penna

penna dei bordi a vista sopra della trave (parte superiore) [solo pianta]

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

ac_beam_cut_linetype tipo linea

tipo di linea dei bordi tagliati della trave [non valido per profilo complesso]

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Varie

Guida di Riferimento al GDL 450

ac_beam_uncut_pen penna

penna dei bordi a vista sotto della trave (non tagliati) [solo pianta]

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

ac_beam_uncut_linetype tipo linea

tipo linea dei bordi a vista sotto della trave (non tagliati) [solo pianta]

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

ac_beam_display_option intero

opzioni visualizzazione di pianta per la trave: 1 - Proiettato, 2 - Proiettato con parte superiore, 3 - Simbolico, 4 - Solo contorni, 5 - Tutto come parte superiore

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

ac_beam_show_projection_to intero

limitazione della profondità della vista verticale della trave: 1 - Su intervallo relativo del piano, 2 - su limite assoluto di visualizzazione, 3 - Intero Elemento

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Dati geometriciac_beam_profile_name stringa

nome profilo se complesso con attributo profilo, "Custom_Profile_i" se complesso con profilo personalizzato (i è l'id della trave posizionata) o "n/a" se la trave è rettangolare

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

ac_beam_inclination angolo

angolo di inclinazione della trave rispetto alla linea orizzontale

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Varie

Guida di Riferimento al GDL 451

ac_beam_twist_angle angolo

angolo di torsione della sezione trasversale (0,0 per travi non complesse)

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

Parametri per gli attributi della FALDA (disponibili per Etichetta, Lista)

Visualizzazione di piantaac_roof_overhead_pen penna

penna dei bordi della vista sopra della falda (parte sopra) [solo pianta]

ac_roof_overhead_linetype tipo linea

tipo linea dei bordi della vista sopra della falda (parte sopra) [solo pianta]

ac_roof_display_option integer

opzioni di visualizzazione di pianta per la falda: 1 - Proiettato, 2 - Proiettato con parte superiore, 3 - Simbolico, 4 - Solo contorni, 5 - Tutto come parte superiore

ac_roof_show_projection_to intero

limitazione profondità della vista verticale della falda: 1 - Su intervallo del piano, 2 - Su limite assoluto di visualizzazione, 3 - Intero Elemento

Attributi Marker Porta/Finestraac_wido_id stringa

ID dell'apertura

ac_wido_a_size lunghezza

larghezza dell'apertura

ac_wido_b_size lunghezza

altezza dell'apertura

ac_wido_z_size lunghezza

spessore/profondità dell'apertura

Varie

Guida di Riferimento al GDL 452

ac_glob_elevation lunghezza

elevazione della base dell'apertura

ac_wido_subfl_thickness lunghezza

altezza della parte del sottopavimento del muro

ac_wido_reveal_side booleano

valore lato spalletta dell'apertura precedente, utilizza invece ac_wido_reveal_side_2

ac_wido_reveal_side_2 booleano

lato spalletta, il valore della variabile globale WIDO_REVEAL_SIDE impostato per l'apertura

ac_wido_mirrored booleano

stato di specchiatura dell'apertura

ac_wall_thickness lunghezza

spessore del muro all'origine dell'apertura

ac_wido_oversize_l lunghezza

ridimensionamento a sinistra dell'apertura

ac_wido_oversize_r lunghezza

ridimensionamento a destra dell'apertura

ac_wido_oversize_t lunghezza

ridimensionamento superiore dell'apertura

ac_wido_oversize_b lunghezza

ridimensionamento inferiore dell'apertura

ac_wido_orientation stringa

posizione del marker: "S" - Sinistra, "D" - Destra, o qualsiasi valore personalizzato impostato nella finestra Dettagli dell'editor degli elementi di libreria in base allo stato specularecorrente

ac_wido_type intero

1 - Porta, 2 - Finestra

Varie

Guida di Riferimento al GDL 453

ac_symb_rotangle angolo

angolo di rotazione nel muro

ac_sill_to_curr_story lunghezza

altezza soglia/davanzale dell'apertura misurata dall'inizio del piano legato alla soglia/davanzale della finestra

ac_sill_to_anchor_level lunghezza

altezza soglia/davanzale dell'apertura misurata dal livello del punto di ancoraggio; il punto di ancoraggio può essere il fondo del muro o il piano selezionato, di conseguenza

Attributi Marker Dettaglio/Foglio di Lavoroac_showboundary booleano

Stato del poligono di delimitazioen del Marker. 0 - delimitazione off, 1 - delimitazione on.

attributi Titolo Disegnoac_drawingName stringa

Nome del disegno.

ac_drawingNumber stringa

ID del disegno.

ac_sourceFileName stringa

Nome del file sorgente del disegno (se il disegno proviene da un file esterno).

ac_sourceFilePath stringa

Percorso del file di origine del disegno (se il disegno proviene da un file esterno).

ac_drawingScale stringa

Scala di disegno impostata per il disegno.

ac_magnification numero reale

Percentuale di ingrandimento impostata per il disegno.

ac_originalDrawingScale stringa

Scala del disegno della vista di origine.

Varie

Guida di Riferimento al GDL 454

ac_enableBackReference booleano

Il riferimento all'indietro è abilitato per il disegno.

ac_backReferenceGUIDList matrice stringa

Elenco dei GUID di layout a cui si fa riferimento. Possono essere utilizzati negli output di testo automatico.

ac_showDrawingReferences booleano

Mostra i riferimenti all'indietro.

Contesto generale di esecuzioneac_programVersion intero

Questo parametro contiene la versione di Archicad che esegue gli script dell'elemento di libreria.

Varie

Guida di Riferimento al GDL 455

Parametri della Stanza (disponibili per i Timbri Zona)

Nome Tipo Default Descrizione

ROOM_NAME Stringa "" Nome Zona

ROOM_NUMBER Stringa "" Numero Zona

ROOM_AREA Reale 0.0 Area del poligono lorda/netta

ROOM_PERIM Lunghezza0.0 Perimeter of gross/net polygon

ROOM_HOLES_PRM Lunghezza0.0 Perimetro dei fori del poligono netti

ROOM_WALLS_PRM Lunghezza0.0 Perimetro del poligono netto (con i fori) ma solo dove delimitato da un muro

ROOM_CORNERS Intero 0 Angoli di poligono netto (con fori)

ROOM_CONCAVES Intero 0 Angoli concavi del poligono netto (con fori)

ROOM_WALLS_SURF Reale 0.0 Superfici dei muri di confine (parti di confine)

ROOM_DOORS_WID Reale 0.0 Lunghezze delle porte al confine

ROOM_DOORS_SURF Reale 0.0 Superfici delle porte al confine

ROOM_WINDS_WID Lunghezza0.0 Lunghezze delle finestre al confine

ROOM_WINDS_SURF Reale 0.0 Superfici delle finestre al confine

ROOM_BASELEV Lunghezza0.0 Livello Zona

ROOM_FL_THICK Lunghezza0.0 Spessore sottopavimento Zona

ROOM_HEIGHT Lunghezza0.0 Altezza Zona

ROOM_NET_AREA Reale 0.0 Area del poligono netto (con fori)

ROOM_NET_PERIMETER Lunghezza0.0 Perimetro del poligono netto (con fori)

ROOM_WALL_EXTR_AREA Real 0.0 Riduzione dell'area per muri all'interno della zona (non del tipo confine dizona!)

Varie

Guida di Riferimento al GDL 456

Nome Tipo Default Descrizione

ROOM_COLUMN_EXTR_AREA Reale 0.0 Riduzione dell'area per pilastri all'interno della zona (non del tipo confine dizona!)

ROOM_FILL_EXTR_AREA Reale 0.0 Riduzione dell'area mediante retini all'interno della zona (considerando lapercentuale!)

ROOM_LOW_EXTR_AREA Reale 0.0 Riduzione dell'area con parti basse (rifilate) (tenendo conto delle preferenze!)

ROOM_TOTAL_EXTR_AREA Reale 0.0 Somma dei valori precedenti (estrazione totale)

ROOM_REDUCED_AREA Reale 0.0 ROOM_NET_AREA - ROOM_TOTAL_EXTR_AREA

ROOM_AREA_FACTOR Reale 0.0 1 - Ridotto_da_nel_dialogo / 100

ROOM_CALC_AREA Reale 0.0 ROOM_REDUCED_AREA * ROOM_AREA_FACTOR

ROOM_VOLUME Reale 0.0 Calcolato dalla stanza tagliata su un poligono netto

ROOM_BOUNDARY_SURF Reale 0.0 Superficie delle facce laterali di confine

ROOM_TOP_SURFACE Reale 0.0 Superficie della zona superiore

ROOM_BOT_SURFACE Reale 0.0 Superficie della zona inferiore

ROOM_ROOF_TOP_SURF Reale 0.0 La superficie della parte superiore della zona tagliata da una falda

ROOM_ROOF_BOT_SURF Reale 0.0 La superficie della parte inferiore della zona tagliata da una falda

ROOM_SLAB_TOP_SURF Reale 0.0 La superficie della parte superiore della zona tagliata da un solaio

ROOM_SLAB_BOT_SURF Reale 0.0 La superficie della parte inferiore della zona tagliata da un solaio

ROOM_BEAM_TOP_SURF Reale 0.0 La superficie della parte superiore della zona tagliata da una trave

ROOM_BEAM_BOT_SURF Reale 0.0 La superficie della parte inferiore della zona tagliata da una trave

ROOM_WALL_IN_TOP_SURF Reael 0.0 Somma delle superfici superiori degli inserti a muro (recesso o nicchia)

ROOM_WALL_IN_BACK_SURF Reale 0.0 Somma delle superfici posteriori degli inserti nel muro (di fronte alla finestra)

ROOM_WALL_IN_SIDE_SURF Reale 0.0 Somma delle superfici laterali degli inserti nel muro

ROOM_POLY_STATUS Intero 0 0:manuale, 1:Auto, 2:Auto-lineaRif

Varie

Guida di Riferimento al GDL 457

Parametri relativi alla scala

Sottotipi supportati lato rampa/pianerottoloac_beamPlacement intero

Questo parametro riflette su quale lato della scala è posizionato il cosciale. Compatibilità: introdotto in Archicad 21.• 0 - Sinistra (se visto nel verso di salita delle scale)• 1 - Destra

Sottotipo componente alzataac_RiserPosition intero

Questo parametro riflette le impostazioni correnti delle connessioni di alzata e pedata:• 0 - Alzata su Pedata OFF• 1 - Alzata su Pedata ON

Sottotipi componenti 2D scalaac_treadClassifications intero - matrice

Tipo di ogni pedata (indicizzato dal basso verso l'alto):• 0 - Pedata• 1 - Pianerottolo

Parametri impostati/letti da ArchicadArchicad può sincronizzare valori con elementi di libreria tramite parametri con nome e funzione predefiniti. Di seguito è riportato l'elencodi tali parametri.

Parametri relativi alla scala

Sottotipo di strutturaac_stairStructureWidth lunghezza

Larghezza del cosciale della struttura, come impostata nelle Impostazioni scala. Il valore è 0 per il tipo struttura con trave.

Varie

Guida di Riferimento al GDL 458

ac_stairStructureThickness lunghezza

Spessore/altezza della trave o struttura a sbalzo, come impostato nelle Impostazioni scala.

Parametri letti da ArchicadArchicad può ottenere valori dagli elementi di libreria attraverso parametri con nome e funzione predefiniti. Di seguito è riportato l'elencodi tali parametri.

Oggetti in Pianta

Taglio in pianta di elementi planari (es. oggetto lucernario, oggetti accessori della falda)ac_special_2d_symbol booleano

Questo parametro abilita un meccanismo di taglio 2D nella pianta di Archicad. Se il parametro è impostato a 1, Archicad taglia il modello 2D (generato dallo script 2D della libpart)in base ai valori del parametro in: ac_symb_display_option, ac_symb_show_projection_to e ac_plane_definition. Questo taglio basato su 2D funziona come la visualizzazione difalde semplici con le stesse impostazioni. Naturalmente, questo metodo fornisce un output corretto solo per elementi simili a elementi-planari - come lucernari, oggetti accessori dellafalda. Il piano dell'oggetto piatto - e il piano del taglio - è definito dal parametro ac_plane_definition. In caso di elementi lucernario e accessori della falda, se ac_special_2d_symbol è1 -, i parametri di cui sopra vengono impostati automaticamente dall'add-on. In caso di altri elementi, dovrebbero essere compilati dallo sviluppatore della libreria.

ac_plane_definition lunghezza

Definizione del piano: ([1],[2],[3]): un punto sul piano, ([4],[5],[6]): vettore normale del piano.

ac_symb_display_option intero

1 - Proiettato, 2 - Proiettato con parte superiore, 3 - Simbolico, 4 - Solo contorni, 5 - Tutto come parte superiore

ac_symb_show_projection_to intero

1 - Su intervallo del piano, 2 - Su limite assoluto di visualizzazione, 3 - Intero Elemento

ac_bottomlevel lunghezza

Questo parametro indica il punto più basso dell'oggetto. Quando Mostra sui Piani è impostato su Tutti i Piani relativi, se questo punto più basso (calcolato dalle impostazioni delpiano ospite dell'oggetto) è contenuto nell'estensione verticale di un piano, l'oggetto viene visualizzato nel piano. Il livello superiore deve essere al di sopra del livello inferiore.ac_bottomlevel parte dall'origine dell'oggetto dell'elemento.

Varie

Guida di Riferimento al GDL 459

ac_toplevel lunghezza

Quando Mostra sui Piani è impostato su Tutti i Piani relativi, questo parametro indica la parte superiore dell'oggetto. L'oggetto sarà visibile su un piano se l'altezza del piano ècompresa tra il livello inferiore e il livello superiore. Il livello superiore deve essere al di sopra del livello inferiore.ac_toplevel parte dall'origine dell'oggetto dell'elemento.

Oggetti Porta/Finestraac_wido_sill lunghezza

Questo parametro fornisce pieno accesso alla profondità del davanzale dell'oggetto apertura. Il parametro può ottenere una lista di valori, può essere bloccato e nascosto e il suo valorepuò essere impostato tramite lo script dei Parametri. Il suo valore corrente verrà assegnato alla variabile globale WIDO_SILL per compatibilità con gli script precedenti.

ac_wido_hide_options intero

Tramite questo parametro del campo di bit è possibile disabilitare le opzioni dalla finestra di dialogo delle impostazioni della finestra/porta. ac_wido_hide_options = j1+ 2*j2. Se è impostato j1, gli input per la profondità del davanzale/soglia nella finestra di dialogo delle impostazioni predefinite di Archicad sono nascosti. Se è impostato j2, leimpostazioni della spalletta nella finestra di dialogo delle impostazioni sono disabilitate.

ac_wido_flip_once booleano

Capovolge la finestra o la porta una volta dopo l'esecuzione dello script di migrazione se il parametro è presente e il suo valore è vero.

ac_wido_flip_disable intero

Questo parametro può disabilitare il pulsante "Gira" sull'interfaccia utente.Il valore predefinito influisce solo sul posizionamento dell'oggetto.-1: Gira è abilitato.0: Gira è disabilitato. L'impostazione predefinita è non capovolta.1: Gira è disabilitato. impostazione predefinita è capovolta.

ac_wido_mirror_once booleano

Specchia la finestra o la porta una volta dopo l'esecuzione dello script di migrazione se il parametro è presente e il suo valore è vero.

ac_hole_hotspot_control intero

Controlla se le aperture hanno hotspot automatici. 0 - Nessun hotspot automatico, 1 - Solo in 2D, 2 - Solo in 3D, 3 - Ovunque

ac_holeSideMaterial booleano

Controlla le superfici ereditate del wallhole. Nel caso in cui il wallhole sia definito dallo script GDL, questo parametro non ha effetto.1: Wallhole ha la stessa superficie del bordo del muro.0: La superficie del buco nel muro è divisa dalla linea di profondità del davanzale/soglia, utilizzando le superfici interne ed esterne del muro.

Varie

Guida di Riferimento al GDL 460

ac_holeMaterialCurved booleano

Controlla la geometria della linea di divisione delle superfici del muro interno-esterno del wallhole nei muri curvi. Nel caso in cui il wallhole sia definito dallo script GDL, questoparametro non ha effetto.1: Le superfici si connettono in una linea curva.0: Le superfici si connettono in linea retta.

Template Componente Personaleac_custom_component_type_name stringa

Questo parametro contiene il nome del Template del componente personalizzato visualizzato nel menu "Salva Componente come ...". Può differire dal nome dell'oggetto.

Parametri relativi alla scala

Sottotipo strutturaac_beamProfileID intero

Indice del profilo selezionato utilizzato per la trave della struttura. Archicad fornisce la dimensione del rettangolo di ingombro del profilo tramite le opzioni di richiesta (request).

Rampa/Pianerottolo nel sottotipo supportatoac_stairStructureHorizThick lunghezza

Spessore orizzontale della struttura a sbalzo, es. la parte dietro le alzate. Compatibilità: introdotto in Archicad 22.

ac_stairStructureBoundsRiser booleano

Questo può essere utilizzato per segnalare che le alzate devono essere più strette del confine della scala. Utilizzare insieme ai quattro parametri seguenti. Compatibilità: introdottoin Archicad 22.

ac_stairRiserLeftBoundaryFrom intero

Allunga il bordo sinistro delle alzate rispetto a: Compatibilità: introdotto in Archicad 22.• -1 - Confine sinistro della scala• 0 - Linea centrale della scala• 1 - Confine destro della scala• Questi non sono necessariamente paralleli tra loro.

Varie

Guida di Riferimento al GDL 461

ac_stairRiserLeftBoundary lunghezza

Distanza del bordo sinistro dell'alzata misurata dalla linea di ancoraggio impostata in ac_stairRiserLeftBoundaryFrom. La direzione positiva è a destra. Compatibilità: introdottoin Archicad 22.

ac_stairRiserRightBoundaryFrom intero

Allungamento del bordo verticale destro delle alzate rispetto a: Compatibilità: introdotto in Archicad 22.• -1 - Confine sinistro della scala• 0 - Linea centrale della scala• 1 - Confine destro della scala• Questi non sono necessariamente paralleli tra loro.

ac_stairRiserRightBoundary lunghezza

Distanza del bordo destro dell'alzata misurata dalla linea di ancoraggio impostata in ac_stairRiserRightBoundaryFrom. La direzione positiva è a destra. Compatibilità: introdottoin Archicad 22.

Sottotipi Rampa sotto supporto a sbalzo / Pianerottolo sotto sotto supporto a sbalzoac_stairWallFixingWidthLeft lunghezza

La profondità dello sbalzo nel muro (sul lato sinistro della scala). Utilizzato per disegnare il simbolo 2D dello sbalzo: qualsiasi disegno oltre questo verrà ritagliato. Compatibilità:introdotto in Archicad 21.

ac_stairWallFixingWidthRight lunghezza

La profondità dello sbalzo nel muro (sul lato destro della scala). Utilizzato per disegnare il simbolo 2D dello sbalzo: qualsiasi disegno oltre questo verrà ritagliato. Compatibilità:introdotto in Archicad 21.

Parametri relativi al parapetto

Sottotipo Componente Pannello del Parapettoac_panelThickness lunghezza

Spessore della sezione del pannello nel parapetto. Il valore del parametro deve essere mantenuto coerente con la dimensione del modello tramite lo script dei Parametri.

Varie

Guida di Riferimento al GDL 462

Sottotipo Componente Traversa del Parapettoac_railWidth lunghezza

Larghezza assoluta della sezione della traversa misurata su un piano perpendicolare all'asse della traversa. Il valore del parametro deve essere mantenuto coerente con la dimensionedel modello tramite lo script dei Parametri.

ac_railHeight lunghezza

Altezza assoluta della sezione della traversa misurata su un piano perpendicolare all'asse della traversa. Il valore del parametro deve essere mantenuto coerente con la dimensionedel modello tramite lo script dei Parametri.

ac_rail_boundingbox_left lunghezza

Distanza relativa del lato sinistro del rettangolo di ingombro della sezione della traversa misurata dall'asse della sezione della traversa (RAIL_POLYLINE_GEOMETRY), suun piano perpendicolare all'asse della traversa, guardando in direzione della traversa. Il valore del parametro deve essere mantenuto coerente con la dimensione del modello tramite loscript dei Parametri. Utilizzato per l'offset del rettangolo di ingombro della sezione dell'asse del componente.

ac_rail_boundingbox_right lunghezza

Distanza relativa del lato destro del rettangolo di ingombro della sezione della traversa misurata dall'asse della sezione della traversa (RAIL_POLYLINE_GEOMETRY), suun piano perpendicolare all'asse della traversa, guardando in direzione della traversa. Il valore del parametro deve essere mantenuto coerente con la dimensione del modello tramite loscript dei Parametri. Utilizzato per l'offset del rettangolo di ingombro della sezione dell'asse del componente.

ac_rail_boundingbox_top lunghezza

Distanza relativa del lato superiore del rettangolo di ingombro della sezione della traversa misurata dall'asse della sezione della traversa (RAIL_POLYLINE_GEOMETRY),su un piano perpendicolare all'asse della traversa, guardando in direzione della traversa. Il valore del parametro deve essere mantenuto coerente con la dimensione del modello tramitelo script dei Parametri. Utilizzato per l'offset del rettangolo di ingombro della sezione dell'asse del componente.

ac_rail_boundingbox_bottom lunghezza

Distanza relativa del lato inferiore del rettangolo di ingombro della sezione della traversa misurata dall'asse della sezione della traversa (RAIL_POLYLINE_GEOMETRY),su un piano perpendicolare all'asse della traversa, guardando in direzione della traversa. Il valore del parametro deve essere mantenuto coerente con la dimensione del modello tramitelo script dei Parametri. Utilizzato per l'offset del rettangolo di ingombro della sezione dell'asse del componente.

ac_railProfileID intero

Indice del profilo selezionato utilizzato per la traversa. Archicad fornisce la dimensione del rettangolo di ingombro del profilo tramite le opzioni di richiesta.

Varie

Guida di Riferimento al GDL 463

Sottotipo Componente Montante del Parapettoac_postWidth lunghezza

Larghezza assoluta della sezione del montante misurata su un piano perpendicolare all'asse del montante. Il valore del parametro deve essere mantenuto coerente con la dimensionedel modello tramite lo script dei Parametri.

ac_postHeight lunghezza

Altezza assoluta della sezione del montante misurata su un piano perpendicolare all'asse del montante. Il valore del parametro deve essere mantenuto coerente con la dimensionedel modello tramite lo script dei Parametri.

ac_post_boundingbox_left lunghezza

Distanza relativa del lato sinistro del rettangolo di ingombro della sezione del montante misurata dall'asse della sezione del montante, su un piano perpendicolare all'asse del montante,sinistra indica la direzione dell'inizio della linea di riferimento, guardando dall'interno. Il valore del parametro deve essere mantenuto coerente con la dimensione del modello tramitelo script dei Parametri. Utilizzato per l'offset del rettangolo di ingombro della sezione dell'asse del componente.

ac_post_boundingbox_right lunghezza

Distanza relativa del lato destro del rettangolo di ingombro della sezione del montante misurata dall'asse della sezione del montante, su un piano perpendicolare all'asse del montante,destro indica la direzione della fine della linea di riferimento, guardando dall'interno. Il valore del parametro deve essere mantenuto coerente con la dimensione del modello tramite loscript dei Parametri. Utilizzato per l'offset del rettangolo di ingombro della sezione dell'asse del componente.

ac_post_boundingbox_inside lunghezza

Distanza relativa del rettangolo di ingombro della sezione del montante misurata orizzontalmente dall'asse della sezione del montante, su un piano perpendicolare all'asse del montante,all'interno, ovvero il lato su cui è posizionato un corrimano sul lato destro. Il valore del parametro deve essere mantenuto coerente con la dimensione del modello tramite lo script deiParametri. Utilizzato per l'offset del rettangolo di ingombro della sezione dell'asse del componente.

ac_post_boundingbox_outside lunghezza

Distanza relativa del rettangolo di ingombro della sezione del montante misurata orizzontalmente dall'asse della sezione del montante, su un piano perpendicolare all'asse del montante,all'esterno, ovvero sul lato opposto su cui è posizionato un corrimano sul lato destro. Il valore del parametro deve essere mantenuto coerente con la dimensione del modello tramite loscript dei Parametri. Utilizzato per l'offset del rettangolo di ingombro della sezione dell'asse del componente.

ac_postProfileID intero

Indice del profilo selezionato utilizzato per il montante. Archicad fornisce la dimensione del rettangolo di ingombro del profilo tramite le opzioni di richiesta.

Varie

Guida di Riferimento al GDL 464

Sottotipo Componente Estremità Corrimanoac_railendWidth lunghezza

Larghezza assoluta della sezione della estremità traversa misurata su un piano perpendicolare all'asse della estremità traversa. Il valore del parametro deve essere mantenuto coerentecon la dimensione del modello tramite lo script dei Parametri.

ac_railendHeight lunghezza

Altezza assoluta della sezione della estremità traversa misurata su un piano perpendicolare all'asse della estremità traversa. Il valore del parametro deve essere mantenuto coerentecon la dimensione del modello tramite lo script dei Parametri.

ac_railend_boundingbox_left lunghezza

Distanza relativa del lato sinistro del rettangolo di ingombro della sezione della estremità traversa misurata dall'asse della sezione della estremità traversa, su un piano perpendicolareall'asse della estremità traversa, guardando nella direzione del binario. Il valore del parametro deve essere mantenuto coerente con la dimensione del modello tramite lo script deiParametri. Utilizzato per l'offset del rettangolo di ingombro della sezione dell'asse del componente.

ac_railend_boundingbox_right lunghezza

Distanza relativa del lato destro del rettangolo di ingombro della sezione del estremità traversa, misurata dall'asse della sezione della estremità traversa, su un piano perpendicolareall'asse della estremità traversa, guardando nella direzione del binario. Il valore del parametro deve essere mantenuto coerente con la dimensione del modello tramite lo script deiParametri. Utilizzato per l'offset del rettangolo di ingombro della sezione dell'asse del componente.

ac_railend_boundingbox_top lunghezza

Distanza relativa della parte superiore del rettangolo di ingombro della sezione della estremità traversa misurata dall'asse della sezione della estremità traversa, su un pianoperpendicolare all'asse della estremità traversa, guardando nella direzione della estremità traversa. Il valore del parametro deve essere mantenuto coerente con la dimensione del modellotramite lo script dei Parametri. Utilizzato per l'offset del rettangolo di ingombro della sezione dell'asse del componente.

ac_railend_boundingbox_bottom lunghezza

Distanza relativa del fondo del rettangolo di ingombro della sezione della estremità traversa misurata dall'asse della sezione della estremità traversa, su un piano perpendicolare all'assedella estremità traversa, guardando nella direzione della estremità traversa. Il valore del parametro deve essere mantenuto coerente con la dimensione del modello tramite lo script deiParametri. Utilizzato per l'offset del rettangolo di ingombro della sezione dell'asse del componente.

ac_railendProfileID intero

Indice del profilo selezionato utilizzato per la estremità traversa. Archicad fornisce la dimensione del rettangolo di ingombro del profilo tramite le opzioni di richiesta.

Parametri per il Curtain WallGli elementi di libreria possono collaborare con Archicad attraverso valori di parametri con nome e funzione predefiniti. Di seguito è riportatol'elenco di tali parametri relativi allo strumento Curtain Wall.

Varie

Guida di Riferimento al GDL 465

Parametri Curtain Wall impostati e letti da Archicad

Parametri Profilo Curtain Wallac_frameWidth lunghezza

La larghezza del profilo del curtain wall.Compatibilità: introdotto in Archicad 22.

ac_frameDepth lunghezza

La profondità del profilo del curtain wall.Compatibilità: introdotto in Archicad 22.

ac_frameBackDepth lunghezza

L'offset posteriore del profilo del curtain wall dalla linea centrale del pannello.Compatibilità: introdotto in Archicad 22.

ac_clampWidth lunghezza

La larghezza della fessura di inserimento del pannello del curtain wall.Compatibilità: prima di Archicad 22 questo parametro poteva essere impostato solo da Archicad.

ac_clampDepth lunghezza

La profondità della fessura di inserimento del pannello del curtain wall.Compatibilità: prima di Archicad 22 questo parametro poteva essere impostato solo da Archicad.

Parametri del Curtain Wall impostati da Archicad

Parametri Profilo del Curtain Wallac_nConnectingPanels lunghezza

Il numero di pannelli connessi al profilo. In caso di profili perimetrali questo valore è 1, altrimenti 2.

ac_clampVector[2][2] lunghezza, matrice

I vettori di direzione dei pannelli connessi al curtain wall. (ac_clampVector[1][1]; il vettore ac_clampVector[1][2]) contiene il vettore (X; Y) vector del pannello con l'angolo dirotazione minore misurato dall'asse locale Y (senso antiorario, considerando la direzione positiva dell'asse locale X). In caso di profilo perimetrale il vettore (ac_clampVector[2][1];ac_clampVector[2][2]) contiene la direzione (X; Y) del pannello connesso, gli altri valori del vettore sono 0.

Varie

Guida di Riferimento al GDL 466

Parametri del Pannello del Curtain Wallac_panelCoords[][2] lunghezza, matrice

Le coordinate X e Y del poligono del pannello del curtain wall misurate sullo spazio di inserimento dei profili di collegamento nel sistema di coordinate locale. Se tale poligono nonesiste, la prima dimensione di questo parametro è impostata a 1, contenente i valori 0, 0.Compatibilità: il ripiego della geometria del poligono non valido su un nodo è stata introdotta in Archicad 22.

ac_clampFreeRegion[][2] lunghezza, matrice

Le coordinate X e Y del poligono del pannello del Curtain Wall misurate sul lato dei profili di collegamento nel sistema di coordinate locale. Se tale poligono non esiste, la primadimensione di questo parametro è impostata a 1, contenente i valori 0, 0.Compatibilità: il ripiego della geometria del poligono non valido su un nodo è stata introdotta in Archicad 22.

ac_frameAxisCoords[][2] lunghezza, matrice

Compatibilità: introdotto in Archicad 22.Le coordinate X e Y del poligono del pannello del curtain wall misurate sull'asse dei rpofili di collegamento nel sistema di coordinate locale.

Parametri dei Giunti del Curtain Wallac_frameDirs[][3] lunghezza, matrice

Le coordinate finali degli assi del profilo del curtain wall di collegamento.

ac_panelOffsets[] lunghezza, matrice

Gli spessori dei morsetti dei pannelli del curtain wall di collegamento.Nota: spessore totale del pannello per pannelli incorporati.

ac_panelPresences[] booleano, matrice

Presenza dei pannelli del curtain wall di collegamento.

Parametri Accessorio Curtain Wallac_frameWidthLeft lunghezza

Larghezza del contorno del profilo di riferimento 1 (solitamente A/2)

ac_frameWidthRight lunghezza

Larghezza del contorno del profilo di riferimento 2 (solitamente A/2)

Varie

Guida di Riferimento al GDL 467

ac_frameWidthFront lunghezza

Lunghezza del contorno del profilo di riferimento 1 (solitamente B/2)

ac_frameWidthBack lunghezza

Lunghezza del contorno del profilo di riferimento 2 (solitamente B/2)

ac_accessoryFlipped booleano

Stato di capovolgimento dell'accessorio. 0 - non capovolto, 1 - capovolto

ac_globalZDir[1][3] lunghezza, matrice

Vettore dell'asse Z locale nel sistema di coordinate globale

ac_cellAngle1 angolo

Il profilo dell'accessorio può essere collegato a un massimo di 2 celle. Queste celle sono cell1 e cell2. Cell1 è la cella con l'angolo di rotazione minore misurato dall'asse locale Y (in sensoantiorario, considerando la direzione positiva dell'asse locale X). Il parametro ac_cellAngle1 è l'angolo tra cella1 e l'asse locale Y.

ac_cellAngle2 angolo

Il profilo dell'accessorio può essere collegato a un massimo di 2 celle. Queste celle sono cell1 e cell2. Cella2 è la cella con il maggiore angolo di rotazione misurato dall'asse locale Y(senso antiorario, considerando la direzione positiva dell'asse locale X). Il parametro ac_cellAngle2 è l'angolo tra cella2 e l'asse locale Y.

ac_validCellAngle1 booleano

Definisce se è presente la cella 1 o meno

ac_validCellAngle2 booleano

Definisce se è presente la cella 2 o meno

Parametri obsoleti del Profilo del Curtain WallQuesti parametri funzionano ancora nell'ambiente di Archicad per motivi di compatibilità, ma è consigliabile evitarli durante la creazione diun nuovo oggetto.

gs_rightOffset lunghezza

La distanza del lato interno del profilo del curtain wall dal confine. In caso di Perimetrale Esterna il suo valore è la larghezza del profilo, in caso di Perimetrale Interna il suo valore è 0.

gs_originOffsetX lunghezza

La distanza del lato esterno del profilo del curtain wall dal confine. In caso di Perimetrale Esterna il suo valore è 0, in caso di Perimetrale Interna il suo valore è la larghezza del profilo.

Varie

Guida di Riferimento al GDL 468

gs_frontOffset lunghezza

La distanza del lato frontale del profilo del curtain wall frame dalla linea centrale del pannello.

gs_originOffsetY lunghezza

La distanza del lato posteriore del profilo del curtain wall frame dalla linea centrale del pannello.

ac_topConnPlane[4] lunghezza, matrice

La posizione del piano di taglio superiore del profilo, definita nel sistema di coordinate locale dell'elemento di libreria.ac_topConnPlane[1]: Componente X del vettore normale del piano di taglio superioreac_topConnPlane[2]: Componente Y del vettore normale del piano di taglio superioreac_topConnPlane[3]: Componente Z del vettore normale del piano di taglio superioreac_topConnPlane[4]: distanza del piano di taglio superiore dall'origo del profilo

ac_bottomConnplane[4] lunghezza, matrice

La posizione del piano di taglio inferiore del profilo, definita nel sistema di coordinate locale dell'elemento di libreria.ac_bottomConnplane[1]: Componente X del vettore normale del piano di taglio inferioreac_bottomConnplane[2]: Componente Y del vettore normale del piano di taglio inferioreac_bottomConnplane[3]: Componente Z del vettore normale del piano di taglio inferioreac_bottomConnplane[4]: distanza del piano di taglio inferiore dall'origo del profilo

Parametri del Curtain Wall letti da Archicad

Parametri Pannell e Profilo del Curtain WallAC_AutoSchematicModel booleano

Controlla se la rappresentazione schematica del Pannello del Curtain Wall o del profilo impostato in Opzioni Vista Modello/Opzioni Curtain Wall è gestita da Archicad.Compatibilità: introdotto in Archicad 22.

Varie

Guida di Riferimento al GDL 469

Parametri Profilo Curtain Wallac_iCWFrameType Intero

Determina il tipo del profilo• 0 - Profilo Normale• 1 - Angolo Diagonale• 2 - Doppio Angolo Regolare• 3 - Angolo Scatolare Regolare• 4 - Profilo SagomatoIl valore di questo parametro influenza il Tipo di Profilo e la finestra di dialogo Geometria e, nel caso dei tipi di angoli regolari, la rappresentazione simbolica del profilo.Compatibilità: introdotto in Archicad 22.

ac_bButtGlazedFrame booleano

Determina il tipo di profilo• 0 - Profilo con protezione• 1 - Profilo a giornoIl valore di questo parametro influenza il Tipo di Profilo e la finestra di dialogo Geometria.Compatibilità: introdotto in Archicad 22.

ac_capProfileID profilo

Indice del profilo selezionato utilizzato per il profilo con protezione del curtain wall. Se questo parametro e il parametro ac_beamProfileID sono presenti nell'elemento di libreria delprofilo del curtain wall, il calcolo delle dimensioni del profilo e della protezione è gestito da Archicad.Nota: Questo parametro ha effetto su Archicad solo se il parametro ac_beamProfileID esiste - vedi sezione chiamata «Parametri relativi alla scala».Compatibilità: introdotto in Archicad 22.

ac_frameOffsetSide lunghezza

La distanza del lato del profilo dall'origine del profilo misurata sulla linea centrale del pannello. La profondità del morsetto viene misurata da questa distanza sulla linea centraledel pannello.Compatibilità: introdotto in Archicad 22.

ac_CWFrameBuildMat materiale da costruzione

L'indice del materiale da costruzione del profilo. La rappresentazione simbolica del profilo viene disegnata con gli attributi di retino di questo materiale da costruzione.Compatibilità: introdotto in Archicad 22.

Varie

Guida di Riferimento al GDL 470

ac_CWFrameCutLinePen penna

L'indice della linea di sezione del profilo. La linea di contorno della rappresentazione simbolica del profilo viene disegnata con l'indice della penna impostato.Compatibilità: introdotto in Archicad 22.

ac_CWFrameCutLineType tipo linea

L'indice del tipo di linea di seione del profilo. La linea di contorno della rappresentazione simbolica del profilo viene disegnata con l'indice del tipo di linea impostato.Compatibilità: introdotto in Archicad 22.

Parametri pannello del curtain wallac_panel_type intero

Determina il tipo di pannello per la lista. 0 - Fisso, 1 - Porta, 2 - Finestra

ac_openingDir intero

Determina la direzione di apertura di porte e finestre per la lista. 0 - Fisso, 1 - Interno, 2 - Esterno

ac_width lunghezza

Larghezza del pannello per la lista.

ac_nominalWidth lunghezza

Larghezza nominale del pannello per la lista.

ac_height lunghezza

Altezza del pannello per la lista.

ac_nominalHeight lunghezza

Altezza nominale del pannello per la lista.

ac_thickness lunghezza

Spessore del pannello per la lista.

ac_originIsFrameCenter booleano

Se il parametro è presente e il suo valore è vero, l'origine del pannello è nel punto centrale del profilo iniziale (sinistro). Altrimenti, l'origine è nel punto iniziale del morsetto sinistro.

Varie

Guida di Riferimento al GDL 471

ac_aSizeIsWithClamp booleano

Se il parametro è presente e il suo valore è vero, Archicad imposta la dimensione A come la distanza tra i profili più la dimensione dei morsetti. Altrimenti, la dimensione Aviene misurata tra i profili.

Parametri per gli add-onsGli add-on possono ottenere valori dagli elementi di libreria tramite parametri con nome e funzione predefiniti. Di seguito è riportato l'elencodi tali parametri relativi agli add-on del pacchetto Archicad.

Parametri dell'add-on Lucernario

Manipolazione del taglio del bordo del foroac_edge_lower_type intero

Tipo di taglio del bordo inferiore: 0 - Verticale, 1 - Perpendicolare, 2 - Orizzontale, 3 - Personale

ac_edge_lower_angle angolo

angolo di taglio del bordo inferiore, se ac_edge_lower_type è 3. L'intervallo di valori è [1-179] gradi, 90 è il caso perpendicolare.

ac_edge_upper_type intero

Tipo di taglio del bordo superiore: 0 - Verticale, 1 - Perpendicolare, 2 - Orizzontale, 3 - Personale

ac_edge_upper_angle angolo

angolo di taglio del bordo superiore, se ac_edge_upper_type è 3. intervallo di valori è [1-179] gradi, 90 è il caso perpendicolare.

Parametri dell'add-on Finestra d'Angolo

Parametri di base degli oggetti Finestra ad angoloac_cw_function booleano

Modalità posizione finestra, controllata dall'add-on. 0 - Finestra, 1 - Finestra d'Angolo

ac_corner_window booleano

Selettore modalità finestra d'angolo, controllato dall'oggetto. 0 - Disabilita la modalità finestra ad angolo, 1 - Abilita la modalità finestra ad angolo

Varie

Guida di Riferimento al GDL 472

ac_corner_angle angolo

angolo tra i muri collegati.

ac_diff_con_wall_thk booleano

Sempre vero (1). È una caratteristica storica che mostra se il muro collegato ha uno spessore diverso dal muro di contenimento.

ac_con_wall_thk lunghezza

Spessore del muro collegato.

ac_cw_debug booleano

Solo per uso interno. L'aspetto per cui i programmatori GDL non hanno alcun interesse.

Parametri dei dati degli strati delle Finestre d'Angolo (disponibili da Archicad12)ac_con_wall_skins_number intero

Numero di strati nel muro connesso. In caso di muri solidi è zero.

ac_con_wall_skins_params lunghezza

Parametri degli strati dei muri compositi collegati. Uguale al parametro globale WALL_SKINS_PARAMS GDL del muro proprietario.

ac_con_wall_direction_type intero

Stato di capovolgimento del muro connesso; lo stato di capovolgimento del muro, ovvero la regolazione del corpo del muro e della linea di riferimento: 0 - non capovolto, 1 - capovolto.(vecchio significato: 0 - Destra, 1 - Sinistra, 2 - Centro (Destra), 3 - Centro (Sinistra).)

Parametri dell'add-on IFC

Parametri di base comuni degli oggetti Porta e Finestraifc_LiningDepth lunghezza

Spessore del telaio della porta/finestra.

ifc_LiningThickness lunghezza

Larghezza del telaio della porta/finestra.

ifc_TransomThickness lunghezza

Larghezza del sopraluce.

Varie

Guida di Riferimento al GDL 473

IFC2x_ConstEnum intero/stringa

Questo parametro definisce i tipi base di costruzione di porte/finestre.

IfcDoorStyleConstructionEnum categoriaifc_ConstEnum (intero)valore parametro

IFC2x_ConstEnum (stringa)valore parametro IfcWindowStyleConstructionEnum categoria

0 Non Definito NOTDEFINED

1 Alluminio ALUMINIUM

2 Acciaio di alta qualità HIGH_GRADE_STEEL

3 Acciaio STEEL

4 Legno WOOD

5 Alluminio Legno ALUMINIUM_WOOD

6 Alluminio Plastica ALUMINIUM_PLASTIC

7 Plastica PLASTIC

8 Definito dall'utente USERDEFINED

Varie

Guida di Riferimento al GDL 474

Parametri di base degli oggetti Portaifc_optype - Doors intero/stringa

Tipo di apertura porta, controllato dalla macro IFC_optype_door.gsm.

ifc_optype (integer)valore parametro

ifc_optypestr (string) valoreparametro

IfcDoorStyleOperationEnum categoria

0 Not Defined NOTDEFINED

SINGLE_SWING_LEFT1 Single Door Single Swing

SINGLE_SWING_RIGHT

2 Double Door Single Swing DOUBLE_DOOR_SINGLE_SWING

DOUBLE_SWING_LEFT3 Single Door Double Swing

DOUBLE_SWING_RIGHT

4 Double Door Double Swing DOUBLE_DOOR_DOUBLE_SWING

DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT5 Double Door Single Swing Opposite

DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT

SLIDING_TO_LEFT6 Single Door Sliding

SLIDING_TO_RIGHT

7 Double Door Sliding DOUBLE_DOOR_SLIDING

FOLDING_TO_LEFT8 Single Door Folding

FOLDING_TO_RIGHT

9 Double Door Folding DOUBLE_DOOR_FOLDING

10 Revolving REVOLVING

11 Rolling Up ROLLINGUP

12 Other USERDEFINED

13 Swing Fixed SWING_FIXED Compatibilità: introdotto in Archicad 23.

ifc_LiningOffset lunghezza

Offset del telaio della porta.

Varie

Guida di Riferimento al GDL 475

ifc_CasingDepth lunghezza

Spessore dell'intelaiatura della porta.

ifc_CasingThickness lunghezza

Larghezza dell'intelaiatura della porta.

ifc_ThresholdDepth lunghezza

Profondità della soglia della porta.

ifc_ThresholdThickness lunghezza

Spessore della soglia della porta.

ifc_ThresholdOffset lunghezza

Offset della soglia della porta.

ifc_TransomOffset lunghezza

Offset del sopraluce.

Varie

Guida di Riferimento al GDL 476

ifc_DoorPanel lunghezza-matrice

ifc_DoorPanel[x][1] - spessore del battente della porta.ifc_DoorPanel[x][2] - larghezza del battente della porta.

ifc_DoorPanel[x][3] valore parametro IfcDoorPanelOperationEnum categoria

0 NOTDEFINED

1 SWINGING

2 DOUBLE_ACTING

3 SLIDING

4 FOLDING

5 REVOLVING

6 ROLLINGUP

7 USERDEFINED

ifc_DoorPanel[x][4] valore parametro IfcDoorPanelPositionEnum categoria

0 NOTDEFINED

1 LEFT

2 MIDDLE

3 RIGHT

Varie

Guida di Riferimento al GDL 477

Parametri di base degli oggetti Finestraifc_optype - Windows intero/stringa

Tipo di apertura finestra, controllato dalla macro IFC_optype_window.gsm.

ifc_optype (integer)valore parametro

ifc_optypestr (string)valore parametro

IfcWindowStyleOperationEnum categoria

0 Not Defined NOTDEFINED

1 Single SINGLE_PANEL

2 Double Vertical DOUBLE_PANEL_VERTICAL

3 Double Horizontal DOUBLE_PANEL_HORIZONTAL

4 Triple Vertical TRIPLE_PANEL_VERTICAL

5 Triple Horizontal TRIPLE_PANEL_HORIZONTAL

6 Triple Bottom TRIPLE_PANEL_BOTTOM

7 Triple Top TRIPLE_PANEL_TOP

TRIPLE_PANEL_LEFT8 Triple Left

TRIPLE_PANEL_RIGHT

TRIPLE_PANEL_RIGHT9 Triple Right

TRIPLE_PANEL_RIGHT

10 Other USERDEFINED

ifc_MullionThickness ifc_MullionThickness - lunghezza

larghezza del montante.

ifc_FirstMullionOffset ifc_FirstMullionOffset - lunghezza

Offset della mezzeria del montante.

ifc_SecondMullionOffset ifc_SecondMullionOffset - lunghezza

Offset della mezzeria del montante del secondo montante .

ifc_FirstTransomOffset ifc_FirstTransomOffset - lunghezza

Offset della mezzeria della traversa.

Varie

Guida di Riferimento al GDL 478

ifc_SecondTransomOffset ifc_SecondTransomOffset - lunghezza

Offset della mezzeria della traversa per il secondo montante.

Varie

Guida di Riferimento al GDL 479

ifc_WindowPanel lunghezza-matrice

ifc_WindowPanel[x][1] - spessore del battente della finestra.ifc_WindowPanel[x][2] - larghezza del battente della finestra.

ifc_WindowPanel[x][3] valore parametro IfcWindowPanelOperationEnum categoria

0 NOTDEFINED

1 SIDEHUNGRIGHTHAND

2 SIDEHUNGLEFTHAND

3 TILTANDTURNRIGHTHAND

4 TILTANDTURNLEFTHAND

5 TOPHUNG

6 BOTTOMHUNG

7 PIVOTHORIZONTAL

8 PIVOTVERTICAL

9 SLIDINGHORIZONTAL

10 SLIDINGVERTICAL

11 REMOVABLECASEMENT

12 FIXEDCASEMENT

13 OTHEROPERATION

ifc_WindowPanel[x][4] valore parametro IfcWindowPanelPositionEnum categoria

0 NOTDEFINED

1 LEFT

2 MIDDLE

3 RIGHT

4 BOTTOM

5 TOP

Varie

Guida di Riferimento al GDL 480

Parametri di base degli Elementi di Trasportoifc_optype - Transport Elements intero

Scelta del tipo per elemento di trasporto. Compatibilità: deprecato da Archicad 23.

ifc_optype (integer) valore parametro IfcTransportElementTypeEnum categoria

0 NOTDEFINED

1 ELEVATOR

2 ESCALATOR

3 MOVINGWALKWAY

4 USERDEFINED

Parametri di base degli oggetti Ascensoreifc_CapacityByWeight numeroreale

Capacità dell'elemento di trasporto misurata in peso. Compatibilità: deprecato da Archicad 23.

ifc_CapacityByNumber intero

Capacità dell'elemento di trasporto misurata in numero di persone. Compatibilità: deprecato da Archicad 23.

Varie

Guida di Riferimento al GDL 481

Parametri di base degli oggetti Scalaifc_StairType intero

La configurazione di base del tipo di scala in termini di numero di rampe di scale e numero di pianerottoli, controllata dall'add-on StairMaker per le scale integrate.

0 Not Defined

1 StraightRunStair

2 TwoStraightRunStair

3 QuarterWindingStair

4 QuarterTurnStair

5 HalfWindingStair

6 HalfTurnStair

7 TwoQuarterWindingStair

8 TwoQuarterTurnStair

9 ThreeQuarterWindingStair

10 ThreeQuarterTurnStair

11 SpiralStair

12 DoubleReturnStair

13 CurvedRunStair

14 TwoCurvedRunStair

15 OtherOperation

ifc_NumberOfRiser intero

Numero totale di alzate nella scala.

ifc_NumberOfTreads intero

Numero totale di pedate nella scala.

ifc_RiserHeight lunghezza

Distanza verticale da pedata a pedata. L'altezza dell'alzata dovrebbe essere uguale per tutti i gradini di una scala o di una rampa di scale.

Varie

Guida di Riferimento al GDL 482

ifc_TreadLength lunghezza

Distanza orizzontale dalla parte anteriore della pedata alla parte anteriore della pedata successiva. La lunghezza della pedata dovrebbe essere uguale per tutti i gradini della scalao della rampa di scale sulla linea di passo.

Varie

Guida di Riferimento al GDL 483

Parametri di base degli elementi MEPifc_subtype intero

1 IfcAirTerminalBoxType 21 IfcHeatExchangerType 41 IfcElectricFlowStorageDeviceType 61 IfcUnitaryControlElementType

2 IfcAirTerminalType 22 IfcHumidifierType 42 IfcElectricGeneratorType 62 IfcBurnerType

3 IfcAirToAirHeatRecoveryType 23 IfcPipeFittingType 43 IfcSpaceHeaterType 63 IfcEngineType

4 IfcBoilerType 24 IfcPipeSegmentType 44 IfcElectricMotorType 64 IfcSolarDeviceType

5 IfcChillerType 25 IfcPumpType 45 IfcElectricTimeControlType 65 IfcElectricDistributionBoardType

6 IfcCoilType 26 IfcSpaceHeaterType 46 this value is skipped 66 IfcCableFittingType

7 IfcCompressorType 27 IfcTankType 47 IfcJunctionBoxType 67 IfcAudioVisualApplianceType

8 IfcCondenserType 28 IfcTubeBundleType 48 IfcLampType 68 IfcCommunicationsApplianceType

9 IfcCooledBeamType 29 IfcUnitaryEquipmentType 49 IfcLightFixtureType 69 IfcMedicalDeviceType

10 IfcCoolingTowerType 30 IfcValveType 50 IfcMotorConnectionType 70 IfcInterceptorType

11 IfcDamperType 31 IfcVibrationIsolatorType 51 IfcOutletType

12 IfcDuctFittingType 32 IfcFireSuppressionTerminalType 52 IfcProtectiveDeviceType

13 IfcDuctSegmentType 33 IfcSanitaryTerminalType 53 IfcSwitchingDeviceType

14 IfcDuctSilencerType 34 IfcStackTerminalType 54 IfcTransformerType

15 IfcEvaporativeCoolerType 35 IfcWasteTerminalType 55 IfcActuatorType

16 IfcEvaporatorType 36 IfcCableCarrierFittingType 56 IfcAlarmType

17 IfcFanType 37 IfcCableCarrierSegmentType 57 IfcControllerType

18 IfcFilterType 38 IfcCableSegmentType 58 IfcFlowInstrumentType

19 IfcFlowMeterType 39 IfcElectricApplianceType 59 IfcSensorType

20 IfcSpaceHeaterType 40 questo valore viene ignorato 60 IfcProtectiveDeviceTrippingUnitType

Compatibilità: modifiche in Archicad 23• nuovi tipi da 60 a 70• 20 IfcGasTerminalType rinominato in IfcSpaceHeaterType• 43 IfcElectricHeaterType rinominato in IfcSpaceHeaterType

Varie

Guida di Riferimento al GDL 484

Parametri per la gestione del testoPrima di Archicad 22, i controlli dello stile di testo selezionati erano disponibili per gli strumenti di annotazione (quindi elementi di libreria)distribuiti su vari pannelli di dialogo delle impostazioni. A partire da Archicad 22, un insieme standard di controlli per la gestione del testo èdiventato parte di ogni finestra di dialogo di annotazione sotto forma di un pannello "Stile di testo" dedicato.Gli elementi di libreria appartenenti a tali strumenti hanno accesso a queste funzioni utilizzando i seguenti parametri opzionali a nome fisso.A partire da Archicad 22, il blocco/occultamento dei corrispondenti controlli dell'interfaccia di Archicad (se presenti) è un'opzione utilizzando icomandi LOCK e HIDEPARAMETER tramite lo script dei parametri dell'elemento di libreria, combinato con l'impostazione "Abilita il nascondi/blocca correzioni di parametri opzionali specifici a nome fisso" (Vedi la finestra di dialogo "Dettagli/Opzioni di compatibilità" dell'oggettonell'Editor degli elementi di libreria).Per lo strumento/la cronologia delle versioni, fare riferimento alle note di compatibilità di ciascun parametro.Per impostazione predefinita, i seguenti parametri sono considerati disponibili e compatibili prima di Archicad 22, mentre le eccezioni sonomenzionate separatamente.

AC_TextFont_1 stringa

Nome del tipo di carattere attualmente selezionato/memorizzato.Compatibilità: introdotto in Archicad 22 per gli oggetti Etichetta. La variabile globale simile "LABEL_FONT_NAME" è considerata obsoleta da allora .

AC_TextSize_1 reale

Valore della dimensione del carattere attualmente impostato/memorizzato in mm.Compatibilità: introdotto in Archicad 22 per oggetto Etichetta e Zone. La variabile globale simile "LABEL_TEXT_SIZE" è considerata obsoleta nelle Etichette. Negli oggettiZone, anche la correzione "ROOM_LSIZE" denominata parametro facoltativo è considerata obsoleta da allora.

AC_TextStyle_1 intero

Maschera del valore dello stile del carattere. Può essere utilizzato come parametro di input diretto per DEFINE STYLE{2} o UI_TEXTSTYLE_INFIELD.values:

values = j1 + 2*j2 + 4*j3 + 128*j8, dove ogni j può essere 0 o 1.j1: grassetto,j2: corsivo,j3: sottolineato,j8: barrato.Se AC_TextStyle_1 = 0, allora lo stile è normale.

Compatibilità: introdotto in Archicad 22 per oggetti Etichetta e Zone. La variabile globale simile "LABEL_FONT_STYLE2" è considerata obsoleta nelle Etichette.

Varie

Guida di Riferimento al GDL 485

AC_TextPen_1 intero

Indice della penna per il testo attualmente selezionatamemorizzata.Compatibilità: introdotto in Archicad 22 per oggetti Etichetta e Zone. La variabile globale simile "LABEL_TEXT_PEN" è considerata obsoleta nelle Etichette.

La seguente serie di parametri di gestione del testo è disponibile per tutti gli elementi di libreria di tipo annotazione. Nelle Etichette, le variabiliglobali corrispondenti sono considerate obsolete. Vedi sezione chiamata «Variabili globali Etichetta obsolete» per l'elenco completo delle globaliobsolete delle etichette.AC_TextAlignment_1 intero

Allineamento del testo.1 - allineato a sinistra, 2 - allineato al centro, 3 - allineato a destra, 4 - giustificatoCompatibilità: introdotto in Archicad 22. Per le Etichette, la variabile globale simile "LABEL_TEXT_ALIGN" è considerata obsoleta a partire da Archicad 22.

AC_TextLeading_1 reale

Fattore di interlinea del testo.Compatibilità: introdotto in Archicad 22. Per le Etichette, la variabile globale simile "LABEL_TEXT_LEADING" è considerata obsoleta a partire da Archicad 22.

AC_TextCharWidthFactor_1 reale

Fattore di larghezza del carattere del testo.Compatibilità: introdotto in Archicad 22. Per le Etichette, la variabile globale simile "LABEL_TEXT_WIDTH_FACT" è considerata obsoleta a partire da Archicad 22.

AC_TextCharSpaceFactor_1 reale

Fattore di spaziatura dei caratteri del testo.Compatibilità: introdotto in Archicad 22. Per le Etichette, la variabile globale simile "LABEL_TEXT_CHARSPACE_FACT" è considerata obsoleta a partire da Archicad 22.

Parametri per le etichette

Parametri impostati o letti da ArchicadLa seguente serie di parametri di etichetta è stata introdotta in Archicad 22, quindi le variabili globali parallele sono considerate deprecate. Vedisezione chiamata «Variabili globali Etichetta obsolete» per l'elenco completo delle etichette globali obsolete.A partire da Archicad 22, il blocco / occultamento dei corrispondenti controlli dell'interfaccia di Archicad (se presenti) è un'opzione utilizzando icomandi LOCK e HIDEPARAMETER tramite lo script dei parametri dell'elemento di libreria, combinato con l'impostazione "Abilita il nascondi/blocca correzioni di parametri opzionali specifici a nome fisso" (Vedi la finestra di dialogo "Dettagli/Opzioni di compatibilità" dell'oggettonell'Editor degli elementi di libreria).

Varie

Guida di Riferimento al GDL 486

AC_bLabelAlwaysReadable Booleano

1 - "Sempre leggibile" è attivo sul pannello "Impostazioni Etichetta/Stile Testo", altrimenti 0Compatibilità: introdotto in Archicad 22. La variabile globale simile "LABEL_ALWAYS_READABLE" è considerata deprecata a partire da Archicad 22.

AC_bLabelTextWrap Booleano

1 - "Testo a capo" è attivo sul pannello "Impostazioni Etichetta/Stile Testo", altrimenti 0Compatibilità: introdotto in Archicad 22. La variabile globale simile "LABEL_TEXT_WRAP" è considerata deprecata a partire da Archicad 22.

AC_bLabelOpaqueFill Booleano

1 - "Opaco" è attivo sul pannello "Impostazioni Etichetta/Stile Testo", altrimenti 0Compatibilità: introdotto in Archicad 22. La variabile globale simile "LABEL_TEXT_BG_PEN" è considerata deprecata a partire da Archicad 22.

AC_LabelTextBgrPen intero

Contiene l'indice della penna del retino del testo selezionato.Compatibilità: introdotto in Archicad 22. La variabile globale simile "LABEL_TEXT_BG_PEN" è considerata deprecata a partire da Archicad 22.

AC_bLabelFrame Booleano

1 - "Riquadro" è abilitato, 0 - "Riquadro" è disabilitato.Compatibilità: introdotto in Archicad 22. La variabile globale simile "LABEL_FRAME_ON" è considerata deprecata a partire da Archicad 22.

AC_LabelFrameOffset lunghezza

Valore di offset del riquadro in accordo con il pannello "Impostazioni Etichetta/Stile Testo".Compatibilità: introdotto in Archicad 22. La variabile globale simile "LABEL_FRAME_OFFSET" è considerata deprecata a partire da Archicad 22.

AC_LabelPointerPen penna

Contiene l'indice della penna della linea puntatore selezionata.Compatibilità: introdotto in Archicad 22. La variabile globale simile "LABEL_ARROW_PEN" è considerata deprecata a partire da Archicad 22.

AC_LabelPointerLineType tipo linea

Contiene l'indice del tipo linea della linea puntatore selezionata.Compatibilità: introdotto in Archicad 22. La variabile globale simile "LABEL_ARROW_LINETYPE" è considerata deprecata a partire da Archicad 22.

Varie

Guida di Riferimento al GDL 487

AC_LabelPointerConnection intero

Posizione di connessione del puntatore.0 - in mezzo, 1 - in alto, 2 - in basso, 3 - in basso a destraCompatibilità: introdotto in Archicad 22. La variabile globale simile "LABEL_ANCHOR_POS" è considerata deprecata a partire da Archicad 22.

AC_LabelOrientation intero

Valore del tipo di orientamento dell'etichetta dalle impostazioni "Orientamento etichetta" nel pannello "Etichetta Simbolo". Il valore "LABEL_ROTANGLE" può cambiarein base alle impostazioni di orientamento.1 - parallelo, 2 - perpendicolare, 3 - verticale, 4 - orizzontale, 5 - angolo personaleCompatibilità: introdotto in Archicad 22.La funzione LOCK/HIDEPARAMETER estesa non è disponibile per questo parametro. Il mascheramento dei valori di controllo dell'interfaccia corrispondenti viene impostatoda "AC_DisableLabelOrientationVal". Il parametro definisce il valore predefinito dell'elemento di libreria.

Parametri letti da ArchicadAC_DisableLabelOrientationVal intero

Maschera tipo valore orientamento Etichetta ("AC_LabelOrientation).bitset: Disabilitare le seguenti opzioni nel pannello di dialogo "Etichetta simbolo" per "Orientamento etichetta":

bitset = j1 + 2*j2 + 4*j3 + 8*j4, dove ogni j può essere 0 o 1.j1: "Parallelo",j2: "Perpendicolare",j3: "Verticale",j4: "Orizzontale".Il tipo "Personale" non può essere disabilitato.

Compatibilità: introdotto in Archicad 22.

ac_bDisableLabelFrameDisplay booleano

Compatibilità: introdotto in Archicad 20.Nasconde il disegno della cornice rettangolare incorporata attorno al simbolo dell'etichetta nel caso in cui il puntatore integrato e la cornice sia impostata, consentendo all'utente diprogrammare una cornice di forma personalizzata.

Varie

Guida di Riferimento al GDL 488

ac_bCustomPointerConnection booleano

Compatibilità: introdotto in Archicad 20.Controlla i collegamenti automatici del puntatore del simbolo dell'etichetta nel caso in cui sia impostato il puntatore integrato. Se questo parametro è impostato su ON, è possibiledefinire 6 hotspot nello script 2D per la connessione del puntatore personalizzato in base ai tipi incorporati. Questi hotspot dovrebbero avere gli ID corretti da 1 a 6. Gli ID indicanole seguenti posizioni di connessione:Se il puntatore si trova sul lato sinistro dell'etichetta simbolo:• 1: collegamento in alto a sinistra• 3: collegamento centrale sinistro• 5: collegamento in basso a sinistra• 6: collegamento in basso a destraSe il puntatore si trova sul lato destro dell'etichetta simbolo:• 2: collegamento in alto a destra• 4: collegamento centrale destro• 6: collegamento in basso a destra• 5: collegamento in basso a sinistra

Parametri deprecati

Parametri di Trave/Pilastro obsoleti: disponibili solo per elenchi ed etichetteDa Archicad 23 questi valori sono disponibili nelle variabili globali BEAM_SEGMENT_INFO e COLU_SEGMENT_INFO con riferimentia valori uniformati. Vedi anchesezione chiamata «Variabili globali Trave/Pilastro obsolete: disponibili solo per elenchi ed etichette». Percompatibilità, sono ancora disponibili su Travi omogenee, dritte o curve orizzontalmente e su Pilastri omogenei (GLOB_ELEM_TYPE =12 o 6).

ac_colu_crosssection_type tipo di sezione trasversale del pilastro (intero)

Segmento Pilastro (27) Pilastro a Singolo-segmento (6) Pilastro a Multi-segmento (6)

1 - rettangolare, 2 - rotondo, 3 - profilo complesso

ac_beam_crosssection_type tipo di sezione trasversale della trave (intero)

Segmento di Trave (28) Trave a Singolo-segmento (12) Trave a Multi-segmento (12)

1 - rettangolare, 2 - profilo complesso

Varie

Guida di Riferimento al GDL 489

Parametri di timbro di zona obsoletiROOM_LSIZE reale

Dimensione carattere del testo in mm.Compatibilità: deprecato da Archicad 22. Usate piuttosto AC_TextSize_1.

ac_disable_controls intero

Questo parametro può controllare la visibilità dell'area di immissione Dimensione carattere ("ROOM_LSIZE") della finestra di dialogo delle impostazioni del Timbro Zona: 0 ol'oggetto non ha il parametro - mostra la dimensione del carattere, 1 - nasconde la dimensione del carattere (consentendo quindi spazio extra per l'elenco dei parametri)Compatibilità: inattivo da Archicad 22. Il controllo di input "Dimensione carattere" è stato spostato nel pannello "Stile testo", la sua visibilità è controllata dai comandi LOCK/HIDEPARAMETER.

Parametri obsoleti dell'add-on IFCifc_predefinedtype intero

I traduttori IFC che utilizzano il tipo di elemento per l'esportazione con mappatura del tipo leggono IFCTypeObjectType da questo parametro per alcuni elementi MEP. Gli elementiinteressati sono definiti nell'add-on MEP. La mappatura del tipo per l'esportazione basata sulla classificazione non è influenzata da questo parametro.

OPZIONI REQUESTn = REQUEST (question_name, name_or_index, variable1 [, variable2, ...])n = REQUEST{2} (question_name, name_or_index, name, variable1 [, variable2, ...])n = REQUEST{3} (question_name, name, name_or_index_array, variable1 [, variable2, ...])n = REQUEST{4} (question_name, name_or_index, index, name, variable1 [, variable2, ...])Il primo parametro rappresenta la stringa della domanda mentre il secondo (o più) rappresenta l'oggetto della domanda (se esiste). Gli altriparametri sono nomi di variabili in cui vengono memorizzati i valori di ritorno (le risposte). Il valore di ritorno della funzione è il numero dirisposte (nel caso di una domanda formulata male o di un nome inesistente, il valore sarà 0).Archicad identifica l'ordine e il numero dei parametri di input sia dalla versione del comando REQUEST, che dal nome esatto (come costantedi stringa) dell'opzione di richiesta . Ciò significa che l'utilizzo della prima o di entrambe le seguenti opzioni è più sicura:• il nome della richiesta è sempre una stringa costante• la versione viene aggiunta al comando

Varie

Guida di Riferimento al GDL 490

Compatibilità dello Script del Parametro RequestL'uso della maggior parte delle richieste negli script dei parametri (o degli script master eseguiti come script dei parametri) può causare valorirestituiti instabili, pertanto dovrebbe essere evitato.Compatibilità fino ad Archicad 19: L'utilizzo della maggior parte delle richieste negli script dei parametri (o degli script master eseguiti come script dei parametri)potrebbe causare valori restituiti inaffidabili.Compatibilità fino ad Archicad 20: quanto segue si applica nei casi di script di parametri:• l'espressione di richiesta avrà sempre 0 come valore di ritorno di successo• i valori richiesti conterranno solo un valore predefinito di corrispondenza del tipo (stringa vuota o 0)L'utilizzo di richieste limitate nello script dei parametri genererà anche avvisi GDL a partire da Archicad 19.Per verificare la compatibilità dello script dei parametri, fare riferimento alle tabelle seguenti.:Legenda:

funziona senza limitazioni

funziona (con avviso aggiuntivo)

non funziona: espressione restituisce 0, mentre contiene valoripredefiniti di corrispondenza del tipo fittizi nelle variabili restituite(stringa vuota o 0), con avviso aggiuntivo

Varie

Guida di Riferimento al GDL 491

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

ANCESTRY_INFO

ANGULAR_DIMENSION

ANGULAR_LENGTH_DIMENSION

AREA_DIMENSION

ASSOCEL_PROPERTIES

ASSOCLP_NAME

ASSOCLP_PARVALUE

ASSOCLP_PARVALUE_WITH_DESCRIPTION

AUTOTEXT_LIST - -

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

BUILDING_MATERIAL_INFO

Varie

Guida di Riferimento al GDL 492

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

CALC_angolo_UNIT

CALC_AREA_UNIT

CALC_LENGTH_UNIT

CALC_VOLUME_UNIT

CLASS_OF_FILL

CLEAN_INTERSECTIONS

COMPONENT_PROJECTED_AREA

COMPONENT_VOLUME

CONFIGURATION_NUMBER - -

CONSTR_FILLS_DISPLAY

CUSTOM_AUTO_LABEL

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

DATETIME

DOOR_SHOW_DIM

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

ELEVATION_DIMENSION

Varie

Guida di Riferimento al GDL 493

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

FLOOR_PLAN_OPTION

FONTNAMES_LIST

FULL_ID_OF_PARENT -

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

HEIGHT_OF_STYLE

HOME_STORY

HOME_STORY_OF_OPENING

HOMEDB_INFO

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

ID_OF_MAIN

INTERNAL_ID

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

LAYOUT_LENGTH_UNIT

LAYOUT_TEXT_SIZE_UNIT

LEVEL_DIMENSION

LINEAR_DIMENSION

Varie

Guida di Riferimento al GDL 494

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

MATCHING_PROPERTIES

MATERIAL_INFO

MODEL_LENGTH_UNIT

MODEL_TEXT_SIZE_UNIT

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

NAME_OF_FILL

NAME_OF_LINE_TYPE

NAME_OF_LISTED

NAME_OF_MACRO

NAME_OF_MAIN

NAME_OF_MATERIAL

NAME_OF_PLAN

NAME_OF_PROGRAM

NAME_OF_STYLE

Varie

Guida di Riferimento al GDL 495

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

PEN_OF_RGB

PROGRAM_INFO

PROPERTIES_OF_PARENT - -

PROPERTY_NAME - -

PROPERTY_VALUE_OF_PARENT - -

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

RADIAL_DIMENSION

REFERENCE_LEVEL_DATA

RGB_OF_MATERIAL

RGB_OF_PEN

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

SILL_HEIGHT_DIMENSION

STORY

STORY_INFO

STYLE_INFO

SUM_WITH_ROUNDING - -

Varie

Guida di Riferimento al GDL 496

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

TEXTBLOCK_INFO

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

VIEW_ROTangolo

WINDOW_DOOR_DIMENSION

WINDOW_DOOR_SHOW_DIM

WINDOW_DOOR_ZONE_RELEV

WINDOW_DOOR_ZONE_RELEV_OF_OWNER

WINDOW_SHOW_DIM

WORKING_angolo_UNIT

WORKING_LENGTH_UNIT

Compatibilità nello script dei parametri Archicad 18 Archicad 19 Archicad 20

ZONE_CATEGORY

ZONE_COLUS_AREA

ZONE_RELATIONS

ZONE_RELATIONS_OF_OWNER

Dettagli delle richiesten = REQUEST ("Name_of_program", "", program_name)

Varie

Guida di Riferimento al GDL 497

Restituisce nella variabile data il nome del programma, ad esempio "Archicad". L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuotao 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.

Esempio 1: Stampa del nome del programman = REQUEST ("Name_of_program", "", program_name)PRINT program_name

n = REQUEST ("Name_of_macro", "", my_name)n = REQUEST ("Name_of_main", "", main_name)Dopo aver eseguito queste chiamate di funzione, la variabile my_name conterrà il nome della macro, mentre main_name conterrà il nome dellamacro principale (se non esiste, stringa vuota).n = REQUEST ("ID_of_main", "", id_string)Per gli elementi di libreria posizionati sulla pianta, restituisce l'identificatore impostato nella finestra di dialogo delle impostazioni dello strumentonella variabile id_string (altrimenti stringa vuota). Non funziona sugli elementi di annotazione (ad es.Etichetta, Marker P/F, Timbro zona).L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Full_ID_of_parent", "", id_string)Per gli elementi di annotazione collegati sulla pianta, restituisce tutti gli identificatori (ID principale) dei moduli collegati e l'identificatore deglielementi dille parti della libreria padre impostato nella finestra di dialogo delle impostazioni dello strumento nella variabile id_string (altrimentistringa vuota). L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Name_of_plan", "", name)Restituisce nella variabile data il nome del progetto corrente. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzatanello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Story", "", index, story_name)Restituisce nelle variabili index e story_name l'indice e il nome del piano corrente. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringavuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Home_story", "", index, story_name)Restituisce nelle variabili index e story_name l'indice e il nome del piano ospite.n = REQUEST ("Home_story_of_opening", "", index, story_name)Restituisce l'indice e il nome del piano ospite dell'apertura nelle variabili index e story_name. Il piano ospite è il primo piano, dove l'apertura èvisibile. Può essere utilizzato negli script di porte, finestre, teste muro, finestre ad angolo e lucernari e nello script delle loro etichette e marker.Provoca un avviso se utilizzato nello script dei parametri.n = REQUEST ("Story_info", expr, nStories, index1, name1, elev1, height1 [, index2, name2, ...])

Varie

Guida di Riferimento al GDL 498

Restituisce le informazioni sul piano nelle variabili date: numero di piani e indice del piano, nome, elevazione, altezza, dislivello. Se expr èun'espressione numerica, significa un indice di piano: viene restituito solo il numero di piani e le informazioni sul piano specificato. Se expr èun'espressione stringa, significa che sono richieste informazioni su tutti i piani. Il valore restituito dalla funzione è il numero di valori recuperaticon successo.

Esempio 2:DIM t[]n = REQUEST ("STORY_INFO", "", nr, t)FOR i = 1 TO nr nr = STR ("%.0m", t [4 * (i - 1) + 1]) name = t [4 * (i - 1) + 2] elevation = STR ("%m", t [4 * (i - 1) + 3]) height = STR ("%m", t [4 * (i - 1) + 4]) TEXT2 0, -i, nr + "," + name + "," + elevation + "," + heightNEXT i

Con le seguenti richieste, è possibile apprendere i formati delle dimensioni impostati nelle finestre di dialogo Opzioni/Preferenze Progetto/Quotatura e Unità e Regole di calcolo. Queste richieste restituiscono una stringa di formato che può essere utilizzata come primo parametronella funzione STR ().n = REQUEST ("Linear_dimension", "", format_string)n = REQUEST ("Angular_dimension", "", format_string)L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Angular_length_dimension", "", format_string)L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Radial_dimension", "", format_string)Provoca un avviso se utilizzato nello script dei parametri.n = REQUEST ("Level_dimension", "", format_string)Provoca un avviso se utilizzato nello script dei parametri.n = REQUEST ("Elevation_dimension", "", format_string)L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Window_door_dimension", "", format_string)n = REQUEST ("Sill_height_dimension", "", format_string)n = REQUEST ("Area_dimension", "", format_string)n = REQUEST ("Calc_length_unit", "", format_string)n = REQUEST ("Calc_area_unit", "", format_string)

Varie

Guida di Riferimento al GDL 499

L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Calc_volume_unit", "", format_string)n = REQUEST ("Calc_angolo_unit", "", format_string)L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.

Esempio 3:format = "" num = 60.55n = REQUEST ("Angular_dimension", "",format)!"%.2dd"TEXT2 0, 0, STR (format, num)!60.55

n = REQUEST ("Clean_intersections", "", state)Restituisce lo stato della funzione Pianta Legata di muri e travi (1 se attivata, 0 quando disattivata) L'espressione restituisce 0 e contiene valori di ritornofittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Zone_category", "", name, code)Per le zone, restituisce il nome e la stringa di codice della categoria della zona corrente.n = REQUEST ("Zone_relations", "", category_name, code, name, number [, category_name2, code2, name2, number2])Restituisce nelle variabili date il nome e il codice della categoria di zona e il nome e il numero della zona in cui si trova l'elemento di libreriacontenente questa richiesta. Per porte e finestre possono esserci un massimo di due zone. Il valore di ritorno della richiesta è il numero di valorirecuperati con successo (0 se l'elemento di libreria non si trova all'interno di alcuna zona).n = REQUEST ("Zone_relations_of_owner", "", category_name, code, name, number [, category_name2, code2, name2, number2])Restituisce nelle variabili date il nome e il codice della categoria e il nome e il numero della zona in cui si trova il proprietario dell'oggetto.Quindi, è significativo, se l'elemento di libreria ha un proprietario (etichette porta-finestra e marker porta-finestra, ecc.). Nel caso di un'etichettaper porta, il suo proprietario è la porta. Per porte e finestre possono esserci un massimo di due zone correlate. Il valore di ritorno della richiestaè il numero di valori recuperati con successo (0 se l'oggetto non ha proprietario, o il suo proprietario non è in nessuna zona). Provoca un avvisose utilizzato nello script dei parametri.n = REQUEST ("Zone_colus_area", "", area)Restituisce nella variabile area l'area totale dei pilastri posti nella zona corrente. Efficace solo per i Timbri Zona. Disponibile solo per motivi dicompatibilità. Si consiglia di utilizzare le quantità impostate nei parametri fissi del Timbro Zona. L'espressione restituisce 0 e contiene valori di ritornofittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Custom_auto_label", "", name)

Varie

Guida di Riferimento al GDL 500

Restituisce nella variabile name il nome dell'etichetta automatica personalizzata dell'elemento di libreria o una stringa vuota se non esiste.L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Rgb_of_material", name, r, g, b)n = REQUEST ("Rgb_of_pen", penindex, r, g, b)n = REQUEST ("Pen_of_RGB", "r g b", penindex)Come la funzione REQ () (ma in una sola chiamata), restituisce nelle variabili specificate il valore delle componenti r, g, b del materiale e dellapenna, o l'indice della penna corrispondente ai valori RGB dati. Tutte e 3 le espressioni restituiscono 0 contenente valori di ritorno fittizi (stringa vuota o0) se utilizzati nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Height_of_style", name, height [, descent, leading])Restituisce nelle variabili date l'altezza totale dello stile misurata in millimetri (l'altezza in metri è height / 1000 * GLOB_SCALE); descent (ladistanza in millimetri dalla linea di base del testo alla linea di discesa) e leading (la distanza in millimetri dalla linea di discesa alla linea di salita).n = REQUEST ("Style_info", name, fontname [, size, anchor, face_or_slant])Restituisce le informazioni nelle variabili date sullo stile definito in precedenza (Vedi parametri dello stile in DEFINE STYLE). Può essere utilenelle macro per raccogliere informazioni sullo stile definito in uno script principale. Provoca un avviso se utilizzato nello script dei parametri.n = REQUEST ("Name_of_material", index, name)Restituisce nella variabile il nome del materiale identificato da index. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) seutilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Name_of_building_material", index, name)Restituisce nella variabile il nome del materiale da costruzione identificato da index. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringavuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Name_of_fill", index, name)Restituisce nella variabile name il nome del retino identificato da index. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) seutilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Name_of_line_type", index, name)Restituisce nella variabile data il nome del tipo linea identificato da index. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0)se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("Name_of_style", index, name)Restituisce nella variabile data il nome dello stile identificato da index. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) seutilizzata nello script dei parametri, causando un avviso aggiuntivo.Se index < 0, si riferisce a un materiale, retino, tipo di linea o stile definito nello script GDL o nel file MASTER_GDL. Una chiamata di unarichiesta con indice = 0 restituisce nella variabile il nome del materiale o del tipo di linea predefinito. (Stringa vuota per retino e stile.)

Varie

Guida di Riferimento al GDL 501

Il valore di ritorno della richiesta è il numero di valori recuperati con successo (1 se non si è verificato alcun errore, 0 per errore quando l'indicenon è valido).n = REQUEST ("WINDOW_DOOR_SHOW_DIM", "", show)Prima di 9.0 restituisce 1 nella variabile di visualizzazione se Opzioni/Opzioni di Visualizzazione/Porte e Finestre è impostato su "Mostra conquotatura", 0 altrimenti. Dal momento che le opzioni di visualizzazione 9.0 sono state suddivise per separare le opzioni di visualizzazione diPorta e Finestra, quindi per motivi di compatibilità Archicad verifica se la richiesta è utilizzata in una Finestra (o marker di una Finestra) o inuna Porta (o marker di una Porta) e restituisce automaticamente la corrispondente opzione di visualizzazione . In altri casi (simbolo, lampada,etichetta) viene restituita l'opzione Finestra. Può essere utilizzato per nascondere/mostrare le quotature personalizzate in base alle opzioni divisualizzazione correnti. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avvisoaggiuntivo.Dalla 9.0 sono disponibili le richieste separate "window_show_dim" e "door_show_dim".n = REQUEST ("window_show_dim", "", show)Restituisce 1 nella variabile show se nelle Opzioni Vista Modello/Opzioni Finestra è spuntato "con Marker", 0 altrimenti. L'espressione restituisce0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("door_show_dim", "", show)Restituisce 1 nella variabile show se nelle Opzioni Vista Modello/Opzioni Porta è spuntato "con Marker", 0 altrimenti. L'espressione restituisce 0e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("name_of_listed", "", name)Restituisce nella variabile name il nome dell'elemento di libreria associato all'elemento di libreria di tipo proprietà contenente questa richiesta.Per gli elementi (muri, solai, ecc.), Il nome è una stringa vuota. Provoca un avviso se utilizzato nello script dei parametri.n = REQUEST ("window_door_zone_relev", "", out_direction)Efficace solo per porte e finestre. Usalo come complemento alla richiesta "zone_relations". Restituisce 1 nella variabile out_direction se il versodi apertura Porta / Finestra è in quello della prima stanza identificata dalla richiesta "zone_relations", 2 se il senso di apertura è verso la secondastanza.. Restituisce 2 anche se c'è una sola stanza e il senso di apertura è verso l'esterno. Provoca un avviso se utilizzato nello script dei parametri.n = REQUEST ("window_door_zone_relev_of_owner", "", out_direction)Efficace solo se il genitore dell'elemento di libreria è una porta o una finestra (marker, etichette). Usalo come complemento alla richiesta"zone_relations_of_owner". Restituisce 1 nella variabile out_direction se la direzione di apertura del genitore è in quella della prima zonaidentificata dalle richieste di tipo di relazioni di zona, 2 se la direzione di apertura è verso la seconda zona. Restituisce 2 anche se c'è una solazona e il senso di apertura è verso l'esterno. Provoca un avviso se utilizzato nello script dei parametri.n = REQUEST ("matching_properties", type, name1, name2, ...)Se type = 1, restituisce nelle variabili fornite i nomi degli elementi di libreria di tipo proprietà associati individualmente, altrimenti i nomi deglielementi di libreria di tipo proprietà associati dai criteri. Se utilizzata in un'etichetta associativa, la funzione restituisce le proprietà dell'elemento

Varie

Guida di Riferimento al GDL 502

a cui è associata l'etichetta. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando unavviso aggiuntivo..n = REQUEST ("Working_length_unit", "", format_string)n = REQUEST ("Working_angolo_unit", "", format_string)Con queste richieste, l'utente può ottenere i formati delle unità di lavoro impostati nella finestra di dialogo Opzioni > Preferenze Progetto> Unità di lavoro. Restituiscono una stringa di formato che può essere utilizzata come primo parametro nella funzione STR ().. Entrambele richieste funzionano durante l'interpretazione dello script dell'interfaccia utente, ma "Working_angolo_unit" genera un avviso se utilizzatonello script dei parametri.n = REQUEST ("Model_length_unit", "", format_string)n = REQUEST ("Layout_length_unit", "", format_string)Con queste richieste, l'utente può ottenere il layout e i formati delle unità del modello impostati nella finestra di dialogo Opzioni > PreferenzeProgetto > Unità di lavoro. Restituiscono una stringa di formato che può essere utilizzata come primo parametro nella funzione STR (). Entrambele espressioni restituiscono 0 contenente valori di ritorno fittizi (stringa vuota o 0) se utilizzati nello script dei parametri, causando un avviso aggiuntivo. Entrambifunzionano solo nello script dell'interfaccia utente.n = REQUEST ("Model_text_size_unit", "", format_string)n = REQUEST ("Layout_text_size_unit", "", format_string)Con queste richieste, l'utente può ottenere il layout e i formati delle dimensioni del testo del modello6. Restituiscono una stringa di formatoche può essere utilizzata come primo parametro nella funzione STR (). Le richieste generano un avviso se vengono utilizzate nello script deiparametri.n = REQUEST ("Properties_Of_Parent", propertyType, parentProperties)Restituisce le proprietà dell'oggetto genitore. Tutte le proprietà vengono restituite in una matrice con la seguente forma: ID, tipo, gruppo, nome.Può essere utilizzato solo nelle etichette. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri,causando un avviso aggiuntivo.Proprietà del nucleo: [id, "", "", PropertyName]AC property: [guid, "", "GroupName", PropertyName]IFC property: [id, "IFC", "GroupName", PropertyName]Classification: [guid, "Classification", "", ClassificationSystemName]Profile parameter: [guid, "", "Profile Parameters", ParameterName] propertyType: parola chiave che definisce il tipo di proprietà richieste. Una stringa vuota restituisce tutti i tipi di proprietà. Possibili valori:"COREPROPERTY""ACPROPERTY""IFCPROPERTY"

Varie

Guida di Riferimento al GDL 503

"CLASSIFICATION""PROFILEPARAMETER"

Compatibilità: la richiesta è introdotta in Archicad 20. Le opzioni del tipo di proprietà e il tipo di Classificazione Proprietà sono introdotte in Archicad 21, il tipodi proprietà del parametro Profilo è introdotto in Archicad 22.

Esempio 4:DIM parentProperties[]n = REQUEST ("Properties_Of_Parent", "", parentProperties)! parentProperties = [Id1, TypeName1, GroupName1, PropertyName1, Id2, TypeName2, GroupName2, PropertyName2, ... Idn, TypeNamen, GroupNamen, PropertyNamen]

n = REQUEST ("Property_Tree_Of_Parent", propTreeInput, propTreeOutput)Restituisce l'albero delle proprietà disponibili dell'oggetto genitore con un raggruppamento simile agli alberi del selettore di proprietà in Archicad.Può essere utilizzato solo nello script dell'interfaccia utente di etichette e marker. L'espressione restituisce 0 e contiene valori di ritorno fittizi (dizionariovuoto) se utilizzata in altre situazioni, causando un avviso aggiuntivo.propTreeInput: (dizionario) definisce i parametri per la raccolta delle proprietà dell'oggetto padre.propTreeInput.propertyType: (stringa) parola chiave che definisce il tipo delle proprietà richieste. Questa chiave è facoltativa, se

non esiste, la richiesta raccoglie tutti i tipi di proprietà. Possibili valori:"COREPROPERTY""ACPROPERTY""IFCPROPERTY""CLASSIFICATION""PROFILEPARAMETER""BUILTINPROPERTY"

propTreeOutput: (dizionario) l'albero delle proprietà disponibili dell'oggetto genitorepropTreeOutput.treeDepth: (intero) la profondità dell'albero delle proprietàpropTreeOutput.propertyTree: (matrice) per ogni proprietà restituita, contiene stringhe treeDepth + 1: l'ID della proprietà, quindi

la sua posizione nell'albero sotto forma di stringhe treeDepth

Varie

Guida di Riferimento al GDL 504

Esempio 5:DICT propTreeInput, propTreeOutputn = REQUEST ("Property_Tree_Of_Parent", propTreeInput, propTreeOutput)! propTreeOutput.treeDepth = m! propTreeOutput.propertyTree = [Id1, DisplayName11, ... DisplayName1m, Id2, DisplayName21, ... DisplayName2m, ... Idn, DisplayNamen1, ... DisplayNamenm]

Esempio 6:DICT propTreeInput, propTreeOutputn = REQUEST ("Property_Tree_Of_Parent", propTreeInput, propTreeOutput)if n > 0 then ui_custom_popup_infield "stParameterName", 10, 20, 300, 19, 1, propTreeOutput.treeDepth, 1, "SelectedValueDescription", propTreeOutput.propertyTree endif

n = REQUEST ("Property_Value_Of_Parent", "id", type, dim1, dim2, propertyValues)Restituisce la matrice di valori della proprietà selezionata. Può essere utilizzato solo nelle etichette. L'espressione restituisce 0 e contiene valori di ritornofittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.Compatibilità: introdotto in Archicad 20.Compatibilità: I tipi lunghezza, area, volume e angolo sono introdotti in Archicad 22.id: (string ) l'ID della proprietà selezionata.

Per ID proprietà incorporati vedi sezione chiamata «Guida alle proprietà incorporate».type: il tipo di valore della proprietà selezionato.1: booleano2: intero3: numero reale4: stringa5: lunghezza

Varie

Guida di Riferimento al GDL 505

6: area7: volume8: angolo

dim1, dim2: le dimensioni della matrice propertyValues.dim1 = 0, dim2 = 0: valore semplice, scalare.dim1 > 0, dim2 > 0: lista di valori.

Esempio 7:DIM propertyValues[]n = REQUEST ("Property_Value_Of_Parent", "ExampleId", type, dim1, dim2, propertyValues)

n = REQUEST ("Property_Values_Of_Parent", propInputIds, propOutputVals)Restituisce un dizionario dei valori per il dizionario dell'ID proprietà specificato. Può essere utilizzato solo nelle etichette. L'espressione restituisce0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri o utilizzata con la chiave del dizionario di input sconosciuta, causandoun avviso aggiuntivo.Compatibilità: introdotto in Archicad 23.propInputIds: (dizionario) definendo gli ID proprietà selezionati.propInputIds.propertyIds[n]: (matrice) contiene un dizionario per ogni ID proprietà selezionato.propInputIds.propertyIds[n].id: (stringa) l'ID della proprietà selezionata.

Per ID proprietà incorporati vedi sezione chiamata «Guida alle proprietà incorporate».propOutputVals: (dizionario) i dati del valore della proprietà per gli ID proprietà selezionati.propOutputVals.propertyValues[n]: (matrice) contiene dizionari per ogni valore di proprietà.propOutputVals.propertyValues[n].value_status: lo stato del valore della proprietà selezionata1: la proprietà selezionata è disponibile e ha valore2: la proprietà selezionata è disponibile ma non è stato definito alcun valore per essa3: la proprietà non è disponibile o l'ID selezionato non è valido4: il valore della proprietà non può essere valutato

propOutputVals.propertyValues[n].type: il tipo di valore della proprietà selezionato. Questa chiave esiste solo nel caso incui propOutputVals.propertyValues [n] .value_status è 1 o 2.

Varie

Guida di Riferimento al GDL 506

1: booleano2: intero3: numero reale4: stringa5: lunghezza6: area7: volume8: angolo

propOutputVals.propertyValues[n].value[]: (matrice) contiene l'elenco dei valori delle proprietà selezionate.

Esempio 8:dict propInputIds propInputIds.propertyIds[1].id = "ExampleId1" propInputIds.propertyIds[2].id = "ExampleId2" ... propInputIds.propertyIds[n].id = "ExampleIdn"dict propOutputValsn = REQUEST ("Property_Values_Of_Parent", propInputIds, propOutputVals)! propOutputVals .propertyValues[1].value_status .propertyValues[1].type .propertyValues[1].value[] .propertyValues[2].value_status .propertyValues[2].type .propertyValues[2].value[] ... .propertyValues[n].value_status .propertyValues[n].type .propertyValues[n].value[]

n = REQUEST ("Component_Properties_Of_Parent", propertyType, parentComponentProperties)Restituisce le proprietà del componente, che sono disponibili per almeno uno dei componenti del materiale da costruzione dell'oggetto padre.Tutte le proprietà vengono restituite in una matrice con la seguente forma: ID, tipo, gruppo, nome. Può essere utilizzato solo nelle etichette.L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.

Varie

Guida di Riferimento al GDL 507

AC property: [guid, "", "GroupName", PropertyName]Classification: [guid, "Classification", "", ClassificationSystemName] propertyType: parola chiave che definisce il tipo di proprietà richieste. Una stringa vuota restituisce tutti i tipi di proprietà disponibili.

Possibili valori:"ACPROPERTY""CLASSIFICATION"

Compatibilità: la richiesta è introdotta in Archicad 23.

Esempio 9:DIM parentComponentProperties[]n = REQUEST ("Component_Properties_Of_Parent", "", parentComponentProperties)! parentComponentProperties = [Id1, TypeName1, GroupName1, PropertyName1, Id2, TypeName2, GroupName2, PropertyName2, ... Idn, TypeNamen, GroupNamen, PropertyNamen]

n = REQUEST ("Component_Property_Tree_Of_Parent", propTreeInput, propTreeOutput)Restituisce l'albero delle proprietà dei componenti, che sono disponibili per almeno uno dei componenti del materiale da costruzione dell'oggettogenitore con un raggruppamento simile agli alberi del selettore di proprietà in Archicad. Può essere utilizzato solo nello script dell'interfacciautente di etichette e marker. L'espressione restituisce 0 e contiene valori di ritorno fittizi (dizionario vuoto) se utilizzata in altre situazioni, causando un avvisoaggiuntivo.propTreeInput: (dizionario) definisce i parametri per la raccolta delle proprietà dei componenti dell'oggetto genitore.propTreeInput.propertyType: (stringa) parola chiave che definisce il tipo delle proprietà richieste. Questa chiave è facoltativa, se

non esiste, la richiesta raccoglie tutti i tipi di proprietà. Valori possibili:"ACPROPERTY""CLASSIFICATION""BUILTINPROPERTY"

propTreeOutput: (dizionario) l'albero delle proprietà disponibili dell'oggetto genitorepropTreeOutput.treeDepth: (intero) la profondità dell'albero delle proprietàpropTreeOutput.propertyTree: (matrice) per ogni proprietà restituita, contiene stringhe treeDepth + 1: l'ID della proprietà, quindi

la sua posizione nell'albero sotto forma di stringhe treeDepth

Varie

Guida di Riferimento al GDL 508

Esempio 10:DICT propTreeInput, propTreeOutputn = REQUEST ("Component_Property_Tree_Of_Parent", propTreeInput, propTreeOutput)! propTreeOutput.treeDepth = m! propTreeOutput.propertyTree = [Id1, DisplayName11, ... DisplayName1m, Id2, DisplayName21, ... DisplayName2m, ... Idn, DisplayNamen1, ... DisplayNamenm]

Esempio 11:DICT propTreeInput, propTreeOutputn = REQUEST ("Component_Property_Tree_Of_Parent", propTreeInput, propTreeOutput)if n > 0 then ui_custom_popup_infield "stParameterName", 10, 20, 300, 19, 1, propTreeOutput.treeDepth, 1, "SelectedValueDescription", propTreeOutput.propertyTree endif

n = REQUEST ("Component_IDs_Of_Parent", collectComponents, outputCompIds)Restituisce gli ID dei componenti del materiale da costruzione dell'oggetto padre in un formato dizionario. Può essere utilizzato solo nelleetichette. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.Compatibilità: introdotto in Archicad 23.collectComponents: (dizionario) che definisce il metodo di raccolta dei componenti del materiale da costruzione dell'oggetto genitore.collectComponents.collectMode: (intero) il metodo di raccolta dei componenti del materiale da costruzione. Questa chiave è

facoltativa, se non esiste, la richiesta utilizza un collectMode predefinito di 1.1: (default) restituisce tutti gli ID dei componenti del materiale da costruzione del genitore2: restituisce gli stessi ID dei componenti del materiale da costruzione nello stesso ordine di WALL_SKINS_PARAMS,SHELLBASE_SKINS_PARAMS, SLAB_SKINS_PARAMS o ROOF_SKINS_PARAMS, a seconda del tipo di elemento del genitore.

outputCompIds: (dizionario) gli ID dei componenti del materiale da costruzione dell'oggetto padre.outputCompIds.componentIds[n]: (matrice) contiene dizionari per ogni ID componente materiale da costruzione.outputCompIds.componentIds[n].id: (intero) l'ID del componente del materiale da costruzione dell'elemento padre.

Varie

Guida di Riferimento al GDL 509

Esempio 12:dict collectComponents collectComponents.collectMode = 1dict outputCompIdsn = REQUEST ("Component_IDs_Of_Parent", collectComponents, outputCompIds)! outputCompIds .componentIds[1].id .componentIds[2].id ... .componentIds[n].id

n = REQUEST ("Component_Property_Values_Of_Parent", compPropInput, compPropVals)Restituisce un dizionario dei valori per l'ID componente e gli ID proprietà specificati. Può essere utilizzato solo nelle etichette. L'espressionerestituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri o utilizzata con la chiave del dizionario di input sconosciuta,causando un avviso aggiuntivo.Compatibilità: introdotto in Archicad 23.compPropInput: (dizionario) che definisce il componente del materiale da costruzione selezionato e gli ID proprietà.compPropInput.componentId: (dizionario) contiene un dizionario per l'ID del componente del materiale da costruzione selezionato.compPropInput.componentId.id: (intero) l'ID del componente del materiale da costruzione selezionato, disponibile tramite la

richiesta "Component_IDs_Of_Parent".compPropInput.propertyIds[n]: (matrice) contiene un dizionario per ogni ID proprietà selezionato.compPropInput.propertyIds[n].id: (stringa) l'ID della proprietà selezionata.

Per gli ID di proprietà incorporata vedi sezione chiamata «Guida alle proprietà incorporate».compPropVals: (dizionario) i dati del valore della proprietà del componente del materiale da costruzione per gli ID proprietà selezionati.compPropVals.propertyValues[n]: (matrice) contiene un dizionario per ogni valore di proprietà.compPropVals.propertyValues[n].value_status: lo stato del valore della proprietà selezionata1: la proprietà selezionata è disponibile e ha valore2: la proprietà selezionata è disponibile ma non è stato definito alcun valore per essa3: la proprietà non è disponibile o l'ID selezionato non è valido4: il valore della proprietà non può essere valutato

Varie

Guida di Riferimento al GDL 510

compPropVals.propertyValues[n].type: il tipo di valore della proprietà selezionato. Questa chiave esiste solo nel caso in cuicompPropVals.propertyValues [n].value_status è 1 o 2.1: booleano2: intero3: numero reale4: stringa5: lunghezza6: area7: volume8: angolo

compPropVals.propertyValues[n].value[]: (matrice) contiene l'elenco dei valori delle proprietà selezionate.

Esempio 13:dict compPropInput compPropInput.componentId.id = iActualID ! From "Component_IDs_Of_Parent" request compPropInput.propertyIds[1].id = "ExampleId1" compPropInput.propertyIds[2].id = "ExampleId2" ... compPropInput.propertyIds[n].id = "ExampleIdn"dict compPropValsn = REQUEST ("Component_Property_Values_Of_Parent", compPropInput, compPropVals)! compPropVals = propertyValues[1].value_status .propertyValues[1].value_status .propertyValues[1].type .propertyValues[1].value[] .propertyValues[2].value_status .propertyValues[2].type .propertyValues[2].value[] ... .propertyValues[n].value_status .propertyValues[n].type .propertyValues[n].value[]

n = REQUEST ("Property_Name", "id", typeName, groupName, propertyName)

Varie

Guida di Riferimento al GDL 511

Restituisce tipo, gruppo e nome della proprietà selezionata. Può essere utilizzato solo nelle etichette. L'espressione restituisce 0 e contiene valori diritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.Compatibilità: introdotto in Archicad 20.id: l'ID della proprietà selezionata (stringa). Vedi gli ID proprietà incorporati disponibili su sezione chiamata «Guida alle proprietà incorporate»typeName: il Tipo della proprietà selezionata (stringa)."IFC": per le proprietà IFC"": altre proprietà

groupName: il Gruppo della proprietà selezionata (stringa).stringa vuota ("") per le proprietà Nucleo.

propertyName: il Nome della proprietà selezionata (stringa).n = REQUEST ("AUTOTEXT_LIST", "", autoTextListArray)Restituisce una matrice AUTOTEXT dei testi automatici utilizzati nel progetto con le seguenti terzine ["ID", "Categoria", "Nome"]. L'espressionerestituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo. Può essere utilizzato solo nelloscript dell'interfaccia utente. L'ID viene memorizzato nel parametro tramite i comandi UI_CUSTOM_POPUP....Contiene tutti i testi automatici dalla finestra di dialogo Informazioni Progetto e Testo Automatico (Strumento Testo - Inserisci testoautomatico).Compatibilità: introdotto in Archicad 20.

Esempio 14:DIM autoTextListArray[]n = REQUEST ("AUTOTEXT_LIST", "", autoTextListArray)! autoTextListArray = [ID1, CategoryName1, TextName1, ID2, CategoryName2, TextName2, ... IDn, CategoryNamen, TextNamen]

n = REQUEST{3} ("Sum_with_rounding", req_name, addends_array, result)Restituisce la somma dei numeri in addends_array, con arrotondamento secondo la preferenza di progetto "Calcola totali per". Questapreferenza può essere trovata in Opzioni / Preferenze Progetto / Unità e Regole di calcolo.Possibili impostazioni delle preferenze di progetto:• "Valori visualizzati": la richiesta arrotonda prima gli addendi secondo req_name, e poi li somma.

Varie

Guida di Riferimento al GDL 512

• "Valori esatti": la richiesta sommerà semplicemente gli addendi.Provoca un avviso se utilizzato nello script dei parametri.Compatibilità: introdotto in Archicad 20.Valori restituiti:• 0, se req_name non è valido.• 1, se la chiamata è andata a buon fine.req_name: il nome della richiesta di formattazione specificando come arrotondare gli addendi se "Calcola totali per" è impostato su "Valori

visualizzati".Ad esempio se req_name = "Area_dimension", e le Preferenze Progetto / Quotature / Calcoli dell'Area sono impostate su "centimetroquadrato" con 3 decimali, arrotondando a 0.025, quindi gli addendi verranno arrotondati ai multipli di 0.025 cm², ovvero a 0.0000025 m².Nomi di richiesta validi:Linear_dimension, Angular_dimension, Radial_dimension, Level_dimension, Elevation_dimension, Window_door_dimension,Sill_height_dimension, Area_dimension, Calc_length_unit, Calc_area_unit, Calc_volume_unit, Calc_angolo_unit.

addends_array: la matrice di numeri da aggiungere. Se devono essere trattati come m, m², m³ o gradi è determinato da req_name.result: un numero, al ritorno verrà impostato alla somma degli addendi secondo la preferenza "Calcola Totali per". Si noti che result è

nella stessa unità degli addendi. Non viene convertito nell'unità di destinazione specificata da req_name.n = REQUEST ("ASSOCLP_PARVALUE", expr, name_or_index, type, flags, dim1, dim2, p_values)n = REQUEST ("ASSOCLP_PARVALUE_WITH_DESCRIPTION", expr, name_or_index, type, flags, dim1, dim2, p_values_and_descriptions)Restituisce le informazioni nelle variabili date sul parametro dell'elemento di libreria a cui è associata l'elemento di libreria contenente questarichiesta. Può essere utilizzato in oggetti proprietà, etichette e oggetti marker.Il valore restituito dalla funzione è il numero di valori recuperati con successo, 0 se il parametro specificato non esiste o si è verificato un errore.expr: l'oggetto della richiesta, il nome del parametro dell'elemento di libreria associato o l'espressione di indice.name_or_index: restituisce l'indice o il nome del parametro, a seconda del tipo di espressione precedente (restituisce l'indice se il nome

di un parametro, il nome se l'indice è specificato).type: tipo di parametro, valori possibili:1: booleano2: intero3: numero reale4: stringa

Varie

Guida di Riferimento al GDL 513

5: lunghezza6: angolo7: linea8: materiale9: retino10: colore penna11: interruttore luce12: colore rgb13: intensità luce14: separatore15: titolo16: materiale da costruzione17: profilo Compatibilità: introdotto in Archicad 23

flags:flags = j1 + 2*j2 + 64*j7 + 128*j8, dove ogni j può essere 0 o 1.j1: figlio/rientrato nell'elenco dei parametrij2: con testo in grassetto nell'elenco dei parametrij7: disabilitato (bloccato in tutti i contesti)j8: nascosto nell'elenco dei parametri

dim1, dim2: dim1 è il numero di righe, dim2 il numero di colonne.dim1 = 0, dim2 = 0: valore semplice, scalaredim1 > 0, dim2 = 0: matrice unidimensionaledim1 > 0, dim2 > 0: matrice bidimensionalese dim2 > 0, allora dim1 > 0.

p_values: per ASSOCLP_PARVALUE restituisce il valore del parametro o la matrice di valori. Gli elementi della matrice vengonorestituiti successivamente, riga per riga come matrice unidimensionale, indipendentemente dalle dimensioni della variabile specificata permemorizzarlo. Se la variabile non è una matrice dinamica, ci sono tanti elementi memorizzati quanti c'è spazio per (per una variabile semplicesolo uno, il primo elemento). Se i valori sono una matrice dinamica bidimensionale, tutti gli elementi vengono memorizzati nella prima riga.

p_values_and_descriptions: per ASSOCLP_PARVALUE_WITH_DESCRIPTION restituisce il valore del parametro seguitodalla stringa di descrizione del parametro (come specificato al comando VALUES) o una matrice di queste coppie. Per i parametri di tipostringa, la stringa di descrizione è sempre vuota. Elemento matrice - le coppie di stringhe di descrizione dell'elemento matrice vengonorestituite in successione, riga per riga come matrice unidimensionale, indipendentemente dalle dimensioni della variabile specificata per

Varie

Guida di Riferimento al GDL 514

memorizzarla. Se la variabile non è una matrice dinamica, ci sono tanti elementi memorizzati quanti c'è spazio per (per una variabile semplicesolo uno, il primo elemento). Se i valori sono una matrice dinamica bidimensionale, tutti gli elementi vengono memorizzati nella prima riga.

n = REQUEST ("ASSOCLP_NAME", "", name)Restituisce nella variabile data il nome dell'elemento di libreria associata all'etichetta o all'oggetto marker. Per gli elementi (muri, solai, ecc.) Ilnome è una stringa vuota. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando unavviso aggiuntivo.n = REQUEST ("ASSOCEL_PROPERTIES", parameter_string, nr_data, data)Restituisce, nelle variabili date, i propri dati di proprietà o le proprietà dell'elemento a cui è associata l'elemento di libreria contenente questarichiesta (nelle etichette e negli oggetti marker associativi). Il valore di ritorno della funzione è il numero di valori recuperati con successo, 0 senon sono stati trovati dati di proprietà o si è verificato un errore. La funzione non funziona negli oggetti proprietà durante il processo di lista.L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.parameter_string: una combinazione di parole chiave separate da virgole che rappresentano i campi richiesti dei record di dati della

proprietà. I record verranno ordinati di conseguenza. Possibili valori:"ISCOMP""DBSETNAME""KEYCODE""KEYNAME""CODE""NAME""FULLNAME""QUANTITY""TOTQUANTITY""UNITCODE""UNITNAME""UNITFORMATSTR""PROPOBJNAME"

nr_data: restituisce il numero degli elementi di dati.data: restituisce i dati della proprietà, i record che contengono e vengono ordinati dai campi specificati nella stringa del parametro. I

valori vengono restituiti come una matrice unidimensionale che contiene i campi record richiesti in successione, indipendentemente dalledimensioni della variabile specificata per memorizzarlo. Se la variabile non è una matrice dinamica, ci sono tanti elementi memorizzati quantic'è spazio per (nel caso di una variabile semplice solo uno, il primo elemento). Se i valori sono una matrice dinamica bidimensionale, tuttigli elementi vengono memorizzati nella prima riga.

Varie

Guida di Riferimento al GDL 515

Esempio 15:DIM DATA []n = REQUEST ("ASSOCEL_PROPERTIES", "iscomp, code, name", nr, data)IF nr = 0 THEN TEXT2 0, 0, "No properties"ELSE j = 0 FOR i = 1 TO nr IF i MOD 3 = 0 THEN TEXT2 0, -j, DATA [i] ! name j = j + 1 ENDIF NEXT iENDIF

n = REQUEST ("REFERENCE_LEVEL_DATA", "", name1, elev1, name2, elev2, name3, elev3, name4, elev4)Restituisce nelle variabili date i nomi e le quote altimetriche dei livelli di riferimento impostati nella finestra di dialogo Opzioni / PreferenzeProgetto / Livelli di Riferimento. Il valore restituito dalla funzione è il numero di valori recuperati con successo, 0 se si è verificato un errore.n = REQUEST ("ANCESTRY_INFO", expr, name [, guid, parent_name1, parent_guid1, ... parent_namen, parent_guidn)Informazioni sugli antenati su un elemento di libreria. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello scriptdei parametri, causando un avviso aggiuntivo.Se espr = 0, restituisce nelle variabili date il nome e l'identificativo univoco globale dell'elemento di libreria contenente questa funzione dirichiesta. Facoltativamente, la funzione restituisce i nomi e gli identificatori univoci globali dei genitori dell'elemento di libreria (parent_namei,parent_guidi). Se i template genitore non vengono caricati, i loro nomi saranno stringhe vuote.Se expr = 1, restituisce informazioni sull'elemento di libreria sostituito dal template contenente questa funzione. In questo caso, se il templatenon viene effettivamente sostituito, non viene restituito alcun valore.Il valore di ritorno della richiesta è il numero di valori recuperati con successo.

Varie

Guida di Riferimento al GDL 516

Esempio 16:DIM strings[]n = REQUEST ("ANCESTRY_INFO", 1, name, guid, strings)IF n > 2 THEN ! dati del'elemento di libreria sostituito TEXT2 0, -1, "sostituzione: " + name + ' ' + guid ! genitori l = -2 FOR i = 1 TO n - 2 STEP 2 TEXT2 0, l, strings [i] l = l - 1 NEXT iENDIF

n = REQUEST ("TEXTBLOCK_INFO", nome_BloccoTesto, width, height)Restituisce nelle variabili date le dimensioni in direzione x e y di un blocco di testo definito in precedenza tramite TEXTBLOCK. Le dimensionisono in mm o in m nello spazio modello a seconda del valore del parametro fixed_height di TEXTBLOCK (millimetri se 1, metri nello spaziomodello se 0). Se la larghezza era 0, la richiesta restituisce la larghezza e l'altezza calcolate, se la larghezza è stata specificata nella definizionedel blocco di testo, restituisce l'altezza calcolata corrispondente a quella larghezza. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringavuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST{2} ("Material_info", name_or_index, param_name, value_or_values)Restituisce le informazioni nelle variabili date su un parametro (o parametro extra, vedi sezione chiamata «Dati aggiuntivi») del materialespecificato. Le informazioni RGB vengono restituite in tre variabili separate, le informazioni sulla tessitura vengono restituite nelle seguentivariabili: file_name, width, altezza, mask, rotation_angolo corrispondente alla definizione della tessitura. Tutte le altre informazioni sui parametrivengono restituite in singole variabili. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri,causando un avviso aggiuntivo. Possibili nomi dei parametri del materiale corrispondenti ai parametri della definizione del materiale:param_name:"gs_mat_surface_rgb": superficie R, G, B [0.0..1.0]"gs_mat_surface_r": superficie R [0.0..1.0]"gs_mat_surface_g": superficie G [0.0..1.0]"gs_mat_surface_b": superficie B [0.0..1.0]"gs_mat_ambient": coefficiente ambientale [0.0..1.0]"gs_mat_diffuse": coefficiente diffusione [0.0..1.0]"gs_mat_specular": coefficiente speculare [0.0..1.0]

Varie

Guida di Riferimento al GDL 517

"gs_mat_transparent": coefficiente di trasparenza [0.0..1.0]"gs_mat_shining": lucentezza [0.0..100.0]"gs_mat_transp_att": attenuazione trasparenza [0.0..4.0]"gs_mat_specular_rgb": colore speculare R, G, B [0.0..1.0]"gs_mat_specular_r": colore speculare R [0.0..1.0]"gs_mat_specular_g": colore speculare G [0.0..1.0]"gs_mat_specular_b": colore speculare B [0.0..1.0]"gs_mat_emission_rgb": colore emissione R, G, B [0.0..1.0]"gs_mat_emission_r": colore emissione R [0.0..1.0]"gs_mat_emission_g": colore emissione G [0.0..1.0]"gs_mat_emission_b": colore emissione B [0.0..1.0]"gs_mat_emission_att": attenuazione emissione [0.0..65.5]"gs_mat_fill_ind": indice retino"gs_mat_fillcolor_ind": indice colore retino"gs_mat_texture": indice tessitura

Esempio 17:n = REQUEST{2} ("Material_info", "Brick-Face", "gs_mat_ambient", a)n = REQUEST{2} ("Material_info", 1, "gs_mat_surface_rgb", r, g, b)n = REQUEST{2} ("Material_info", "Brick-Face", "gs_mat_texture", file_name, w, h, mask, alfa)n = REQUEST{2} ("Material_info", "My-Material", "my_extra_parameter", e)

n = REQUEST{2} ("Building_Material_info", name_or_index, param_name, value_or_values)Restituisce le informazioni nelle variabili date su un parametro del materiale da costruzione specificato. L'espressione restituisce 0 e contiene valori diritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo. Possibili nomi dei parametri del materiale da costruzionecorrispondenti ai parametri della definizione del materiale da costruzione:param_name:"gs_bmat_id": id materiale da costruzione"gs_bmat_surface": indice di superficie materiale da costruzione"gs_bmat_description": descrizione materiale da costruzione"gs_bmat_manufacturer": produttore materiale da costruzione"gs_bmat_collisiondetection": il materiale da costruzione partecipa alla verifica delle collisioni (0 o 1)

Varie

Guida di Riferimento al GDL 518

"gs_bmat_intersectionpriority": priorità di intersezione del materiale da costruzione"gs_bmat_cutFill_properties": proprietà del retino di sezione del materiale da costruzione (numero indice retino di taglio,numero indice penna in primo piano del retino sezione, numero indice penna dello sfondo del retino sezione)"gs_bmat_physical_properties": proprietà fisiche dei materiali da costruzione (conducibilità termica, densità, capacità termica,energia incorporata, carbonio incorporato)

Esempio 18:n = REQUEST{2} ("Building_Material_info", "Brick", "gs_bmat_id", id)n = REQUEST{2} ("Building_Material_info", "Brick", "gs_bmat_surface", index)n = REQUEST{2} ("Building_Material_info", "Brick", "gs_bmat_physical_properties", thermalConductivity, density, heatCapacity, embodiedEnergy, embodiedCarbon)

n = REQUEST ("FONTNAMES_LIST", "", fontnames)Restituisce nelle variabili date i nomi dei font disponibili sul computer corrente (con i codici dei caratteri inclusi). Questo elenco (o qualsiasiparte di questo elenco) può essere utilizzato in un comando VALUES per impostare un popup del nome del carattere. Il valore restituito dallafunzione è il numero di valori recuperati con successo, 0 se si è verificato un errore.

Esempio 19:dim fontnames[]n = REQUEST ("FONTNAMES_LIST", "", fontnames)VALUES "f" fontnames, CUSTOMQuesta forma di VALUES assembla un pop-up di fontnames per il semplice parametro di tipo stringa "f". La variabile "fontnames"contiene i possibili fontnames (con codici carattere inclusi) che possono essere impostati manualmente o utilizzando il comando REQUEST("FONTNAMES_LIST", ...). La parola chiave CUSTOM è necessaria per la corretta gestione dei font mancanti su altre piattaforme / computer:se specificato, un fontname impostato su un'altra piattaforma / computer mancante nell'ambiente corrente verrà conservato nelle impostazionidei parametri come valore personalizzato (altrimenti, a causa dell'implementazione di VALUES, un valore di popup di stringa mancantenelle impostazioni dei parametri verrà sostituito con il primo valore di stringa corrente). Si consiglia di includere questa funzione nel fileArchicad_Library_Master.

n = REQUEST ("HomeDB_info", "", homeDBIntId, homeDBUserId, homeDBName, homeContext)Restituisce nelle variabili date l'ID interno (intero), l'ID utente e il nome (stringhe) del database home (dove è stata collocata l'elemento dilibreria contenente questa richiesta).• se posizionato in pianta: l'ID interno del piano, l'indice come stringa e il nome, homeContext = 1,

Varie

Guida di Riferimento al GDL 519

• se posizionato su una sezione: l'ID interno della sezione, l'ID di riferimento e il nome, homeContext = 2,• se posizionato su un dettaglio: l'ID interno di dettaglio, l'ID di riferimento e il nome, homeContext = 3,• se posizionato su un layout master: l'ID interno del layout, la stringa vuota e il nome, homeContext = 4,• se posizionato su un layout: l'ID interno del layout, numero e nome, homeContext = 5.Per le etichette i dati restituiti si riferiscono all'elemento etichettato. I dati raccolti possono essere utilizzati per identificare in modo univoco glielementi in diversi database Archicad di un file di pianta. Provoca un avviso se utilizzato nello script dei parametri.n = REQUEST ("floor_plan_option", "", storyViewpointType)Restituisce il tipo di punto di vista del piano impostato nelle Opzioni Vista Modello. 0 sta per "Pianta", 1 sta per "Pianta Soffitto". L'espressionerestituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n = REQUEST ("class_of_fill", index, class)Restituisce la classe del retino identificata dall'indice nella variabile di classe. Provoca un avviso se utilizzato nello script dei parametri.class: Possibili valori:1: retino vettoriale2: retino simbolo3: retino traslucido4: retino a gradiente lineare5: retino a gradiente radiale6: retino immagine

n = REQUEST ("view_rotangolo", "", angoloViewRotation)Restituisce l'angolo di rotazione della vista corrente. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello scriptdei parametri, causando un avviso aggiuntivo.n = REQUEST ("program_info", "", name[, version[, keySerialNumber[, isCommercial]]])Restituisce informazioni sul programma attualmente in esecuzione. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) seutilizzata nello script dei parametri, causando un avviso aggiuntivo.name: nome del programmaversion: numero di versione del programmakeySerialNumber: numero di serie della chiaveisCommercial: restituisce vero se è in esecuzione una versione completa (commerciale) del programman = REQUEST ("Configuration_number", "", stConfigurationNumber)Restituisce il numero di configurazione (come espressione stringa) assegnato alla licenza corrente di Archicad in caso di licenza software ochiave hardware. Restituisce una stringa vuota in caso di licenze Edu, Trial o Demo. Ogni numero di configurazione è unico e non cambia.

Varie

Guida di Riferimento al GDL 520

L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.Compatibilità: introdotto in Archicad 20.n = REQUEST (extension_name, parameter_string, variable1, variable2, ...)Se la domanda non è una di quelle elencate sopra, la funzione REQUEST () tenterà di utilizzarla come nome specifico dell'estensione. Sequesta estensione viene caricata, verrà utilizzata per ottenere tutti i nomi di variabili specificati. La stringa del parametro viene interpretatadall'estensione.n = REQUEST ("COMPONENT_PROJECTED_AREA", idxSkin, projectedArea)Restituisce l'area proiettata dello strato indicizzato. Disponibile solo nello script di proprietà (altri script restituiscono 0). L'espressione restituisce 0e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.idxSkin: Possibili valori:0: per gli elementi di base1- : indice dello strato nei compositi1- : indice della componente nei profili

Esempio 20:n = request ("COMPONENT_PROJECTED_AREA", 0, a)COMPONENT "Projected Area", a, "m2"Utilizzato nello script di proprietà, richiede prima l'area dello strato, quindi crea un componente utilizzando il valore restituito.

n = REQUEST ("COMPONENT_VOLUME", idxSkin, skinVolume)Restituisce il volume dello strato/componente indicizzato. Disponibile solo nello script di proprietà (altri script restituiscono 0). L'espressionerestituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.idxSkin: Possibili valori:0: per gli elementi di base1- : indice dello strato nei compositi1- : indice della componente nei profili

Esempio 21:n = request ("COMPONENT_VOLUME", 0, v)COMPONENT "Volume", v, "m3"Utilizzato nello script di proprietà, richiede prima il volume dello strato, quindi crea un componente utilizzando il valore restituito.

Varie

Guida di Riferimento al GDL 521

n = REQUEST ("DateTime", format_string, datetimestring)Restituisce la data e l'ora correnti come stringa formattata in datetimestring. Utilizza l'add-on DateTime, aprendo e chiudendo il canalerichiesto.format_string: Stringa di formato, descritta in paramString parametro di sezione chiamata «Apertura del Canale» .datetimestring: la stringa formattata viene restituita in questa variabileLe richieste generano un avviso se vengono utilizzate nello script dei parametri.

Richieste di Profilon = REQUEST ("Name_of_Profile", index, name)Restituisce nella variabile name il nome del profilo identificato da index. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.Compatibilità: introdotto in Archicad 21.n = REQUEST ("Profile_components", name_or_index, nComponents, compType1, compType2, ..., compTypen)Restituisce il numero (nComponents) e tipi di componenti (compTypen) del profilo identificato per nome o indice. L'espressione restituisce 0e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.compTypei: Possibili valori dei tipi di componenti del profilo:0: struttura1: finitura2: altro

Compatibilità: introdotto in Archicad 21.

Esempio 1:_nComponents = 0dim _componentTypes[]n = REQUEST ("Profile_components", myProfileIdx, _nComponents, _componentTypes

n = REQUEST ("Profile_default_boundingbox", name_or_index, xmin, ymin, xmax, ymax)Restituisce il 2 punto di coordinate di definizione del rettangolo di ingombro originale relativo all'origo del profilo identificato dal nome odall'indice. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.Compatibilità: introdotto in Archicad 21.

Varie

Guida di Riferimento al GDL 522

n = REQUEST ("Profile_default_geometry", name_or_index, n1, n2, ..., nm, x11, y11, edgeVisible11, vertEdgeVisible11, additionalStatus11, ..., x1n1, y1n1, edgeVisible1n1, vertEdgeVisible1n1, additionalStatus1n1, x21, y21, edgeVisible21, vertEdgeVisible21, additionalStatus21, ..., x2n2, y2n2, edgeVisible2n2, vertEdgeVisible2n2, additionalStatus2n2, ..., xm1, ym1, edgeVisiblem1, vertEdgeVisiblem1, additionalStatusm1, ..., xmnm, ymnm, edgeVisiblemnm, vertEdgeVisiblemnm, additionalStatusmnm)Restituisce i dati geometrici originali del profilo identificato dal nome o dall'indice. L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringavuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.n1...ni: quindi il numero di nodi di contorno in ciascun componente del profilo. Il numero totale di componenti del profilo (m) può

essere restituito dalla richiesta "Profile_components".edgeVisiblei: è visibile il contorno a partire dal nodo i.vertEdgeVisiblei: è visibile il bordo verticale a partire dal nodo i, utilizzabile in 3D (0 in caso di poligono segmentato).additionalStatusi: utilizzato per i segmenti e gli archi della polilinea (impostare il punto centrale = 900, l'arco utilizzando il punto

centrale e l'angolo = 4000, ecc.), o per contrassegnare il punto di controllo finale del contorno (-1, in questo caso il vertEdgeVisibleie edgeVisiblei vengono impostati automaticamente su 0).

I parametri di stato restituiti in questa struttura supportano diverse definizioni del tipo di stato di poly2, cprism, tube. Ogni formato può esserecalcolato con il seguente metodo:

Esempio 2:poly2Status = edgeVisible + additionalStatusprismStatus = additionalStatustubeStatus = additionalStatusif additionalStatus >= 0 then ! not contour end if edgeVisible then prismStatus = prismStatus + 15 ! j1, j2, j3, j4 endif if verticalEdgeVisible = 0 then prismStatus = prismStatus+ 64 ! j7 ! nel tube, i bordi laterali a partire dal nodo vengono utilizzati per mostrare il contorno tubeStatus = tubeStatus + 1 endifendif

Compatibilità: introdotto in Archicad 21.n = REQUEST{4} ("Profile_component_info", name_or_index, component_ind, param_name, value)

Varie

Guida di Riferimento al GDL 523

Restituisce un valore di attributo richiesto di un componente dedicato (da component_ind) del profilo identificato per nome o indice.L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.Il component_ind deve essere nell'intervallo valido di nComponents (definito dalla richiesta "Profile_components").param_name: indirizza le impostazioni degli attributi del Gestore Profilo, restituite in value"gs_profile_bmat": indice materiale da costruzione del componente"gs_profile_surface": sovrascrive l'indice di superficie del componente (in caso di impostazioni di sovrascritture attive; altrimentirestituisce la superficie del materiale da costruzione)"gs_profile_showoutline": "Impostazione "Mostra contorno" del componente"gs_profile_outlinetype": Impostazione "Tipo di contorno" del componente"gs_profile_outlinepen": Impostazione "Penna contorno" del componente

I valori degli attributi di ritorno possono essere utilizzati in qualsiasi comando relativo agli attributi, come POLY2_B{6}, dove le sezioni delcontorno del poligono possono essere personalizzate individualmente.Compatibilità: introdotto in Archicad 21.n = REQUEST{4} ("Profile_component_info", name_or_index, component_ind, param_name, value1, value2, ..., valuen)Restituisce gli attributi richiesti di tutti i bordi nel componente dedicato (da component_ind) del profilo identificato per nome o indice.L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.Il component_ind deve essere nell'intervallo valido di nComponents (definito dalla richiesta "Profile_components").param_name: indirizza le impostazioni degli attributi di Gestore Profilo Manager, restituite in value"gs_profile_comp_surfaces": indici di superficie individuali dei bordi del componente"gs_profile_comp_pens": indici di penna individuali dei bordi del componente"gs_profile_comp_linetypes": indici dei tipi di linea individuali dei bordi del componente

I valori degli attributi di ritorno possono essere utilizzati in qualsiasi comando relativo agli attributi, come POLY2_B{6}, dove le sezioni delcontorno del poligono possono essere personalizzate individualmente.Compatibilità: introdotto in Archicad 21.

Richieste obsoleten = REQUEST ("Constr_Fills_display", "", optionVal)L'espressione restituisce 0 e contiene valori di ritorno fittizi (stringa vuota o 0) se utilizzata nello script dei parametri, causando un avviso aggiuntivo.Compatibilità fino ad Archicad 19: restituisce nella variabile data il valore dell'opzione Visualizza Sezione come impostato in Documento / Imposta Vista Modello /Opzioni Vista Modello. (precedente Retini di Costruzione).

Varie

Guida di Riferimento al GDL 524

Compatibilità a partire da Archicad 20: il valore restituito è sempre 6 per impostazione predefinita (Motivi Retini Sezione: come in Impostazioni).optionVal: codice di visualizzazione del Retino Sezione.1: Mostra solo i contorni del Retino Sezione (precedente Vuoto)2: Mostra i contorni del Retino Sezione solo con linee di separazione (precedente Senza Retini)4: Motivi Retino Sezione: Pieno (precedente Pieno)6: Motivi Retino Sezione: come in Impostazioni (precedente Campitura Vettoriale)

n = REQUEST ("internal_ID", "", id)Restituisce sempre1. Utilizza invece la variabile globale GLOB_INTGUID.

OPZIONI DI QUERY DELL'APPLICAZIONEn = APPLICATION_QUERY (extension_name, parameter_string, variable1, variable2, ...)Di seguito è riportato un elenco delle funzioni di richiesta che Archicad può fornire con l'ausilio del comando APPLICATION_QUERY.Queste opzioni di richiesta sono fornite nei parametri del comando extension_name e parameter_string. Si noti che le opzioni di query e ivalori restituiti di APPLICATION_QUERY possono variare in base al contesto di esecuzione.L'utilizzo dei seguenti tipi di query dell'applicazione nello script dei parametri non è supportato. Queste query generano avvisi GDL a partireda Archicad 19 e restituiranno 0 o una stringa vuota a partire dalle versioni successive. La restrizione si applica a:• "document_feature"

Caratteristica del documentoQuesto comando può restituire le caratteristiche del documento/vista attivo. Attualmente c'è solo una caratteristica che può restituire: ladirezione di visualizzazione del documento. Questi tipi di query sono limitati dallo script dei parametri e causano avvisi GDL.

Direzione di Visualizzazionen = APPLICATION_QUERY ("document_feature", "view_direction", type)Questo comando restituisce la direzione di visualizzazione del tipo di documento corrente in cui l'oggetto viene visualizzato. Questo comandonon ha parametri aggiuntivi.type: Valori di tipo restituiti:"vertical_only": per la pianta"horizontal_only": per la sezione e l'alzato generato dal 3D (non quando l'oggetto è posizionato in una S/A)"free": per documenti 3D e 3D"none"

Varie

Guida di Riferimento al GDL 525

"unset"

Sistema MEPQuesto comando restituisce i tipi di sistema MEP e le informazioni sui sistemi MEP. Ha più funzioni che possono essere indirizzate tramiteil parametro parameter_string:

Ottieni Sistemi MEPDIM d[2][]n = APPLICATION_QUERY ("MEPSYSTEM", "GetMEPSystems(domain)", d)domain: Indice di classificazione MEP (Condutture - 1, Tubazioni - 2) (GDL definisce le classificazioni MEP in base alla classe del connettore)d: Matrice di valori:[2*k-1]: Indice del sistema MEP[2*k]: Nome del sistema MEP

n: Numero di sistemi MEP moltiplicato per 2.

Ottieni dominion = APPLICATION_QUERY ("MEPSYSTEM", "GetDomain(idx)", d)idx: Indice del sistema MEPd: domini (intero)1: Condutture2: Tubazioni3: Condutture e Tubazioni4: Caveria5: Condutture e Caveria6: Tubazioni e Caveria7: Condutture, Tubazioni e Caveria

n: 1 in caso di successo, 0 in caso contrario

Ottieni Penna Contornon = APPLICATION_QUERY ("MEPSYSTEM", "GetContourPen(idx)", pen)idx: Indice del sistema MEP

Varie

Guida di Riferimento al GDL 526

pen: indice penna contorno (intero)n: 1 in caso di successo, 0 in caso contrario

Ottieni Penna Retinon = APPLICATION_QUERY ("MEPSYSTEM", "GetFillPen(idx)", pen)idx: Indice del sistema MEPpen: indice penna retino (intero)n: 1 in caso di successo, 0 in caso contrario

Ottieni Penna Sfondon = APPLICATION_QUERY ("MEPSYSTEM", "GetBgPen(idx)", pen)idx: Indice del sistema MEPpen: indice penna sfondo (intero)n: 1 in caso di successo, 0 in caso contrario

Ottieni Tipo Retinon = APPLICATION_QUERY ("MEPSYSTEM", "GetFillType(idx)", filltype)idx: Indice del sistema MEPfilltype: indice tipo retino (intero)n: 1 in caso di successo, 0 in caso contrario

Ottieni tipo linea centralen = APPLICATION_QUERY ("MEPSYSTEM", "GetCenterLineType(idx)", line)idx: Indice del sistema MEPline: indice del tipo di linea centrale (intero)n: 1 in caso di successo, 0 in caso contrario

Ottieni penna linea centralen = APPLICATION_QUERY ("MEPSYSTEM", "GetCenterLinePen(idx)", pen)idx: Indice del sistema MEP

Varie

Guida di Riferimento al GDL 527

pen: indice penna linea centrale (intero)n: 1 in caso di successo, 0 in caso contrario

Ottieni materiale di sisteman = APPLICATION_QUERY ("MEPSYSTEM", "GetSystemMaterial(idx)", material)idx: Indice del sistema MEPmaterial: indice materiale di sistema (intero)n: 1 in caso di successo, 0 in caso contrario

Ottieni materiale isolanten = APPLICATION_QUERY ("MEPSYSTEM", "GetInsulationMaterial(idx)", material)idx: Indice del sistema MEPmaterial: indice materiale isolante (intero)n: 1 in caso di successo, 0 in caso contrario

MEP ModelerQuesto comando restituisce se il modellatore MEP Modeler è attivo. Ha una funzione che può essere indirizzata tramite il parametroparameter_string:

È disponibilen = APPLICATION_QUERY ("MEPMODELER", "IsAvailable()", isavailable)isavailable: È presente MEP Modeler (intero)n: 1 in caso di successo, 0 in caso contrario

Tipo di connessione MEPQuesto comando restituisce i tipi di connessione e gli stili dei tipi di connessione. Ha due funzioni che possono essere indirizzate tramite ilparametro parameter_string:

Ottieni tipi di connessioneDIM d[2][]

Varie

Guida di Riferimento al GDL 528

n = APPLICATION_QUERY ("MEPCONNECTIONTYPE", "GetConnectionTypes(connectorClass)", d)connectorClass: classe connettore (condotto - 1, tubo - 2, portacavi – 3)d: Matrice di valori:[2*k-1]: GUID tipo di connessione[2*k]: nome del tipo di connessione

n: Numero di tipi di connessione moltiplicato per 2.

Ottieni stile tipo di connessioneDIM d[]n = APPLICATION_QUERY ("MEPCONNECTIONTYPE", "GetConnectionTypeStyle(connectorClass)", d)connectorClass: classe connettore (condotto - 1, tubo - 2, portacavi – 3)d: Matrice di valori:[]: stili del tipo di connessione

n: Numero di tipi di connessione.

Segmento flessibile MEPQuesto comando restituisce la geometria dei segmenti flessibili. Ha quattro funzioni che possono essere indirizzate tramite il parametroparameter_string:

Inizio del sezionamenton = APPLICATION_QUERY ("MEPFLEXIBLESEGMENT", "StartSectioning()", r)Indica che il sezionamento è iniziato.r: non usaton: 1 in caso di successo, 0 in caso contrario

Aggiungi punto di controllon = APPLICATION_QUERY ("MEPFLEXIBLESEGMENT", "AddControlPoint(x; y; z)", r)Fornisce un punto di controllo all'add-on.AddControlPoint:x: Coordinata X del punto di controllo

Varie

Guida di Riferimento al GDL 529

y: Coordinata Y del punto di controlloz: Coordinata Z del punto di controllo

r: non usaton: 1 in caso di successo, 0 in caso contrario

Aggiungi direzione e vettore di larghezzan = APPLICATION_QUERY ("MEPFLEXIBLESEGMENT", "AddDirectionAndWidthVector(i; dx; dy; dz; wx; wy; wz)", r)Fornisce la direzione e i vettori laterali delle estremità della spline all'add-on. Viene chiamato due volte.AddDirectionAndWidthVector:i: id della porta (1: 0. porta, 2: 1. porta ecc.)dx: Componente X del vettore di direzione della portady: Componente Y del vettore di direzione della portadz: Componente Z del vettore di direzione della portawx: Componente X del vettore laterale della portawy: Componente Y del vettore laterale della portawz: Componente Z del vettore laterale della porta

r: non usaton: 1 in caso di successo, 0 in caso contrario

Fine del sezionamentoDIM d[]n = APPLICATION_QUERY ("MEPFLEXIBLESEGMENT", "EndSectioning(res)", d)Ottenere il risultato del sezionamento.res: risoluzione del sezionamentod: Matrice di valori:[9*k-8]: Posizione X del segmento k[9*k-7]: Posizione Y del segmento k[9*k-6]: Posizione Z del segmento k[9*k-5]: Componente X del vettore tangente del segmento k[9*k-4]: Componente Y del vettore tangente del segmento k

Varie

Guida di Riferimento al GDL 530

[9*k-3]: Componente Z del vettore tangente del segmento k[9*k-2]: Componente X del segmento k del vettore normale[9*k-1]: Componente Y del segmento k del vettore normale[9*k]: Componente Z del segmento k del vettore normale

n: Numero di segmenti

Curva MEPQuesto comando restituisce la geometria del segmento flessibile. Ha quattro funzioni che possono essere indirizzate tramite il parametroparameter_string:

Inizio del Sezionamenton = APPLICATION_QUERY ("MEPBEND", "GetBendTypeNames()", d)d: Nomi dei tipi di curva (esempi di versione INT)"Radius""Square Throat""Mitered""45° Throat with 45° Heel""45° Throat with 90° Heel""45° Throat with Radius Heel""Radius Throat with 90° Heel""Pleated""Stamped""Segmented""Segmented Standing Seam"

n: 1 in caso di successo, 0 in caso contrario

Script dei parametriQuesto comando può restituire varie condizioni dello script dei parametri. Attualmente c'è solo una caratteristica che può restituire: la distinzionedella prima esecuzione.

Prima occasione in corson = APPLICATION_QUERY ("parameter_script", "firstoccasion_in_progress", isFirstRun)

Varie

Guida di Riferimento al GDL 531

Questo comando restituisce se l'esecuzione corrente è la prima esecuzione o una conseguenza di una precedente esecuzione dello script deiparametri che ha modificato alcuni parametri. Questo comando non ha parametri aggiuntivi.La distinzione può essere importante quando una parte dello script del parametro esegue un evento attivato - per esempio. gestisce la pressionedi un pulsante funzione.isFirstRun: Il valore restituito mostra se l'esecuzione corrente è la prima esecuzione

Proprietà principali e IFCQuesti comandi restituiscono i nomi delle cartelle, i nomi dei parametri e i valori dei parametri delle proprietà principali e IFC nella scheda"Classificazione e proprietà" (ID e categorie, Ristrutturazione, Proprietà IFC). Nessun dato viene restituito dallo script 3D e il risultatodell'espressione è 0.Compatibilità: fino ad Archicad 19 la scheda si chiamava "Etichette e Categorie". È stato rinominato "Categorie e proprietà" in Archicad 20 con l'aggiunta diproprietà definite dall'utente. Queste query non restituiscono proprietà definite dall'utente.L'ordine dei parametri è lo stesso della scheda. Ci sono due possibiliextension_names in questi comandi:• "OwnCustomParameters" restituisce i parametri dell'oggetto• "ParentCustomParameters" restituisce i parametri del genitore dell'oggetto

Compatibilità: in Archicad 20 i dati dell'elemento genitore (per le etichette) sono stati resi disponibili anche con REQUEST "Properties_Of_Parent". Queste queryrestituiscono le proprietà corrispondenti ai tipi proprietà "COREPROPERTY" e "IFCPROPERTY".

Ottieni i nomi delle cartelle dei parametriDIM folderNamesArray[] ! idString1, shortNameString1, longNameString1, ! ... ! idStringi, shortNameStringi, longNameStringi

n = APPLICATION_QUERY (extension_name, "GetParameterFolderNames()", folderNamesArray)Restituisce i nomi delle cartelle delle proprietà principali e IFC.folderNamesArray: Matrice di stringhe che contiene i nomi delle cartelle delle proprietàn / 3: Numero di cartelle

Varie

Guida di Riferimento al GDL 532

Ottieni nomi di parametriDIM parNamesArray[] ! idString1, shortNameString1, longNameString1, ! ... ! idStringj, shortNameStringj, longNameStringj n = APPLICATION_QUERY (extension_name, "GetParameterNames(folderID)", parNamesArray)Restituisce i nomi delle proprietà principali e IFC.GetParameterNames:folderID: La stringa ID della cartella restituita da "GetParameterFolderNames".

parNamesArray: Matrice di stringhe che contiene i nomi delle proprietàn / 3: Numero di parametri

Ottieni parametron = APPLICATION_QUERY (extension_name, "GetParameter(parID)", parValue)Restituisce il valore di una proprietà principale o IFC.GetParameter:parID: La stringa ID del parametro restituito da "GetParameterNames".

parValue: Stringa che contiene il valore della proprietàn: 1 in caso di successo, 0 in caso contrario

Varie

Guida di Riferimento al GDL 533

Esempio: Interrogazione di tutti i valori delle proprietà principali e IFCDIM folderNamesArray[]n = APPLICATION_QUERY ("OwnCustomParameters", "GetParameterFolderNames()", folderNamesArray)

for i = 1 to vardim1(folderNamesArray) step 3

DIM parNamesArray[] querystring = "GetParameterNames(" + folderNamesArray[i] + ")" n = APPLICATION_QUERY ("OwnCustomParameters", querystring, parNamesArray)

for j = 1 to vardim1(parNamesArray) step 3

parValue = "" querystring = "GetParameter(" + parNamesArray[j] + ")" n = APPLICATION_QUERY ("OwnCustomParameters", querystring, parValue)

next jnext i

Library managerThis command can return various features of the library manager.

File Iesn = APPLICATION_QUERY ("LIBRARY_MANAGER", "IES_FILES", ies_files_list)Questo comando restituisce l'elenco dei nomi di file con estensioni .ies caricati con le librerie attive.

File di immagine dell'utenten = APPLICATION_QUERY ("LIBRARY_MANAGER", "USER_IMAGE_FILES", image_files_list)Questo comando restituisce l'elenco dei nomi dei file immagine forniti dall'utente caricati con le librerie attive (file immagine che non si trovanonelle cartelle dedicate con nomi contenenti [TImg]*, [BImg]*, [UImg]*, o [HImg]*)

Varie

Guida di Riferimento al GDL 534

GUIDA ALLO STILE GDL

IntroduzioneQuesto documento contiene lo standard di codifica GDL di GRAPHISOFT, che stabilisce principalmente i requisiti formali per la scritturadel codice sorgente. Descrive anche alcune regole e consigli per il contenuto. Devi obbedire a queste regole per produrre script gestibili; perimpostazione predefinita, ogni frase dichiarativa o imperativa è una regola, tranne dove è esplicitamente indicato 'raccomandazione' (o evitabile,opzionale, ecc.).Questo documento è stato creato per stabilire un formato comune di scripting GDL. Il linguaggio GDL è insensibile al caso dei caratteri(maiuscolo/minuscolo) e alla maggior parte dei caratteri di spazio bianco. Di conseguenza, esistono molte pratiche e standard di codifica. Questodiventa intollerabile, quando tali pratiche si incontrano nello stesso progetto o organizzazione. Le sezioni seguenti descrivono lo standardaziendale GRAPHISOFT, che rimane puramente una raccomandazione per gli sviluppatori non correlati a GRAPHISOFT. Il presunto formatonon sarà mai incluso nei vincoli del linguaggio GDL.

Convenzioni di denominazione

Regole generaliA causa della gerarchia del sottotipo, le parti degli elementi di libreria figlio ereditano automaticamente tutti i parametri del genitore. (Ulterioriinformazioni sui sottotipi e sui parametri nella Guida per l'Utente di Archicad). I parametri sono identificati dal loro nome, quindi i parametriereditati e originali possono avere lo stesso nome. È responsabilità dell'autore della libreria evitare conflitti utilizzando nomi di parametridescrittivi preceduti da nomi di elementi di libreria abbreviati. Per i parametri del gestore e i parametri definiti dall'utente, GRAPHISOFT haintrodotto una convenzione di denominazione dei parametri nelle sue librerie.

NotaI gestori aggiungono funzionalità extra alle parti della libreria (ad esempio porte e finestre tagliano buchi nei muri). I nomi dei parametricon il prefisso ac_ sono riservati a parametri speciali associati ai gestori Archicad (es. ac_corner_window). Controllare i template disottotipo di libreria Archicad standard per l'elenco completo.

I nomi dei parametri GRAPHISOFT standard sono contrassegnati con il prefisso gs_ (ad esempio gs_frame_pen). Si prega di controllaregli elementi di libreria Archicad per riferimento. Utilizza questi parametri negli script GDL per garantire la piena compatibilità con le librerieGRAPHISOFT.FM_ è riservato ad ArchiFM (ad esempio FM_Type).

Varie

Guida di Riferimento al GDL 535

Nomi variabiliI nomi delle variabili e dei parametri devono essere correlati alla funzione del parametro.mixedCase: inizia con una lettera minuscola; ogni nuova parola dovrebbe iniziare con una lettera maiuscola. Es.: size, bRotAngle180,upperLeftCorner

Non utilizzare una o due lettere di nomi di variabili: nessuno saprà cosa intendi.È necessario utilizzare un prefisso nei nomi di variabile generalmente utilizzati per denotare categorie generali. Questo può risparmiare tempoquando qualcuno ha bisogno di scoprire il tipo di una variabile o di un parametro. Non dimenticare di sostituire il prefisso se cambi il significatodi una variabile.

Tabella 6. Prefissi dei nomi delle variabili

Prefisso Significato Esempio

i Valore intero / indice intero generali iRiser

n Valore intero: quantità di qualcosa nRiser

b Valore booleano bHandrail

st Valore del tipo di stringa stPanelTypes

x Coordinata X di un punto xRailPos

y Coordinata Y di un punto yRailPos

pen Colore penna penContour

lt Tipo Linea ltContour

fill Tipo Retino fillMainBody

mat Tipo Materiale matCover

L'utilizzo di trattini bassi (_) è consigliato per distinguere variabili e parametri nello stesso script: usa un singolo carattere di sottolineatura (_)prefisso per una variabile in uno script e doppio (__) per una variabile dichiarata e utilizzata solo all'interno di una sezione di subroutine. Nonutilizzare trattini bassi all'inizio dei nomi dei parametri o per separare le parole in un nome. I nomi storici provenienti da sottotipi sono eccezioni.Esempio

Varie

Guida di Riferimento al GDL 536

_iDoorTypes = iDoorTypes! La variabile "_iDoorTypes" ottiene il valore del parametro "iDoorTypes"gosub "exampleScript"end

"ScriptEsempio": __iDoorTypes = _iDoorTypes * 3 ! La variabile di subroutine "__iDoorTypes" ottiene il valore di 3 volte la variabile "_iDoorTypes"return

Lettere maiuscole• I comandi dovrebbero essere scritti costantemente in minuscolo o maiuscolo secondo i tuoi gusti. GRAPHISOFT consiglia le lettere

minuscole.• Le variabili globali GDL dovrebbero sempre essere scritte in maiuscolo per facilitare la lettura dello script.• Le seguenti parole chiave devono essere minuscole: call, goto, gosub, parameters.

Espressioni• Lo spazio dovrebbe essere usato davanti e dietro i seguenti operatori binari:

◦ aritmetico: *, /, % (mod), +, -, ^ (**)◦ logico: & (and), | (or), @ (excluding or), =, <> (#), <, <=, >, >=◦ assegnazione: =Es.:a = (b + c % d) * e

• Non sono consentiti spazi davanti e dietro i seguenti operatori unari:◦ subscripting: array[25] Nota: evitare lo spazio tra parentesi (array[ 5]) per rendere più facile la funzione "trova"◦ no logico: not(x)◦ meno unario, più unario: -x, +x

• Le chiamate di funzione dovrebbero avere uno spazio davanti alla parentesi aperta dell'elenco dei parametri e dietro ogni virgola che separai parametri:abs (signedLength)minimum = min (a, 25 * b, c)

• Quando si verifica l'uguaglianza con le costanti (es. i = 5) la costante dovrebbe essere il secondo operando.• Quando si assegnano valori alle variabili booleane, l'espressione logica deve essere racchiusa tra parentesi:

Varie

Guida di Riferimento al GDL 537

bBoolValue = (i > j)• Non utilizzare il risultato booleano della negazione logica di valori interi o variabili. Per esempio, invece di if not(iIntVal) then

si prega di utilizzare if iIntVal = 0 then. (Ovviamente, le variabili e le espressioni booleane possono essere negate, ad es. ifnot(bBoolVal) then).

• Non confrontare le variabili e le espressioni booleane con vero o falso; usa il valore del Booleano o il suo valore negato:bBoolVal = 1if bBoolVal then ! invece di: if bBoolVal = 1 ...endifif not(bBoolVal) then ! invece di: if bBoolVal = 0 ...endif

• Espressioni complesse (ad es. dove and e or sono entrambi presenti) dovrebbe essere tra parentesi per chiarire la precedenza.• Metti parentesi attorno alle combinazioni di operatori usate raramente.• Le espressioni logiche costituite da molte parti dovrebbero essere posizionate su più righe e dovresti anche allineare le sottoespressioni o

gli operatori logici:bResult = (bValue1 & bValue3 & not(bValueWithLongerName)) | \ (not(bValue1) & not(bValue3) & bValueWithLongerName) | \ (not(bValuel2) & bValue3 & not(bValueWithLongerName)) | \ (bValue2 & not(bValue3) & bValueWithLongerName)

Istruzioni di controllo di flusso

if - else - endifEvita di utilizzare la forma di una riga delle espressioni condizionali.Per migliorare la leggibilità del codice, è essenziale esprimere la gerarchia di istruzioni annidate. L'esempio seguente mostra la tabulazioneconsigliata dei blocchi di codice.

Varie

Guida di Riferimento al GDL 538

if condizione1 then istruzione1 ... istruzionenelse istruzionen+1 ... istruzionen+mendif

if condizione2 then if condizione then ... else ... endif if condizione then ... endifelse ...endif

for - next, do - while, while - endwhile, repeat - untilPer migliorare la leggibilità del codice, è essenziale esprimere la gerarchia di istruzioni annidate. L'esempio seguente mostra la tabulazioneconsigliata dei blocchi di codice.

Varie

Guida di Riferimento al GDL 539

for i = valoreIniziale to valoreFinale istruzione1 ... istruzionennext i

do ... for i = valoreIniziale to valoreFinale istruzione1 ... istruzionen next i ... bCondizione = ... ...while bCondizione

SubroutineParti di codice che sono necessarie più di una volta dovrebbero essere trasformate in subroutine. Ciò rende le correzioni successive menorischiose e il codice più strutturato. L'etichetta della subroutine dovrebbe corrispondere alla sua funzione. Non utilizzare numeri come nomi,rende il codice illeggibile. Le variabili utilizzate e dichiarate solo all'interno di una subroutine dovrebbero iniziare con un doppio trattino basso.Stile (i testi in corsivo devono essere sostituiti implicitamente):

Varie

Guida di Riferimento al GDL 540

! ==============================================================================! Breve descrizione della funzionalità! ------------------------------------------------------------------------------! Parametri in ingresso:! par1: breve descrizione (tipo)! par2: breve descrizione (tipo)! ...! Uscita:! par1: breve descrizione! ...! Commento:! Osservazioni per il chiamante! Descrizione dei punti chiave dell'implementazione! ==============================================================================

titolo_subroutine: ! corporeturn Dovresti scrivere il corpo della subroutine rientrato da un campo tabulatore a destra.Dovresti lasciare due righe vuote dietro il 'return' di chiusura della subroutine.Dovresti scrivere una dichiarazione per riga.Se possibile, le subroutine non dovrebbero essere più lunghe di 1-2 schermate (circa 80 righe).Verificare la validità di tutti i parametri in entrata e/o dichiarare la restrizione nel commentoLe parole chiave call e i parameters sono minuscole.

Scrivere commentiLa lingua dei commenti dovrebbe essere l'inglese; evitare parolacce.Dovresti usare il seguente stile per i commenti:

Intestazione dello scriptÈ solo una raccomandazione

Varie

Guida di Riferimento al GDL 541

! <iniziali della persona di contatto>! ==============================================================================! Una frase che descrive lo scopo dello script! ------------------------------------------------------------------------------! Parametri in ingresso:! par1: descrizione del parametro (intero)! par2: descrizione del parametro (1 / -1)! par3: descrizione del parametro (0 / 1)! ...! Output: [se una macro restituisce valori]! [1]: descrizione del valore (tipo)! [2]: descrizione del valore (tipo)! [ ... NSP]: elementi originali della pila! Nota:! Descrizione più lunga.! Nota per il chiamante! ============================================================================== Qualsiasi codice può venire solo dopo questo.

Divisione di sezione

! ==============================================================================! Nome Sezione! ============================================================================== La lunghezza dell'intera riga di commento è di 80 caratteri.Per le subroutine dovresti sempre spiegare il significato di parametri non banali e il valore di ritorno. per gli indici indicare sempre l'intervallo(parte da 0 o 1, eventuali valori speciali, ecc.).Esempio in sezione chiamata «Subroutine»Dovresti sempre indicare con la parola chiave TODO se lasci qualcosa di incompiuto, è facile cercarlo in seguito:

n = 5 ! TODO: impostare le iniziali; sarà calcolato dalla lunghezza

Varie

Guida di Riferimento al GDL 542

Puoi anche inserire descrizioni di sezioni opzionali tra le righe del codice sorgente, a partire dalla profondità di tabulazione corrente. Puoianche aggiungere brevi spiegazioni alla fine della riga di origine aggiungendo una scheda alla fine; oppure, se ce ne sono più di questi, puoiallinearli con le schede.Dovresti sempre aggiungere commenti:• Per soluzioni insolite• Se aiutasse gli altri a capire il codice più rapidamente.• Se qualcosa è proibito o sconsigliato ad altri.Facoltativo (gli altri saranno grati) se aiuta in qualche modo.Non lasciare che i commenti interrompano il ritmo del codice o i meriti del codice.Quando si commenta un blocco di codice coerente, è possibile utilizzare il seguente formato:

! == nome del blocco di codice ===[istruzione1...istruzionen! ]=== nome del blocco di codice === Questo facilita l'isolamento del blocco dall'aspetto più alcuni editor supportano la ricerca della parentesi corrispondente tramite una scorciatoia(es.: ctrl + ] in Microsoft Visual Studio)Commenta la fine delle istruzioni "if" se ci sono molte righe di codice traif e endif come segue:

if condizione1 then ... if condizione2 then ... ! molte dichiarazioni ... endif ! if condizione2

endif ! if condizione1 Alcuni tipi di script (in particolare gli script di migrazione in avanti e all'indietro) hanno una forma consigliata di separatori e strutture. Adesempio, vedi la libreria Archicad o sezione chiamata «Standard tecnici di base».

Varie

Guida di Riferimento al GDL 543

Struttura dello ScriptImposta il tuo editor in modo che utilizzi 4 caratteri di tabulazione. Gli spazi non dovrebbero mai essere usati per tabulare le linee. Utilizzainvece gli spazi per adattare le espressioni l'una all'altra in linea.La lunghezza massima delle righe è di 120 caratteri. Le dichiarazioni non dovrebbero nemmeno avvicinarsi a questo numero. In caso affermativo,ricevi un avviso.Tutti i riferimenti ai nomi di file fanno distinzione tra maiuscole e minuscole negli script, le estensioni di conseguenza.I valori usati più volte dovrebbero essere calcolati direttamente prima del blocco di utilizzo se ben localizzato o altrimenti all'inizio dello script.Non ci sono compromessi. Calcola valori complessi solo una volta per risparmiare tempo di calcolo memorizzandoli in variabili (ma nonsprecare variabili non necessarie) o nello stack di trasformazione (add, rot, ecc.).Gli script dell'oggetto sono lineari, il che li rende più chiari. Le subroutine dovrebbero interromperlo solo quando un segmento di calcolo o digenerazione del modello è necessario più di una volta o per la leggibilità dello script. Evitare di scrivere due volte la stessa cosa è un principioimportante in tutti i linguaggi di programmazione. La ridondanza rende le modifiche successive molto più difficili.Cerca di non utilizzare rami di scelta enormi, prepara invece i dati per un comando di calcolo o generazione in blocchi di scelta più piccoli,dove puoi evitare la ridondanza più facilmente.

Varie

Guida di Riferimento al GDL 544

Cattiva soluzione

if bOnHomeStory then line_type ltContour fill gs_fill_type poly2_b 5, 3, gs_fill_pen, gs_back_pen, left, 0, 1, left, -depth, 1, right, -depth, 1, right, 0, 0, left, 0, -1endifif (bOnUpperStory or bOnAboveUpper) and bDrawContBB then line_type ltBelow fill fillTypeBelow poly2_b 5, 3, fillPenBelow, fillBackBelow, left, 0, 1, left, -depth, 1, right, -depth, 1, right, 0, 0, left, 0, -1endif La definizione della geometria è duplicata! Potrebbe essere anche peggio se la distanza tra i comandi identici fosse maggiore.

Varie

Guida di Riferimento al GDL 545

Buona soluzione

if bOnHomeStory then bPolygon = 1 line_type ltContour fill gs_fill_type fillPen = gs_fill_pen fillBGPen = gs_back_penendifif (bOnUpperStory or bOnAboveUpper) and bDrawContBB then bPolygon = 1 line_type ltBelow fill fillTypeBelow fillPen = fillPenBelow fillBGPen = fillBackBelowendifif bPolygon then poly2_b 5, 3, fillPen, fillBGPen, left, 0, 1, left, -depth, 1, right, -depth, 1, right, 0, 0, left, 0, -1endif Prepara i tuoi script per la localizzazione.Usa "asdf" per stringhe non localizzate (es. chiamate macro) e _("asdf") per le stringhe localizzate (ad es. costanti di stringa, valori diparametri).Usare virgolette speciali per indicare stringhe localizzate, ad es. `asdf` è deprecato.

Varie

Guida di Riferimento al GDL 546

STANDARD TECNICI DI BASE

IntroduzioneIl rilascio delle nuove versioni nazionali di Archicad®, la crescente linea di prodotti GRAPHISOFT e il portale BIMcomponents® hannonotevolmente aumentato la domanda di oggetti GDL e librerie di oggetti. Di conseguenza, molti programmatori GDL indipendenti o di terzeparti hanno iniziato a sviluppare librerie o oggetti per GRAPHISOFT.Le linee guida di base sono necessarie per mantenere questi oggetti compatibili e per raggiungere lo standard di qualità che le persone siaspettano dai prodotti GRAPHISOFT. Lo scopo di questo documento è fornire una guida agli sviluppatori GDL nella creazione di oggetti,con suggerimenti e trucchi utili, esempi, descrizioni di funzionalità di Archicad precedentemente non documentate e nuove.

Formato dell'elemento di libreria

Estensione del fileLa maggior parte degli oggetti della libreria GDL vengono salvati con l'estensione *.gsm e si distinguono per il loro sottotipo in Archicad.Esiste un'estensione speciale, *.gdl (file di script GDL) per i file MASTER_GDL/MASTEREND_GDL. Archicad gestisce in modo specialequalsiasi file di script GDL che inizi con la stringa "MASTER_GDL ..." o "MASTEREND_GDL ..." nel nome del file. Questi file possonoessere utilizzati per caricare le definizioni degli attributi, definire i tipi di linea e i materiali, ecc. (maggiori informazioni in The GDL ScriptAnalysis a Pagina 10).

Identificazione

L'identificatore

L'ID è composto da due parti, ciascuna lunga 36 caratteri esadecimali. I primi 36 caratteri rappresentano il Main ID e gli ultimi 36 caratterirappresentano il Revision ID.• L'ID principale viene creato quando l'elemento di libreria viene salvato per la prima volta. Viene modificato anche se l'elemento di libreria

viene salvato di nuovo utilizzando il comando "Salva come".

Varie

Guida di Riferimento al GDL 547

• L'ID di revisione viene creato anche quando l'elemento di libreria viene salvato per la prima volta ma viene modificato anche se l'elementodi libreria viene salvato di nuovo utilizzando il comando "Salva". Utilizzando lo strumento LP_XMLConverter una compilazione cambieràl'ID di revisione e lascerà intatto l'ID principale, ovviamente.

Ciò significa che l'ID principale identifica un elemento di libreria nella sua funzione e l'ID di revisione aiuta a distinguere le revisioni dell'oggetto.Vediamolo in pratica.

Identificazione dell'Elemento di LibreriaQuando si inserisce un oggetto in Archicad, il programma memorizza il riferimento tramite ID e considera il nome solo per gli oggetti senzaID (elementi di libreria salvati prima di Archicad 8 e file .gdl). Nel caso di elementi di libreria provenienti da versioni precedenti ad Archicad 8,non esisteva un GUID. Quindi, quando un elemento di libreria di questo tipo viene rilevato nel file, Archicad riempirà il suo ID con zeri.Quando si carica una libreria, Archicad utilizza i seguenti criteri gerarchici per abbinare gli elementi di libreria caricati agli oggetti già inseritinel progetto:• Nel caso in cui l'ID memorizzato sia valido:

• Archicad cerca di ottenere una corrispondenza esatta di entrambe le parti dell'ID• In caso contrario, Archicad cerca di far corrispondere la prima parte dell'ID, che è l'ID principale.• Nel caso in cui non ne trovi una corrispondente, inizia a controllare i valori della tabella di migrazione degli altri elementi per trovare

un sostituto .• Infine, durante il caricamento dei file salvati prima di Archicad 12, Archicad cerca di abbinare in base al nome dell'elemento di libreria .

• Nel caso in cui l'ID memorizzato sia zero, la procedura di identificazione cerca di trovare una corrispondenza solo per nome.Lo stesso processo viene eseguito quando si cercano le macro in un elemento posizionato poiché ogni elemento di libreria contiene una tabelladi ricerca per i GUID delle sue macro chiamate. Naturalmente, quando si salva un oggetto contenente chiamate di macro, questa tabella vieneraccolta utilizzando una ricerca basata sul nome nella libreria attualmente caricata.

Come sapere qual è il GUID esatto di un oggetto di libreriaPer questo devi conoscere la finestra di dialogo Gerarchia dei Sottotipi. In questa finestra di dialogo è possibile visualizzare la gerarchia deisottotipi della libreria attualmente caricata in una vista ad albero. Gli attributi principali - nome, versione, ID, posizione del file, flag che indicanose l'oggetto è modello o posizionabile - dell'elemento di libreria selezionato vengono visualizzati nella parte inferiore della finestra.Questa finestra di dialogo appare in 3 contesti:• Apri oggetto per sottotipo ... (nel menu Archivio)• Seleziona Sottotipo ... (nella finestra Editor degli elementi di libreria)• Posiziona tutti gli oggetti (nel menu Speciale)

Varie

Guida di Riferimento al GDL 548

Naturalmente, puoi leggere l'ID nel formato XML dell'elemento di libreria (posizione: xpointer (/Symbol/@UNID)). Per ottenere ciò, utilizzarelo strumento LP_XMLConverter.

Problemi di compatibilitàIl principio più importante è che l'ID principale rappresenta una funzionalità costante per gli utenti della libreria. Ciò significa che se pubblichiun nuovo elemento di libreria utilizzando un ID principale che è già in uso da un vecchio elemento di libreria, quando carichi un vecchio progettocon la nuova libreria, i vecchi elementi inseriti saranno sostituiti dal nuovo oggetto. Ciò contraddice le aspettative degli utenti, in quanto non cisarà alcun cambiamento nei parametri dell'oggetto e nelle loro funzioni. Se si desidera modificare il nome o la funzione dei vecchi parametri,generare un nuovo ID principale e utilizzare gli script di migrazione per evitare ambiguità e perdite di dati impreviste. Assicurati che questonuovo ID principale sia univoco, non identico a nessun altro ID nella libreria.Nota che rinominare un oggetto non lo renderà incompatibile con il suo sé passato per Archicad fintanto che i loro MainID rimangono identici.Allo stesso modo, dare il nome di un elemento di libreria esistente a uno nuovo (con un nuovo ID) non li renderà compatibili.Questo problema influisce anche sulla localizzazione delle librerie. Se si dispone di parametri di controllo del tipo stringa, i valori rilevantidifferiranno tra le versioni nazionali. Per esempio: se non sei a conoscenza del problema, il caricamento di un file di Pianta tedesco con lalibreria corrispondente danese cambierà gli elementi generati poiché alcuni parametri di controllo hanno valori privi di significato. Ci sonodue soluzioni. Il modo più semplice è dichiarare che le librerie tedesca e danese non hanno nulla a che fare l'una con l'altra e modificare diconseguenza gli ID principali nella localizzazione. La seconda soluzione, e più facile da usare, consiste nel creare un parametro di controllo ditipo intero che funge da stringa (Vedi VALUES). Questi parametri interi sono determinanti, le descrizioni delle stringhe visibili sono solo unmetodo di input per loro (quindi le localizzazioni possono essere diverse, ma il vero significato rimarrà lo stesso). Quando si scrive uno script,è necessario utilizzare i valori dei parametri interi.Il codice di esempio seguente presenta un parametro intero a livello di dettaglio che funge da tipo stringa:

Varie

Guida di Riferimento al GDL 549

! Master script:dim stDetlevel3DDesc [3]stDetlevel3DDesc[1]=`Dettagliato`stDetlevel3DDesc[2]=`Semplice`stDetlevel3DDesc[3]=`Off`

! iDetlevel3D constantsDETLEVEL3D_DETAILED = 1DETLEVEL3D_SIMPLE = 2DETLEVEL3D_OFF = 3

! Script dei parametri:values{2} "iDetlevel3D" DETLEVEL3D_DETAILED, stDetlevel3DDesc[1], DETLEVEL3D_SIMPLE, stDetlevel3DDesc[2], DETLEVEL3D_OFF, stDetlevel3DDesc[3]

Migrazione di elementiÈ possibile mantenere un collegamento tra la vecchia e la nuova versione aggiornata (con nuovo ID principale) di un elemento di libreriautilizzando script di migrazione (sezione chiamata «Script di migrazione in avanti», sezione chiamata «Script di migrazione all'indietro») e sezionechiamata «Tabella di Migrazione».In questi script puoi definire quale elemento di libreria sostituisce quale (collegando il vecchio e il nuovo ID principale) e come aggiornarei valori dei parametri del nuovo oggetto in base a quello vecchio (o viceversa). È possibile impostare regole affinché la migrazione avvengasolo in determinate condizioni parametriche. Se l'oggetto della migrazione soddisfa questi requisiti, l'aggiornamento o il downgrade è possibile,altrimenti non sarà un'opzione.In generale, è possibile che l'oggetto della migrazione abbia uno o più successori (o antenati nella migrazione a ritroso) a seconda delleimpostazioni dei parametri. Tuttavia, il caso è leggermente diverso durante la migrazione dei timbri di zona. Un tipo di timbro di zona puòessere collegato a molte categorie di zona. Ma ogni categoria può utilizzare un solo tipo di timbro di zona. Durante la migrazione di un timbrodi zona, la categoria rimane la stessa. Se il percorso di migrazione diverge ("Zona Vecchia" viene aggiornata a "Zona Nuova 1", o "Zona Nuova2", a seconda delle diverse impostazioni dei parametri), è possibile ottenere una Categoria con due diversi Timbri collegati. Sebbene questo siaun risultato valido per quanto riguarda il processo di migrazione, è una situazione incoerente per Archicad. Assicurati di migrare solo i timbridi zona in modo diretto, per evitarlo.

Varie

Guida di Riferimento al GDL 550

Problemi generali di scripting

Tipi numerici - PrecisionePrima di Archicad 9 tutti i valori numerici erano memorizzati internamente come valori in virgola mobile che producevano valori imprecisi. Ciòsignificava che i valori interi erano memorizzati in modo - un po' - impreciso. Da Archicad 9 i numeri interi - e quindi i tipi di parametri GDLche sono meglio descritti con numeri interi - sono correttamente memorizzati internamente come numeri interi.Tipi di parametro memorizzati internamente come Intero:Integer,Boolean,Material,Line type,Fillpattern,Pencolor,Intensity (Light)

Tipi di parametro memorizzati internamente come numeri a virgola mobile:Length,Angle,Real,RGB Color component (Light)

Le variabili GDL non richiedono ancora la definizione del tipo, il tipo viene determinato durante l'interpretazione dal valore da caricare nellavariabile. L'output degli operatori numerici ora ha un tipo. Si consiglia di consultare il manuale GDL per queste informazioni.Il programmatore può confrontare in sicurezza i tipi interi con l'operatore di uguaglianza. Infatti, da Archicad 9 ora vengono emessi avvisi,se un programmatore cerca di confrontare direttamente valori in virgola mobile con valori interi utilizzando l'operatore di uguaglianza. Per iconfronti di uguaglianza di numeri in virgola mobile, utilizzare un piccolo valore epsilon che indica la precisione del confronto. Per i confrontidi uguaglianza di un numero in virgola mobile e un numero intero utilizzare la funzione round_int.Di seguito vengono descritti alcuni metodi di prova per l'equivalenza tra diversi tipi numerici:

Varie

Guida di Riferimento al GDL 551

iDummy = 1 * 2if iDummy = 2 then ! confronto valido, è vero, queste istruzioni verranno eseguite ...endif

dDummy = 1.5 + 0.5if dDummy = 2 then ! non sai mai se è vero, non fidarti di tali confronti ...endif

dDummy = 1.1 * 2if dDummy = 2.2 then ! non sai mai se è vero, non fidarti di tali confronti ...endif

! EPS = 0.0001 -> in the master scriptdDummy = 1.1 * 2if abs (dDummy - 2.2) < EPS then ! confronto valido, è vero, queste istruzioni verranno eseguite ...endif

dDummy = 1.5 * 2if round_int (dDummy) = 3 then ! confronto valido, è vero, queste istruzioni verranno eseguite ...endif

Varie

Guida di Riferimento al GDL 552

Funzioni di trigonometriaDurante lo scripting GDL, potresti aver bisogno di varie funzioni di trigonometria. Le seguenti funzioni sono disponibili direttamente dal GDL:cos, sin, tan, acs, asn, atn.Tutte le altre funzioni possono essere facilmente derivate come segue.

Secant Sec(X) = 1 / cos(X)Cosecant Cosec(X) = 1 / sin(X)Cotangent Cotan(X) = 1 / tan(X)Inv. Sine Arcsin(X) = atn(X / Sqr(-X * X + 1))Inv. Cosine Arccos(X) = atn(-X / sqr(-X * X + 1)) + 2 * atn(1)Inv. Secant Arcsec(X) = atn(X / sqr(X * X - 1)) + sgn((X) -1) * 2*atn(1)Inv. Cosecant Arccosec(X) = atn(X / sqr(X*X - 1)) + (sgn(X) - 1) * 2*atn(1)Inv. Cotangent Arccotan(X) = atn(X) + 2 * atn(1)Hyp. Sine HSin(X) = (exp(X) - exp(-X)) / 2Hyp. Cosine HCos(X) = (exp(X) + exp(-X)) / 2Hyp. Tangent HTan(X) = (exp(X) - exp(-X)) / (exp(X) + exp(-X))Hyp. Secant HSec(X) = 2 / (exp(X) + exp(-X))Hyp. Cosecant HCosec(X) = 2 / (exp(X) - exp(-X))Hyp. Cotangent HCotan(X) = (exp(X) + exp(-X)) / (exp(X) - exp(-X))Inv. Hyp. Sine HArcsin(X) = log(X + sqr(X * X + 1))Inv. Hyp. Cosine HArccos(X) = log(X + sqr(X * X - 1))Inv. Hyp. Tangent HArctan(X) = log((1 + X) / (1 - X)) / 2Inv. Hyp. Secant HArcsec(X) = log((sqr(-X * X + 1) + 1) / X)Inv. Hyp. Cosecant HArccosec(X) = log((sgn(X) * sqr(X * X + 1) +1) / X)Inv. Hyp. Cotangent HArccotan(X) = log((X + 1) / (X - 1)) / 2 Nota:

Logaritmo in base N LogN(X) = log(X) / log(N)

Avvisi GDLCome ogni altro linguaggio di programmazione, GDL ha una sintassi e una logica da seguire. Se c'è un errore di sintassi, il programmatore riceveun messaggio di errore. Se c'è qualcosa di confuso o qualcosa di imprevisto durante l'esecuzione dello script, viene inviato un avviso GDL.È possibile scegliere DOVE inviare questi messaggi in Opzioni / Ambiente di Lavoro / Opzioni Ricostruzione Modello:

Varie

Guida di Riferimento al GDL 553

• Interruzione per messaggi di errore: una finestra di dialogo si apre ad ogni problema• Scrivi Resoconto: il messaggio viene scritto nella finestra di ResocontoPuoi scegliere COSA vuoi inviare come messaggio: questa impostazione è disponibile nel menu Sviluppatore Libreria, chiamato "Controllagli avvisi degli script dell'Elemento di Libreria". Quando è abilitato, non solo gli errori, ma anche gli avvisi vengono segnalati in base alleimpostazioni DOVE.Puoi anche scegliere QUANDO vuoi visualizzare i messaggi di avviso. Questo può essere impostato anche nel menu Sviluppatore Libreria,chiamato "Invia sempre i Messaggi GDL". Attivando questa funzione, ogni volta che viene eseguito il GDL, gli avvisi e gli errori vengonocomunque segnalati forzatamente. Lasciandolo spento, i contesti del resoconto di avviso rimangono come al solito.Notare che l'utilizzo di alcune combinazioni delle opzioni di cui sopra può causare difficoltà: per esempio, avendo attivi entrambe "Invia semprei Messaggi GDL" e "Interrompi con messaggi di errore" può impedire l'esecuzione di qualcosa di "semplice" come lo spostamento di unhotspot modificabile, facendo apparire continuamente finestre di dialogo.Premendo su "Controlla script" nell'editor dell'elemento di libreria, se c'è un problema con il tuo script utilizzando le impostazioni deiparametri correnti, riceverai sempre una finestra popup di avviso o messaggio di errore. Usando il comando PRINT, oppure il debugger GDLpuò aiutare molto a localizzare errori difficili da trovare altrimenti.Notare che i numeri di riga negli avvisi GDL si riferiscono allo script che contiene il problema.Gli errori di analisi devono essere gestiti con la massima cura. Questi denotano la prima riga in cui l'analisi diventa impossibile ma i problemieffettivi potrebbero essere alcune righe prima.EsempioL'interprete rileva prima l'affermazione mancante in endif e si ferma lì; sebbene il problema sia ovviamente intorno alla riga 4 dove unendif è evidentemente mancante.

if condizione1 then if condizione2 then ! fai qualcosa

! fai qualcosa - MA ABBIAMO PERSO UN 'endif'else ! un blocco di codice potenzialmente lungoendif

Varie

Guida di Riferimento al GDL 554

Di seguito sono riportati alcuni esempi degli ultimi messaggi di avviso sviluppati, con alcune spiegazioni:

Messaggio di avvertimento Possibile spiegazione

Parametro semplice ridichiarato come matrice specificando un semplice parametro in un oggetto e utilizzandolo comeuna matrice nella macro chiamata

"Id" parentId non definito utilizzato nella definizione UI_PAGE ID genitore mancante nella gerarchia della tabpage

Globale "GlobalName" dipendente dalla vista / dal progetto utilizzatonello script dei parametri

Vedi sezione chiamata «Variabili Globali»

Richiesta "requestName" utilizzata nello script dei parametri Vedi sezione chiamata «Opzioni REQUEST»

Query dell'applicazione "applicationQueryName" utilizzata nelloscript dei parametri

Vedi sezione chiamata «Opzioni di query dell'applicazione»

Possibile modifica del tipo di parametro indesiderata un parametro riceve un valore non supportato dal suo tipo originale

ID di Hotspot e Hotline

Scopo dell'identificazione di hotspot/hotline/hotarcIn Archicad viene introdotta l'identificazione hotspot/hotline/hotarc per supportare la quotatura associativa nella sezione. Tramite questafunzione, un elemento di quotatura può fare riferimento a qualsiasi hotspot/hotline di un oggetto GDL. Diventerà un problema importantequando il numero di hotspot/hotline cambia tra i diversi stati di parametrizzazione dell'oggetto.

Problema degli hotspot/hotline della vecchia scuolaSe il programmatore non specifica gli ID hotspot/hotline/hotarc - o se li imposta a 0 - Archicad assegnerà numeri ordinali in continuo aumento.Questa soluzione è corretta per gli oggetti statici ma causa problemi di quotatura quando alcuni hotspot/hotline compaiono o si nascondono

Varie

Guida di Riferimento al GDL 555

tra le impostazioni dei parametri. Vale a dire, gli ID verranno riorganizzati in modo da cambiare e gli elementi di quotatura associativa - nellasezione - andranno fuori strada.

Programmazione corretta di hotspot/hotline/hotarcPer tutti questi motivi è necessario assegnare ID fissi agli hotspot/hotline nei propri oggetti. Ciò può essere fatto riservando ampi intervalliper gli hotspot/hotline di funzioni controllabili individualmente.Prendiamo ad esempio una scala. Gli hotspot / hotline di delimitazione possono utilizzare l'intervallo [1-100], i corrimano possono utilizzarel'intervallo [200-299] e le alzate quello [1000-). Questo garantisce che la quotatra dei corrimano non venga danneggiato se il numero di alzatecambia o anche se la connessione inferiore diventa più complessa (utilizzando più hotspot/hotline).

Hotspot editabiliDalla versione di Archicad 8 è possibile utilizzare hotspot modificabili negli elementi di libreria. La funzione è descritta in Modifica Grafica tramiteHotspot tranne una possibilità.In alcuni casi potresti voler visualizzare un parametro diverso da quello modificato. Vedi il codice di esempio qui sotto:

Esempio di hotspot modificabile - Scarpa / ScarpieraVogliamo poter definire la dimensione di una scarpiera in metri e anche in misura delle scarpe. Per questo creiamo due parametri e li colleghiamonello script dei parametri. Naturalmente, il tipo di parametro esplicativo può essere diverso (es. Testo). Sottolineiamo che il parametro modificatoè sempre footLength,footSizeEU - il parametro visualizzato - deve essere aggiornato tramite lo script del parametro.

Modifica 2D

Varie

Guida di Riferimento al GDL 556

Script dei Parametri

DIM lengthValues[10]DIM sizeValues[10]for i = 1 to 10 sizeValues[i] = i + 35 lengthValues[i] = (i + 35) * 0.007next i

values "footLength" lengthValuesvalues "footSizeEU" sizeValues

if GLOB_MODPAR_NAME = "footLength" then parameters footSizeEU = round_int (footLength / 0.007)else if GLOB_MODPAR_NAME = "footSizeEU" or GLOB_MODPAR_NAME = "" then parameters footLength = footSizeEU * 0.007 endifendif Script 2D

Varie

Guida di Riferimento al GDL 557

rect2 0, 0, footLength * 0.4, footLength ! or a more realistic shoe model

hotspot2 0, 0, 1, footLength, 1 + 256, footSizeEUhotspot2 0, footLength, 2, footLength, 2, footSizeEUhotspot2 0, -0.1, 3, footLength, 3

Contesti di esecuzione GDLArchicad comunica all'oggetto GDL il contesto in cui viene visualizzato o utilizzato. A questo scopo vengono utilizzate le successive variabiliglobali:• GLOB_VIEW_TYPE per determinare la visualizzazione attiva• GLOB_PREVIEW_MODE per determinare l'anteprima attiva• GLOB_FEEDBACK_MODE per l'indicazione sul contesto di modifica• GLOB_SEO_TOOL_MODE per l'indicazione del contesto delle operazioni sugli elementi solidiPer i valori possibili fare riferimento a sezione chiamata «Informazioni generali sull'ambiente» e alla lista seguente:GLOB_VIEW_TYPE = 2 - 2D, piantaIl modello viene visualizzato nella pianta 2D standard. In uno script 3D ciò significa che il modello viene proiettato in 2D tramite il comandoproject2D. Questo è l'uso principale di un oggetto: questo modello 2D deve essere sempre corretto ed efficiente.If GLOB_FEEDBACK_MODE = 1 then il modello viene visualizzato tramite linee di feedback sulla pianta 2D durante la modificadell'hotspot dell'oggetto. Questo modello viene disegnato molte volte in un solo secondo durante l'interazione con l'utente. Ciò implica che ilmodello dovrebbe rappresentare solo le parti essenziali dell'oggetto. Nota che i testi (generati dal comando text2) non vengono aggiornatiin modalità feedback, poiché rallenterebbe l'output.GLOB_VIEW_TYPE = 3 - 3D viewIl modello 3D viene visualizzato nella finestra del modello 3D standard o è la fonte del rendering fotorealistico. Questa vista dovrebbe ometterei dettagli interni dell'oggetto, poiché questi non possono essere visti comunque. Questo è il secondo utilizzo più importante di un oggetto: ilmodello 3D deve essere sempre corretto ed efficiente. Questo tipo di obiettivo richiede un aspetto esterno corretto.If GLOB_FEEDBACK_MODE = 1 then il modello 3D viene visualizzato tramite linee di feedback nella finestra del modello 3D durantela modifica dell'hotspot dell'oggetto. Questo modello viene disegnato molte volte in un solo secondo durante l'interazione con l'utente. Ciòimplica che il modello dovrebbe rappresentare solo le parti essenziali e visibili dell'oggetto.GLOB_VIEW_TYPE = 4 - sezione o GLOB_VIEW_TYPE = 5 - alzato

Varie

Guida di Riferimento al GDL 558

Il modello 3D viene visualizzato in una finestra di sezione/alzato. Per queste viste, l'oggetto dovrebbe generare dettagli interni che non sononecessari per ogni altro tipo di vista.If GLOB_FEEDBACK_MODE = 1 then il modello 3D viene visualizzato tramite linee di feedback in una finestra di sezione/alzato durantela modifica dell'hotspot dell'oggetto. Questo modello viene disegnato molte volte in un solo secondo durante l'interazione con l'utente. Ciòimplica che il modello dovrebbe rappresentare solo le parti essenziali e visibili dell'oggetto.GLOB_VIEW_TYPE = 6 - documento 3DIl modello 3D viene visualizzato in una finestra assonometrica come un disegno. Viene utilizzato per la documentazione, la quotatura in 3D.GLOB_VIEW_TYPE = 7 - disegno dettaglioIl modello viene utilizzato in una finestra di disegno dettaglio. Di conseguenza, il modello può essere più dettagliato rispetto ad altre viste. Imodelli 2D e 3D non sono distinti - tali informazioni possono essere derivate dal tipo di script.GLOB_VIEW_TYPE = 8 - layoutIl modello viene utilizzato in una finestra di layout, con la sua visualizzazione di stampa. Il modello dovrebbe mostrare il suo aspetto di stampa.I modelli 2D e 3D non sono distinti - tali informazioni possono essere derivate dal tipo di script.Se GLOB_FEEDBACK_MODE = 1 allora il modello viene visualizzato tramite linee di feedback in una finestra di layout durante la modificadell'hotspot dell'oggetto. Questo modello viene disegnato molte volte in un solo secondo durante l'interazione con l'utente. Ciò implica che ilmodello dovrebbe rappresentare solo le parti essenziali e visibili dell'oggetto.GLOB_VIEW_TYPE = 9 - calcolo e/o GLOB_PREVIEW_MODE = 2 - listaIl modello 3D viene utilizzato per il calcolo della superficie e del volume dal motore di lista. Questo contesto è il posto giusto per apportarealcune modifiche al modello per la lista. Per esempio, è possibile generare corpi extra per aumentare la superficie da verniciare e la quantità divernice richiesta. Utilizzare la combinazione delle 2 globali per il risultato desiderato nel calcolo e nella generazione del modello di lista.GLOB_PREVIEW_MODE = 1 - dialogo delle impostazioniIl modello viene visualizzato nella finestra di anteprima della finestra di dialogo Impostazioni oggetto. I modelli 2D e 3D non sono distinti:tali informazioni possono essere derivate dal tipo di script. L'oggetto dovrebbe fornire un'anteprima veloce e approssimativa del modelloconsiderando le dimensioni limitate dell'anteprima.GLOB_SEO_TOOL_MODE = 1 generazione come operatore per operazioni con elementi solidiIl modello 3D generato viene utilizzato come parametro per le operazioni sui solidi (CSG). Questo può essere utile quando la richiesta di spaziodell'oggetto è maggiore dell'oggetto stesso. Per esempio. quando sottrai una scala da un solaio, ti aspetteresti che la scala faccia anche un bucoper le persone che camminano . Per ottenere ciò, in questo contesto la scala dovrebbe generare un modello contenente quello spazio di calpestio.

Varie

Guida di Riferimento al GDL 559

Comunicare i valori con ArchicadEsistono due direzioni del flusso del valore dei parametri tra Archicad e l'elemento di libreria. La prima direzione significa che l'Archicad informal'elemento di libreria su un attributo del suo contesto (es. La scala del disegno del progetto o lo spessore del muro in cui è collocata una finestra).La seconda direzione è quando l'elemento di libreria afferma qualcosa su se stesso che istruisce Archicad a cambiare quel qualcosa nel contestodiretto dell'oggetto (ad esempio la profondità che un'estremità del muro taglia nel muro).

Flusso di informazioni da ArchicadCi sono 3 canali di informazione provenienti da Archicad: variabili globali, parametri con nomi predefiniti e valori chiamati direttamente.

Variabili globaliLe variabili globali vengono riempite da Archicad in base alle impostazioni correnti del progetto e al contesto di posizionamento dell'oggetto.Notare che non tutte le globali sono riempite in ogni contesto e vista.Per l'elenco completo delle variabili globali e delle relative limitazioni in alcuni script, consultare sezione chiamata «Variabili Globali».

Parametri opzionali a nome fissoIl metodo più recente di Archicad per fornire informazioni è il metodo dei parametri opzionali con nome fisso. Se una data parte di libreria haun parametro con un nome e un tipo che corrispondono a qualsiasi parametro opzionale, Archicad ne imposta il valore in base alla sua funzione.Fai riferimento a sezione chiamata «Parametri impostati da Archicad» in sezione chiamata «Parametri opzionali a nome fisso» per apprendere i parametri degli elementidi libreria definiti da Archicad.

Richieste e domande sull'applicazionePer informazioni speciali usate raramente, gli elementi di libreria utilizzano chiamate di richiesta o query dell'applicazione nei loro script. Adifferenza delle variabili globali, queste forniscono un valore di ritorno solo quando viene eseguito lo script effettivo che le contiene. Si notiche la maggior parte delle richieste e delle query dovrebbe essere evitata in uno script di parametri o uno script master eseguito come script diparametri. Se utilizzato in questi script, la validità del valore restituito o della funzione non può essere garantita.Fai riferimento a sezione chiamata «Opzioni REQUEST»e sezione chiamata «Opzioni di query dell'applicazione» per saperne di più sulle opzioni, sulla compatibilitàdegli script dei parametri e sulla sintassi.

Informazioni provenienti dall'elemento di libreriaArchicad necessita di determinate informazioni per utilizzare correttamente gli elementi di libreria. Queste informazioni dipendono dallafunzione e dal contesto e sono memorizzate nei sottotipi di Archicad incorporati come parametri con nome e funzione predefiniti. Oltre aisottotipi di Archicad incorporati, alcune funzioni potrebbero richiedere parametri opzionali con nome fisso.

Varie

Guida di Riferimento al GDL 560

Consultare i parametri fissi dei sottotipi incorporati e sezione chiamata «Parametri letti da Archicad» in sezione chiamata «Parametri opzionali a nome fisso» peravere una visione delle possibilità.

Opzioni Vista Modello, Globale della LibreriaLa visualizzazione degli elementi di libreria in pianta può dipendere dalla vista corrente.

Opzioni Interne Vista ModelloLe impostazioni interne della vista sono disponibili tramite le variabili globali GDL (es. GLOB_SCALE, GLOB_STRUCTURE_DISPLAY) eopzioni di richiesta (es. "window_show_dim", "door_show_dim", "floor_plan_option", "view_rotangle").

Opzioni Vista Globale della LibreriaDa Archicad 13 in poi, puoi definire le opzioni di visualizzazione dalla tua libreria. Queste opzioni vengono memorizzate in ciascunavisualizzazione e vengono restituite di conseguenza.Le seguenti proprietà / parametri / opzioni devono essere archiviate nelle variabili globali della libreria dipendente dalla vista:• mostra/nascondi linee di apertura• mostra/nascondi spazio minimo• penna e altri attributi di visualizzazione che non dovrebbero essere modificati individualmente per motivi di uniformità (ad esempio spazi

minimi)• mostra/nascondi specifice elementi accessorio (es. pomi, maniglie)• impostazione dei tipi di simboli 2D per i gruppi di oggettiCose che NON dovrebbero essere memorizzate nelle variabili globali della libreria dipendente dalla vista: valori generali per l'intero progetto,valori generali per l'intero paese, valori che possono essere richiesti di essere impostati individualmente per gli oggetti.Per inserire una scheda nella finestra di dialogo OVM, è necessario creare un elemento di libreria derivato dal file di sottotipo Impostazioni Globalidella Libreria (GUID: {709CC5CC-6817-4C56-A74B-BED99DDB5FFA}). Questo oggetto deve contenere le opzioni globali desiderate comeparametri e deve avere una definizione dell'interfaccia utente per la pagina della scheda. La larghezza dell'interfaccia utente deve essere impostatasu 600 pixel per corrispondere ai pannelli esistenti. L'altezza dell'interfaccia utente è liberamente definibile. Può avere uno script di parametriper il collegamento di parametri o elementi dell'interfaccia utente.Il comando LIBRARYGLOBAL può essere utilizzato negli elementi posizionabili per interrogare i valori dell'oggetto delle impostazioni globalidella libreria a seconda delle impostazioni di visualizzazione correnti.

Varie

Guida di Riferimento al GDL 561

Problemi specifici del tipo di script

Script MasterQuando si scrive lo script master è necessario tenere presente che verrà valutato prima dell'esecuzione di ogni script da Archicad. Ciò implicale seguenti cose:• Posizionare le definizioni dei parametri e i calcoli utilizzati da più script nello script principale è una buona idea: riduce la dimensione del

file e rende gli elementi facilmente modificabili.• Assicurati di inserire qui solo calcoli comuni per evitare un aumento non necessario del tempo di valutazione della libpart (ricorda che lo

script principale viene valutato prima di ogni script).• Evitare di utilizzare il buffer dei parametri nello script master per motivi di efficacia.• Non inserire comandi end nello script master; in caso contrario, Archicad non eseguirà il resto degli script.

Script 2D

Contesto di esecuzioneLo script 2D viene eseguito quando viene generato un modello 2D:• Pianta 2D• Feedback di modifica nel 2D• Anteprima 2D nella finestra di dialogo Impostazioni Oggetto• Disegno Layout• Feedback Disegno LayoutTieni presente che la maggior parte della progettazione architettonica viene eseguita in 2D, quindi di solito questo modello è il più importante.Ciò implica requisiti di aspetto esatto, tempi di generazione rapidi e funzioni adeguate durante la modifica tramite hotspot.

Raccomandazione generaleCerca di evitare di utilizzare i frammenti e il formato 2D binario per rendere gli oggetti modificabili.Lo script 2D è molto più personalizzabile del simbolo 2D, preferisci questa soluzione. In un simbolo 2D binario, i retini curvi non sono allungaticorrettamente, non devi nemmeno affrontare questo problema nello scripting 2D.

Varie

Guida di Riferimento al GDL 562

Definizione delle proprietà di linea e retinoDa Archicad 9 in poi hai la possibilità di scegliere tra diverse categorie principali di linee e retini dal GDL. Linee e segmenti di poligono possonoessere definiti come contorno, interno o generale; i retini possono essere definiti come Sezione, Coprente o Disegno. Queste categorie sonodescritte nella documentazione utente di Archicad, vediamo come le usiamo negli oggetti GDL.L'impostazione delle proprietà corrette per linee e retini ti consentirà di eliminare la dipendenza dalle opzioni di visualizzazione dagli script. Inprecedenza, era necessario aggiungere una condizione per il disegno di alcune linee interne in base all'opzione di visualizzazione impostata. Oradovresti definire una linea interna per quello scopo e Archicad la visualizzerà o meno come implicito nelle opzioni di visualizzazione.Vediamo l'estratto dello script 2D di una finestra per riassumere i casi di definizione:

Varie

Guida di Riferimento al GDL 563

! ===== Davanzale =====

line_property 0 ! linee generali

! il davanzale viene visto da sopra -> retino coprentepoly2_b{2} 4, 1 + 2 * (gs_fillSillCover > 0) + 4 + 64, ......

! ===== Segmento di Muro / Chiusura della Cavità =====

line_property 1 ! linee interneline2 ......

line_property 2 ! contorni del muroline2 ......

! il segmento di muro è sezionato -> retino sezionepoly2_b{2} 4, 2 + 4 + 8 + 16 + 32, ...

! ===== telaio finestra =====

line_property 0 ! linee generali

! il telaio laterale è sezionato -> retino sezionepoly2_b{2} 4, 1 + 2 * (gs_fillFrames > 0) + 4 + 32, ......

Script 3D

Contesto di esecuzioneLo script 3D viene eseguito ogni volta che viene generato un modello 3D:• finestra 3D (filo di ferro, linee nascoste, modello solido)• pianta 2D quando project2 viene utilizzato per proiettare il modello 3D in 2D

Varie

Guida di Riferimento al GDL 564

• sezione 2D - attenzione ai dettagli• feedback di modifica in 3D - ottimizzato per la velocità• operatore per operazioni solide in 3D - chiedere al progettista la funzionalità desiderata• calcolo di superficie e volume per la Lista• anteprima 3D nella finestra di dialogo Impostazioni Oggetto• disegno di layout quando project2 viene utilizzato per proiettare il modello 3D in 2D• feedback di modifica sul layout

Raccomandazione generaleCerca di evitare di utilizzare il formato binario per rendere gli oggetti modificabili.Utilizza i codici di stato per controllare la visibilità degli oggetti nelle viste a linee nascoste. Rendi visibili le linee di contorno delle superficicurve. Nascondi le righe non necessarie quando è possibile.Definisci hotspot modificabili invece di hotspot fissi quando possibile.Nn usare il comando del top per rendere più facili le modifiche successive.Ripristina sempre il sistema di coordinate globale alla fine dello script 3D e seguilo con un comando end per rendere più facili ulteriorimodifiche sull'oggetto.

Modellazione di corpi trasparentiUsa il comando body -1 tra le parti solide e trasparenti di un oggetto per effettuare una corretta proiezione delle ombre con il motore direndering interno (ad esempio, il telaio della finestra con le grate).

Varie

Guida di Riferimento al GDL 565

Tabella 7. Esempi per corpi trasparenti

Errato Corretto

prism_ 10, 0.1, 0, 0, 15, 1, 0, 15, 1, 1, 15, 0, 1, 15, 0, 0, -1, 0.1, 0.1, 15, 0.9, 0.1, 15, 0.9, 0.9, 15, 0.1, 0.9, 15, 0.1, 0.1, -1

material "vetro blu"

prism_ 5, 0.1, 0.1, 0.1, 15, 0.9, 0.1, 15, 0.9, 0.9, 15, 0.1, 0.9, 15, 0.1, 0.1, -1

prism_ 10, 0.1, 0, 0, 15, 1, 0, 15, 1, 1, 15, 0, 1, 15, 0, 0, -1, 0.1, 0.1, 15, 0.9, 0.1, 15, 0.9, 0.9, 15, 0.1, 0.9, 15, 0.1, 0.1, -1

body -1

material "vetro blu"

prism_ 5, 0.1, 0.1, 0.1, 15, 0.9, 0.1, 15, 0.9, 0.9, 15, 0.1, 0.9, 15, 0.1, 0.1, -1

Varie

Guida di Riferimento al GDL 566

Mappatura della TessituraControlla sempre se la mappatura delle texture è applicata correttamente ai tuoi oggetti. Se il processo predefinito di mappatura delle texturedi Archicad non produce un buon risultato, utilizzare il comando coor per impostare il metodo corretto. Vedi il caso qui sotto per esempio.

Varie

Guida di Riferimento al GDL 567

Tabella 8. Codice di esempio per tassellatura casuale e correttamente allineata

Texture casuale Texture Allineata

define texture "owntile" "T.jpg", 1, 1, 128+256, 0

define material "tilemat" 21, 0.7, 0.7, 1, 0.15, 0.95, 0, 0.0, 0, 0, ind (fill, ""), 1, ind (texture, "owntile")

material tilemat

block 1, 1, 1

define texture "owntile" "T.jpg", 1, 1, 128+256, 0

define material "tilemat" 21, 0.7, 0.7, 1, 0.15, 0.95, 0, 0.0, 0, 0, ind (fill, ""), 1, ind (texture, "owntile")

material tilemat

block 1, 1, 1

basevert 0, 0, 0vert 1, 0, 0vert 0, 1, 0vert 0, 0, 1

coor 2 + 256, -1, -2, -3, -4

Varie

Guida di Riferimento al GDL 568

In generale, separa corpi che richiedono diversi sistemi di coordinate della tessitura con il comando body -1.Quando si utilizzano diverse modalità di mappatura delle texture, è necessario occuparsi delle definizioni degli assi corrette con i comandi verto teve. L'ordine dei nodi è mostrato di seguito.

È possibile distorcere le tessiture impostando distanze diverse tra i nodi definiti dai comandi vert o teve.Fai attenzione che lavorare con motori di rendering diversi può produrre risultati leggermente diversi, vedi gli esempi.Motore interno:

Motore C4D:

Varie

Guida di Riferimento al GDL 569

La corretta mappatura delle texture su superfici complicate o texture distorte può essere modellata con i comandi coor e teve. In questomodo è possibile creare solo modelli di superficie. In Archicad, non esiste una specifica di texture diretta. È possibile definire una tessituracome parte della definizione di un materiale. Questa texture viene utilizzata nei motori di rendering e in OpenGL, ma in OpenGL abbiamosolo un'implementazione limitata della nostra mappatura completa delle texture e nessuna mappatura delle texture (riempimento) nel nostromotore 3D interno.Quindi con il comando TEVE puoi mappare un punto di tessitura planare (u, v) su un punto geometrico spaziale (x, y, z):• (x, y, z) è misurato in metri nel sistema di coordinate locale, come al solito• (u, v) è misurato in unità nello spazio infinito della tessitura. Un'unità è lunga quanto l'estensione della tessitura in quella direzione.Puoi dare un valore negativo o più di un valore per u o v.Vedi l'esempio 1:

Varie

Guida di Riferimento al GDL 570

Tabella 9. Teve esempio 1: mappatura senza distorsione

Programma Logica Risultato

base

teve 0, 0, 1, 0, 0teve 2, 0, 1, 1, 0teve 0, 2, 1, 0, 1teve 2, 2, 1, 1, 1teve 0, 0, 1, 1, 1

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

set material 92

pgon 4, 0, 0, 1, 2, 3, 4coor 1024, 1, 2, 3, -5

body -1

Se si effettua una mappatura non regolare, il motore di rendering adatterà la forma nello spazio della tessitura alla forma nello spazio modello:

Varie

Guida di Riferimento al GDL 571

Tabella 10. Teve esempio 1: mappatura con distorsione

Programma Logica Risultato

base

teve 0, 0, 1, 0, 0teve 2, 0, 1, 1, 0teve 0, 2, 1, 0.3, 0.5teve 2, 2, 1, 1, 1teve 0, 0, 1, 1, 1

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

set material 92

pgon 4, 0, 0, 1, 2, 3, 4coor 1024, 1, 2, 3, -5

body -1

Lo stesso vale per i corpi 3D reali, come puoi vedere in questo esempio:

Varie

Guida di Riferimento al GDL 572

Tabella 11. Teve esempio 1: mappatura con distorsione su una piramide

Programma Logica Risultato

base

teve 0, 0, 1, 0, 0 ! 1teve 2, 0, 1, 2, 0 ! 2teve 2, 2, 1, 2, 2 ! 3teve 2, 2, 1, 0, 2 ! 4teve 1, 1, 3, 1, 1 ! 5

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

set material 92

pgon 3, 0, 0, 1, 6, -5coor 1024, -6, -7, -8, -9

body -1

Si noti che è possibile assegnare solo un vertice della tessitura per un vertice del modello. Non è possibile assegnare i vertici della tessitura inbase al poligono. A volte è un vantaggio e talvolta uno svantaggio.

Elementi ImmaginePotrebbe essere una buona idea sostituire le parti complicate di un modello con una singola immagine. Questo metodo può essere ben utilizzatoper alberi e cespugli.Utilizzando un'immagine esterna indicata dal nome del file, non omettere l'estensione del file.

Varie

Guida di Riferimento al GDL 573

Quando si inserisce un'immagine in un modello 3D utilizzando il comando picture, verrà creato un poligono utilizzando l'immagine comeuna faccia. Il materiale del poligono influisce sul risultato del rendering. Con questo in mente dovresti usare una superficie opaca - il colorepuò essere scelto a seconda dell'immagine.

define material "pictmat" 2, 1, 1, 1 ! RGB

material "pictmat"

picture "filename.extension", a, b, mask La prima immagine mostra un'immagine su una superficie lucida: si può osservare l'effetto collaterale indesiderato. Nella seconda immaginepuoi vedere una trama su un materiale impostato con precisione: il risultato desiderato.

Tabella 12. Immagini TrasparentiSuperficie lucida Superficie opaca

Per immagini trasparenti, come l'albero sopra, dovresti considerare una definizione più precisa del materiale di base. Vedi il seguente esempio.

define material "pictmat" 0, 1, 1, 1, ! RGB 0.5, 0.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

material "pictmat"

picture "filename", a, b, mask

Varie

Guida di Riferimento al GDL 574

Operazioni di GruppoLe operazioni di gruppo portano la potenza di operazioni solide nel GDL. D'altra parte presentano un fattore di rischio se utilizzate in modoimproprio.Un punto importante è che non devi inserire un gruppo all'interno di un altro. In tali situazioni dovresti definire un nuovo gruppo come nellosnippet sorgente di seguito:subtractionResult = subgroup ("sub_operand_1", "sub_operand_2")

Script dei Parametri

Contesto di esecuzioneLo script dei parametri viene eseguito nei seguenti casi:• Apertura della finestra di dialogo Impostazioni Oggetto• Modifica del valore di un parametro nella finestra di dialogo Impostazioni Oggetto• Modificare il valore di un parametro utilizzando hotspot modificabili (anche durante la generazione del feedback)• Allungamento dell'oggetto utilizzando hotspot convenzionali• caricamento delle librerie di migrazione passo passo (a partire da AC18)Lo script dei parametri PUO' essere eseguito:• Trascinando l'oggetto, nel caso in cui l'oggetto si riferisca a SYMB_POS_X/SYMB_POS_Y• Aggiorna Zone esegue lo script dei parametri delle zone interessate, se necessarioLo script del parametro NON viene eseguito in caso di:• Ricostruzione• Cambio di Scala• Cambio di PianoLa modifica di più selezioni può produrre valori di parametro non desiderati.Si noti che lo script del parametro può essere eseguito più volte su una singola interazione dell'utente. La ragione di ciò è che lo script deiparametri può modificare il valore dei parametri e ciò richiede che lo script dei parametri venga eseguito di nuovo, e così via. Pertanto nonha senso aumentare il valore di un parametro di uno nello script del parametro poiché potresti non essere in grado di prevedere la cardinalitàdelle esecuzioni.L'esecuzione dello script dei parametri è lineare e non necessariamente multipla. È possibile forzare l'avvio dello script dei parametri solo unavolta selezionando l'opzione Esegui lo script dei parametri solo una volta nel pannello Opzioni di Compatibilità dell'oggetto, se sei sicuro

Varie

Guida di Riferimento al GDL 575

di non averne bisogno per essere eseguito molte volte . Questo può far reagire gli oggetti più velocemente, risparmiando tempo e risorse dielaborazione.

Raccomandazione generaleQuando controlli i parametri nello script dei parametri, prova a seguire l'ordine dei parametri aggiuntivi.È possibile definire le relazioni tra i parametri utilizzando il valore GLOB_MODPAR_NAME (contenente il nome dell'ultimo parametromodificato). Ad esempio puoi creare un oggetto cerchio per il quale è possibile impostare sia il raggio che il diametro (magari uno tramitel'elenco dei parametri e l'altro tramite hotspot modificabili). Non utilizzare questa possibilità per definire l'intervallo di parametri valido - usapiuttosto il comando values.Definire l'intervallo di valori valido per tutti i parametri utilizzando il comando values.Quando si reimposta il valore di un parametro in una determinata condizione nello script dei parametri utilizzando il comando parameters,una dichiarazione simile deve essere inserita nello Script Master. Ciò mantiene la visualizzazione dell'oggetto corretta nei casi in cui lo scriptdei parametri non viene eseguito dal sistema. Es.:

! script dei parametriif bCondizione then yy = 1 parameters yy = yyendif

! script masterif bCondizione then yy = 1

Nomi dei tipi di carattereSe vuoi avere un parametro stringa, chiamato stFont nell'esempio - per impostare il tipo di carattere per un testo, utilizzare la seguentedefinizione dell'elenco di valori per ottenere una soluzione indipendente dalla piattaforma.

DIM fontNames[]request ("FONTNAMES_LIST", "", fontNames)values "stFont" fontNames, CUSTOM Se lo fai nell'oggetto Archicad_Library_Master.gsm, ogni elemento di libreria caricato con lo stesso parametro "stFont" riceveràautomaticamente la stessa lista di valori.Il valore CUSTOM è necessario per gestire i tipi di carattere mancanti o imprevisti.

Varie

Guida di Riferimento al GDL 576

Impostazione dei limiti per i parametri della matriceI parametri della matrice dovrebbero essere usati per dati omogenei; cioè tutti gli elementi della matrice dovrebbero avere un significato simile.Esempio di frammento di codice per limitare tutti i componenti del parametro di matrice gridXPosition all'intervallo [1, 5] e comeutilizzarlo sull'interfaccia utente:

! script dei parametrivalues "gridXPosition" range [1, 5]

! script UIfor i = 1 to nGridLines ! nGridLines: numero di linee nel parametro matrice ui_infield{3} gridXPosition[i], xPos, yPos, infieldWidth, infieldHeight

yPos = yPos + diffYnext i

Script Interfaccia Utente

Contesto di esecuzioneLo script dell'interfaccia utente viene visualizzato in un solo contesto: la scheda dell'interfaccia utente nella finestra di dialogo ImpostazioniOggetto.Lo script viene eseguito durante l'inizializzazione della finestra di dialogo e dopo ogni interazione dell'utente e modifica dei parametri.

Raccomandazione generaleSe si desidera che la pagina Impostazioni personalizzate venga visualizzata nel selettore dell'interfaccia utente più in alto come impostazionepredefinita anziché nell'elenco dei parametri, premere il pulsante Imposta come Default (oppure aggiungere il bit "STBit_UIDefault" allasezione "StatBits" dell'XML). In caso contrario, l'elenco dei parametri sarà la scheda di partenza. Per le pagine gerarchiche, premere il pulsantePagine Gerarchiche nella finestra Editor GDL / UI (o aggiungi il bit "STBit_UIUseHierarchicalPages" alla sezione "StatBits" dell'XML).Quando si disegnano i testi, si noti che le lettere piccolissime non possono avere alcuno stile ma semplici. Inoltre, gli stili Bordato e Ombreggiatonon hanno effetto per la piattaforma Windows.Notare che Archicad cerca di far corrispondere i caratteri utilizzati nelle finestre di dialogo con i sistemi operativi. Quando si esegue lo scriptdi interfacce utente grafiche su Windows, lasciare più spazio intorno ai testi altrimenti gli utenti Mac vedranno i testi troncati.

Varie

Guida di Riferimento al GDL 577

Immagini di controllo delle miniatureSe si utilizza il comando ui_infield per definire un campo di visualizzazione delle miniature per gli elenchi di valori, tenere presente quantosegue. Dovrebbero esserci miniature di uguale dimensione per tutti i valori dei parametri (incluso il valore vuoto). Le miniature devono averela stessa dimensione in cui verranno visualizzate altrimenti Archicad le distorce. Ti consigliamo di utilizzare lo strumento Figura di Archicadper assemblare le miniature in un unico file immagine.

Tabella 13. Infield con immagine

Immagine di Input Immagine di Output

Un'immagine dell'interfaccia utente utilizzata da un solo oggetto dovrebbe essere integrata nel file dello stesso elemento di libreria. Questo puòessere fatto utilizzando lo strumento LP_XMLConverter.Quando si utilizza un'immagine esterna a cui si fa riferimento con il nome del file, non omettere l'estensione del file. In questo modo eviteraierrori derivanti da immagini e oggetti con lo stesso nome.Mantieni tutte le immagini utilizzate dagli script dell'interfaccia nella cartella Macro o incorporate nell'oggetto stesso. Utilizzo di immaginiesterne: aggiungi il comando file_dependence per assicurarsi che vengano salvati in formato archivio con l'oggetto.

Gestione della schedeA partire da Archicad 18, è disponibile una nuova opzione di impaginazione gerarchica per la selezione della tabpage. Vi si accede tramiteUI_PAGE, aggiungendo alcuni parametri extra e impostando il parametro Pagine Gerarchiche nell'oggetto stesso. In questo modo, verrà

Varie

Guida di Riferimento al GDL 578

visualizzato un controllo tabpage popup separato sopra il campo dell'interfaccia utente personalizzata. L'ordine e la gerarchia delle paginedisponibili possono essere definiti dall'ID delle pagine. L'ID radice è sempre -1. Rimane comunque disponibile la possibilità di impostare unselettore di tabpage alla "vecchia maniera" all'interno della pagina UI.Vediamo uno script di esempio:! Script Master

! TabIDsTABID_ROOT = -1TABID_PAGE_1 = 50TABID_PAGE_2 = 60

dim uiUsedPageIDs[][2]dim uiUsedPageNames[][2]

idxPage = 1

uiUsedPageNames[idxPage][1] = "PageName_1"uiUsedPageNames[idxPage][2] = "pageIconName_1.png"

uiUsedPageIDs[idxPage][1] = TABID_PAGE_1uiUsedPageIDs[idxPage][2] = TABID_ROOT ! Parent Page ID

idxPage = idxPage + 1

uiUsedPageNames[idxPage][1] = "PageName_2"uiUsedPageNames[idxPage][2] = "pageIconName_2.png"

uiUsedPageIDs[idxPage][1] = TABID_PAGE_2uiUsedPageIDs[idxPage][2] = TABID_PAGE_1 ! Parent Page ID

file_dependence "pageIconName_1.png"file_dependence "pageIconName_2.png"file_dependence "pageIconName_3.png"

Varie

Guida di Riferimento al GDL 579

! Script dei Parametri

dim pageValues[]for i = 1 to vardim1(uiUsedPageIDs) pageValues[i]= uiUsedPageIDs[i][1]next i

values "gs_ui_current_page" pageValues

! Script UI

ui_dialog "Titolo Impostazioni Personali"ui_current_page gs_ui_current_page

for i = 1 to vardim1(uiUsedPageIDs) if uiUsedPageIDs[i][1] = TABID_PAGE_1 then ui_page uiUsedPageIDs[i][1], uiUsedPageIDs[i][2], uiUsedPageNames[i][1], uiUsedPageNames[i][2] if gs_ui_current_page = TABID_PAGE_1 then gosub "pageSubroutinTitle_1" endif endif

if uiUsedPageIDs[i][1] = TABID_PAGE_2 then ui_page uiUsedPageIDs[i][1], uiUsedPageIDs[i][2], uiUsedPageNames[i][1], uiUsedPageNames[i][2] if gs_ui_current_page = TABID_PAGE_2 then gosub "pageSubroutinTitle_2" endif endifnext i

Varie

Guida di Riferimento al GDL 580

! ==============================================================================! Chiama le TabPages della macro dell'interfaccia utente! ==============================================================================

call "ui_customMacro" parameters all uiUsedPageIDs = uiUsedPageIDs, uiUsedPageNames = uiUsedPageNames

! ==============================================================================end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end! ==============================================================================

! ==============================================================================! Subroutine della Pagina UI! ==============================================================================

"pageSubroutinTitle_1": ! descrizione Pagina UI 1return

"pageSubroutinTitle_2": ! descrizione Pagina UI 2return

Controlli miniature con elementi dinamiciDa Archicad 10 in poi, è disponibile un nuovo metodo dinamico per collegare gli elementi di controllo e gli elementi della lista valori. Utilizzandoquesto metodo è possibile localizzare la logica della disponibilità dei valori dei parametri nello script dei parametri - il controllo adotterà l'insiemedei valori disponibili. Questo collegamento dinamico è disponibile per ui_infield{3} e ui_infield{4}. Il collegamento staticovecchio stile funziona ancora per le funzioni statiche (usando ui_infield e ui_infield{2}).Le due componenti del metodo dinamico sono:1. Definire il controllo dell'interfaccia utente con un'opzione per ogni valore possibile.L'esempio mostra un controllo del menu a comparsa (metodo = 2) che utilizza un'immagine indice contenente 2 righe e 4 colonne. Il controllodel campione supporta 8 valori possibili.

Varie

Guida di Riferimento al GDL 581

ui_infield{3} iJunctionType, xColumn1-10, 44, 200, 50, 2, 3, 8, 2, 70, 45, 70, 45, 1, `Junction Type A1`, 2, 2, `Junction Type B1`, 4, 3, `Junction Type C1`, 1, 4, `Junction Type D1`, 3, 5, `Junction Type A2`, 5, 6, `Junction Type B2`, 7, 7, `Junction Type C2`, 6, 8, `Junction Type D2`, 8 2. Impostare l'elenco dei valori disponibili per il parametro nelle circostanze date.

if iLeftNeighbour = 1 then values "iJunctionType" 1, 3, 4, 6else if iRightNeighbour = 1 then values "iJunctionType" 2, 5, 7, 8 else values "iJunctionType" 1, 5, 7 endifendif Il controllo risultante è mostrato nell'immagine sottostante. (iLeftNeighbour = 0, iRightNeighbour = 1)

Varie

Guida di Riferimento al GDL 582

Immagini dell'interfaccia utente trasparentiIn Archicad 10 è stato introdotto un nuovo metodo in grado di gestire immagini trasparenti basate su livello-alfa. I seguenti controlli gestisconocorrettamente le immagini con i livelli alfa:• ui_pict• ui_infield{3}, method = 1 (controllo della visualizzazione delle miniature)• ui_infield{3}, method = 2 (popup con icone e testi)• ui_infield{3}, method = 3 (popup con solo icone)• ui_infield{3}, method = 4 (pulsante radio icona)• ui_infield{4}, method = 1 (controllo con visualizzazione delle miniature)• ui_infield{4}, method = 2 (popup con icone e testi)• ui_infield{4}, method = 3 (popup con solo icone)• ui_infield{4}, method = 4 (pulsante radio icona)

Dimensioni dei caratteri nell'interfaccia utenteSe utilizzi testi statici (possibilmente in combinazione con il comando ui_style), essere consapevoli di quanto segue.

Varie

Guida di Riferimento al GDL 583

A causa delle differenze dei sistemi operativi di destinazione, le dimensioni dei caratteri non sono le stesse su Windows e su Mac. Come effettocollaterale, la dimensione di font extra piccolo è un po' più grande del piccolo su Windows. Come regola generale, testare sempre le interfacce utentesu entrambe le piattaforme per verificare la sovrapposizione e il ritaglio.Inoltre, stili speciali come grassetto, corsivo e sottolineato non sono consentiti in combinazione con la dimensione extra piccolo. Bordato eOmbreggiato sono vecchi stili Macintosh, che non vengono più utilizzati.Le due immagini mostrano l'aspetto di testi statici con diverse dimensioni e stili.Su Windows:

Su Mac:

Script di migrazione in avanti

Contesto di esecuzioneLo script FWM viene eseguito quando un progetto salvato in una versione precedente di Archicad viene aperto in una versione successiva (apartire da Archicad 15) con la libreria aggiornata. Questa nuova libreria può essere caricata manualmente o utilizzando l'opzione Consolida nelGestore della Libreria. Se un'istanza posizionata di un oggetto ha un ID principale nuovo e modificato e uno script di migrazione in avantivalido nella nuova libreria, può essere automaticamente sostituito da Archicad. Se l'esecuzione dello script ha esito positivo, il vecchio elementoviene sostituito da quello nuovo.

Varie

Guida di Riferimento al GDL 584

Questo script consente all'oggetto di impostare i nuovi parametri in base a quelli vecchi, senza perdita di funzionalità o un cambiamentoimportante nell'aspetto.

Raccomandazione generaleLa prima riga dello script riempie la variabile globale FROM_GUID (questa contiene l'ID principale dell'oggetto originale da migrare) nellavariabile "actualGuid". Si consiglia di utilizzare la seguente struttura per garantire la manutenibilità.Il resto dello script è suddiviso in chiamate di subroutine, una per ogni modifica del GUID. Ogni blocco deve avere una riga corrispondentenella tabella di migrazione dell'oggetto e un blocco nello script di migrazione a ritroso. L'ultima modifica dell'ID principale deve sempre esserel'ultima chiamata di questo script. In ogni blocco si imposta l'ID da cui iniziare (_startID) e quello da finire con (_endID), definire la logicadi migrazione in una subroutine (per dettagli e comandi GDL, vedere la Guida di riferimento GDL) e alla fine del blocco si imposta sempreil nuovo "_endID" (o si imposta un ID vuoto, il che significa che il processo di aggiornamento si fermerà alla versione del blocco precedentedell'oggetto) nella variabile "actualGuid". Esempio:

Varie

Guida di Riferimento al GDL 585

actualGUID = FROM_GUID

! ==============================================================================! Subroutines! ==============================================================================

_startID = "AAAA-AAAA-...AAA" _endID = "BBBB-BBBB-...BBB"gosub "migrationstepname_FWM"

! ==============================================================================! Impostazione del GUID di migrazione! ==============================================================================

setmigrationguid actualGUID

! ==============================================================================end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! en! ==============================================================================

! ==============================================================================! migrationstepname! =============================================================================="migrationstepname_FWM": if actualGuid = _startID then newParameter = oldParameter parameters newParameter = newParameter actualGuid = _endID endifreturn

Script di migrazione all'indietro

Contesto di esecuzioneLo script BWM viene eseguito quando un progetto viene salvato nella versione precedente di Archicad. Se la versione corrente dell'elementodi libreria ha un ID principale diverso dal suo equivalente nella versione precedente, viene valutato lo script di migrazione dell'oggetto.Di conseguenza, la libpart sarà declassata se possibile (a volte con qualche piccolo compromesso, se non influisce sulle funzioni principalidell'elemento), o andrà persa completamente (in questo caso apparirà come un punto "mancante" nella versione precedente del progetto).

Varie

Guida di Riferimento al GDL 586

Quest'ultima si verifica quando una nuova funzione inserita nella versione attuale rappresenta un cambiamento importante rispetto alla versioneprecedente.Un processo di migrazione all'indietro riuscito dovrebbe convertire i parametri dell'oggetto in un modo che eviti la perdita di funzionalitàimportanti o modifiche nell'aspetto.

Raccomandazione generaleLa prima riga dello script imposta la variabile di controllo della continuità su valido. Si consiglia di utilizzare la seguente struttura per garantirela manutenibilità.Il resto dello script è diviso in subroutine: una modifica dell'ID principale è una subroutine. Ogni subroutine deve avere una riga corrispondentenella tabella di migrazione dell'oggetto e una subroutine corrispondente nello script di migrazione in avanti. L'ultimo passo indietro nellamodifica dell'ID principale deve sempre essere la prima subroutine di questo script.All'inizio di ogni subroutine viene controllato il GUID di destinazione. Se non è vuoto, lo script viene eseguito nell'ordine chiamato. Lamigrazione all'indietro funziona solo per una versione precedente, quindi targetGUID deve essere impostato solo una volta (tranne quando sieffettua una biforcazione nella migrazione per separare gli oggetti della versione precedente).La fine della subroutine riguarda l'impostazione dell'ID di destinazione (vecchio) nella variabile "targetGuid". Se imposti un ID vuoto per lavariabile, il processo di downgrade viene annullato lì. Se "targetGuid" corrisponde alla variabile globale TO_GUID (contenente l'ID principaledell'elemento target nella conversione), la prima parte del processo di migrazione è completa.Si consiglia vivamente di aggiungere un titolo o una breve descrizione della fase di migrazione per ogni subroutine. È necessario utilizzare lostesso titolo per la coppia di script migrazione in avanti della subroutine.Dopo aver raggiunto la fase desiderata della devoluzione dell'oggetto, è necessario impostare l'ID dell'oggetto posizionato utilizzando ilsetmigrationguid

Nel caso in cui la migrazione restituisca un ID vuoto, l'elemento mancherà dal progetto aperto nella versione precedente.

Varie

Guida di Riferimento al GDL 587

targetGUID = TO_GUID

! ==============================================================================! Subroutines! ==============================================================================

gosub "migrationstepname_BWM"

! ==============================================================================! Impostazione GUID di migrazione! ==============================================================================

setmigrationguid targetGUID

! ==============================================================================end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! end ! en! ==============================================================================

! ==============================================================================! migrationstepname! =============================================================================="migrationstepname _BWM": if targetGUID # "" then bMigrationSuccess = 1 if bMigrationSuccess = 1 then oldParameter = newParameter parameters oldParameter = oldParameter else targetGuid = "" endif endifreturn

Tabella di MigrazioneOgni volta che si modifica l'ID principale di un oggetto, è necessario inserire il vecchio ID nella tabella di migrazione dell'elemento. Ogni rigacontiene un ID precedente e un numero di versione di Archicad (o 0, se si cambia più di una volta tra due versioni). Durante la migrazione inavanti, il programma esegue la scansione di questo elenco di ID, preselezionando gli elementi disponibili per il processo di migrazione. Durante

Varie

Guida di Riferimento al GDL 588

la migrazione all'indietro, scansionando questo elenco il programma sceglie solo quelli con una versione equivalente alla precedente versionedi Archicad. Ogni riga di questa tabella deve avere almeno una subroutine corrispondente nello script di Migrazione in Avanti e nello scriptdi Migrazione a Ritroso.

Scrittura di macroProva a raccogliere le funzionalità utilizzate di frequente in macro. La chiamata di un oggetto macro da molti oggetti può ridurre le dimensionidella libreria e aumentare la solidità riducendo la ridondanza.Tuttavia evita di creare macro con una piccola aggiunta funzionale al livello di astrazione precedente. Ad esempio, non creare una macroblock_1x1x1 per la generazione di un blocco 1m x 1m x 1m. Ciò aumenta inutilmente il numero di chiamate macro e può peggiorare latrasparenza.Non usare mai .gdl come macro, usa invece oggetti macro.Quando chiami una macro, usa sempre la parola chiave call e inserisci il nome della macro tra virgolette (ad es., call "m_rail_wired").Non creare chiamate di macro in cui il nome della macro è un parametro per evitare macro mancanti dai file di archivio. Archicad salva la macropredefinita solo nel file di archivio. (Soluzione: chiama tutti i valori dei parametri come macro dopo l'istruzione end.)Fare attenzione a utilizzare il buffer dei parametri. Salvare il contenuto all'inizio dello script se si desidera utilizzarlo. Assicurati che solo i valoridefiniti (restituiti) siano nel buffer entro la fine dello script.

Parametri di ritorno delle macroDa Archicad 10 in poi le macro possono restituire parametri all'oggetto chiamante. Sul lato del chiamante, i valori restituiti possono essereraccolti utilizzando la parola chiave returned_parameters seguita da una lista di variabili. I valori restituiti verranno memorizzati inqueste variabili nell'ordine in cui vengono restituiti nella macro chiamata. Il numero e il tipo delle variabili specificate nel chiamante e quellerestituite nella macro non devono corrispondere. Se sono presenti più variabili specificate nel chiamante, verranno impostate su 0 intero. Lacompatibilità del tipo non è verificata: il tipo delle variabili specificate nel chiamante verrà impostato sul tipo dei valori restituiti. Se una dellevariabili nel chiamante è una matrice dinamica, tutti i valori successivi verranno memorizzati al suo interno.Nell'oggetto macro i comandi end e exit definiscono i valori che devono essere restituiti all'oggetto chiamante. Vedi l'esempio qui sotto.

Forma avanzata di parameters allDa Archicad 10 in poi dopo la parola chiave parameters all è possibile specificare parametri aggiuntivi per passarli alla macro.Sovrascriveranno i valori provenienti dal chiamante o i parametri della macro chiamata lasciati come predefiniti. La macro può restituire parametrianche in questo caso.

Varie

Guida di Riferimento al GDL 589

Chiamata macro più veloceLa velocità di trasferimento del valore del parametro tra l'oggetto chiamante e la macro è stata migliorata in Archicad 10. Trova suggerimentisull'utilizzo dei miglioramenti della velocità delle chiamate macro in sezione chiamata «Problemi di velocità».

Esempio di chiamata macroScript nell'oggetto chiamante.

call "myMacro" parameters all extraParam = 1call "myMacro" parameters returned_parameters realWidthcall "myMacro" parameters all extraParam = 1 returned_parameters realWidthcall "myMacro" parameters all returned_parameters realWidth Script nella macro.

realWidth = 2end realWidth

Problemi di conversione in backgroundA partire da Archicad 19, tutti i calcoli necessari per l'apertura di viste o punti di vista relativi al 3D verranno eseguiti come processi in background.Punti di vista supportati:• Finestra 3D• Sezione• Alzato• Alzato Interno (tranne quando "Aggiungi zoma limitata" o "Rileva e adatta alle Zone" sono abilitati)• Documento 3DSe il processo in background ha esito positivo, la visualizzazione richiesta richiede solo pochi secondi per aprirsi. Tuttavia, potrebbero essercialcuni elementi di libreria non thread-safe o oggetti inseriti nel file di pianta, che possono disabilitare i calcoli in background:• Zone• Oggetti comprese le operazioni del motore di testo (tranne i comandi di impostazione dello stile e di definizione dello stile)• Oggetti che utilizzano le seguenti richieste: "CUSTOM_AUTO_LABEL", "ZONE_COLUS_AREA", "MATCHING_PROPERTIES",

"ASSOCEL_PROPERTIES", "STYLE_INFO", "TEXTBLOCK_INFO", "FONTNAMES_LIST"

Varie

Guida di Riferimento al GDL 590

• Oggetti che utilizzano macro denominate variabili, richieste o macro non thread-safe. Il comando Project2 o la definizione di retini simbolovengono conteggiati come chiamate di macro non thread-safe.

La relazione tra gli add-on GDL e l'elaborazione in background dipende dalll'add-on stesso.Add-on deterministici (che non influiscono sull'elaborazione in background):• Operazioni sui Poligoni• Add-on Proprietà• Se utilizzato in modalità di sola lettura e con file caricati nella libreria attiva: Add-on Text o Data I/O, Add-on XMLAdd-on non deterministici (disabilitazione dell'elaborazione in background):• Add-on DateTime• Add-on FileManager• Se non utilizzato in modalità di sola lettura o con file caricati nella libreria attiva: Add-on Text o Data I/O, Add-on XMLGli script dell'oggetto vengono esaminati staticamente, quindi la conversione in background è disabilitata anche se la funzione ostacolo stessanon viene eseguita con le impostazioni correnti dell'elemento di libreria.Per verificare la compatibilità degli elementi di libreria caricati con l'elaborazione in background, utilizza il comando "Verifica se gli elementidi libreria sono thread-safe" del menu Sviluppatore Libreria.

Problemi di velocitàCerca di evitare di usare il comando project2 poiché rallenta la rigenerazione della pianta.Riduci al minimo il numero di superfici nel tuo modello per velocizzare la rigenerazione 3D. Usa i comandi RESOL, TOLER e RADIUSpercontrollare la segmentazione delle superfici curve.Si noti che i corpi chiusi si rigenerano più velocemente in 3D rispetto a quelli aperti (ad esempio, un cilindro è più veloce di un tubo aperto).Quando si programma lo script master, tenere presente che lo script master viene eseguito prima di ogni tipo di script, quindi non inserire quicalcoli specifici del tipo di script. Questo è il luogo per i calcoli comuni necessari per più script.Durante la creazione di script su porte e finestre, evitare di eseguire tagli non necessari (wallhole e wallniche).Usa valori e operazioni interi ogniqualvolta sia ragionevole, sono molto più veloci delle operazioni in virgola mobile.Cerca di ridurre al minimo l'utilizzo delle operazioni sulle stringhe.In caso di chiamata di macro, utilizzare lo stesso ordine dei parametri dopo il comando callcom'è nella lista dei parametri della macro. call"myMacro" parameters all è più veloce quando gli ordini dei parametri della macro e dell'oggetto chiamante sono simili. Cerca dievitare il trasferimento di parametri di tipo stringa nelle chiamate di macro. Usa tipi numerici ove possibile.

Varie

Guida di Riferimento al GDL 591

Compatibilità Windows-MacintoshSebbene gli oggetti e le librerie GDL siano considerati da GRAPHISOFT come indipendenti dalla piattaforma, si verificano le seguenti difficoltàquando gli oggetti vengono spostati manualmente da Windows a Macintosh:• I caratteri Windows verranno sostituiti dal carattere Macintosh predefinito negli oggetti e nei template di elenco e viceversa.• I file di lista di tipo di testo (listset.txt, listkey.txt, template di lista, ecc.) potrebbero perdere interruzioni di riga, quindi la lista non funzionerà

(testi codificati non utf-8, di solito)

Cambiare piattaforma con le librerie binariePer evitare i problemi di cui sopra, salva un file di archivio .pla della tua libreria sulla prima piattaforma, quindi estrailo sulla seconda. In questomodo anche i file non utf-8 verranno convertiti correttamente.

Immagini e supporto HDPI nel GDLA partire da Archicad 21 è disponibile il supporto HDPI reale per i dispositivi OS X.. Per fornire questa funzionalità, vengono utilizzateimmagini sorgente di grafica vettoriale scalabile (.svg) per creare immagini .tiff a più rappresentazioni, contenenti versioni della stessa graficaa risoluzioni diverse. Archicad decide in fase di esecuzione quale risoluzione dell'immagine è la migliore per il dispositivo di visualizzazionecorrente dal set disponibile di 100%, 150% e 200%. Sulla piattaforma Windows il 100% è la risoluzione predefinita. Tuttavia, anche le immaginicreate da file .svg hanno un aspetto leggermente diverso sulla piattaforma Windows.Questa opzione è disponibile solo tramite lo strumento LP_XMLConverter. I file di immagine sorgente .svg vengono convertitiautomaticamente in immagini .tiff durante la conversione della libreria. Un oggetto .gsm non può gestire immagini .svg, quindi assicurati che lestringhe di riferimento del nome dell'immagine negli script contengano l'estensione .tiff (o ometti l'estensione).Prova sempre le immagini vettoriali in tutte le risoluzioni (le immagini .tiff possono essere controllate da qualsiasi editor di immagini, risoluzioneper risoluzione) per evitare immagini sfocate dopo il ridimensionamento (usa le linee allineate ai pixel pieni nel file .svg di origine il più possibile.Stessa raccomandazione delle immagini .png.)I requisiti di sintassi di qualsiasi file di immagine incorporata .svg (dove l'immagine è compilata nello stesso elemento di libreria binario) nellesezioni GDLPict, Picture, InfoPict .xml sono le seguenti:• l'attributo MIME è "image/svg". Nel caso in cui il tipo MIME e l'estensione dell'immagine di origine siano diversi, la conversione termina

con un avviso (MIME è "image / svg", ma l'estensione del file immagine non è svg)• L'attributo SectionFlags è "1". Questo flag attiva la conversione .tiff. Se l'immagine è un .svg e il flag è diverso, viene visualizzato un avviso

durante la conversione (SectionFlags dovrebbe essere "1" nel caso di un'immagine svg).Il resto del riferimento all'immagine nelle sezioni GDLPict, Picture, InfoPict .xml non è stato modificato. Assicurati di ottenere l'estensionedell'immagine di origine direttamente nel percorso.

Varie

Guida di Riferimento al GDL 592

Anche le Immagini non-incorporate, a cui si fa riferimento direttamente con il loro nome negli script dell'oggetto, vengono gestite dallostrumento LP_XMLConverter:• L'immagine .svg dovrebbe far parte dell'origine della libreria, ma non nella cartella _images.• La conversione crea le controparti .tiff delle immagini di origine .svg nella stessa identica posizione. Le immagini di origine .svg vengono

anche copiate nella libreria binaria in una cartella separata (estensione del nome _svg_source), per supportare il flusso di lavoro diconfronto da source.xml a .gsm a reverse.xml. Questa cartella aggiuntiva può essere evitata dall'opzione -excludesvg dello strumentoLP_XMLConverter.

Qualsiasi tipo di errore di conversione da .svg a .tiff genera un avviso o un errore durante la compilazione della libreria.Per tutorial ed esempi sull'argomento e sullo strumento LP_XMLConverter, consulta le guide GDL Center Tips e Tricks [https://gdl.graphisoft.com/tips-and-tricks/how-to-use-the-lp_xmlconverter-tool].

PORTE E FINESTREQuesta sezione discute le varie opzioni speciali relative alla creazione di elementi della libreria Porta / Finestra.

Linee guida generaliUna volta che una porta / finestra viene inserita in un muro, la posizione predefinita del sistema di coordinate di questi elementi di libreriaviene ruotata in modo che il piano x-y sia verticale e l'asse z punti orizzontalmente nel muro. L'origine si trova nella parte inferiore centraledell'apertura del muro, sul lato esterno del muro. In questo modo, porte / finestre possono essere facilmente modellate da elementi nel pianox-y. Vedi le illustrazioni sotto.

x

y

z

A causa del comportamento speciale di questi elementi di libreria, il simbolo 2D viene generato da una speciale proiezione incorporata altrimentinon accessibile dagli utenti (una vista laterale capovolta da una direzione di 90 gradi). Il simbolo e la forma 3D vengono adattati all'origine

Varie

Guida di Riferimento al GDL 593

Porta / Finestra dal centro (x) inferiore (y) del riquadro di delimitazione, ma non viene effettuata alcuna regolazione lungo l'asse z per consentireagli utenti di progettare porte / finestre che si estendono oltre il muro in entrambe le direzioni z .Considerando queste regole, ecco alcuni suggerimenti che ti aiuteranno a costruire porte / finestre che funzioneranno correttamente:• Quando si costruisce la porta / finestra nella finestra della planimetria, visualizzarla come se la si guardasse dall'interno del muro in cui

sarà inserita.• Pensa al livello zero del progetto come alla superficie esterna del muro.• Gli elementi che dovrebbero essere all'interno del muro, come il telaio della finestra, dovrebbero essere al di sopra del livello zero.• I pannelli delle porte che si aprono verso l'esterno devono essere al di sotto del livello zero.

PosizionamentoUna porta è definita correttamente se il suo inserimento funziona come segue: cliccando a destra del punto di inserimento, l'anta si aprirà dallostesso lato a destra. Una finestra è definita correttamente se, al momento dell'inserimento, il lato cliccato corrisponde al lato esterno.Una posizione di apertura può assumere una di 8 forme. Queste sono rappresentate da tre variabili globali in GDL:• specchiando sul piano Y-Z in 3D o sull'asse Y in 2D(SYMB_MIRRORED)• specchiando dall'asse longitudinale del muro (rotazione di 180 gradi: SYMB_ROTANGLE)• capovolgimento (WIDO_REVEAL_SIDE)Di solito ogni parte della finestra dovrebbe reagire in modo diverso a queste condizioni. La specifica deve essere chiara nel decidere come leparti dell'oggetto dovrebbero o non dovrebbero agire. un'anta si muove con queste trasformazioni, ma la chiusura/finitura della cavità no. Permantenere l'elemento di libreria coerente, è necessario utilizzare diverse trasformazioni per queste combinazioni. Quando si cambia il lato dellaspalletta (capovolgimento), l'elemento di libreria viene specchiato e trascinato indietro del valore dello spessore nominale del telaio.Illustrazione degli 8 stati con una porta semplificata: il piccolo cerchio indica l'origine.

Varie

Guida di Riferimento al GDL 594

Variabili globali 1. Disegno di esempio 1. Variabili globali 2. Disegno di esempio 2.

WIDO_REVEAL_SIDE = 0SYMB_MIRRORED = 0SYMB_ROTANGLE = 0

WIDO_REVEAL_SIDE = 0SYMB_MIRRORED = 1SYMB_ROTANGLE = 0

WIDO_REVEAL_SIDE = 1SYMB_MIRRORED = 0SYMB_ROTANGLE = 180

WIDO_REVEAL_SIDE = 1SYMB_MIRRORED = 1SYMB_ROTANGLE = 180

WIDO_REVEAL_SIDE = 1SYMB_MIRRORED = 0SYMB_ROTANGLE = 0

WIDO_REVEAL_SIDE = 1SYMB_MIRRORED = 1SYMB_ROTANGLE = 0

WIDO_REVEAL_SIDE = 0SYMB_MIRRORED = 0SYMB_ROTANGLE = 180

WIDO_REVEAL_SIDE = 0SYMB_MIRRORED = 1SYMB_ROTANGLE = 180

Codice di esempio che annulla le trasformazioni automatiche eseguite da Archicad:

Varie

Guida di Riferimento al GDL 595

! Script 2DbRotated = round_int (SYMB_ROTANGLE) = 180if bRotated then rot2 180endifif SYMB_MIRRORED then mul2 -1, 1endifif WIDO_REVEAL_SIDE exor bRotated then add2 0, WALL_THICKNESSendif

! Script 3DbRotated = round_int (SYMB_ROTANGLE) = 180if bRotated then roty 180endifif SYMB_MIRRORED then mulx -1endifif WIDO_REVEAL_SIDE exor bRotated then addz -WALL_THICKNESSendif Si noti che sebbene il capovolgimento e la specchiatura siano possibili per tutte le porte e le finestre, non è corretto nelle librerie del produttorein cui una parte della libreria modella una finestra reale - che, ovviamente, non può essere capovolta. In questo caso lo script dovrebbe annullarela specchiatura fatta da Archicad.

Creazione di elementi di libreria di porte / finestreQuando si creano elementi di libreria di tipo di porta/finestra, esistono diverse possibilità, che presentano problemi diversi:• Realizzazione di porte/finestre rettangolari su muri diritti• Sfide relative al 3D

• Realizzazione di porte/finestre non rettangolari su muri diritti• Realizzazione di porte/finestre rettangolari su muri curvi• Realizzazione di porte/finestre non rettangolari su muri curvi

• Sfide relative al 2D

Varie

Guida di Riferimento al GDL 596

• Taglio di aperture personalizzate sul muro• WALLHOLE2• Estensione del poligono del muro• WALLBLOCK2• WALLLINE2• WALLARC2

Porte/finestre rettangolari su muri dirittiQuesto è il modo più semplice e diretto per creare porte e finestre. Si consiglia l'uso di semplici comandi GDL come PRISM_ o RECT.Se si desidera abbinare i materiali di superficie degli elementi porta/finestra a quelli del muro, la superficie inferiore degli elementi devecorrispondere all'esterno e la superficie superiore all'interno del muro. Puoi ottenere ciò dai tuoi script utilizzando le variabili globaliWALL_MAT_A, WALL_MAT_B e WALL_MAT_EDGE che rappresentano i materiali di superficie del muro in cui è posizionata la porta/finestra. Nello script 2D, le variabili globali WALL_SECT_PEN, WALL_FILL_PEN e WALL_FILL possono essere utili, poiché forniscono inumeri di penna del contorno e del retino del muro più il numero di indice del retino del muro in pianta in cui viene inserita la porta / finestra.Con i muri composti, è necessario utilizzare le variabili globali corrispondenti.Vedi Varie per i dettagli.Le librerie di oggetti vengono fornite con un ampio set di macro porta/finestra. Questi script GDL contengono elementi di costruzione comuniche vengono utilizzati da molte porte/finestre nella libreria. Esistono macro per la generazione di telai, pannelli e molti altri tipi di parti diporte/finestre di uso comune. Apri alcuni elementi di libreria porta/finestra per vedere che tipo di macro chiamano e che tipo di parti generanoquelle macro.

Esempio:

X

Y

Z

Varie

Guida di Riferimento al GDL 597

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, -1ADD -a/2+d, f, 0BRICK a-2*d, e, cADD -g/2, -f+d, c/2GOSUB 1ADDZ -gGOSUB 1DEL 2MATERIAL "Vetro - Blu"ADD 0, -f+d, c/2RECT a-2*d, f-dADDY f-d+eRECT a-2*d, b-f-e-dEND

1: FOR i=1 TO h-1 ADDX (a-2*d)/3 BLOCK g, f-d, g ADDY f+e-d BLOCK g, b-f-d-e, g DEL 1 NEXT i DEL h-1 RETURN

Varie

Guida di Riferimento al GDL 598

Sfide relative al 3D

Porte/finestre non rettangolari su muri dirittiQuando si lavora con porte/finestre, è importante sapere che il posizionamento di una porta/finestra taglia sempre un foro rettangolare nelmuro. La dimensione di questo foro è determinata dai parametri A e B dell'elemento di libreria porta/finestra. Tuttavia, quando la porta/finestra non è rettangolare in elevazione, non riempie completamente il foro rettangolare tagliato. La soluzione a questo è utilizzare il comandoWALLHOLE o WALLNICHE per definire una forma poligonale da tagliare nel muro dove è collocata la porta/finestra. Ci sono due soluzioniper questo:• Lo script 3D deve contenere parti che generano quelle parti del muro che riempiono il foro tra il corpo della porta/finestra e i bordi del

taglio rettangolare del muro. In questo caso, è necessario prestare particolare attenzione alla visibilità dei bordi di queste otturazioni.

X

Y

Z

• Con il comando WALLHOLE o WALLNICHE è possibile definire una forma poligonale da tagliare nel muro dove è collocata la porta/finestra.

WALLHOLEWALLHOLE n, stato, x1, y1, mask1, ... xn, yn, maskn [, x, y, z]n: il numero di nodi del poligono.status:1: utilizzare gli attributi del corpo per i poligoni e gli spigoli generati,

Varie

Guida di Riferimento al GDL 599

2: i poligoni tagliati generati saranno trattati come normali poligoni.xi, yi: coordinate del poligono della sezione trasversale.maski: simile a CUTPOLYA:maski = j1 + 2*j2 + 4*j3 + 64*j7, dove ogni j può essere 0 o 1.

x, y, z: vettore di direzione opzionale (l'impostazione predefinita è l'asse Z della porta/finestra).

x

z

y

1

n

i

i+1j1

j2

j3Z

Y

X

Questo comando può essere utilizzato nello script 3D di porte/finestre per tagliare fori personalizzati nel muro in cui vengono inserite. Durantela generazione 3D del muro corrente, lo script 3D di tutte le sue porte/finestre viene interpretato senza generazione del modello per raccoglierei comandi WALLHOLE. Se esistono, il muro corrente verrà tagliato utilizzando un tubo infinito con la sezione trasversale poligonale e ladirezione definite nello script. Può esserci un numero qualsiasi di WALLHOLE per qualsiasi porta/finestra, quindi è possibile tagliare più foriper la stessa porta/finestra, anche intersecanti. Se almeno un comando WALLHOLE viene interpretato in uno script 3D di porta/finestra, nonverrà generata alcuna apertura rettangolare per quella porta/finestra.

Nota: La spalletta 3D non verrà generata automaticamente per i fori personalizzati, devi generarla dallo script. Il foro così personalizzato saràvisibile solo in 3D, perché i comandi WALLHOLE non hanno alcun effetto in 2D. Se necessario, è possibile creare una rappresentazione2D (utilizzata con l'inquadratura in pianta)).

Si raccomanda l'uso di sezioni trasversali poligonali convesse; l'utilizzo di poligoni concavi può provocare strane ombreggiature/rendering oerrori di taglio. I poligoni convessi possono essere combinati per ottenere quelli concavi. Le trasformazioni di specchiatura influenzano ladirezione di taglio in modo inaspettato: per ottenere un risultato più diretto, utilizzare WALLNICHE.

Varie

Guida di Riferimento al GDL 600

Esempio 1:

RESOL 72l1 = 2.7: l2=1.2h1=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, 4015WALLHOLE 4, 1, l1/2-l2, 0, 15, l1/2, 0, 15, l1/2, h3, 15, l1/2-l2, h3, 15

Varie

Guida di Riferimento al GDL 601

Esempio 2:

WALLHOLE 5, 1, -0.45, 0, 15, 0.45, 0, 15, 0.45, 1.5, 15, 0, 1.95, 15, -0.45, 1.5, 15PRISM_ 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

WALLNICHEWALLNICHE n, metodo, stato, rx, ry, rz, d, x1, y1, mask1, [mat1,] ... xn, yn, maskn[, matn]Simile a CUTFORM.method: Controlla la forma del corpo di taglio:1: a forma di prisma,2: piramidale,3: corpo di taglio a forma di cuneo. La direzione del bordo superiore del cuneo è parallela all'asse Y e la sua posizione è in rx, ry, rz (ryviene ignorato).

status: Controlla l'estensione del corpo di taglio e il trattamento dei poligoni di taglio generati e dei nuovi bordi.

Varie

Guida di Riferimento al GDL 602

status = j1 + 2*j2 + 8*j4 + 16*j5 + 32*j6 + 64*j7 + 128*j8 + 256*j9, dove ogni j può essere 0 o 1.j1: utilizzare gli attributi del corpo per i poligoni e gli spigoli generati,j2: i poligoni tagliati generati saranno trattati come normali poligoni,j4: definisce il limite del taglio (con j4),j5: definisce il limite del taglio (con j5),j6: genera un'intersezione booleana con il corpo di taglio piuttosto che una differenza booleana. (può essere utilizzato solo conCUTFORM),j7: i bordi generati dalla parte inferiore del corpo di taglio saranno invisibili,j8: i bordi generati dalla parte superiore del corpo di taglio saranno invisibili.j9: la forma di taglio ha materiali laterali personalizzati (mati).j4 = 0 e j5 = 0: taglio finito,j4 = 0 e j5 = 1: taglio semi-infinito,j4 = 1 e j5 = 1: taglio infinito,

rx,ry,rz: definisce la direzione del taglio se la forma di taglio è a forma di prisma, o la parte superiore della piramide se il metodo ditaglio è piramidale.

d: definisce la distanza lungo rx, ry, rz fino alla fine del taglio. Se il taglio è infinito, questo parametro non ha effetto. Se il taglio è finito,l'inizio del corpo di taglio sarà al sistema di coordinate locali e il corpo terminerà a una distanza di d lungo la direzione definita da by rx,ry,rz.Se il taglio è semi-infinito, l'inizio del corpo di taglio sarà a una distanza di d lungo la direzione definita da rx, ry, rz e la direzione del tagliosemi-infinito sarà nella direzione opposta definita da rx,ry,rz.

mati: materiale laterale della forma di taglio (quando lo stato j9 = 1)mask: Definisce la visibilità dei bordi del corpo di taglio.j1: il poligono creerà un bordo visibile all'ingresso nel corpo da tagliare,j2: sarà visibile il bordo longitudinale della forma di taglio,j3: il poligono creerà un bordo visibile all'uscita dal corpo da tagliare,j4: il bordo inferiore della forma di taglio sarà visibile,j5: il bordo superiore della forma di taglio sarà visibile,j7: controlla la visibilità dipendente dal punto di vista del bordo longitudinale.

Porte/finestre rettangolari su muri curviQuando si posizionano porte/finestre su muri curvi, i lati del foro praticato nel muro possono variare in base all'immagine sottostante.

Varie

Guida di Riferimento al GDL 603

Il foro nel muro a sinistra viene creato quando il programma taglia automaticamente il foro per la porta/finestra. In questo caso i lati sarannodi direzione radiale. A destra, il foro viene tagliato utilizzando WALLHOLE nello script 3D dell'oggetto porta/finestra. L'oggetto stesso deveessere scritto tenendo in considerazione questi fattori.Un'altra cosa da considerare è se la porta/finestra inserita nel muro curvo è diritta o curva.

Nel caso di una porta/finestra dritta, come sopra a sinistra, lo spessore e la larghezza dell'oggetto e lo spessore del muro sono strettamentecorrelati, poiché sopra una certa dimensione l'oggetto cadrebbe fuori dal muro. Quando si utilizzano porte/finestre curve, questo problemanon si verifica.

Esempio: Finestra con telaio che segue la curva del muro

Y

X

Z

Varie

Guida di Riferimento al GDL 604

RESOL 72ROTX -90 : MULY -1C= 0.12 : Z=360*A/(2*WIDO_ORIG_DIST*PI)Y= 360*C/(2*WIDO_ORIG_DIST*PI) : A1= 270+Z/2 : A2=270-Z/2GOSUB "curved_horizontal_frame"ADDZ BMULZ -1GOSUB "curved_horizontal_frame"DEL 2ADDZ CGOSUB "vertical_frame"MULX -1GOSUB "vertical_frame"END"curved_horizontal_frame": 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 RETURN"vertical_frame": 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

Porte/finestre non rettangolari su muri curviAnche qui si applicano le linee guida generali fornite per porte/finestre rettangolari su muri curvi.

Varie

Guida di Riferimento al GDL 605

Esempio:

Varie

Guida di Riferimento al GDL 606

wFrame=0.1: wDivider=0.025Z=A/2-SQR(2)*wFrame: Y=A/2-SQR(2)*wFrame-wDividerADDY A/2WALLHOLE 4, 1, 0, -A/2, 15, A/2, 0, 15, 0, A/2, 15, -A/2, 0, 15PRISM_ 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, -1ADDZ 0.02GOSUB "cross_divider"ADDZ 0.03GOSUB "cross_divider"ADDY -ZSET MATERIAL "Glass - Blue"ROTZ 45RECT SQR(2)*Z, SQR(2)*ZEND

Varie

Guida di Riferimento al GDL 607

"cross_divider": PRISM_ 16, 0.03, 0, -Z, 15, wDivider, -Y, 15, wDivider, -wDivider, 15, Y, -wDivider, 15, Z, 0, 15, Z, wDivider, 15, wDivider, wDivider, 15, wDivider, Y, 15, 0, Z, 15, -wDivider, Y, 15, -wDivider, wDivider, 15, -Y, wDivider, 15, -Z, 0, 15, -Y, -wDivider, 15, -wDivider, -wDivider, 15, -wDivider, -Y, 15 RETURN

Sfide correlate al 2D

Taglio di aperture a muro personalizzateIl posizionamento di una porta/finestra taglia un foro rettangolare nel muro per impostazione predefinita. La dimensione di questo foro in 2Dè determinata dai parametri A dell'elemento di libreria porta/finestra. L'implementazione di spallette personalizzate o chiusure di cavità richiedeil taglio di fori di forma personalizzata nel muro o una loro estensione nella vista di pianta.Una corretta soluzione per questo problema può essere ottenuta utilizzando i comandi WALLHOLE2, WALLBLOCK2, WALLLINE2 andWALLARC2.

WALLHOLE2WALLHOLE2 n, fill_control, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, fillAngle, x1, y1, s1, ... xn, yn, sn

Varie

Guida di Riferimento al GDL 608

Definizione apertura muro per la vista in pianta accoppiata ad un poligono di copertura. Viene interessata solo la parte tagliata del muro, ipoligoni a vista del muro rimangono intatti.Il poligono di copertura non ha contorno.Questo comando può essere utilizzato solo nello script 2D degli oggetti porta/finestra.La parametrizzazione del comando è principalmente la stessa di quella di POLY2_B{2}.fill_control:fill_control = 2*j2 + 8*j4 + 16*j5 + 32*j6 + 64*j7, dove ogni j può essere 0 o 1.j2: disegna il retino di copertura sul poligono,j4: orientamento locale del retino,j5: Il retino locale deve essere allineato con la direzione del muro (l'origine del retino è all'origine del muro e le direzioni corrispondono),j6: il retino è un retino sezione (per defult è un retino disegno),j7: il retino è un retino coprente (solo se j6 = 0, per default è un retino disegno).

WALLHOLE2{2}WALLHOLE2{2} n, frame_fill, fillcategory, distortion_flags, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, mxx, mxy, myx, myy, innerRadius, x1, y1, s1, ... xn, yn, snVersione avanzata di WALLHOLE2, dove la distorsione del retino può essere controllata in modo migliorato.È equivalente a POLY2_B{5} nella definizione geometrica.distortion_flags:distortion_flags = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 + 128*j8, dove ogni j può essere 0 o 1.Il valore valido per distortion_flags è compreso tra 0 e 255. Non utilizzare valori al di fuori di questo intervallo.j1-j7: simile a POLY2_B{5},j8: Il retino locale deve essere allineato con la direzione del muro (l'origine del retino è all'origine del muro e le direzioni corrispondono),significativo solo quando è impostato j4. La matrice di distorsione (parametri mij) viene omessa.

Varie

Guida di Riferimento al GDL 609

Estensione del poligono del muro

WALLBLOCK2WALLBLOCK2 n, fill_control, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, fillAngle, x1, y1, s1, ... xn, yn, sn

WALLBLOCK2{2}WALLBLOCK2{2} n, frame_fill, fillcategory, distortion_flags, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, mxx, mxy, myx, myy, innerRadius, x1, y1, s1, ... xn, yn, snDefinizione del poligono del muro (estensione) per la vista di pianta. Entrambi i poligoni del muro tagliato e a vista vengono tagliati dalpoligono definito. Le aperture nel muro definite tramite WALLHOLE2 in un altro oggetto finestra/porta tagliano il poligono generato daquesto comando, mentre le aperture nei muri provenienti dallo stesso oggetto non lo fanno.Questo comando può essere utilizzato solo nello script 2D degli oggetti porta/finestra.La parametrizzazione del comando è esattamente la stessa di WALLHOLE2.

WALLLINE2WALLLINE2 x1, y1, x2, y2Definizione della linea di muro (estensione) tra due punti per la vista in pianta. Le aperture nei muri definite tramite WALLHOLE2 in un altrooggetto finestra/porta tagliano la linea generata da questo comando, mentre le aperture nei muri provenienti dallo stesso oggetto non lo fanno.Questo comando può essere utilizzato solo nello script 2D degli oggetti porta/finestra.La parametrizzazione del comando è esattamente la stessa di quella di LINE2.

WALLARC2WALLARC2 x, y, r, alfa, beta

Varie

Guida di Riferimento al GDL 610

Un arco con il suo punto centrale in (x, y) dall'angolo alfa a beta, con un raggio di r, che è disegnato dal muro che lo contiene. Le aperturenei muri definite tramite WALLHOLE2 in un altro oggetto finestra/porta tagliano l'arco generato da questo comando, mentre le aperture neimuri provenienti dallo stesso oggetto non lo fanno.Questo comando può essere utilizzato solo nello script 2D degli oggetti porta/finestra.La parametrizzazione del comando è esattamente la stessa di quella di ARC2.

GDL CREATO DALLA PIANTAIl salvataggio della pianta come script GDL o elemento di libreria risulterà in elementi GDL. È possibile utilizzare questi script GDL comemodelli per gli elementi di libreria personalizzate.

PAROLE CHIAVE

Parole chiave comuniFILE_DEPENDENCEMODANDOREXORFORTOSTEPNEXTDO (su DO - WHILE, su WHILE - ENDWHILE)WHILE (su DO - WHILE, su WHILE - ENDWHILE)ENDWHILEREPEATUNTILIF (su IF - GOTO, su IF - THEN - ELSE - ENDIF)THEN (su IF - GOTO, su IF - THEN - ELSE - ENDIF)GOTO (su IF - GOTO, su GOTO)GOSUB (su IF - GOTO, su GOSUB)

Varie

Guida di Riferimento al GDL 611

ELSEENDIFRETURNENDEXITBREAKPOINT

FILLTYPES_MASK (su DEFINE FILL, su DEFINE FILLA, su DEFINE SYMBOL_FILL, su DEFINESOLID_FILL, su DEFINE EMPTY_FILL, su DEFINE LINEAR_GRADIENT_FILL, su DEFINERADIAL_GRADIENT_FILL, su DEFINE TRANSLUCENT_FILL, su DEFINE IMAGE_FILL, su VALUES)PROFILETYPES_MASKDICTDIMPUTGETUSENSPCALLRETURNED_PARAMETERSDEFAULTPRINT

HASKEYREMOVEKEYVARDIM1VARDIM2PARVALUE_DESCRIPTIONABSCEILINTFRAROUND_INTSGN

Varie

Guida di Riferimento al GDL 612

SQRACSASNATNCOSSINTANPIEXPLGTLOGNOTMINMAXRNDBITTESTBITSETREQREQUESTINDAPPLICATION_QUERYLIBRARYGLOBALSTRSTR{2}SPLITSTWSTRLENSTRSTRSTRSUBSTRTOUPPERSTRTOLOWEROPENINPUT

Varie

Guida di Riferimento al GDL 613

VARTYPEOUTPUTCLOSEINITADDONSCOPEPREPAREFUNCTIONCALLFUNCTIONCLOSEADDONSCOPE

Parole chiave riservateLe parole chiave elencate di seguito sono riservate; esistono per motivi di compatibilità o non sono pubblicizzati. BAS BOX CONT FILTER GDLBIN HIP_ROOFS LIN LINE MIGRATIONWARNING NOD NODE ORIGO PARS PAUSE PLOTMAKER PLOTTER RECT_ REF SFLINE TET TETRA TRI WALL_ VOCA UI_OK UI_CANCEL

Varie

Guida di Riferimento al GDL 614

Solo per uso 3DADDXADDYADDZADDMULXMULYMULZMULROTXROTYROTZROTXFORM

BLOCKBRICKCYLINDSPHEREELLIPSCONEPRISMPRISM_CPRISM_CPRISM_{2}CPRISM_{3}CPRISM_{4}BPRISM_FPRISM_HPRISM_SPRISM_SPRISM_{2}

Varie

Guida di Riferimento al GDL 615

SPRISM_{3}SPRISM_{4}SLABSLAB_CSLAB_CWALL_BWALL_XWALL_XWALL_{2}XWALL_{3}BEAMCROOF_CROOF_{2}CROOF_{3}CROOF_{4}MESHARMCARMEELBOWEXTRUDEPYRAMIDREVOLVEREVOLVE{2}REVOLVE{3}REVOLVE{4}REVOLVE{5}RULEDRULED{2}RULEDSEGMENTEDRULEDSEGMENTED{2}SWEEPTUBETUBE{2}

Varie

Guida di Riferimento al GDL 616

TUBEACOONSCOONS{2}MASSMASS{2}POLYROOFPOLYROOF{2}POLYROOF{3}POLYROOF{4}EXTRUDEDSHELLEXTRUDEDSHELL{2}EXTRUDEDSHELL{3}REVOLVEDSHELLREVOLVEDSHELL{2}REVOLVEDSHELL{3}REVOLVEDSHELLANGULARREVOLVEDSHELLANGULAR{2}REVOLVEDSHELLANGULAR{3}RULEDSHELLRULEDSHELL{2}RULEDSHELL{3}TEXTBODYBASENURBSCURVE2DNURBSCURVE3DNURBSSURFACENURBSVERTNURBSEDGENURBSTRIMNURBSTRIMSINGULARNURBSFACENURBSFACE{2}

Varie

Guida di Riferimento al GDL 617

NURBSLUMPNURBSBODYPOINTCLOUDCUTPLANECUTEND (su CUTPLANE, su CUTPLANE{2}, su CUTPLANE{3}, su CUTPOLY, su CUTPOLYA, su CUTSHAPE)CUTPLANE{2}CUTPLANE{3}CUTPOLYCUTPOLYACUTSHAPECUTFORMCUTFORM{2}GROUPENDGROUPADDGROUPADDGROUP{2}ADDGROUP{3}SUBGROUPSUBGROUP{2}SUBGROUP{3}ISECTGROUPISECTGROUP{2}ISECTGROUP{3}ISECTLINESPLACEGROUPKILLGROUPSWEEPGROUPSWEEPGROUP{2}SWEEPGROUP{3}SWEEPGROUP{4}SWEEPGROUP{5}CREATEGROUPWITHMATERIALBINARY

Varie

Guida di Riferimento al GDL 618

WALLNICHE

HOTSPOTHOTLINEHOTARCLIN_RECTPOLYPOLY_PLANEPLANE_CIRCLEARCLIGHTPICTURERICHTEXTVERT (su VERT, su VERT{2})TEVEVECTEDGEPGONPGON{2}PGON{3}PIPGCOORCOOR{2}COOR{3}MODELWIRESURFACESOLIDMATERIAL (su [SET] MATERIAL, su IND)BUILDING_MATERIAL (su [SET] BUILDING_MATERIAL, su IND)

Varie

Guida di Riferimento al GDL 619

SECT_FILLSECT_ATTRSSECT_ATTRS{2}SHADOWONOFFAUTODEFINE MATERIAL (su DEFINE MATERIAL, su DEFINE MATERIAL BASED_ON)BASED_ONDEFINE TEXTURETEXTUREWALLHOLE

Solo per uso 2DADD2MUL2ROT2

LINE2RECT2POLY2POLY2_POLY2_APOLY2_BPOLY2_B{2}POLY2_B{3}POLY2_B{4}POLY2_B{5}POLY2_B{6}ARC2CIRCLE2SPLINE2SPLINE2A

Varie

Guida di Riferimento al GDL 620

TEXT2RICHTEXT2FRAGMENT2PROJECT2PROJECT2{2}PROJECT2{3}PROJECT2{4}DRAWING2DRAWING3DRAWING3{2}DRAWING3{3}WALLHOLE2WALLHOLE2{2}WALLBLOCK2WALLBLOCK2{2}WALLLINE2WALLARC2

HOTSPOT2HOTLINE2HOTARC2PICTURE2PICTURE2{2}LINE_PROPERTYDRAWINDEXFILL (su [SET] FILL, su IND)LINE_TYPE (su [SET] LINE_TYPE, su IND)DEFINE FILLDEFINE FILLADEFINE SYMBOL_FILLDEFINE SOLID_FILLDEFINE EMPTY_FILLDEFINE LINEAR_GRADIENT_FILL

Varie

Guida di Riferimento al GDL 621

DEFINE RADIAL_GRADIENT_FILLDEFINE TRANSLUCENT_FILLDEFINE IMAGE_FILLDEFINE LINE_TYPEDEFINE SYMBOL_LINE

Per uso 2D e 3DDEL (su DEL, su DEL TOP)TOPNTRADDITIONAL_DATA (su LIGHT, su DEFINE MATERIAL BASED_ON)LETRADIUSRESOLTOLERPENSET (su [SET] STYLE, su [SET] MATERIAL, su [SET] BUILDING_MATERIAL, su [SET] FILL, su [SET]LINE_TYPE)STYLE (su [SET] STYLE, su IND)DEFINE STYLEDEFINE STYLE{2}PARAGRAPHENDPARAGRAPHTEXTBLOCKTEXTBLOCK_PROFILE_ATTR

Script Non-Geometrici

Script delle ProprietàDATABASE_SETDESCRIPTOR

Varie

Guida di Riferimento al GDL 622

REF DESCRIPTORCOMPONENTREF COMPONENTBINARYPROPSURFACE3DVOLUME3DPOSITIONWALLSCOLUMNSBEAMSDOORSWINDOWSOBJECTSCEILSPITCHED_ROOFSLIGHTSHATCHESROOMSMESHESDRAWING

Script dei ParametriVALUESCUSTOM (su VALUES, su UI_INFIELD{4})RANGEVALUES{2}PARAMETERS (su PARAMETERS, su CALL)LOCKALL (su LOCK, su HIDEPARAMETER, su CALL)HIDEPARAMETER

Script dell'InterfacciaUI_DIALOG

Varie

Guida di Riferimento al GDL 623

UI_PAGEUI_CURRENT_PAGEUI_BUTTON (su UI_BUTTON, su UI_TOOLTIP)UI_PREVUI_NEXTUI_FUNCTIONUI_LINKUI_PICT_BUTTON (su UI_PICT_BUTTON, su UI_TOOLTIP)UI_SEPARATORUI_GROUPBOXUI_PICT (su UI_PICT, su UI_TOOLTIP)UI_STYLEUI_OUTFIELD (su UI_OUTFIELD, su UI_TOOLTIP)UI_INFIELD (su UI_INFIELD, su UI_TOOLTIP)UI_INFIELD{2} (su UI_INFIELD{2}, su UI_TOOLTIP)UI_INFIELD{3} (su UI_INFIELD{3}, su UI_TOOLTIP)UI_INFIELD{4} (su UI_INFIELD{4}, su UI_TOOLTIP)UI_CUSTOM_POPUP_INFIELD (su UI_CUSTOM_POPUP_INFIELD, su UI_TOOLTIP)UI_CUSTOM_POPUP_INFIELD{2} (su UI_CUSTOM_POPUP_INFIELD{2}, su UI_TOOLTIP)UI_RADIOBUTTON (su UI_RADIOBUTTON, su UI_TOOLTIP)UI_RADIOBUTTON{2}UI_PICT_RADIOBUTTONUI_PICT_RADIOBUTTON{2}UI_PICT_PUSHCHECKBUTTONUI_PICT_PUSHCHECKBUTTON{2}UI_TEXTSTYLE_INFIELDUI_TEXTSTYLE_INFIELD{2}UI_LISTFIELD (su UI_LISTFIELD, su UI_TOOLTIP)UI_LISTITEM (su UI_LISTITEM, su UI_TOOLTIP)UI_LISTITEM{2} (su UI_LISTITEM{2}, su UI_TOOLTIP)UI_CUSTOM_POPUP_LISTITEM (su UI_CUSTOM_POPUP_LISTITEM, su UI_TOOLTIP)UI_CUSTOM_POPUP_LISTITEM{2} (su UI_CUSTOM_POPUP_LISTITEM{2}, su UI_TOOLTIP)UI_TOOLTIP

Varie

Guida di Riferimento al GDL 624

UI_COLORPICKERUI_COLORPICKER{2}UI_SLIDERUI_SLIDER{2}

Script di Migrazione in Avanti e a RitrosoSETMIGRATIONGUIDSTORED_PAR_VALUEDELETED_PAR_VALUENEWPARAMETER

ADD-ON GDL DATA I/OL'Add-on GDL Data I/O consente di accedere a un semplice tipo di database utilizzando i comandi GDL. Questo add-on per il resto è simileall'add-on GDL Text In/Out.

Descrizione del databaseIl database è un file di testo in cui i record sono memorizzati in righe separate. Il database può essere interrogato e modificato sulla base di unasingola chiave. La chiave e gli altri elementi sono separati da un carattere (specificato in OPEN).La lunghezza delle righe non deve essere la stessa e anche il numero di colonne nei record potrebbe essere diverso.Se un database è aperto per la scrittura, dovrebbe esserci spazio sufficiente accanto al file del database per duplicare l'intero file.L'apertura e la chiusura di un database può richiedere molto tempo, quindi è necessario evitare la chiusura e l'apertura consecutive di un database.I database di grandi dimensioni (con più di alcune centinaia di migliaia di record) dovrebbero essere ordinati in base ai valori chiave.Un database può essere aperto, interrogato, modificato e chiuso da questo add-on utilizzando i comandi GDL OPEN, INPUT, OUTPUT eCLOSE.

Apertura di un databasechannel = OPEN (filter, filename, paramstring)Apre il database. Se il file del database deve essere aperto per la modifica e il file non esiste, crea un nuovo file. Se il file del database deve essereaperto per la lettura e il file non esiste, viene visualizzato un messaggio di errore.Il suo valore di ritorno è un numero intero positivo che identificherà il database specifico. Questo valore sarà il numero di riferimento futurodel database.

Varie

Guida di Riferimento al GDL 625

Se il database viene aperto prima del comando di apertura, genererà solo un numero di canale.filter: il nome interno dell'add-on, in questo caso "DATA"filename: il nome del file di database da aprireparamstring: parametro specifico dell'add-on, contiene caratteri separatori e parametri della modalità di apertura dei file

Paramstring può contenere quanto segue:SEPARATOR: dopo la parola chiave tra virgolette singole ('') puoi definire un carattere che vuoi utilizzare nel tuo file di testo (sia in casodi scrittura che di lettura) per la separazione dei campi dati. Un caso speciale è il carattere tabulatore ('\t').MODE: dopo la parola chiave deve seguire la modalità di apertura. Esistono tre modalità di apertura:• RO (sola lettura)• WA (lettura, aggiunta/modifica)• WO (sovrascrittura) Svuota il database se esiste.DIALOG: il parametro "filename" funziona come un identificatore di file, altrimenti è un nome di percorso completo. L'identificatoredel file è una semplice stringa, che verrà abbinata a un file esistente dall'add-on durante una finestra di dialogo standard "Apri/Salva come".Questa corrispondenza viene memorizzata dall'add-on e non verrà richiesta di nuovo tranne quando il file non è più disponibile. Se la modalitàdi apertura è di sola lettura, l'Add-On visualizzerà una finestra di dialogo Apri per selezionare un documento esistente. In caso contrario,l'Add-On visualizzerà una finestra di dialogo di avviso per selezionare tra le opzioni "Crea" e "Sfoglia":• Crea: creare un nuovo file di dati (finestra di dialogo Salva come).• Sfoglia: cerca un file di dati esistente (finestra di dialogo Apri)LIBRARY: Se la parola chiave LIBRARY è presente nella stringa di parametri, il file di dati deve essere nella libreria caricata. L'aperturadel file di dati dalla libreria caricata per la lettura è possibile da tutti gli script, ma la scrittura è abilitata solo negli script dei parametri,dell'interfaccia utente e delle proprietà.Metti sempre una virgola (,) tra i componenti di paramstring.Se utilizzi parole chiave che non esistono, se i caratteri separatori forniti sono errati o se non c'è nulla nella stringa del parametro, l'estensioneutilizzerà le impostazioni predefinite: "SEPARATOR = '\t', MODE = RO"

Esempio:ch1 = OPEN ("DATA", "file1", "SEPARATOR=';', MODE = RO, DIALOG")ch2 = OPEN ("DATA", "file2", "")ch3 = OPEN ("DATA", "newfile", "SEPARATOR = '\t', MODE = WA")

Varie

Guida di Riferimento al GDL 626

Lettura dei valori dal databaseINPUT (channel, recordID, fieldID, var1 [, var2, ...])Interroga il database in base al valore della chiave.Se trova il record, legge gli elementi dal record a partire dalla colonna data e inserisce i valori letti nei parametri in sequenza.Nella lista dei parametri deve esserci almeno un valore. I valori possono essere di tipo numerico o stringa indipendentemente dal tipo diparametro definito per essi. Il valore restituito è il numero di valori letti con successo.Se sono presenti più parametri che valori, i parametri senza valori corrispondenti verranno impostati a zero. In caso di colonne vuote (cioè senon c'è niente tra i caratteri separatori) i parametri verranno azzerati.Se non trova alcun record, ritorna (-1).channel: valore del canale, utilizzato per identificare la connessione.recordID: valore chiave (numerico o stringa).fieldID: il numero di colonna nel record dato (il numero più piccolo, 1 si riferisce all'elemento dopo il valore chiave).vari: variabili per ricevere gli elementi del record di lettura.

Esempio:! input di tre valori dalla prima colonna della prima riganr = INPUT (ch1, "key1", 1, v1, v2, v3)

PRINT nr, v1, v2, v3

Scrittura di valori nel databaseOUTPUT channel, recordID, fieldID, expr1 [, expr2, ...]In caso di creazione o modifica del record, imposta il record appartenente al valore chiave specificato. Il record conterrà i valori forniti nellastessa sequenza in cui appaiono nel comando. I valori possono essere di tipo numerico o stringa. Deve esserci almeno un'espressione.In caso di cancellazione, il record appartenente al valore chiave specificato viene rimosso dal database. I valori dell'espressione vengono ignorati,tuttavia è necessario specificarne almeno uno.La modifica dei file di dati caricati con la libreria è abilitata solo negli script dei parametri, dell'interfaccia utente e delle proprietà.recordID: valore chiave (numerico o stringa)fieldID: flag: specificare 0 (o <= 0) per eliminare un record, specificare 1 (o > 0) per creare o modificare un recordexpri: nuovi valori di elemento del record trovato o nuovo record. In caso di cancellazione questi valori vengono ignorati

Varie

Guida di Riferimento al GDL 627

Esempio:string = "Data: 19.01.1996"a = 1.5OUTPUT ch2, "keyA", 1, "Nuovo record"OUTPUT ch2, "keyA", 1, "Record modificato"OUTPUT ch2, "keyA", 0, 0 ! deletes the recordOUTPUT ch2, "keyB", 1, a, string

Chiusura del databaseCLOSE channelchannel: valore del canaleChiude il database identificato dal valore del canale.

ADD-ON GDL DATETIMEL'estensione DateTime consente di impostare vari formati per la data e l'ora correnti impostate sul computer.L'add-on funziona allo stesso modo delle operazioni sui file GDL. Devi aprire un canale, leggere le informazioni e chiudere il canale.Questo Add-On è disponibile anche utilizzando il comando GDL REQUEST, nel qual caso la sequenza dei comandi OPEN, INPUT e CLOSEviene chiamata internamente. Questo è il modo più semplice per ottenere le informazioni su data/ora, con una sola riga di comando GDL:REQUEST ("DateTime", format_string, datetimestring)Il secondo parametro della funzione di richiesta è uguale a quello descritto nel parametro della stringa di parametri della funzione OPEN.

Apertura del Canalechannel = OPEN (filter, filename, paramstring)Il suo valore di ritorno è un numero intero positivo che identificherà il canale aperto. Questo valore diventerà il numero di riferimento futurodel canale. Paramstring può contenere specificatori e altri caratteri .filter: il nome interno dell'add-on, in questo caso "DateTime"filename: inutilizzato (non è necessario aprire alcun file per ottenere la data e l'ora del sistema)paramstring: parametro specifico dell'add-on, contiene il formato di output desiderato della data e dell'oraGli specificatori vengono sostituiti con i valori di data e ora come segue:

Varie

Guida di Riferimento al GDL 628

%y anno senza secolo, come numero decimale (00-99)

%Y anno con secolo, come numero decimale

%b nome abbreviato del mese

%B nome completo del mese

%m mese, come numero decimale (01-12)

%d giorno del mese come numero decimale (01-31)

%H ora (formato a 24 ore), come numero decimale (00-23)

%I ora (formato a 12 ore), come numero decimale(01-12)

%M minuto, come numero decimale(00-59)

%S secondo, come numero decimale(00-59)

%P Designazione AM/PM per un orologio a 12 ore

%c data e ora nella forma: 01:35:56 PM Wednesday, March 27, 1996

%x data nella forma Wednesday, March 27, 1996

%X ora nella forma 01:35:56 PM

%a nome abbreviato del giorno della settimana

%A nome completo del giorno della settimana

%w giorno della settimana, come numero decimale (0 (Domenica)-6 (Sabato))

%j giorno dell'anno, come numero decimale(001-366)

%U numero della settimana dell'anno (con domenica come primo giorno della prima settimana), come numerodecimale

%W numero della settimana dell'anno (con lunedì come primo giorno della prima settimana), come numero decimale(00-53)

%Z stampa il fuso orario se può essere determinato

%% il carattere %

Varie

Guida di Riferimento al GDL 629

Esempio:dstr = ""ch = OPEN ("DateTime", "", "%w/%m/%d/%Y, %H:%M%P")n = INPUT (ch, "", "", dstr)CLOSE (ch)PRINT dstr !stampa 3/03/27/1996, 14:36 PM

Leggere le informazionin = INPUT (channel, "", "", datetimestr)Legge un valore di tipo stringa che rappresenta la data e/o l'ora nel formato fornito nella sequenza OPEN. Il secondo e il terzo parametronon sono utilizzati (possono essere stringhe vuote o anche 0)Il valore restituito è il numero di valori letti con successo, in questo caso 1.channel: valore del canale, utilizzato per identificare la connessione.datetimestr: valore di tipo di stringa

Chiusura del canaleCLOSE channelChiude il canale identificato dal valore del canale.

ADD-ON GDL FILE MANAGER I/OL'Add-on GDL File Manager I/O consente di eseguire la scansione di una cartella per i file/sottocartelle contenuti da uno script GDL.Specificare la cartella che si desidera scansionare utilizzando OPEN.Ottieni il nome del primo/successivo file/cartella nella cartella specificata utilizzando INPUT.Completare la scansione della cartella utilizzando CLOSE.

Specifica della cartellachannel = OPEN (filter, filename, paramstring)channel: id della cartellafilter: il nome interno dell'Add-On, in questo caso "FileMan"filename: il nome della cartella da scansionare (percorso dipendente dal sistema operativo) - stringa id cartella (in modalità DIALOG

- vedi più avanti)

Varie

Guida di Riferimento al GDL 630

paramstring: Parametro specifico dell'Add-on. I parametri in paramString devono essere separati da virgole (,).1. parameter: FILES/FOLDERS: Cosa vorresti cercare?2. parameter (optional): DIALOG: Indica che la cartella è data da una stringa di ID file invece che da un percorso di file. Inquesto caso, alla prima volta (e ogni volta che il percorso del file corrispondente sembra non essere valido) l'utente si troverà di fronte a unafinestra di dialogo per impostare la corrispondenza tra stringa id - percorso file, che verrà memorizzata.

Esempio: Apertura della directory radice dell'unità C (su un PC) per la scansione dei filefolder = OPEN ("FileMan", "c:\", "FOLDERS")

Recupero del nome del file/cartellan = INPUT (channel, recordID, fieldID, var1 [, var2, ...])channel: id cartella (restituito da OPEN)recordID: 0 (riservato per ulteriori sviluppi)fieldID: 0 (riservato per ulteriori sviluppi)var1, ...: variabile/i per ricevere il nome/i di file/cartellen: il numero di variabili riempite con successo

Esempio: Recupero del nome del file successivo dalla cartella specificatan = INPUT (folder, 0, 0, fileName)Se riesce , n sarà 1. Se non ci sono più file/sottocartelle la variabile n sarà impostata a zero.

Fine della scansione della cartellaCLOSE (channel)Chiude la cartella identificata dal valore del canale.

Varie

Guida di Riferimento al GDL 631

Esempio: Elenco di una singola cartellatopFolder = open ("FileMan", "MyFavouriteFolder", "files, dialog")y = 0n = input (topFolder, 0, 0, fileName)while n = 1 do text2 0, y, fileName y = y - 0.6 n = input (topFolder, 0, 0, fileName)endwhileclose (topFolder)Questo segmento di codice (come la sezione dello script 2D di un oggetto, ad esempio) elenca i file nella cartella specificata dall'identificatoreMyFavouriteFolder. Al primo utilizzo, l'utente dovrà assegnare una cartella esistente a questo identificatore. Successivamente, l'IDMyFavouriteFolder rappresenterà quella cartella.

ADD-ON GDL TEXT I/OL'Add-on GDL Text In/Out consente di aprire file di testo esterni per la lettura/scrittura e di manipolarli inserendo/ottenendo valori dallo/allo script GDL.Questo add-on interpreta le stringhe nell'elenco dei parametri dei comandi OPEN, INPUT, OUTPUT dallo script GDL.I file creati vengono posti in una sottocartella della cartella dei dati dell'applicazione se è data da un percorso relativo. La cartella può conteneresottocartelle in cui l'estensione cercherà i file esistenti. Può leggere e scrivere file di tipo TESTO.

Apertura del Filechannel = OPEN (filter, filename, paramstring)Apre il file. Se il file in cui vuoi scrivere non esiste, crea il file. Se un file da leggere non esiste, viene visualizzato un messaggio di errore.Il suo valore di ritorno è un numero intero positivo che identificherà il file specifico. Questo valore sarà il numero di riferimento futuro del file.filter: il nome interno dell'add-on, in questo caso "TEXT"filename: il nome del file da aprireparamstring: parametro specifico dell'add-on, contiene caratteri separatori e parametri della modalità di apertura dei file

Paramstring può contenere quanto segue:SEPARATOR: dopo la parola chiave tra apostrofi (') puoi assegnare un carattere da usare nel file di testo (sia per la scrittura che per lalettura) per separare le colonne. Casi speciali sono i caratteri tabulatore ('\t') e nuova riga ('\n').MODE: la modalità di apertura deve seguire questa parola chiave. Ci sono solo tre modalità di apertura:

Varie

Guida di Riferimento al GDL 632

• RO (sola lettura)• WA (sola scrittura, aggiungi alla fine del file)• WO (sola scrittura, sovrascrivi) i dati precedentemente memorizzati nel file andranno persi!Non è possibile aprire un file per la lettura e la scrittura contemporaneamente.DIALOG: Se questa parola chiave è presente, verrà visualizzata una finestra di dialogo in cui è possibile immettere un nome file.FULLPATH: Se questa parola chiave è presente, il nome del file verrà interpretato come un nome di percorso completo.LIBRARY: Se questa parola chiave è presente, il file di dati deve essere nella libreria caricata. L'apertura del file di dati dalla libreria caricataper la lettura è possibile da tutti gli script, ma la scrittura è abilitata solo dagli script dei parametri, dell'interfaccia utente e delle proprietà.Metti sempre una virgola (,) tra le parole chiave.NEWLINE: definizione di caratteri/i di nuova riga. Possibili valori:• CR (Ritorno a capo, 0x0D)• LF (Avanzamento riga, 0x0A)• CRLF (Ritorno a capo + Avanzamento riga, 0x0D0x0A)Per le estremità di riga simili a Windows, utilizzare "NEWLINE = CRLF"Se utilizzi parole chiave che non esistono, se i caratteri separatori forniti sono errati o se non c'è nulla nella stringa del parametro, l'estensioneutilizzerà le impostazioni predefinite: "SEPARATOR = '\t', MODE = RO, NEWLINE = LF"

Esempio:ch1 = OPEN ("TEXT", "file1", "SEPARATOR = ';', MODE = RO")ch2 = OPEN ("TEXT", "file2", "")ch3 = OPEN ("TEXT", "file3", "SEPARATOR = '\n', MODE = WO")

Leggere i valoriINPUT (channel, recordID, fieldID, var1 [, var2, ...])Legge tanti valori dalla data posizione iniziale del file identificato dal valore del canale quanti sono i parametri dati. Nella lista dei parametrideve esserci almeno un valore. La funzione inserisce i valori letti nei parametri in sequenza. I valori possono essere di tipo numerico o stringaindipendentemente dal tipo di parametro definito per essi.Il valore restituito è il numero di valori letti con successo, in caso di fine file (-1).Sia il numero di riga che quello di colonna devono essere numeri interi positivi, altrimenti verrà visualizzato un messaggio di errore.Se i numeri di riga o di colonna non sono corretti, l'immissione non verrà eseguita. (n = 0)Se la riga e la colonna possono essere identificate, dalla posizione iniziale data devono essere inseriti tanti valori quanti sono i parametri dati,oppure se ci sono più parametri che valori, i parametri senza valori corrispondenti saranno azzerati.

Varie

Guida di Riferimento al GDL 633

In caso di colonne vuote (cioè se non c'è niente tra i caratteri separatori) i parametri verranno azzerati.channel: valore del canale, utilizzato per identificare la connessione.recordID: il numero di riga (numerico o stringa)fieldID: il numero di colonna nella riga datavar1, ...: variabili per ricevere gli elementi del record di lettura

Esempio:nr = INPUT (ch1, 1, 1, v1, v2, v3) ! input di tre valori! dalla prima colonna della prima rigaPRINT nr, v1, v2, v3

Scrittura di valoriOUTPUT channel, recordID, fieldID, expr1 [, expr2, ...]Emette tanti valori nel file identificato dal valore del canale dalla posizione data quante sono le espressioni definite. Deve esserci almenoun'espressione. I tipi dei valori di output sono gli stessi delle espressioni.In caso di estensione testo, OUTPUT sovrascriverà (a seconda della modalità di apertura) il file o aggiungerà alla fine del file le espressionidate in posizioni consecutive utilizzando tra di loro i caratteri separatori definiti all'apertura del file. In questo caso, la posizione data non vieneinterpretata.La modifica dei file di dati caricati con la libreria è abilitata solo negli script dei parametri, dell'interfaccia utente e delle proprietà.channel: valore canalerecordID: Il recordID viene utilizzato per indirizzare le nuove righe nell'output

Se il recordID è positivo, i valori di output saranno seguiti da una nuova riga, altrimenti l'ultimo valore sarà seguito da un carattere separatore.fieldID: nessun ruolo, il suo valore non viene utilizzatoexpr1: valori da produrre

Esempio:string = "Data: 19.01.1996"a = 1.5OUTPUT ch2, 1, 0, string ! stringa seguita da una nuova rigaOUTPUT ch2, 0, 0, a, a + 1, a + 2! carattere separatore dopo a + 2 ! senza nuova riga

Varie

Guida di Riferimento al GDL 634

Chiusura del FileCLOSE channelChiude il file di testo identificato dal valore del canale.channel: valore canale

Esempio:Un oggetto GDL che copierà semplicemente il contenuto del file "f1" sia nei file "f2" che "f3", ma scriverà tutti i valori tabulati in "f1" in unariga separata sia in "f2" che in "f3".ch1 = open ("TEXT", "f1", "mode = ro")ch2 = open ("TEXT", "f2", "separator = '\n', mode = wo")ch3 = open ("TEXT", "f3", "separator = '\n', mode = wo")i = 1

1: n = input (ch1, i, 1, var1, var2, var3, var4) if n <> -1 then output ch2, 1, 0, var1, var2, var3, var4 output ch3, 1, 0, var1, var2, var3, var4 i = i + 1 goto 1 else goto "close all" endif

"close all": close ch1 close ch2 close ch3 end

ADD-ON PROPRIETà GDLLo scopo di questo add-on è di rendere un database delle proprietà di Archicad accessibile dagli script GDL. Puoi aprire le tabelle del database einterrogarne il contenuto, proprio come faresti con SQL. È possibile interrogare record singoli e più record (elenchi). Notare che non è possibilemodificare il database e non è possibile aggiungere record ad esso.Per la descrizione dettagliata del database delle proprietà fare riferimento alla “Guida al Calcolo di Archicad” nel menu Aiuto.

Varie

Guida di Riferimento al GDL 635

Apertura del database delle proprietàOPEN ("PROP", "database set name", "[database files]")Valore di ritorno: numero canaleApre un canale di comunicazione ai file di database forniti. Il contenuto dei file del database viene letto in memoria per un accesso più rapido.Finché è aperto, le modifiche al database delle proprietà non saranno accessibili da questo add-on. Questo di solito non è un problema però.database set name: un nome arbitrario che identificherà un insieme di file di database nelle successive chiamate OPEN.database files: un elenco di file di testo che fanno parte del database delle proprietà. Questo parametro è facoltativo, se si è

precedentemente assegnato il nome del set di database ai file che si vorrebbero leggere. L'ordine dei file è fisso: file chiave,file componente, file descrizione, file unità. Non è necessario fornire percorsi completi, perché Archicad cercheràquesti file per te nelle librerie attive. Se usi nomi di file lunghi o nomi con spazi, inseriscili tra virgolette (' oppure ").

Esempio 1:channel = OPEN ("PROP", "esempio", "'ArchiCAD_Library_KEY.txt', 'ArchiCAD_Library_COMP.txt', 'ArchiCAD_Library_DESC.txt', 'ArchiCAD_Library_UNIT.txt'")Apre un database che consiste dei file sopra (quelli sono i file del database delle proprietà di Archicad) e lo nomina "esempio". Nota cheall'interno del terzo parametro devi usare un carattere di citazione diverso (puoi usare " e ').

Esempio 2:channel = OPEN ("PROP", "esempio", "")Questo comando può essere emesso dopo aver aperto esplicitamente i file del database (come nell'esempio 1), ma prima di chiuderlo. Ciòconsente di utilizzare il comando esplicito in un punto dello script Master_GDL e di utilizzare la versione più breve in un secondo momento.

Chiusura del database delle proprietàCLOSE (channel_number)Valore di ritorno: nessunoChiude il canale di comunicazione aperto in precedenza.

Input al database delle proprietàINPUT (channel_number, "query type", "field list", variable1 [, ...])channel_number: un numero di canale di comunicazione valido dato da un precedente comando OPEN.query type: specifica la query che desideri eseguire. L'add-on comprende le seguenti parole chiave:

Varie

Guida di Riferimento al GDL 636

• Query a record singolo:• KEY, <keycode> - interrogare il record dal database delle chiavi dove <keycode> è il valore dell'attributo keycode. Campi validi:

KEYCODE, KEYNAME• UNIT, <unitcode> - interrogare il record dal database dell'unità dove <unitcode> è il valore dell'attributo del codice unità. Campi

validi: UNITCODE, UNITNAME, UNITFORMATSTR• COMP, <keycode>, <code> - interrogare il record dal database dell'unità dove <keycode> è il valore dell'attributo del codice chiave

e <code> è l'attributo del codice del componentevalue. Campi validi: KEYCODE, KEYNAME, CODE, NAME, QUANTITY,QUANTITYSTR, UNITCODE, UNITNAME, UNITFORMATSTR

• DESC, <keycode>, <code> - interrogare il record dal database dell'unità dove <keycode> è il valore dell'attributo del codicechiave e <code> è il valore dell'attributo del codice della descrizione. Campi validi: KEYCODE, KEYNAME, CODE, NAME,NUMOFLINES, FULLNAME

• Interrogazioni di lista:• KEYLIST - elenca tutti i record nel database delle chiavi. Campi validi: KEYCODE, KEYNAME• UNITLIST - elenca tutti i record nel database delle unità. Campi validi: UNITCODE, UNITNAME, UNITFORMATSTR• COMPLIST[, <keycode>] - elenca tutti i record nel database del componente, o se viene fornito <keycode>, vengono elencati

solo i record il cui codice chiave è uguale a <keycode>. Campi validi: KEYCODE, KEYNAME, CODE, NAME, QUANTITY,QUANTITYSTR, UNITCODE, UNITNAME, UNITFORMATSTR

• DESCLIST[, keycode] - elenca tutti i record nel database delle descrizioni, oppure se viene fornito <keycode>, vengono elencatisolo i record il cui codice chiave è uguale a <keycode>. Campi validi: KEYCODE, KEYNAME, CODE, NAME, NUMOFLINES,FULLNAME

• COMPDESCLIST[, <keycode>] - elenca tutti i record nel database dei componenti e delle descrizioni, oppure se viene fornito<keycode>, vengono elencati solo i record il cui codice chiave è uguale a <keycode>. Campi validi: ISCOMP, KEYCODE, KEYNAME,CODE, NAME, QUANTITY, QUANTITYSTR, UNITCODE, UNITNAME, UNITFORMATSTR, NUMOFLINES, FULLNAMEUsa questa query con attenzione! Se uno dei due campi non è valido in un database (ad esempio FULLNAME nel database deicomponenti) verrà semplicemente escluso dall'elenco risultante (dovresti esserne consapevole)

field list: elenca gli attributi del database di cui si desidera visualizzare i valori nell'output. Se l'output è un elenco, verrà ordinatonell'ordine dei campi elencati qui.Possono essere utilizzati i seguenti campi:• KEYCODE - attributo del codice chiave. Tipo: stringa. Utilizzabile nelle query: KEY, COMP, DESC, KEYLIST, COMPLIST, DESCLIST,

COMPDESCLIST• KEYNAME - attributo nome chiave. Tipo: stringa. Utilizzabile nelle query: KEY, COMP, DESC, KEYLIST, COMPLIST, DESCLIST,

COMPDESCLIST.

Varie

Guida di Riferimento al GDL 637

• UNITCODE - attributo codice unità. Tipo: stringa. Utilizzabile nelle query: UNIT, COMP, UNITLIST, COMPLIST, COMPDESCLIST• UNITNAME - attributo nome dell'unità. Tipo: stringa. Utilizzabile nelle query: UNIT, COMP, UNITLIST, COMPLIST,

COMPDESCLIST• UNITFORMATSTR - Stringa di formato GDL dell'unità. Tipo: stringa. Utilizzabile nelle query: UNIT, COMP, UNITLIST, COMPLIST,

COMPDESCLIST.• CODE - attributo del codice componente o descrizione (dipende dalla query). Tipo: stringa. Utilizzabile nelle query: COMP, DESC,

COMPLIST, DESCLIST, COMPDESCLIST.• NAME - nome del componente o la prima riga di un record descrizione. Tipo: stringa. Utilizzabile nelle query: COMP, DESC, COMPLIST,

DESCLIST, COMPDESCLIST.• QUANTITY - quantità di un componente come numero (per i calcoli). Tipo: numero. Utilizzabile nelle query: COMP, COMPLIST,

COMPDESCLIST.• QUANTITYSTR - quantità di un componente in formato stringa. Tipo: stringa. Utilizzabile nelle query: COMP, COMPLIST,

COMPDESCLIST.• NUMOFLINES - numero di righe in un record descrizione. Tipo: numero. Utilizzabile nelle query: DESC, DESCLIST.• FULLNAME - l'intero record della descrizione. Tipo: stringa(e). Utilizzabile nelle query: DESC, DESCLIST.• ISCOMP - ti dice se il record successivo è un componente o una descrizione. Tipo: numero (1 se componente, 0 se descrizione). Utilizzabile

nelle query: COMPDESCLISTvariables: manterrà il risultato della query al completamento. Puoi elencare diverse variabili se sai esattamente di quante ne hai bisogno

(ad esempio con singole query) oppure puoi specificare una matrice dinamica. I record vengono listati in sequenza.

Esempio 1:INPUT (channel, "KEY, 001", "KEYNAME", keyname)Questa è una query semplice: il nome della chiave con il codice "001" viene inserito nella variabile keyname.

Esempio 2:INPUT (channel, "DESC, 004, 10", "NUMOFLINES, FULLNAME", desc_txt)Il record della descrizione con codice chiave "004" e codice "10" viene elaborato, il numero di righe del testo della descrizione e il testo stessovengono inseriti nella matrice desc_txt. Il risultato è:desc_txt[1] = <numoflines> (numero)desc_txt[2] = <first row of description> (stringa)...desc_txt[<numoflines+1>] = <ultima riga della descrizione>

Varie

Guida di Riferimento al GDL 638

Esempio 3:INPUT (channel, "COMPLIST", "NAME, KEYNAME, QUANTITY", comp_list)Crea un elenco di componenti, ordinalo per campo nome, poi per nome chiave e infine per campo quantità e inseriscilo nella matrice comp_list.Il risultato è:complist[1] = <name1> (stringa)complist[2] = <keyname1> (stringa)complist[3] = <quantity1> (numero)complist[4] = <name2> (stringa)... ecc.

Esempio 4:INPUT (channel, "COMPDESCLIST, 005", "ISCOMP, KEYNAME, NAME, QUANTITY", x_list)Crea un elenco di componenti e descrizioni comuni, il che significa che i record di entrambe le tabelle sono elencati dove <keycode> è "005".L'output è:x_list[1] = 0 (numero, 0 –> è una descrizione)x_list[2] = <name1> (stringa –> le descrizioni non hanno il campo <keyname>, quindi viene tralasciato)x_list[3] = 0 (numero, le descrizioni non hanno il campo quantità)...x_list[(n*2)-1] = 1 (numero –> c'erano n-1 descrizioni elencate, ora arrivano i componenti)x_list[n*2] = <keyname_n> (stringa) ... ecc.

Output nel database delle proprietàQuesto comando non è implementato in questo add-on, poiché i database delle proprietà sono a sola lettura.

ESTENSIONE GDL XMLQuesta estensione consente di leggere, scrivere e modificare file XML. Implementa un sottoinsieme dell'interfaccia DOM (Document ObjectModel). XML è un file di testo che utilizza i tag per strutturare i dati in un sistema gerarchico, simile all'HTML. Un documento XML puòessere modellato da una struttura ad albero gerarchica i cui nodi contengono i dati del documento. I seguenti tipi di nodo sono conosciutidall'estensione:

Varie

Guida di Riferimento al GDL 639

• Elemento: cosa c'è tra un tag di inizio e un tag di fine nel documento, o per un elemento vuoto può essere un tag di elemento vuoto. Gli elementihanno un nome, possono avere attributi e di solito, ma non necessariamente, hanno contenuto. Significa che i nodi di tipo di elementopossono avere nodi figlio. Gli attributi sono contenuti in un elenco di attributi in cui ogni attributo ha un nome diverso e un valore di testo.

• Testo: una sequenza di caratteri. Non può avere nodi figlio.• Commento: testo tra i delimitatori di commento: <!-- il commento stesso--> . Nel testo del commento ogni carattere "-" deve essere seguito

da un carattere diverso da '-'. Significa anche che quanto segue è illegale: <!-- commento ---> . I nodi di tipo commento non possono averenodi figlio.

• CDATASection: testo tra i delimitatori di sezione CDATA: <![CDATA[ il testo stesso ]]> . In una sezione CDATA i caratteri che hanno unsignificato speciale in un documento XML non necessitano (e non devono) essere sottoposti a escape. L'unico markup riconosciuto è lachiusura "]]>". I nodi della sezione CData non possono avere nodi figlio.

• Riferimento-entità: riferimento a un'entità predefinita. Un tale nodo può avere una sottostruttura di sola lettura e questa sottostruttura fornisce ilvalore dell'entità di riferimento. Durante l'analisi del documento è possibile scegliere che i riferimenti di entità vengano tradotti in nodi di testo.

Al livello superiore è obbligatorio avere esattamente un nodo di tipo elemento (la radice) e possono esserci anche diversi nodi di tipo commento.Il nodo di tipo documento dell'interfaccia DOM non è disponibile tramite l'interfaccia dell'estensione.

nome valore

Elemento nome del tag "" (stringa vuota)

Testo "#text" il contenuto testo del nodo

Commento "#comment" il contenuto testo del nodo

CDATASection "#cdata-section" il contenuto testo del nodo

Riferimento-entità nome dell'entità di riferimento "" (stringa vuota)

Ad ogni nodo dell'albero è associato un nome e una stringa di valori i cui significati dipendono dal tipo di nodo:

Elemento: ELEM

Testo: TXT

Commento: CMT

CDATA section: CDATA

Riferimento entità: EREF

Il codice di successo o errore di un comando OPEN, INPUT o OUTPUT può essere recuperato dall'istruzione GetLastError di INPUT.

Varie

Guida di Riferimento al GDL 640

Apertura di un documento XMLchannel = OPEN (filter, filename, parameter_string)filter: estensione file. Deve essere 'XML'.filename: nome e percorso del file da aprire (o creare) o un nome identificativo se il file viene aperto tramite una finestra di dialogo e

la posizione del file è data dall'utente.parameter_string: una sequenza di flag di caratteri che determinano la modalità di apertura:'r': aperto in modalità di sola lettura. In generale può essere usato solo INPUT.'e': i riferimenti a entità non vengono tradotti in nodi di testo nell'albero. Senza questo flag non ci sono riferimenti a entità nella strutturadel documento.'v': il controllo di validità viene eseguito durante la lettura e la scrittura. Se un DTD esiste nel documento, la struttura del documentodeve concordare con esso. Senza questo flag un documento ben strutturato ma non valido può essere letto e scritto senza messaggi di errore.'n': crea un nuovo file. Se il file esiste, l'apertura non riuscirà. (Dopo l'OPEN, l'istruzione CreateDocument deve essere la prima adessere eseguita.)'w': sovrascrivere il file con un documento vuoto se esiste. Se non esiste, verrà creato un nuovo file. (Dopo l'OPEN, l'istruzioneCreateDocument deve essere la prima ad essere eseguita.)'d': il file viene ottenuto dall'utente in una finestra di dialogo. Nelle esecuzioni successive verrà associato all'identificatore fornito nelparametro filename di OPEN. (Se l'identificatore è già associato a un file, la finestra di dialogo non verrà aperta all'utente.)'f': il parametro filename contiene un percorso completo.'l': il file si trova negli elementi di libreria caricati. L'apertura del file di dati dalla libreria caricata per la lettura è possibile da tutti gli script,ma la scrittura è abilitata solo dallo script dei parametri, dell'interfaccia utente e delle proprietà.

channel: utilizzato per identificare la connessione nei successivi comandi I/O.Se desideri aprire un file XML esistente per la modifica, nessuno dei flag "r", "n" e "w" deve essere impostato nella stringa del parametro. Deveessere impostato solo uno dei flag "d", "f" e "l". Se nessuno di questi flag è impostato, il nome del file è considerato un percorso relativo allacartella dei documenti dell'utente.

Leggere un documento XMLDOM è un modello orientato agli oggetti che non può essere adattato direttamente a un linguaggio simile al BASIC come il GDL. Perrappresentare i nodi nell'albero della gerarchia definiamo i descrittori di posizione. Quando vogliamo camminare attraverso i nodi dell'albero,dobbiamo prima richiedere un nuovo descrittore di posizione dall'estensione. Originariamente un nuovo descrittore punta all'elemento radice.Il descrittore è infatti un numero identificativo a 32 bit il cui valore non ha alcun interesse per lo script GDL. La posizione a cui si riferisce puòessere modificata mentre ci spostiamo da un nodo all'altro dell'albero.

Varie

Guida di Riferimento al GDL 641

n = INPUT (ch, recordID, fieldID, var1, var2, ...)ch: canale restituito da OPEN.recordID: nome dell'istruzione più parametri.fieldID: di solito un descrittore di posizione.var1, var2, ...: elenco facoltativo di variabili che ricevono i dati restituiti.Istruzioni INPUT:• GetLastError: recupera il risultato dell'ultima operazione

recordID: "GetLastError"fieldID: ignoratovalori di ritorno:var1: codice di errore / okvar2: il testo di spiegazione dell'errore / ok

• NewPositionDesc: richiesta di un nuovo descrittore di posizionerecordID: "NewPositionDesc"fieldID: ignoratovalore di ritorno: var1: il nuovo descrittore di posizione (inizialmente si riferisce alla radice)

• CopyPositionDesc: richiesta di un nuovo descrittore di posizione il cui nodo iniziale è preso da un altro descrittore.recordID: "CopyPositionDesc"fieldID: un descrittore di posizione esistentevalore di ritorno: var1: il nuovo descrittore di posizione (inizialmente si riferisce a dove si riferisce il descrittore fornito in fieldID)

• ReturnPositionDesc: quando un descrittore di posizione non è più necessario.recordID: "ReturnPositionDesc"fieldID: il descrittore di posizionevar1: ignoratoChiama questa istruzione quando un descrittore di posizione ricevuto dalle istruzioni NewPositionDesc o CopyPositionDesc non viene piùutilizzato.

• MoveToNode: modifica la posizione di un descrittore. (e recupera i dati del nuovo nodo)Questa istruzione può essere utilizzata per navigare nella gerarchia ad albero.recordID: "MoveToNode searchmode nodename nodetype nodenumber"

Varie

Guida di Riferimento al GDL 642

fieldID: descrittore di posizionesearchmode (or movemode): il parametro nodename deve contenere un percorso che determina un elemento o un nodo di riferimento dientità nel documento xml.Per specificare un percorso esatto, è necessario utilizzare movemode Path. Dopo movemode dovrebbe essere presente solo il percorsorichiesto.Il percorso è relativo al nodo fornito in fieldID. Il delimitatore è il ':' carattere (che altrimenti è un carattere accettato nel nome di un elemento,quindi non funziona per tutti i casi). La stringa '..' nel percorso indica un passaggio al nodo padre. Il nodo iniziale può essere diverso da unelemento o da un nodo di riferimento di entità, nel qual caso il percorso deve iniziare con '..' per fare un passo indietro. Se sono presenti piùnodi elemento sullo stesso livello con lo stesso nome, viene scelto il primo.Modalità di spostamento:ToParent: si sposta al genitore del nodo fornito in fieldID.ToNextSibling: passa al nodo successivo sullo stesso livello.ToPrevSibling: passa al nodo precedente sullo stesso livello.ToFirstChild: passa al primo discendente del nodo fieldID.ToLastChild: passa all'ultimo discendente del nodo fieldID.Modalità di ricerca:FromNextSibling: la ricerca parte dal nodo successivo sullo stesso livello e procede.FromPrevSibling: la ricerca inizia dal nodo prima di fieldID e si sposta indietro sullo stesso livello.FromFirstChild: la ricerca parte dal primo discendente del nodo fieldID e si sposta in avanti.FromLastChild: la ricerca inizia dall'ultimo discendente del nodo fieldID e si sposta all'indietro.nodename: la ricerca considera solo quei nodi il cui nome o valore corrisponde a nodename. I caratteri * e ? in nodename sono consideraticaratteri jolly. Per i nodi di tipo riferimento elemento ed entità il nome viene confrontato, mentre per i nodi testo, commento e sezioneCDATA il valore viene confrontato. Valore di default: *nodetype: la ricerca considera solo quei nodi il cui tipo è consentito da nodetype. * significa che sono consentiti tutti i tipi. Altrimenti leparole chiave del tipo possono essere combinate con il carattere + per formare il tipo di nodo (deve essere una parola senza spazi, comeTXT+CDATA.) Il valore predefinito è *nodenumber: se ci sono più nodi corrispondenti, questo fornisce il numero del nodo cercato nella sequenza dei nodi corrispondenti. (Iniziada 1) Valore predefinito: 1valori di ritorno:

Varie

Guida di Riferimento al GDL 643

var1: nome del nodovar2: valore del nodovar3: tipo parola chiave del nodo

Esempio:Vogliamo spostarci all'indietro sullo stesso livello al 2° nodo che è un elemento o un riferimento di entità e il cui nome inizia con K:n = INPUT (ch, "MoveToNode FromPrevSibling K* ELEM+EREF 2", posDesc, name, val, type)

• GetNodeData: recupera i dati di un dato nodo.recordID: "GetNodeData"fieldID: il descrittore di posizionevalori di ritorno:var1: nome del nodovar2: valore del nodovar3: tipo parola chiave del nodo

• NumberofChildNodes: fornisce il numero di nodi figlio di un dato nodorecordID: "NumberofChildNodes nodetype nodename"I seguenti parametri opzionali possono restringere il set di nodi figli considerati:nodetype: tipi di nodo consentiti come definiti nell'istruzione MoveToNodenodename: nomi o valori dei nodi consentiti come definiti nell'istruzione MoveToNodefieldID: descrittore di posizionevalori di ritorno:var1: numero di nodi figlio

• NumberofAttributes: restituisce il numero di attributi di un nodo elemento.recordID: "NumberofAttributes attrname"attrname: se presente, può restringere l'insieme degli attributi considerati in quanto verranno conteggiati solo quegli attributi i cui nomi (enon i valori) corrispondono con attrname. I caratteri * e ? in attrname sono considerati caratteri jolly.fieldID: descrittore di posizione (deve fare riferimento a un nodo elemento)valori di ritorno:var1: numero di attributi

Varie

Guida di Riferimento al GDL 644

• GetAttribute: restituisce i dati di un attributo di un nodo elementorecordID: "GetAttribute attrname attrnumber"fieldID: descrittore di posizione (deve fare riferimento a un nodo elemento)parametri opzionali:attrname: da il nome dell'attributo. I caratteri * e ? sono considerati caratteri jolly. Valore predefinito: *attrnumber: Se più attributi corrispondono ad attrname, attrnumber sceglie l'attributo nella sequenza di attributi corrispondenti. (Il conteggioinizia da 1.) Valore predefinito: 1valori di ritorno:var1: valore dell'attributovar2: nome dell'attributo

• Validate: verifica la validità del documento.La validità non viene verificata durante un'istruzione di modifica del documento. Viene verificato durante la riscrittura del file su disco se ilflag "v" è stato impostato nella stringa in modalità apertura. Un controllo di validità può essere forzato in qualsiasi momento dall'istruzioneValidate, tuttavia può consumare una notevole quantità di tempo e memoria, quindi non è consigliabile farlo dopo ogni modifica.recordID: "Validate"fieldID: ignoratovar1: ignorato

Modificare un documento XMLOUTPUT ch, recordID, fieldID, var1, var2, ...ch: canale restituito da OPEN.recordID: nome dell'istruzione più parametri.fieldID: di solito un descrittore di posizione.var1, var2, ...: dati di input aggiuntivi.Istruzioni di OUTPUT:La maggior parte delle istruzioni OUTPUT non sono valide per i file aperti in modalità di sola lettura.Questa istruzione può essere chiamata anche se il file è stato aperto in modalità di sola lettura. In questo caso dopo l'esecuzione il documentoperde l'attributo di sola lettura, quindi può essere modificato e salvato nella nuova posizione del file.• CreateDocument:

Varie

Guida di Riferimento al GDL 645

recordID: "CreateDocument"fieldID: ignoratovar1: nome del documento. Questo sarà anche il tagname dell'elemento radice.CreateDocument è consentito solo se il file è stato aperto in modalità nuovo file o sovrascrittura. In queste modalità questa istruzione deveessere la prima ad essere eseguita per creare il documento XML.

• NewElement: inserire un nuovo nodo di tipo elemento nel documentorecordID: "NewElement insertpos"fieldID: un descrittore di posizione relativo al quale viene inserito il nuovo nodovar1: nome del nuovo elemento (nome-tag dell'elemento)insertpos può essere:AsNextSibling: il nuovo elemento viene inserito dopo la posizione data in fieldIDAsPrevSibling: il nuovo elemento viene inserito prima della posizione data in fieldIDAsFirstChild: il nuovo elemento viene inserito come primo figlio del nodo fornito in fieldID (che deve essere un elemento nodo)AsLastChild: il nuovo elemento viene inserito come ultimo figlio del nodo fornito in fieldID (che deve essere un elemento nodo)

• NewText: inserire un nuovo nodo di testo nel documentorecordID: "NewText insertpos"fieldID: descrittore di posizionevar1: testo da inserireVedi anche NewElement.

• NewComment: inserire un nuovo nodo commento nel documentorecordID: "NewComment insertpos"fieldID: descrittore di posizionevar1: testo del commento da inserireVedi anche NewElement.

• NewCDATASection: inserimento di un nuovo nodo della sezione CDATA nel documentorecordID: "NewCDATASection insertpos"fieldID: descrittore di posizionevar1: testo della sezione CDATA da inserireVedi anche NewElement.

Varie

Guida di Riferimento al GDL 646

• Copy: fare una copia di una sottostruttura del documento sotto un nodorecordID: "Copy insertpos"fieldID: descrittore di posizione rispetto al quale è inserita la sottostrutturavar1: descrittore di posizione che fornisce il nodo della sottostruttura da copiareinsertpos: come in NewElementLa sottostruttura copiata rimane invariata. I descrittori di posizione che puntano a un certo nodo nella sottostruttura copiata punterannoallo stesso nodo dopo la copia.

• Move: sostituzione di una sottostruttura nel documento in un'altra posizionerecordID: "Move insertpos"fieldID: descrittore di posizione rispetto al quale è inserita la sottostrutturavar1: descrittore di posizione che fornisce il nodo della sottostruttura da spostareinsertpos: come in NewElementLa sottostruttura originale viene eliminata. I descrittori di posizione che puntano a un nodo nella sottostruttura spostata punteranno allostesso nodo nella nuova posizione della sottostruttura.

• Delete: eliminazione di un nodo e della sua sottostruttura dal documentorecordID: "Delete"fieldID: descrittore di posizione che fornisce il nodo da eliminarevar1: ignoratoTutti i descrittori di posizione che puntano a un nodo nella sottostruttura eliminata diventano non validi.

• SetNodeValue: modifica del valore di un nodorecordID: "SetNodeValue"fieldID: descrittore di posizione, deve fare riferimento a un testo, un commento o un nodo di tipo di sezione CDATAvar1: nuovo valore di testo del nodo

• SetAttribute: modifica di un attributo di un nodo elemento o crearne uno nuovorecordID: "SetAttribute"fieldID: descrittore di posizione, deve fare riferimento a un nodo di tipo elementovar1: nome dell'attributovar2: valore di testo dell'attributo

Varie

Guida di Riferimento al GDL 647

Se l'elemento ha già un attributo con questo nome, il suo valore viene modificato, altrimenti viene aggiunto un nuovo attributo all'elencodi attributi dell'elemento.

• RemoveAttribute: rimuove un attributo di un nodo elementorecordID: "RemoveAttribute"fieldID: descrittore di posizione, deve fare riferimento a un nodo di tipo elementovar1: nome dell'attributo da rimuovere

• Flush: riscrive il documento corrente su filerecordID: "Flush"fieldID: ignoratovar1: ignoratoSe il file è stato aperto in modalità di convalida, viene salvato solo un documento valido.

• ChangeFileName: associare un altro file al documento correnterecordID: "ChangeFileName"fieldID: nuovo percorso del filevar1: fornisce come deve essere interpretato fieldID. Se var1 è una stringa vuota, fieldID contiene un percorso relativo alla cartella deidocumenti dell'utente. 'd 'significa che la posizione del file è ottenuta dall'utente da una finestra di dialogo file (Vedi flag in modalità apertain sezione chiamata «Apertura di un documento XML»). 'l' significa che il file è preso dalle librerie caricate. 'f' significa che fieldID contieneun percorso completo.

Varie

Guida di Riferimento al GDL 648

Tabella 14. Codici e messaggi di errore (possibili valori di ritorno della funzione OPEN)

0 "Ok"

-1 "Inizializzazione dell'add-on fallita"

-2 "Memoria insufficiente"

-3 "Stringa di parametri errata"

-4 "Errore nella finestra di dialogo del file"

-5 "Il file non esiste"

-6 "Errore di analisi XML"

-7 "Errore di operazione sul file"

-8 "Il file esiste già"

-9 "Questo canale non è aperto"

-10 "Errore di sintassi"

-11 "Errore di apertura"

-12 "Descrittore di posizione non valido"

-13 "Tipo di nodo non valido per questa operazione"

-14 "Nessun nodo di questo tipo trovato"

-15 "Errore interno"

-16 "Errore di parametro"

-17 "Nessun attributo di questo tipo trovato"

-18 "Documento XML non valido"

-19 "Eccezione non gestita"

Varie

Guida di Riferimento al GDL 649

-20 "Documento di sola lettura"

-21 "CreateDocument non consentito"

-22 "Creazione documento non riuscita"

-23 "Impostazione di NodeValue non riuscita"

-24 "Spostamento non consentito"

-25 "Eliminazione non consentita"

-26 "SetAttribute non consentito"

-27 "Errore di formato file"

-28 "Inserimento (o copia) non consentito"

-29 "Creazione del nodo non riuscita"

-30 "Stringa difettosa"

-31 "Nome non valido"

ESTENSIONE OPERAZIONI SUI POLIGONIQuesto add-on calcola i poligoni dei risultati in base ai poligoni di input e all'operazione che viene eseguita su di essi.Compatibilità: introdotto in Archicad 21: Esistono anche operazioni per le polilinee.I poligoni di input vengono identificati da un nome quando vengono passati all'add-on e vengono memorizzati in un contenitore definitoin precedenza. I poligoni dei risultati vengono denominati automaticamente dall'add-on e vengono archiviati in un secondo contenitore didestinazione. I poligoni di input e risultato vengono quindi memorizzati in contenitori diversi.Con un'unica operazione è possibile creare più poligoni, anche con un numero di contorni maggiore. Questi verranno amministrati comesingoli poligoni nel contenitore di destinazione. Di conseguenza, è possibile accedere a questi poligoni nelle successive operazioni sui poligoni.Il principio è lo stesso dei comandi di geometria solida (vedi in sezione chiamata «Comandi di Geometria Solida»). I poligoni di input devonoessere contigui.Un poligono è definito da diversi contorni, ognuno dei quali è una sequenza ininterrotta di vertici collegati. Il primo contorno è il confineesterno. I contorni successivi devono essere tutti all'interno del primo, non possono sovrapporsi e creano ritagli del primo poligono.Le polilinee non devono essere chiuse, ma non possono avere più contorni.

Varie

Guida di Riferimento al GDL 650

Apertura di un canalech = INITADDONSCOPE ("PolyOperations", "", "")Apre un canale. Il valore restituito è l'ID del canale aperto.

Gestione dei contenitori

CreateContainerCrea un nuovo contenitore.PREPAREFUNCTION ch, "CreateContainer", "myContainer", ""

DeleteContainerElimina un contenitore esistente.PREPAREFUNCTION ch, "DeleteContainer", "myContainer", ""

EmptyContainerSvuotamento di un contenitore esistente.PREPAREFUNCTION ch, "EmptyContainer", "myContainer", ""

SetSourceContainerImposta contenitore come contenitore di origine.PREPAREFUNCTION ch, "SetSourceContainer", "mySourceContainer", ""

SetDestinationContainerImposta contenitore come contenitore di destinazione.PREPAREFUNCTION ch, "SetDestinationContainer", "myDestinationContainer", ""

Gestione poligono / polilineaLa geometria può essere comunicata in due formati di dati: matrici o dizionari. Compatibilità: introdotto in Archicad 23.La stessa esatta geometria può essere memorizzata/recuperata in entrambi i modi.

Varie

Guida di Riferimento al GDL 651

MatriceIl formato matrice è costituito da tre matrici separate (possono avere qualsiasi nome, sono identificate dalla loro posizione nell'elenco deiparametri della funzione):contourArray: Necessario solo per i poligoni, non per le polilinee. Una matrice che contiene l'indice dell'ultimo vertice di ogni contorno

in vertArray. Dato con "Store", restituito da "GetContourEnds".vertArray: Matrice contenente tutti i vertici che descrivono tutti i contorni del poligono / polilinea. Matrice bidimensionale da utilizzare

con "Store" e "StorePolyline", matrice unidimensionale (bidimensionale appiattita) restituita da "GetVertices" e "GetPolylineVertices".inhEdgeInfosArray: Matrice opzionale contenente informazioni allegate ai bordi, definita dal chiamante. Deve contenere lo stesso

numero di vertici di vertArray. Dato con "Store" e "StorePolyline", restituito da "GetInhEdgeInfos" e "GetPolylineInhEdgeInfos".

DizionarioIl formato del dizionario è più semplice da gestire (può avere qualsiasi nome, è identificato dalla sua posizione nell'elenco dei parametri dellafunzione):.isClosed: (booleano) 1 - poligono o polilinea chiusa, 0 - polilinea aperta (l'ultimo punto dato come bordo extra).useEdgeInfo: (booleano, opzionale) quando è impostato su 1, PolyOperations si aspetta la chiave .edgeInfo, altrimenti la ignora.defaultInhEdgeInfo: (intero, opzionale) corrisponde al parametro defaultInhEdgeInfo di "Store".contour: (dizionario) contiene i dati del contorno del poligono, corrispondenti a vertArray.contour.edges[n]: (matrice) contiene un dizionario incorporato per ogni bordo del poligono.contour.edges[n].type: (intero) 0 - dritto, 1 - curvo (arco circolare).contour.edges[n].begPoint: (dizionario) un dizionario incorporato per il punto iniziale del bordo.contour.edges[n].begPoint.x: (mobile).contour.edges[n].begPoint.y: (mobile).contour.edges[n].arcAngle: (angolo) angolo centrale della curva del bordo, positivo in senso antiorario, negativo in senso orario

(non impostato per i bordi diritti).contour.edges[n].edgeInfo: (intero, facoltativo) informazioni allegate al bordo.holes[m]: (matrice, opzionale) contiene i dati dei fori interni, simile a .contour, impostato solo quando esistono foriAlcune variabili globali utilizzano una struttura a dizionario compatibile con PolyOperations (es.OPENING_SYMBOL_GEOMETRY.polygon2D)

Varie

Guida di Riferimento al GDL 652

È possibile utilizzare lo stesso formato dati di "StoreDictPolygon" e "StoreDictPolyline".Le polilinee non hanno mai .holes [], i poligoni sono sempre .isClosed= 1

StoreMemorizza il poligono "poly1" con i parametri dati nel contenitore di origine effettivo.PREPAREFUNCTION ch, "Store", "poly1", nVertices, nContours,vertArray, contourArray [, defaultInhEdgeInfo, inhEdgeInfosArray]poly1: nome del poligono memorizzatonVertices: numero di verticinContours: numero di contornivertArray: Matrice contenente esattamente nVertices elementi che descrivono tutti i contorni del poligono. Matrice a due dimensioni di

record (x, y, angolo) dove x, y e angolo sono il valore reale. Il parametro angolo è l'angolo-a-vista (deflessione) in caso di bordi curvi. Questoè un valore con segno, che riflette l'orientamento. Il valore zero significa bordo diritto.

contourArray: Una matrice che contiene l'indice dell'ultimo vertice dell'i-esimo contorno. Deve contenere esattamente nContourselementi.

defaultInhEdgeInfo: Un pezzo di informazioni sui bordi ereditate. Ai bordi nuovi di zecca (non creati con split) queste informazioniverranno allegate nelle operazioni eseguite. Questi dati aiutano a tracciare i bordi appena creati dopo operazioni complesse. (Opzionale)

inhEdgeInfosArray: Matrice contenente le informazioni allegate ai bordi. Deve contenere esattamente elementi di tipo intero nVertices.Se un bordo si divide in più di un nuovo bordo in un'operazione, questa informazione verrà ereditata senza modifiche a tutti i nuovi bordicreati. Può essere utilizzato per memorizzare, ad esempio, gli angoli laterali di una falda. (Opzionale)

Osservazioni:• I poligoni possono avere fori e bordi curvi sebbene questi bordi curvi possano essere solo archi di cerchio.• Il poligono può collegarsi a dati aggiuntivi per ogni bordo.• Il primo vertice deve essere sempre ripetuto nell'ultimo per tutti i contorni. Quindi in questa rappresentazione, un triangolo ha quattro vertici,

dove il primo e l'ultimo vertice sono identici.• Il primo contorno è il contorno principale e deve contenere gli altri.

StorePolylineMemorizza la polilinea "polyline1" con i parametri dati nel contenitore di origine effettivo.PREPAREFUNCTION ch, "StorePolyline", "polyline1", nVertices,vertArray, [, defaultInhEdgeInfo, inhEdgeInfosArray]

Varie

Guida di Riferimento al GDL 653

polyline1: nome della polilinea memorizzatanVertices: numero di verticivertArray: Matrice contenente esattamente nVertices elementi che descrivono la polilinea. Matrice a due dimensioni di record (x, y, angolo)

dove x, y e angolo sono il valore reale. Il parametro angolo è il angolo-a-vista (deflessione) in caso di bordi curvi. Questo è un valore consegno, che riflette l'orientamento. Il valore zero significa bordo diritto.

defaultInhEdgeInfo: Un pezzo di informazioni sui bordi ereditate. Ai bordi nuovi di zecca (non creati con split) queste informazioniverranno allegate nelle operazioni eseguite. Questi dati aiutano a tracciare i bordi appena creati dopo operazioni complesse. (Opzionale)

inhEdgeInfosArray: Matrice contenente le informazioni allegate ai bordi. Deve contenere esattamente elementi di tipo intero nVertices.Se un bordo si divide in più di un nuovo bordo in un'operazione, questa informazione verrà ereditata senza modifiche a tutti i nuovi bordicreati. Può essere utilizzato, ad esempio, per memorizzare gli angoli laterali di una falda. (Opzionale)

Osservazioni:• La polilinea può collegarsi a dati aggiuntivi per ogni bordo.• Per definire una polilinea chiusa, le coordinate dell'ultimo vertice devono essere le stesse del primo. Le polilinee aperte e chiuse si comportano

in modo diverso quando vengono sfalsate (offset) o divise.

StoreDictPolygonMemorizza il poligono "poly1" descritto come dizionario nel contenitore di origine effettivo. Compatibilità: introdotto in Archicad 23.PREPAREFUNCTION ch, "StoreDictPolygon", "poly1", PolyOpPolygonpoly1: nome del poligono memorizzatoPolyOpPolygon: poligono come dizionario

StoreDictPolylineMemorizza la polilinea "polyline1" descritta come dizionario nel contenitore di origine effettivo. Compatibilità: introdotto in Archicad 23.PREPAREFUNCTION ch, "StoreDictPolyline", "polyline1", PolyOpPolylinepolyline1: nome della polilinea memorizzataPolyOpPolyline: polilinea come dizionario

DisposeElimina il poligono/polilinea "poly1" dal contenitore "myContainer".PREPAREFUNCTION ch, "Dispose", "poly1", "myContainer"

Varie

Guida di Riferimento al GDL 654

Impostazioni di operazione poligono/polilineaQuesti comandi funzionano allo stesso modo indipendentemente dal fatto che i dati siano stati forniti in formato dizionario o matrice.

HalfPlaneParamsImpostazione del semipiano in 2D da utilizzare nell'operazione "PolyCut" .PREPAREFUNCTION ch, "HalfPlaneParams", "", ca, cb, ccDefinizione della disuguaglianza per il semipiano: ca * x + cb * y > cc.ca: Coefficiente di xcb: Coefficiente di ycc: Costante

OffsetParamsImpostazione dei parametri di offset utilizzati nelle operazioni "OffsetEdge", "ResizeContour" e "PolylineOffsetVectors".PREPAREFUNCTION ch, "OffsetParams", "", itemIdx, offsetValueitemIdx: Indice del bordo da traslare per l'operazione "OffsetEdge". Indice del contorno ridimensionabile per l'operazione "ResizeContour".

Sempre 1 per l'operazione "PolylineOffsetVectors".offsetValue: Distanza della traslazione. I valori di offset negativo e positivo fanno sì che il bordo si sposti all'interno e all'esterno,

rispettivamente. Se l'offset è grande, i vertici adiacenti possono essere tagliati.

MultipleEdgeOffsetParamsImpostazione dei parametri di offset utilizzati nelle operazioni "OffsetMultipleEdges" e "PolylineOffsetVectors".PREPAREFUNCTION ch, "MultipleEdgeOffsetParams", "", nOffset, offsetArraynOffset: Numero di bordi da sfalsare.offsetArray: Matrice contenente elementi nOffset che descrivono i bordi da sfalsare. Matrice bidimensionale di record (edgeIndex,

offsetValue), dove edgeIndex è l'indice in base 1 del bordo, offsetValue è la distanza di traslazione. Per le polilinee aperte, è positivo a sinistra,negativo a destra (visto nella direzione del bordo).

PolylineOffsetVectorsImpostazione dei parametri di offset finale utilizzati nell'operazione "OffsetPolylineWithVectors". "OffsetParams" o "MultipleEdgeOffsetParams"devono essere impostati separatamente.

Varie

Guida di Riferimento al GDL 655

PREPAREFUNCTION ch, "PolylineOffsetVectors", "", sx, sy, ex, eysx, sy: Vettore di direzione dell'offset del vertice iniziale. (Compatibilità: deve essere un vettore unitario fino alla versione Archicad 21.)ex, ey: Vettore di direzione dell'offset del vertice finale. (Compatibilità: deve essere un vettore unitario fino alla versione Archicad 21.)

Operazioni su Poligono / PolilineaQueste funzioni funzionano allo stesso modo indipendentemente dal fatto che i dati siano stati forniti in formato dizionario o matrice.Nelle seguenti operazioni sui poligoni i poligoni di origine "poly1", "poly2" e la polilinea di origine "polyline1" si trovano nel contenitoredi origine. I poligoni / polilinee risultanti vengono memorizzati nel contenitore di destinazione con un nome univoco che inizia con"resPolygonID" o "resPolylineID", dove "ID" è un numero. Questi nomi vengono generalmente restituiti in una matrice.

+ - /Esegue l'operazione "OP" con i poligoni "poly1" e "poly2" e inserisce i nuovi valori nei parametri dati. Il valore restituito è il numero deipoligoni generatidim resPolyIDArray[]nPgon = CALLFUNCTION (ch, "poly1 OP poly2", "", resPolyIDArray)OP: può essere:+: Addizione di poligoni-: Sottrazione di poligoni/: Intersezione di poligoni

resPolyIDArray: Matrice di identificatori di poligono risultanti.

ClipPolylineRitaglia una polilinea con un poligonodim resPolyIDArray[]nPline = CALLFUNCTION (ch, "ClipPolyline", "polyline1 poly1", resPolyIDArray)polyline1: Nome della polilinea nel contenitore di origine.poly1: Nome del poligono di ritaglio nel contenitore di origine.resPolyIDArray: Matrice di identificatori di polilinea risultanti.

CopyPolygonCopia di un poligono / polilinea dal contenitore di origine al contenitore di destinazione

Varie

Guida di Riferimento al GDL 656

dim resPolyIDArray[]nPgon = CALLFUNCTION (ch, "CopyPolygon", "poly1", resPolyIDArray)

RegularizeRegolarizzazione di un poligono - Renderlo geometricamente valido.dim resPolyIDArray[]nPgon = CALLFUNCTION (ch, "Regularize", "poly1", resPolyIDArray)Un poligono è valido se• Il suo primo confine contiene tutti gli altri• È orientato correttamente (il contorno principale è una curva orientata positivamente, il resto è orientato negativamente)• Non auto-interseca se stesso• La sua area non è zero• Non ha bordi di lunghezza zero

PohlyCutIntersezione del poligono con un semipiano.Il semipiano deve essere impostato con un comando "HalfPlaneParams". Il risultato sarà regolarizzato.dim resPolyIDArray[]nPgon = CALLFUNCTION (ch, "PolyCut", "poly1", resPolyIDArray)

OffsetEdgeTraslazione di un bordo di un poligono perpendicolarmente alla sua direzione.L'indice del bordo e l'offset di traslazione devono essere impostati con un comando "OffsetParams". Il risultato sarà regolarizzato.dim resPolyIDArray[]nPgon = CALLFUNCTION (ch, "OffsetEdge", "poly1", resPolyIDArray)

OffsetMultipleEdgesTraslazione di più lati di un poligono perpendicolarmente alla sua direzione.Gli indici dei bordi e gli offset di traslazione devono essere impostati con un comando "MultipleEdgeOffsetParams". Il risultato sarà regolarizzato.dim resPolyIDArray[]nPgon = CALLFUNCTION (ch, "OffsetMultipleEdges", "poly1", resPolyIDArray)

Varie

Guida di Riferimento al GDL 657

OffsetPolylineTraslazione perpendicolare di tutti i bordi di una polilineaL'offset di traslazione deve essere impostato con un comando "OffsetParams".dim resPolyIDArray[]nPline = CALLFUNCTION (ch, "OffsetPolyline", "polyline1", resPolyIDArray)

OffsetPolylineWithVectorsTraslazione perpendicolare di tutti i bordi di una polilinea aperta e spostamento dei punti finali lungo un vettoreI vettori di traslazione e l'offset devono essere impostati con comandi "PolylineOffsetVectors" e "OffsetParams".dim resPolyIDArray[]nPline = CALLFUNCTION (ch, "OffsetPolylineWithVectors", "polyline1", resPolyIDArray)Fornisce un errore dell'argomento di input per le polilinee chiuse

ResizeContourIngrandisce o riduce il contorno di un poligono.L'indice del profilo e l'offset di traslazione devono essere impostati con un comando "OffsetParams". Il risultato sarà regolarizzato.dim resPolyIDArray[]nPgon = CALLFUNCTION (ch, "ResizeContour", "poly1", resPolyIDArray)

CentreOfGravityCalcola il centro di gravità di un poligono. Compatibilità: introdotto in Archicad 22.n = CALLFUNCTION (ch, "CentreOfGravity", "poly1", x, y)Valori restituiti:n: 1 in caso di successo, 0 se il centro di gravità non è ben definito, es. il poligono si intersecava da solo.x, y: Le coordinate del centro di gravità.

Varie

Guida di Riferimento al GDL 658

Ottenimento dei poligoni / polilinee risultanti

Matrice

GetSourcePolygons, GetSourcePolylinesOttenimento di tutti i nomi di poligoni / polilinee dal contenitore di origine effettivo.dim resPolyIDArray[], resPolylineIDArray[]nPgon = CALLFUNCTION (ch, "GetSourcePolygons", "", resPolyIDArraynPline = CALLFUNCTION (ch, "GetSourcePolylines", "", resPolylineIDArray

GetDestinationPolygons, GetDestinationPolylinesRecupero di tutti i nomi di poligoni / polilinea dal contenitore di destinazione effettivo.dim resPolyIDArray[], resPolylineIDArray[]nPgon = CALLFUNCTION (ch, "GetDestinationPolygons", "", resPolyIDArray)nPline = CALLFUNCTION (ch, "GetDestinationPolylines", "", resPolylineIDArray

GetVertices, GetPolylineVerticesOttenimento dei vertici di poligono / polilinea risultanti dopo qualsiasi chiamata di operazione poligono / polilinea.Il poligono / polilinea con il nome "polygonID" o "polylineID" si trova nel contenitore di destinazione.dim resVertices[], resPolylineVertices[]nVertices = CALLFUNCTION (ch, "GetVertices", polygonID, resVertices)nVertices = CALLFUNCTION (ch, "GetPolylineVertices", polylineID, resPolylineVertices)

GetContourEndsOttenimento degli indici finali del contorno del poligono risultante dopo qualsiasi chiamata di operazione del poligono.Il poligono con il nome "polygonID" si trova nel contenitore di destinazione.dim contArr[]nContours = CALLFUNCTION (ch, "GetContourEnds", polygonID, contArr)

GetInhEdgeInfos, GetPolylineInhEdgeInfosOttenimento delle informazioni risultanti sul contorno / polilinea del poligono dopo qualsiasi chiamata di operazione poligono / polilinea.

Varie

Guida di Riferimento al GDL 659

dim inhEdgeInfosArr[], polylineInhEdgeInfosArr[]nEdgeInfos = CALLFUNCTION (ch, "GetInhEdgeInfos", polygonID, inhEdgeInfosArr)nEdgeInfos = CALLFUNCTION (ch, "GetPolylineInhEdgeInfos", polylineID, polylineInhEdgeInfosArr)Il poligono / polilinea con il nome "polygonID" o "polylineID" si trova nel contenitore di destinazione.

Dizionario

GetSourceDictPolygon, GetSourceDictPolylineOttenere il poligono / polilinea di origine come dizionario. Compatibilità: introdotto in Archicad 23.Il poligono / polilinea con il nome "polygonID" o "polylineID" si trova nel contenitore di origine.dict PolyOperationsPolygon, PolyOperationsPolylineCALLFUNCTION (ch, "GetSourceDictPolygon", polygonID, PolyOperationsPolygonCALLFUNCTION (ch, "GetSourceDictPolyline", polylineID, PolyOperationsPolyline

GetDestinationDictPolygon, GetDestinationDictPolylineOttenere il poligono / polilinea risultante come dizionario dopo qualsiasi chiamata di operazione poligono / polilinea. Compatibilità: introdottoin Archicad 23.Il poligono / polilinea con il nome "polygonID" o "polylineID" si trova nel contenitore di destinazione.dict PolyOperationsPolygon, PolyOperationsPolylineCALLFUNCTION (ch, "GetDestinationDictPolygon", polygonID, PolyOperationsPolygon)CALLFUNCTION (ch, "GetDestinationDictPolyline", polylineID, PolyOperationsPolyline

Chiusura del canaleChiude il canale "ch". Elimina tutti i poligoni / polilinee memorizzati.CLOSEADDONSCOPE (ch)

GUIDA AL TESTO AUTOMATICONon fa parte del GDL stesso. Archicad sostituirà tutti i riferimenti ai campi del testo automatico in qualsiasi output GDL li trovi. Ad esempio,se scrivi <PROJECTSTATUS> nella stringa di parametri di un comando text2, Archicad lo sostituirà agilmente con il valore effettivo. Tuttoquesto è invisibile al GDL - di conseguenza la dimensione e altri attributi del testo non sono misurabili.

Varie

Guida di Riferimento al GDL 660

Parole chiave per le informazioni sul progetto

PROJECTNAME PROJECTNUMBER PROJECTSTATUS DATEOFISSUE SITEFULLADDRESS

SITEADDRESS1 SITEADDRESS2 SITEADDRESS3 SITECITY SITESTATE

SITEPOSTCODE SITECOUNTRY KEYWORDS NOTES ARCHITECTNAME

ARCHITECTPOSITION CADTECHNICIAN ARCHITECTCOMPANY ARCHITECTFULLADDRESS ARCHITECTADDRESS1

ARCHITECTADDRESS2 ARCHITECTADDRESS3 ARCHITECTCITY ARCHITECTSTATE ARCHITECTPOSTCODE

ARCHITECTCOUNTRY

Varie

Guida di Riferimento al GDL 661

ARCHITECTEMAIL ARCHITECTPHONE ARCHITECTFAX ARCHITECTWEB

CLIENTNAME CLIENTCOMPANY CLIENTFULLADDRESS CLIENTADDRESS1 CLIENTADDRESS2

CLIENTADDRESS3 CLIENTCITY CLIENTSTATE CLIENTPOSTCODE CLIENTCOUNTRY

CLIENTEMAIL CLIENTPHONE CLIENTFAX

Generale

SHORTDATE LONGDATE TIME FILENAME FILEPATH LASTSAVEDAT LASTSAVEDBY

Testi automatici del layout

Varie

Guida di Riferimento al GDL 662

LAYOUTNAME LAYOUTID SUBSETNAME SUBSETID LAYOUTNUMBER NUMOFLAYOUTS

Testi automatici del disegno

DRAWINGNAME DRAWINGID DRAWINGSCALE ORIGINALSCALE MAGNIFICATION RENOVATIONFILTER

Testi automatici di tipo riferimento

LAYOUTNAME_R LAYOUTID_R SUBSETNAME_R SUBSETID_R DRAWINGNAME_R DRAWINGID_R DRAWINGSCALE_R ORIGINALSCALE_R MAGNIFICATION_R FILENAME_R FILEPATH_R LAYOUTNUMBER_R RENOVATIONFILTER_R

Testi automatici di tipo Marker

MARKERSHEETNUMBER_R

Varie

Guida di Riferimento al GDL 663

MARKERDRAWINGNUMBER_R MARKERSHEETNUMBER90_R MARKERDRAWINGNUMBER90_R MARKERSHEETNUMBER110_R MARKERDRAWINGNUMBER110_R BACKREFSHEETNUMBER_R

Testi automatici relativi alla Modifica

CHANGEID CHANGEDESCRIPTION REVISIONID ISSUEID ISSUEDESCRIPTION ISSUEDATE ISSUEDBY

Testi automatici relativi alla revisione del layout

CURRENTREVISIONID CURRENTISSUEID CURRENTISSUEDESCRIPTION CURRENTISSUEDATE CURRENTISSUEDBY

GUIDA ALLE PROPRIETà INCORPORATELe proprietà incorporate non fanno parte del GDL stesso. Quando si richiedono proprietà disponibili o valori di proprietà dell'oggettopadre, le proprietà incorporate (un tipo specifico di proprietà definito da Archicad) hanno ID proprietà fissi e leggibili. Questi ID diproprietà possono essere scritti nello script GDL, consentendo allo script di richiedere questi valori di proprietà specifici. Ad esempio,determinare l'altezza di lista dell'oggetto padre utilizzando la richesta Property_Values_Of_Parent per ottenere il valore della proprietàBuiltin.General_Height. Vedi la Guida Utente di Archicad su Parametri di Lista dei Componenti nell'Abaco Interattivo per le loro definizioni.Compatibilità: poiché lo scopo principale di queste proprietà è fornire valori di lista per gli elementi, il loro valore effettivo potrebbe dipendere dalla localizzazione diArchicad e la loro disponibilità e modalità di calcolo potrebbero essere sviluppate / modificate nelle versioni successive di Archicad.

Varie

Guida di Riferimento al GDL 664

Possono essere referenziati direttamente con un ID stringa in REQUEST che richiede un ID proprietà:

Property_Name Property_Value_Of_Parent Property_Values_Of_Parent Component_Property_Values_Of_Parent Sono anche restituiti da questi REQUEST:

Property_Tree_Of_Parent Component_Property_Tree_Of_Parent

ID proprietà incorporati relativi agli elementi• Builtin.General_3DLength (introdotto in Archicad 25)• Builtin.General_3DPerimeter (introdotto in Archicad 25)• Builtin.General_Area (introdotto in Archicad 25)• Builtin.General_BottomElevationToFirstReferenceLevel (introdotto in Archicad 25)• Builtin.General_BottomElevationToHomeStory (introdotto in Archicad 25)• Builtin.General_BottomElevationToProjectZero (introdotto in Archicad 25)• Builtin.General_BottomElevationToSeaLevel (introdotto in Archicad 25)• Builtin.General_BottomElevationToSecondReferenceLevel (introdotto in Archicad 25)• Builtin.General_ConditionalBottomSurfaceArea (introdotto in Archicad 25)• Builtin.General_ConditionalTopSurfaceArea (introdotto in Archicad 25)• Builtin.General_ConditionalVolume (introdotto in Archicad 25)• Builtin.General_CrossSectionAreaAtBeginCut (introdotto in Archicad 25)• Builtin.General_CrossSectionAreaAtEndCut (introdotto in Archicad 25)• Builtin.General_CrossSectionHeightAtBeginCut (introdotto in Archicad 25)• Builtin.General_CrossSectionHeightAtBeginPerpendicular (introdotto in Archicad 25)• Builtin.General_CrossSectionHeightAtEndCut (introdotto in Archicad 25)• Builtin.General_CrossSectionHeightAtEndPerpendicular (introdotto in Archicad 25)• Builtin.General_CrossSectionWidthAtBeginCut (introdotto in Archicad 25)• Builtin.General_CrossSectionWidthAtBeginPerpendicular (introdotto in Archicad 25)• Builtin.General_CrossSectionWidthAtEndCut (introdotto in Archicad 25)

Varie

Guida di Riferimento al GDL 665

• Builtin.General_CrossSectionWidthAtEndPerpendicular (introdotto in Archicad 25)• Builtin.General_ElementID (introdotto in Archicad 25)• Builtin.General_ElevationToFirstReferenceLevel (introdotto in Archicad 25)• Builtin.General_ElevationToProjectZero (introdotto in Archicad 25)• Builtin.General_ElevationToSeaLevel (introdotto in Archicad 25)• Builtin.General_ElevationToSecondReferenceLevel (introdotto in Archicad 25)• Builtin.General_ElevationToStory (introdotto in Archicad 25)• Builtin.General_FloorPlanHolesPerimeter (introdotto in Archicad 25)• Builtin.General_FloorPlanPerimeter (introdotto in Archicad 25)• Builtin.General_FromZone (introdotto in Archicad 25)• Builtin.General_FromZoneNumber (introdotto in Archicad 25)• Builtin.General_GrossVolume (introdotto in Archicad 25)• Builtin.General_Height (introdotto in Archicad 25)• Builtin.General_Holes3DPerimeter (introdotto in Archicad 25)• Builtin.General_HomeOffset (introdotto in Archicad 25)• Builtin.General_HotlinkAndElementID (introdotto in Archicad 25)• Builtin.General_HotlinkMasterID (introdotto in Archicad 25)• Builtin.General_InsulationSkinThickness (introdotto in Archicad 25)• Builtin.General_LastIssueID (introdotto in Archicad 25)• Builtin.General_LastIssueName (introdotto in Archicad 25)• Builtin.General_LibraryPartName (introdotto in Archicad 25)• Builtin.General_Locked (introdotto in Archicad 25)• Builtin.General_NetBottomSurfaceArea (introdotto in Archicad 25)• Builtin.General_NetEdgeSurfaceArea (introdotto in Archicad 25)• Builtin.General_NetTopSurfaceArea (introdotto in Archicad 25)• Builtin.General_NetVolume (introdotto in Archicad 25)• Builtin.General_OpeningNumber (introdotto in Archicad 25)• Builtin.General_OwnerID (introdotto in Archicad 25)• Builtin.General_RelatedZoneName (introdotto in Archicad 25)• Builtin.General_RelatedZoneNumber (introdotto in Archicad 25)• Builtin.General_Slantangolo (introdotto in Archicad 25)• Builtin.General_SurfaceArea (introdotto in Archicad 25)• Builtin.General_Thickness (introdotto in Archicad 25)

Varie

Guida di Riferimento al GDL 666

• Builtin.General_ToZone (introdotto in Archicad 25)• Builtin.General_ToZoneNumber (introdotto in Archicad 25)• Builtin.General_TopElevationToFirstReferenceLevel (introdotto in Archicad 25)• Builtin.General_TopElevationToHomeStory (introdotto in Archicad 25)• Builtin.General_TopElevationToProjectZero (introdotto in Archicad 25)• Builtin.General_TopElevationToSeaLevel (introdotto in Archicad 25)• Builtin.General_TopElevationToSecondReferenceLevel (introdotto in Archicad 25)• Builtin.General_TopLinkStory (introdotto in Archicad 25)• Builtin.General_TopOffset (introdotto in Archicad 25)• Builtin.General_Type (introdotto in Archicad 25)• Builtin.General_UniqueID (introdotto in Archicad 25)• Builtin.General_Width (introdotto in Archicad 25)• Builtin.Zone_AreaReducement (introdotto in Archicad 25)• Builtin.Zone_CalculatedArea (introdotto in Archicad 25)• Builtin.Zone_ExtractedColumnArea (introdotto in Archicad 25)• Builtin.Zone_ExtractedCurtainWallArea (introdotto in Archicad 25)• Builtin.Zone_ExtractedFillArea (introdotto in Archicad 25)• Builtin.Zone_ExtractedLowArea (introdotto in Archicad 25)• Builtin.Zone_ExtractedWallArea (introdotto in Archicad 25)• Builtin.Zone_FloorThickness (introdotto in Archicad 25)• Builtin.Zone_MeasuredArea (introdotto in Archicad 25)• Builtin.Zone_NetArea (introdotto in Archicad 25)• Builtin.Zone_NetPerimeter (introdotto in Archicad 25)• Builtin.Zone_Perimeter (introdotto in Archicad 25)• Builtin.Zone_ReducedArea (introdotto in Archicad 25)• Builtin.Zone_TotalExtractedArea (introdotto in Archicad 25)• Builtin.Zone_WallInsetBackSideSurfaceArea (introdotto in Archicad 25)• Builtin.Zone_WallInsetSideSurfaceArea (introdotto in Archicad 25)• Builtin.Zone_WallInsetTopSurfaceArea (introdotto in Archicad 25)• Builtin.Zone_WallsPerimeter (introdotto in Archicad 25)• Builtin.Zone_ZoneCategory (introdotto in Archicad 25)• Builtin.Zone_ZoneCategoryCode (introdotto in Archicad 25)• Builtin.Zone_ZoneName (introdotto in Archicad 25)

Varie

Guida di Riferimento al GDL 667

• Builtin.Zone_ZoneNumber (introdotto in Archicad 25)

ID delle proprietà integrate relative ai componenti• Builtin.Component_ConditionalProjectedArea (introdotto in Archicad 25)• Builtin.Component_ConditionalVolume (introdotto in Archicad 25)• Builtin.Component_CrossSectionArea (introdotto in Archicad 25)• Builtin.Component_CrossSectionHeight (introdotto in Archicad 25)• Builtin.Component_CrossSectionWidth (introdotto in Archicad 25)• Builtin.Component_GrossProjectedArea (introdotto in Archicad 25)• Builtin.Component_GrossVolume (introdotto in Archicad 25)• Builtin.Component_NetProjectedArea (introdotto in Archicad 25)• Builtin.Component_NetVolume (introdotto in Archicad 25)• Builtin.Component_Thickness (introdotto in Archicad 25)

Nuove funzionalità GDL in Archicad 25

Guida di Riferimento al GDL 668

NUOVE FUNZIONALITà GDL IN ARCHICAD 25Questa sezione contiene una panoramica delle nuove funzionalità GDL in Archicad 25. Per maggiori dettagli, tutorial ed esempi, visita il GDLCenter [https://gdl.graphisoft.com].

NUOVO TIPO DI PROPRIETà: BUILTINPROPERTYLe proprietà incorporate e le proprietà dei componenti incorporati possono essere richieste utilizzando un ID proprietà a stringa fissa. Vedisezione chiamata «Guida alle proprietà incorporate».

NUOVE RICHIESTE DI PROPRIETàUna serie di nuove proprietàREQUEST  sono state introdotte in Archicad 25. In contrasto con le richieste Properties_Of_Parent,Component_Properties_Of_Parent, queste variazioni possono restituire anche le proprietà integrate di recente introduzione e fornire un alberodelle proprietà meglio organizzato.• REQUEST("Property_Tree_Of_Parent") per la proprietà dell'elemento genitore.• REQUEST("Component_Property_Tree_Of_Parent") per la proprietà del componente dell'elemento genitore.

NUOVE VARIABILI GLOBALISono state aggiunte nuove variabili globali per supportare il Punto di Rilevamento recentemente introdotto del progetto e per migliorare lecapacità di etichettatura mediante le informazioni geometriche degli elementi genitore. Fare riferimento a ciascun globale per le informazioniambientali esatte.• SYMB_POS_FROM_SURVEY_POINT definisce le coordinate calcolate della posizione dell'oggetto rispetto al punto di rilevamento del

progetto. Applicato per oggetti.• LABEL_ASSOC_ELEM_GEOMETRY definisce la linea di riferimento dei muri associati. Applicato per le etichette.• STAIR_BREAKMARK_GEOMETRY definisce la geometria della sezione di interruzione. Applicato per etichette poste su scale.

NUOVO CONTENITORE LOCALIZZABILE DENOMINATO LIBRARY PACKAGEUtilizzando lo strumento LP_XMLConverter, un LCF può essere impacchettato nel formato Library Package (.libpack), che è in grado dimemorizzare le informazioni di localizzazione (tabelle di mappatura e dizionari per la traduzione).Le descrizioni dei parametri e i parametri stringa delle parti della libreria pacchettizzata vengono tradotti durante il caricamento della libreriaattiva. Le stringhe localizzabili vengono tradotte durante la compilazione dello script.

Nuove funzionalità GDL in Archicad 25

Guida di Riferimento al GDL 669

La sintassi per le stringhe localizzate è elencata in sezione chiamata «Stringhe».

Indice

Guida di Riferimento al GDL 670

INDICE

ELENCO DELLA SINTASSI DEI COMANDI GDL

AABS (x)

ACS (x)

ADD dx, dy, dz

ADD2 x, y

ADDGROUP (g_expr1, g_expr2)

ADDGROUP{2} (g_expr1, g_expr2, edgeColor, materialId, materialColor [, operationStatus])

ADDGROUP{3} (g_expr1, g_expr2, edgeColor, materialId, materialColor [, operationStatus])

LIGHT rosso, verde, blu, ombre, raggio, alfa, beta, angolo_falloff, distanza1, distanza2, distanza_falloff [[,] ADDITIONAL_DATA nome1 = valore1, nome2 = valore2, ...]

DEFINE MATERIAL name [,] BASED_ON orig_name [,] PARAMETERS name1 = expr1 [, ...] [[,] ADDITIONAL_DATA name1 = expr1 [, ...]]

ADDX dx

ADDY dy

ADDZ dz

LOCK ALL ["name1" [, "name2", ..., "namen"]]

HIDEPARAMETER ALL ["name1" [, "name2", ..., "namen"]]

Indice

Guida di Riferimento al GDL 671

CALL stringa_nome_macro [,] PARAMETERS [ALL][nome1=valore1, ..., nomen=valoren][[,] RETURNED_PARAMETERS r1, r2, ...]

APPLICATION_QUERY (extension_name, parameter_string, variable1, variable2, ...)

ARC r, alfa, beta

ARC2 x, y, r, alfa, beta

ARMC r1, r2, l, h, d, alfa

ARME l, r1, r2, h, d

ASN (x)

ATN (x)

BBASE

DEFINE MATERIAL name [,] BASED_ON orig_name [,] PARAMETERS name1 = expr1 [, ...] [[,] ADDITIONAL_DATA name1 = expr1 [, ...]]

BEAM mat_sinistra, mat_destra, mat_verticale, materiale_sup, materiale_inf, altezza, x1, x2, x3, x4, y1, y2, y3, y4, t, mask1, mask2, mask3, mask4

BINARY modo [, section, elementID]

BINARYPROP

BITSET (x, b [, expr])

BITTEST (x, b)

BLOCK a, b, c

Indice

Guida di Riferimento al GDL 672

BODY stato

BPRISM_ materiale_sup, materiale_inf, materiale_lato, n, h, raggio, x1, y1, s1, ... xn, yn, sn

BREAKPOINT espressione

BRICK a, b, c

[SET] BUILDING_MATERIAL name_or_index [, cut_fill_pen [, cut_fill_bkgd_pen, [iOverrideFlag]]]

IND (BUILDING_MATERIAL, name_string)

BWALL_ mat_sinistra, mat_destra, materiale_lato, altezza, x1, x2, x3, x4, t, raggio, mask1, mask2, mask3, mask4, n, x_start1, y_low1, x_end1, y_high1, frame_shown1, ... x_startn, y_lown, x_endn, y_highn, frame_shownn, m, a1, b1, c1, d1, ... am, bm, cm, dm

CCALL stringa_nome_macro [,] PARAMETERS [ALL][nome1=valore1, ..., nomen=valoren][[,] RETURNED_PARAMETERS r1, r2, ...]

CALL stringa_nome_macro [,]PARAMETERS valore1 o DEFAULT [, ..., valoren o DEFAULT]

Indice

Guida di Riferimento al GDL 673

CALL stringa_nome_macro [, lista_parametri]

CALLFUNCTION (canale, nome_funzione, parametro, variabile1 [, variabile2, ...])

CEIL (x)

CIRCLE r

CIRCLE2 x, y, r

CLOSE canale

CLOSEADDONSCOPE canale

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

CONE h, r1, r2, alfa1, alfa2

COONS n, m, mask, x11, y11, z11, ..., x1n, y1n, z1n, x21, y21, z21, ..., x2n, y2n, z2n, x31, y31, z31, ..., x3m, y3m, z3m, x41, y41, z41, ..., x4m, y4m, z4m

COONS{2} n, m, mask, x11, y11, z11, ..., x1n, y1n, z1n, x21, y21, z21, ..., x2n, y2n, z2n, x31, y31, z31, ..., x3m, y3m, z3m, x41, y41, z41, ..., x4m, y4m, z4m

COOR wrap, vert1, vert2, vert3, vert4

COOR{2} wrap_method, wrap_flags, vert1, vert2, vert3, vert4

COOR{3} wrapping_method, wrap_flags, origin_X, origin_Y, origin_Z, endOfX_X, endOfX_Y, endOfX_Z, endOfY_X, endOfY_Y, endOfY_Z, endOfZ_X, endOfZ_Y, endOfZ_Z

Indice

Guida di Riferimento al GDL 674

COS (x)

CPRISM_ materiale_sup, materiale_inf, materiale_lato, n, h, x1, y1, s1, ..., xn, yn, sn

CPRISM_{2} materiale_sup, materiale_inf, materiale_lato, n, h, x1, y1, alfa1, s1, mat1, ... xn, yn, alfan, sn, matn

CPRISM_{3} materiale_sup, materiale_inf, materiale_lato, mask, n, h, x1, y1, alfa1, s1, mat1, ... xn, yn, alfan, sn, matn

CPRISM_{4} materiale_sup, materiale_inf, materiale_lato, mask, n, h, x1, y1, alfa1, s1, mat1, ... xn, yn, alfan, sn, matn

CREATEGROUPWITHMATERIAL (g_expr, repl_directive, pen, material)

CROOF_ materiale_sup, materiale_inf, materiale_lato, n, xb, yb, xe, ye, altezza, angolo, spessore, x1, y1, alfa1, s1, ... xn, yn, alfan, sn

CROOF_{2} materiale_sup, materiale_inf, materiale_lato, n, xb, yb, xe, ye, altezza, angolo, spessore, x1, y1, alfa1, s1, mat1, ... xn, yn, alfan, sn, matn

Indice

Guida di Riferimento al GDL 675

CROOF_{3} materiale_sup, materiale_inf, materiale_lato, mask, n, xb, yb, xe, ye, altezza, angolo, spessore, x1, y1, alfa1, s1, mat1, ... xn, yn, alfan, sn, matn

CROOF_{4} materiale_sup, materiale_inf, materiale_lato, mask, n, xb, yb, xe, ye, altezza, angolo, spessore, x1, y1, alfa1, s1, mat1, ... xn, yn, alfan, sn, matn

CSLAB_ materiale_sup, materiale_inf, materiale_lato, n, h, x1, y1, z1, s1, ..., xn, yn, zn, sn

CUTPLANE [x [, y [, z [, lato [, stato]]]]][istruzione1 ... istruzionen]CUTEND

CUTPLANE{2} angolo [, stato][istruzione1 ... istruzionen]CUTEND

CUTPLANE{3} [x [, y [, z [, lato [, stato]]]]][istruzione1 ... istruzionen]CUTEND

CUTPOLY n, x1, y1, ..., xn, yn [, x, y, z][istruzione1istruzione2...istruzionen]CUTEND

Indice

Guida di Riferimento al GDL 676

CUTPOLYA n, stato, d, x1, y1, mask1, ..., xn, yn, maskn [, x, y, z][istruzione1istruzione2...istruzionen]CUTEND

CUTSHAPE d [, stato][istruzione1 istruzione2 ... istruzionen]CUTEND

CUTFORM n, metodo, stato, rx, ry, rz, d, x1, y1, mask1 [, mat1], ... xn, yn, maskn [, matn]

CUTFORM{2} n, metodo, stato, rx, ry, rz, d, x1, y1, mask1 [, mat1], ... xn, yn, maskn [, matn]

CUTPLANE [x [, y [, z [, lato [, stato]]]]][istruzione1 ... istruzionen]CUTEND

CUTPLANE{2} angolo [, stato][istruzione1 ... istruzionen]CUTEND

CUTPLANE{3} [x [, y [, z [, lato [, stato]]]]][istruzione1 ... istruzionen]CUTEND

Indice

Guida di Riferimento al GDL 677

CUTPOLY n, x1, y1, ..., xn, yn [, x, y, z][istruzione1istruzione2...istruzionen]CUTEND

CUTPOLYA n, stato, d, x1, y1, mask1, ..., xn, yn, maskn [, x, y, z][istruzione1istruzione2...istruzionen]CUTEND

CUTSHAPE d [, stato][istruzione1 istruzione2 ... istruzionen]CUTEND

CWALL_ mat_sinistra, mat_destra, materiale_lato, altezza, x1, x2, x3, x4, t, mask1, mask2, mask3, mask4, n, x_start1, y_low1, x_end1, y_high1, frame_shown1, ... x_startn, y_lown, x_endn, y_highn, frame_shownn, m, a1, b1, c1, d1, ... am, bm, cm, dm

CYLIND h, r

Indice

Guida di Riferimento al GDL 678

DDATABASE_SET set_name [, descriptor_name, component_name, unit_name, key_name, criteria_name, list_set_name]

CALL stringa_nome_macro [,]PARAMETERS valore1 o DEFAULT [, ..., valoren o DEFAULT]

CALL stringa_nome_macro [,]PARAMETERS valore1 o DEFAULT [, ..., valoren o DEFAULT]

DEFINE EMPTY_FILL name [[,] FILLTYPES_MASK fill_types]

DEFINE FILL name [[,] FILLTYPES_MASK fill_mtypes,] pattern1, pattern2, pattern3, pattern4, pattern5, pattern6, pattern7, pattern8, spacing, angolo, n, frequency1, direction1, offset_x1, offset_y1, m1, length11, ..., length1m, ... frequencyn, directionn, offset_xn, lengthn1, ..., lengthnm

DEFINE FILLA name [,] [FILLTYPES_MASK fill_types,] pattern1, pattern2, pattern3, pattern4, pattern5, pattern6, pattern7, pattern8, spacing_x, spacing_y, angolo, n, frequency1, directional_offset1, direction1, offset_x1, offset_y1, m1, length11, ..., length1m, ... frequencyn, directional_offsetn, directionn, offset_xn, offset_yn, mn, lengthn1, ..., lengthnm

Indice

Guida di Riferimento al GDL 679

DEFINE IMAGE_FILL name image_name [[,] FILLTYPES_MASK fill_types] part1, part2, part3, part4, part5, part6, part7, part8, image_vert_size, image_hor_size, image_mask, image_rotangolo

DEFINE LINEAR_GRADIENT_FILL name [[,] FILLTYPES_MASK fill_types]

DEFINE LINE_TYPE name spacing, n, length1, ..., lengthn

DEFINE MATERIAL name type, surface_red, surface_green, surface_blue [, ambient_ce, diffuse_ce, specular_ce, transparent_ce, shining, transparency_attenuation [, specular_red, specular_green, specular_blue, emission_red, emission_green, emission_blue, emission_att]] [, fill_index [, fillcolor_index, texture_index]]

DEFINE MATERIAL name [,] BASED_ON orig_name [,] PARAMETERS name1 = expr1 [, ...] [[,] ADDITIONAL_DATA name1 = expr1 [, ...]]

DEFINE RADIAL_GRADIENT_FILL name [[,] FILLTYPES_MASK fill_types]

DEFINE SOLID_FILL name [[,] FILLTYPES_MASK fill_types]

DEFINE STYLE name font_family, size, anchor, face_code

DEFINE STYLE{2} name font_family, size, face_code

DEFINE SYMBOL_FILL name [,][FILLTYPES_MASK fill_types,] pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8, spacingx1, spacingy1, spacingx2, spacingy2, angolo, scaling1, scaling2, macro_name [,] PARAMETERS [name1 = value1, ..., namen = valuen]

DEFINE SYMBOL_LINE name dash, gap, macro_name PARAMETERS [name1 = value1, ... namen = valuen]

DEFINE TEXTURE nome espressione, x, y, mask, angolo

Indice

Guida di Riferimento al GDL 680

DEFINE TRANSLUCENT_FILL name [[,] FILLTYPES_MASK fill_types] pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8, percentage

DEL n [, inizia_con]

DEL TOP

DELETED_PAR_VALUE ("oldparname", outputvalue)

DESCRIPTOR name [, code, keycode]

DICT variableName1[, variableName2...]

DIM var1[dim_1], var2[dim_1][dim_2], var3[ ], var4[ ][ ], var5[dim_1][ ], var5[ ][dim_2]

DO [istruzione1 istruzione2 ... istruzionen]WHILE condizione

WHILE condizione DO [istruzione1 istruzione2 ... istruzionen]ENDWHILE

DRAWINDEX numero

DRAWING

DRAWING2 [espressione]

DRAWING3 projection_code, angolo, metodo

DRAWING3{2} projection_code, angolo, metodo[, backgroundColor,

Indice

Guida di Riferimento al GDL 681

fillOrigoX, fillOrigoY, filldirection]

DRAWING3{3} projection_code, angolo, metodo, parti [, backgroundColor, fillOrigoX, fillOrigoY, filldirection][[,] PARAMETERS nome1=valore1, ..., nomen=valoren]

EEDGE vert1, vert2, pgon1, pgon2, stato

ELBOW r1, alfa, r2

ELLIPS h, r

IF condizione THEN istruzione [ELSE istruzione]

IF condizione THEN [istruzione1 istruzione2 ... istruzionen][ELSE istruzionen+1 istruzionen+2 ... istruzionen+m]ENDIF

END [v1, v2, ..., vn]

GROUP "nome" [istruzione1 ... istruzionen]ENDGROUP

IF condizione THEN [istruzione1 istruzione2 ...

Indice

Guida di Riferimento al GDL 682

istruzionen][ELSE istruzionen+1 istruzionen+2 ... istruzionen+m]ENDIF

PARAGRAPH name alignment, firstline_indent, left_indent, right_indent, line_spacing [, tab_position1, ...] [PEN index] [[SET] STYLE style1] [[SET] MATERIAL index] 'stringa1' 'stringa2' ... 'stringa n' [PEN index] [[SET] STYLE style2] [[SET] MATERIAL index] 'stringa1' 'stringa2' ... 'stringa n' ...ENDPARAGRAPH

WHILE condizione DO [istruzione1 istruzione2 ... istruzionen]ENDWHILE

Indice

Guida di Riferimento al GDL 683

EXIT [v1, v2, ..., vn]

EXP (x)

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

EXTRUDEDSHELL MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, offset, spessore, girata, CorpodiTaglio, x_tb, y_tb, x_te, y_te, zSup, tangolo, x_bb, y_bb, x_be, y_be, zInf, bangolo, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThicakenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_n

EXTRUDEDSHELL{2} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, stato, offset, spessore, girata, CorpodiTaglio, x_tb, y_tb, x_te, y_te, zSup, tangolo, x_bb, y_bb, x_be, y_be, zInf, bangolo, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThicakenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_n

EXTRUDEDSHELL{3} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat,

Indice

Guida di Riferimento al GDL 684

n, stato, offset, spessore, girata, CorpodiTaglio, x_tb, y_tb, x_te, y_te, zSup, tangolo, x_bb, y_bb, x_be, y_be, zInf, bangolo, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThicakenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_n

FFILE_DEPENDENCE "name1" [, "name2", ...]

[SET] FILL name_string

[SET] FILL index

IND (FILL, name_string)

DEFINE FILL name [[,] FILLTYPES_MASK fill_mtypes,] pattern1, pattern2, pattern3, pattern4, pattern5, pattern6, pattern7, pattern8, spacing, angolo, n, frequency1, direction1, offset_x1, offset_y1, m1, length11, ..., length1m, ... frequencyn, directionn, offset_xn, lengthn1, ..., lengthnm

DEFINE FILLA name [,] [FILLTYPES_MASK fill_types,] pattern1, pattern2, pattern3, pattern4, pattern5, pattern6, pattern7, pattern8, spacing_x, spacing_y, angolo, n, frequency1, directional_offset1, direction1, offset_x1, offset_y1, m1,

Indice

Guida di Riferimento al GDL 685

length11, ..., length1m, ... frequencyn, directional_offsetn, directionn, offset_xn, offset_yn, mn, lengthn1, ..., lengthnm

DEFINE SYMBOL_FILL name [,][FILLTYPES_MASK fill_types,] pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8, spacingx1, spacingy1, spacingx2, spacingy2, angolo, scaling1, scaling2, macro_name [,] PARAMETERS [name1 = value1, ..., namen = valuen]

DEFINE SOLID_FILL name [[,] FILLTYPES_MASK fill_types]

DEFINE EMPTY_FILL name [[,] FILLTYPES_MASK fill_types]

DEFINE LINEAR_GRADIENT_FILL name [[,] FILLTYPES_MASK fill_types]

DEFINE RADIAL_GRADIENT_FILL name [[,] FILLTYPES_MASK fill_types]

DEFINE TRANSLUCENT_FILL name [[,] FILLTYPES_MASK fill_types] pat1, pat2, pat3, pat4, pat5, pat6, pat7, pat8, percentage

DEFINE IMAGE_FILL name image_name [[,] FILLTYPES_MASK fill_types] part1, part2, part3, part4, part5, part6, part7, part8, image_vert_size, image_hor_size, image_mask, image_rotangolo

VALUES "fill_parameter_name" [[,] FILLTYPES_MASK fill_types], value_definition1 [, value_definition2, ...]

FOR nome_variabile = valore_iniziale TO valore_finale [ STEP valore_passo ] NEXT nome_variabile

FPRISM_ materiale_sup, materiale_inf, materiale_lato, hill_material, n, spessore, angolo, hill_altezza, x1, y1, s1, ...

Indice

Guida di Riferimento al GDL 686

xn, yn, sn

FRA (x)

FRAGMENT2 fragment_index, use_current_attributes_flag

FRAGMENT2 ALL, use_current_attributes_flag

GGET (n)

IF condizione THEN etichettaIF condizione GOTO etichettaIF condizione GOSUB etichetta

GOSUB etichetta

IF condizione THEN etichettaIF condizione GOTO etichettaIF condizione GOSUB etichetta

GOTO etichetta

GROUP "nome" [istruzione1 ... istruzionen]ENDGROUP

HHASKEY (dictionary.key)

HIDEPARAMETER "name1" [, "name2", ..., "namen"]

HIDEPARAMETER ALL ["name1" [, "name2", ..., "namen"]]

HOTARC r, alfa, beta, unID

HOTARC2 x, y, r, startangolo, endangolo, unID

HOTLINE x1, y1, z1, x2, y2, z2, unID

Indice

Guida di Riferimento al GDL 687

HOTLINE2 x1, y1, x2, y2, unID

HOTSPOT x, y, z [, unID [, paramReference [, flags [, displayParam [, customDescription]]]]]

HOTSPOT2 x, y [, unID [, paramReference [, flags [, displayParam [, "customDescription"]]]]]

HPRISM_ top_mat, bottom_mat, side_mat, hill_mat, n, spessore, angolo, hill_altezza, stato, x1, y1, s1, ... xn, yn, sn

IIF condizione THEN etichettaIF condizione GOTO etichettaIF condizione GOSUB etichetta

IF condizione THEN etichettaIF condizione GOTO etichettaIF condizione GOSUB etichetta

IF condizione THEN etichettaIF condizione GOTO etichettaIF condizione GOSUB etichetta

IF condizione THEN istruzione [ELSE istruzione]

IF condizione THEN [istruzione1 istruzione2 ... istruzionen][ELSE istruzionen+1

Indice

Guida di Riferimento al GDL 688

istruzionen+2 ... istruzionen+m]ENDIF

IND (MATERIAL, name_string)

IND (BUILDING_MATERIAL, name_string)

IND (FILL, name_string)

IND (LINE_TYPE, name_string)

IND (STYLE, name_string)

IND (TEXTURE, name_string)

IND (PROFILE_ATTR, name_string, index)

INITADDONSCOPE (estensione, parametro_stringa1, parametro_stringa2)

INPUT (canale, recordID, IDcampo, variabile1 [, variabile2, ...])

INT (x)

ISECTGROUP (g_expr1, g_expr2)

ISECTGROUP{2} (g_expr1, g_expr2, edgeColor, materialId, materialColor [, operationStatus])

ISECTGROUP{3} (g_expr1, g_expr2, edgeColor, materialId, materialColor [, operationStatus])

ISECTLINES (g_expr1, g_expr2)

KKILLGROUP g_expr

L[LET] varnam = n

LGT (x)

Indice

Guida di Riferimento al GDL 689

LIBRARYGLOBAL (nome_oggetto, parametro, valore)

LIGHT rosso, verde, blu, ombre, raggio, alfa, beta, angolo_falloff, distanza1, distanza2, distanza_falloff [[,] ADDITIONAL_DATA nome1 = valore1, nome2 = valore2, ...]

LINE2 x1, y1, x2, y2

LINE_PROPERTY expr

[SET] LINE_TYPE name_string

[SET] LINE_TYPE index

IND (LINE_TYPE, name_string)

LIN_ x1, y1, z1, x2, y2, z2

LOCK "name1" [, "name2", ..., "namen"]

LOCK ALL ["name1" [, "name2", ..., "namen"]]

LOG (x)

MMASS materiale_sup, materiale_inf, materiale_lato, 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

MASS{2} materiale_sup, materiale_inf, materiale_lato, n, m, mask, h,

Indice

Guida di Riferimento al GDL 690

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

[SET] MATERIAL name_or_index

IND (MATERIAL, name_string)

MAX (x1, x2, ..., xn)

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

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

MODEL WIRE

MODEL SURFACE

MODEL SOLID

MUL mx, my, mz

MUL2 x, y

MULX mx

MULY my

MULZ mz

NNEWPARAMETER "nome", "tipo" [, dim1 [, dim2]]

Indice

Guida di Riferimento al GDL 691

FOR nome_variabile = valore_iniziale TO valore_finale [ STEP valore_passo ] NEXT nome_variabile

NOT (x)

NSP

NTR ()

NURBSBODY statoombre, smoothnessMin, smoothnessMax

NURBSCURVE2D degree, nControlPoints, knot_1, knot_2, ..., knot_m, cPoint_1_x, cPoint_1_y, weight_1, cPoint_2_x, cPoint_2_y, weight_2, ..., cPoint_n_x, cPoint_n_y, weight_n

NURBSCURVE3D degree, nControlPoints, knot_1, knot_2, ..., knot_m, cPoint_1_x, cPoint_1_y, cPoint_1_z, weight_1, cPoint_2_x, cPoint_2_y, cPoint_2_z, weight_2, ..., cPoint_n_x, cPoint_n_y, cPoint_n_z, weight_n

NURBSEDGE vert1, vert2, curve, curveDomainBeg, curveDomainEnd, stato, tolerance

NURBSFACE n, superficie, tolleranza, trim1, trim2, ..., trimn

NURBSFACE{2} n, superficie, tolleranza, wrap_method, wrap_flags, x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4, trim1, trim2, ..., trimn

Indice

Guida di Riferimento al GDL 692

NURBSLUMP n, face1, face2, ..., facen

NURBSSURFACE degree_u, degree_v, nu, nv, knot_u_1, knot_u_2, ..., knot_u_mu, knot_v_1, knot_v_2, ..., knot_v_mv, cPoint_1_1_x, cPoint_1_1_y, cPoint_1_1_z, weight_1_1, cPoint_1_2_x, cPoint_1_2_y, cPoint_1_2_z, weight_1_2, ..., cPoint_1_nv_x, cPoint_1_nv_y, cPoint_1_nv_z, weight_1_nv, cPoint_2_1_x, cPoint_2_1_y, cPoint_2_1_z, weight_2_1, ..., cPoint_nu_nv_x, cPoint_nu_nv_y, cPoint_nu_nv_z, weight_nu_nv

NURBSTRIM edge, curve, curveDomainBeg, curveDomainEnd, tolerance

NURBSTRIMSINGULAR vertex, curve, curveDomainBeg, curveDomainEnd, tolerance

NURBSVERT x, y, z, netto, tolleranza

OOPEN (filtro, nomefile, parametro_stringa)

OUTPUT canale, recordID, IDcampo, espressione1 [, espressione2, ...]

PPARAGRAPH name alignment, firstline_indent, left_indent, right_indent, line_spacing [, tab_position1, ...] [PEN index] [[SET] STYLE style1] [[SET] MATERIAL index] 'stringa1' 'stringa2' ...

Indice

Guida di Riferimento al GDL 693

'stringa n' [PEN index] [[SET] STYLE style2] [[SET] MATERIAL index] 'stringa1' 'stringa2' ... 'stringa n' ...ENDPARAGRAPH

PARAMETERS name1 = expression1 [, name2 = expression2, ..., namen = expressionn]

CALL stringa_nome_macro [,] PARAMETERS [ALL][nome1=valore1, ..., nomen=valoren][[,] RETURNED_PARAMETERS r1, r2, ...]

CALL stringa_nome_macro [,]PARAMETERS valore1 o DEFAULT [, ..., valoren o DEFAULT]

PARVALUE_DESCRIPTION (parname [, ind1 [, ind2]])

PEN n

PGON n, vect, stato, edge1, edge2, ..., edgen

PGON{2} n, vect, stato, wrap, edge_or_wrap1, ..., edge_or_wrapn

PGON{3} n, vect, stato, wrap_method, wrap_flags, edge_or_wrap1, ..., edge_or_wrapn

PI

PICTURE espressione, a, b, mask

PICTURE2 espressione, a, b, mask

PICTURE2{2} espressione, a, b, mask

Indice

Guida di Riferimento al GDL 694

PIPG espressione, a, b, mask, n, vect, stato, edge1, edge2, ..., edgen

PLACEGROUP g_expr

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

PLANE_ n, x1, y1, z1, s1, ..., xn, yn, zn, sn

POINTCLOUD "nome_file_dati"

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

POLY2 n, frame_fill, x1, y1, ..., xn, yn

POLY2_ n, frame_fill, x1, y1, s1, ..., xn, yn, sn

POLY2_A n, frame_fill, fill_pen, x1, y1, s1, ..., xn, yn, sn

POLY2_B n, frame_fill, fill_pen, fill_background_pen, x1, y1, s1, ..., xn, yn, sn

POLY2_B{2} n, frame_fill, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, fillangolo, x1, y1, s1, ..., xn, yn, sn

POLY2_B{3} n, frame_fill, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, mxx, mxy, myx, myy, x1, y1, s1, ..., xn, yn, sn

POLY2_B{4} n, frame_fill, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, mxx, mxy, myx, myy, gradientInnerraggio, x1, y1, s1, ..., xn, yn, sn

Indice

Guida di Riferimento al GDL 695

POLY2_B{5} n, frame_fill, fillcategory, distortion_flags, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, mxx, mxy, myx, myy, gradientInnerraggio, x1, y1, s1, ..., xn, yn, sn

POLY2_B{6} n, frame_fill, fillcategory, distortion_flags, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, mxx, mxy, myx, myy, gradientInnerraggio, x1, y1, s1, pen1, linetype1, ..., xn, yn, sn, penn, linetypen

POLYROOF defaultMat, k, m, n, offset, spessore, applyContourInsidePivot, z_1, ..., z_k, pivotX_1, pivotY_1, pivotMask_1, roofangolo_11, gableOverhang_11, MatSopra_11, MatSotto_11, ... roofangolo_1k, gableOverhang_1k, MatSopra_1k, MatSotto_1k, ... pivotX_m, pivotY_m, pivotMask_m, roofangolo_m1, gableOverhang_m1, MatSopra_m1, MatSotto_m1, ... roofangolo_mk, gableOverhang_mk, MatSopra_mk, MatSotto_mk, contourX_1, contourY_1, contourMask_1, edgeTrim_1, edgeangolo_1, edgeMat_1, ... contourX_n, contourY_n, contourMask_n, edgeTrim_n, edgeangolo_n, edgeMat_n

POLYROOF{2} defaultMat, k, m, n, offset, spessore, totalspessore, applyContourInsidePivot, z_1, ..., z_k, pivotX_1, pivotY_1, pivotMask_1,

Indice

Guida di Riferimento al GDL 696

roofangolo_11, gableOverhang_11, MatSopra_11, MatSotto_11, ... roofangolo_1k, gableOverhang_1k, MatSopra_1k, MatSotto_1k, ... pivotX_m, pivotY_m, pivotMask_m, roofangolo_m1, gableOverhang_m1, MatSopra_m1, MatSotto_m1, ... roofangolo_mk, gableOverhang_mk, MatSopra_mk, MatSotto_mk, contourX_1, contourY_1, contourMask_1, edgeTrim_1, edgeangolo_1, edgeMat_1, ... contourX_n, contourY_n, contourMask_n, edgeTrim_n, edgeangolo_n, edgeMat_n

POLYROOF{3} defaultMat, mask, k, m, n, offset, spessore, totalspessore, applyContourInsidePivot, z_1, ..., z_k, pivotX_1, pivotY_1, pivotMask_1, roofangolo_11, gableOverhang_11, MatSopra_11, MatSotto_11, ... roofangolo_1k, gableOverhang_1k, MatSopra_1k, MatSotto_1k, ... pivotX_m, pivotY_m, pivotMask_m, roofangolo_m1, gableOverhang_m1, MatSopra_m1, MatSotto_m1, ... roofangolo_mk, gableOverhang_mk, MatSopra_mk, MatSotto_mk, contourX_1, contourY_1, contourMask_1, edgeTrim_1, edgeangolo_1, edgeMat_1, ... contourX_n, contourY_n, contourMask_n, edgeTrim_n, edgeangolo_n, edgeMat_n

POLYROOF{4} defaultMat, mask, k, m, n, offset, spessore, totalspessore, applyContourInsidePivot, z_1, ..., z_k, pivotX_1, pivotY_1, pivotMask_1, roofangolo_11, gableOverhang_11, MatSopra_11, MatSotto_11, ...

Indice

Guida di Riferimento al GDL 697

roofangolo_1k, gableOverhang_1k, MatSopra_1k, MatSotto_1k, ... pivotX_m, pivotY_m, pivotMask_m, roofangolo_m1, gableOverhang_m1, MatSopra_m1, MatSotto_m1, ... roofangolo_mk, gableOverhang_mk, MatSopra_mk, MatSotto_mk, contourX_1, contourY_1, contourMask_1, edgeTrim_1, edgeangolo_1, edgeMat_1, ... contourX_n, contourY_n, contourMask_n, edgeTrim_n, edgeangolo_n, edgeMat_n

POLY_ n, x1, y1, s1, ..., xn, yn, sn

POSITION position_keyword

PREPAREFUNCTION canale, nome_funzione, espressione1 [, espressione2, ...]

PRINT espressione [, espressione, ...]

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

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

VALUES "profile_parameter_name" [[,] PROFILETYPES_MASK profile_types], value_definition1 [, value_definition2, ...]

IND (PROFILE_ATTR, name_string, index)

PROJECT2 projection_code, angolo, method

PROJECT2{2} projection_code, angolo, method [, backgroundColor, fillOrigoX, fillOrigoY, filldirection]

PROJECT2{3} projection_code, angolo, method, parts [, backgroundColor, fillOrigoX, fillOrigoY, filldirection][[,] PARAMETERS name1=value1, ..., namen=valuen]

PROJECT2{4} projection_code, angolo, useTransparency, statusParts, numCutplanes, cutplaneHeight1, ..., cutplaneHeightn,

Indice

Guida di Riferimento al GDL 698

method1, parts1, cutFillIndex1, cutFillFgPen1, cutFillBgPen1, cutFillOrigoX1, cutFillOrigoY1, cutFillDirection1, cutLinePen1, cutLineType1, projectedFillIndex1, projectedFillFgPen1, projectedFillBgPen1, projectedFillOrigoX1, projectedFillOrigoY1, projectedFillDirection1, projectedLinePen1, projectedLineType1, ... method(numCutplanes+1)), parts(numCutplanes+1), cutFillIndex(numCutplanes+1), cutFillFgPen(numCutplanes+1), cutFillBgPen(numCutplanes+1), cutFillOrigoX(numCutplanes+1), cutFillOrigoY(numCutplanes+1), cutFillDirection(numCutplanes+1), cutLinePen(numCutplanes+1), cutLineType(numCutplanes+1), projectedFillIndex(numCutplanes+1), projectedFillFgPen(numCutplanes+1), projectedFillBgPen(numCutplanes+1), projectedFillOrigoX(numCutplanes+1), projectedFillOrigoY(numCutplanes+1), projectedFillDirection(numCutplanes+1), projectedLinePen(numCutplanes+1), projectedLineType(numCutplanes+1)

PUT espressione [, espressione, ...]

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

RRADIUS radius_min, radius_max

RECT a, b

RECT2 x1, y1, x2, y2

REF COMPONENT code [, keycode [, numeric_expression]]

Indice

Guida di Riferimento al GDL 699

REF DESCRIPTOR code [, keycode]

REMOVEKEY (dictionary.key)

REPEAT [istruzione1 istruzione2 ... istruzionen]UNTIL condizione

REQ (parametro_stringa)

REQUEST (nome_domanda, nome | indice, variabile1 [, variabile2, ...])

RESOL n

RETURN

CALL stringa_nome_macro [,] PARAMETERS [ALL][nome1=valore1, ..., nomen=valoren][[,] RETURNED_PARAMETERS r1, r2, ...]

REVOLVE n, alfa, mask, x1, y1, s1, ..., xn, yn, sn

REVOLVEDSHELL MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, offset, spessore, girata, CorpodiTaglio, alfaOffset, alfa, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_n

REVOLVEDSHELLANGULAR MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, offset, spessore, girata, CorpodiTaglio, alfaOffset, alfa, TipoSegmentazione, NumSegmenti,

Indice

Guida di Riferimento al GDL 700

preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_n

REVOLVEDSHELLANGULAR{2} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, stato, offset, spessore, girata, CorpodiTaglio, alfaOffset, alfa, TipoSegmentazione, NumSegmenti, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_n

REVOLVEDSHELLANGULAR{3} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, stato, offset, spessore, girata, CorpodiTaglio, alfaOffset, alfa, TipoSegmentazione, NumSegmenti, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34,

Indice

Guida di Riferimento al GDL 701

x_1, y_1, s_1, ... x_n, y_n, s_n

REVOLVEDSHELL{2} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, stato, offset, spessore, girata, CorpodiTaglio, alfaOffset, alfa, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_n

REVOLVEDSHELL{3} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, stato, offset, spessore, girata, CorpodiTaglio, alfaOffset, alfa, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, x_1, y_1, s_1, ... x_n, y_n, s_n

REVOLVE{2} n, alfaOffset, alfa, mask, MatLato, x1, y1, s1, mat1, ..., xn, yn, sn, matn

REVOLVE{3} n, alfaOffset, alfa, betaOffset, beta, mask, MatLato, x1, y1, s1, mat1, ..., xn, yn, sn, matn

REVOLVE{4} n, alfaOffset, alfa, betaOffset, beta, mask, MatLato, x1, y1, s1, mat1, ..., xn, yn, sn, matn

REVOLVE{5}n, alfaOffset, alfa, betaOffset, beta, mask, MatLato, x1, y1, s1, mat1, ..., xn, yn, sn, matn

RICHTEXT x, y,

Indice

Guida di Riferimento al GDL 702

altezza, 0, nome_BloccoTesto

RICHTEXT2 x, y, nome_BloccoTesto

RND (x)

ROT x, y, z, alfa

ROT2 alfa

ROTX alfax

ROTY alfay

ROTZ alfaz

ROUND_INT (x)

RULED n, mask, u1, v1, s1, ..., un, vn, sn, x1, y1, z1, ..., xn, yn, zn

RULEDSEGMENTED n, mask, x11, y11, z11, s1,..., x1n, y1n, z1n, sn, x21, y21, z21, ..., x2n, y2n, z2n

RULEDSEGMENTED{2} materiale_sup, materiale_inf, n, mask, textureMode, x11, y11, z11, s1, mat1..., x1n, y1n, z1n, sn, matn, x21, y21, z21, ..., x2n, y2n, z2n

RULEDSHELL MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, m, g, offset, spessore, girata, CorpodiTaglio, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, PrimoPolyX_1, PrimoPolyY_1, PrimoPolyS_1, ...

Indice

Guida di Riferimento al GDL 703

PrimoPolyX_n, PrimoPolyY_n, PrimoPolyS_n, SecondoPolyX_1, SecondoPolyY_1, SecondoPolyS_1, ... SecondoPolyX_m, SecondoPolyY_m, SecondoPolyS_m, profilo2Tran_11, profilo2Tran_12, profilo2Tran_13, profilo2Tran_14 profilo2Tran_21, profilo2Tran_22, profilo2Tran_23, profilo2Tran_24 profilo2Tran_31, profilo2Tran_32, profilo2Tran_33, profilo2Tran 34 generatrixFirstIndex_1, generatrixSecondIndex_1, ... generatrixFirstIndex_g, generatrixSecondIndex_g

RULEDSHELL{2} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, m, g, stato, offset, spessore, girata, CorpodiTaglio, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, PrimoPolyX_1, PrimoPolyY_1, PrimoPolyS_1, ... PrimoPolyX_n, PrimoPolyY_n, PrimoPolyS_n, SecondoPolyX_1, SecondoPolyY_1, SecondoPolyS_1, ... SecondoPolyX_m, SecondoPolyY_m, SecondoPolyS_m, profilo2Tran_11, profilo2Tran_12, profilo2Tran_13, profilo2Tran_14 profilo2Tran_21, profilo2Tran_22, profilo2Tran_23, profilo2Tran_24 profilo2Tran_31, profilo2Tran_32, profilo2Tran_33, profilo2Tran 34 generatrixFirstIndex_1, generatrixSecondIndex_1, ... generatrixFirstIndex_g, generatrixSecondIndex_g

RULEDSHELL{3} MatSopra, MatSotto, MatLato_1, MatLato_2, MatLato_3, MatLato_4, defaultMat, n, m, g, stato,

Indice

Guida di Riferimento al GDL 704

offset, spessore, girata, CorpodiTaglio, preThickenTran_11, preThickenTran_12, preThickenTran_13, preThickenTran_14, preThickenTran_21, preThickenTran_22, preThickenTran_23, preThickenTran_24, preThickenTran_31, preThickenTran_32, preThickenTran_33, preThickenTran_34, PrimoPolyX_1, PrimoPolyY_1, PrimoPolyS_1, ... PrimoPolyX_n, PrimoPolyY_n, PrimoPolyS_n, SecondoPolyX_1, SecondoPolyY_1, SecondoPolyS_1, ... SecondoPolyX_m, SecondoPolyY_m, SecondoPolyS_m, profilo2Tran_11, profilo2Tran_12, profilo2Tran_13, profilo2Tran_14 profilo2Tran_21, profilo2Tran_22, profilo2Tran_23, profilo2Tran_24 profilo2Tran_31, profilo2Tran_32, profilo2Tran_33, profilo2Tran 34 generatrixFirstIndex_1, generatrixSecondIndex_1, ... generatrixFirstIndex_g, generatrixSecondIndex_g

RULED{2} n, mask, u1, v1, s1, ..., un, vn, sn, x1, y1, z1, ..., xn, yn, zn

SSECT_ATTRS fill, fill_background_pen, fill_pen, contour_pen [, line_type]

SECT_ATTRS{2} contour_pen [, line_type]

SECT_FILL fill, fill_background_pen, fill_pen, contour_pen

[SET] STYLE name_string

[SET] STYLE index

[SET] MATERIAL name_or_index

Indice

Guida di Riferimento al GDL 705

[SET] BUILDING_MATERIAL name_or_index [, cut_fill_pen [, cut_fill_bkgd_pen, [iOverrideFlag]]]

[SET] FILL name_string

[SET] FILL index

[SET] LINE_TYPE name_string

[SET] LINE_TYPE index

SETMIGRATIONGUID guid

SGN (x)

SHADOW casting [, catching]

SIN (x)

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

SLAB_ n, h, x1, y1, z1, s1, ..., xn, yn, zn, sn

MODEL SOLID

SPHERE r

SPLINE2 n, stato, x1, y1, angolo1, ..., xn, yn, angolon

SPLINE2A n, stato, x1, y1, angolo1, length_previous1, length_next1, ... xn, yn, angolon, length_previousn, length_nextn

SPLIT (stringa, formato, variabile1 [, variabile2, ..., variabilen])

SPRISM_ materiale_sup, materiale_inf, materiale_lato, n, xb, yb, xe, ye, h, angolo, x1, y1, s1, ... xn, yn, sn

Indice

Guida di Riferimento al GDL 706

SPRISM_{2} materiale_sup, materiale_inf, materiale_lato, n, xtb, ytb, xte, yte, zSup, tangolo, xbb, ybb, xbe, ybe, zInf, bangolo, x1, y1, s1, mat1, ... xn, yn, sn, matn

SPRISM_{3} materiale_sup, materiale_inf, materiale_lato, mask, n, xtb, ytb, xte, yte, zSup, tangolo, xbb, ybb, xbe, ybe, zInf, bangolo, x1, y1, s1, mat1, ... xn, yn, sn, matn

SPRISM_{4} materiale_sup, materiale_inf, materiale_lato, mask, n, xtb, ytb, xte, yte, zSup, tangolo, xbb, ybb, xbe, ybe, zInf, bangolo, x1, y1, s1, mat1, ... xn, yn, sn, matn

SQR (x)

FOR nome_variabile = valore_iniziale TO valore_finale [ STEP valore_passo ] NEXT nome_variabile

STORED_PAR_VALUE ("oldparname", outputvalue)

STR (espressione_numerica, lunghezza, frazioni)

STR (formato_stringa, espressione_numerica)

STRLEN (espressione_stringa)

STRSTR (espressione_stringa1, espressione_stringa2[, case_insensitivity])

Indice

Guida di Riferimento al GDL 707

STRSUB (espressione_stringa, posizione_inizio, numero_caratteri)

STRTOLOWER (espressione_stringa)

STRTOUPPER (espressione_stringa)

STR{2} (formato_stringa, espressione_numerica [, stringa_extra_precisione])

STW (espressione_stringa)

[SET] STYLE name_string

[SET] STYLE index

IND (STYLE, name_string)

SUBGROUP (g_expr1, g_expr2)

SUBGROUP{2} (g_expr1, g_expr2, edgeColor, materialId, materialColor [, operationStatus])

SUBGROUP{3} (g_expr1, g_expr2, edgeColor, materialId, materialColor [, operationStatus])

MODEL SURFACE

SURFACE3D ()

SWEEP n, m, alfa, scala, mask, u1, v1, s1, ..., un, vn, sn, x1, y1, z1, ..., xm, ym, zm

SWEEPGROUP (g_expr, x, y, z)

SWEEPGROUP{2} (g_expr, x, y, z)

SWEEPGROUP{3} (g_expr, x, y, z, edgeColor, materialId, materialColor, method)

SWEEPGROUP{4} (g_expr, x, y, z, edgeColor, materialId, materialColor, method, status)

SWEEPGROUP{5} (g_expr, x, y, z, edgeColor, materialId, materialColor, method, status)

TTAN (x)

Indice

Guida di Riferimento al GDL 708

TEVE x, y, z, u, v

TEXT d, 0, espressione

TEXT2 x, y, espressione

TEXTBLOCK name width, anchor, angolo, width_factor, charspace_factor, fixed_altezza, 'string_expr1' [, 'string_expr2', ...]

TEXTBLOCK_ name width, anchor, angolo, width_factor, charspace_factor, fixed_altezza, n, 'expr_1' [, 'expr_2', ..., 'expr_n']

IND (TEXTURE, name_string)

IF condizione THEN etichettaIF condizione GOTO etichettaIF condizione GOSUB etichetta

IF condizione THEN istruzione [ELSE istruzione]

IF condizione THEN [istruzione1 istruzione2 ... istruzionen][ELSE istruzionen+1 istruzionen+2 ... istruzionen+m]ENDIF

FOR nome_variabile = valore_iniziale TO valore_finale [ STEP valore_passo ] NEXT nome_variabile

TOLER d

DEL TOP

TUBE n, m, mask,

Indice

Guida di Riferimento al GDL 709

u1, w1, s1, ... un, wn, sn, x1, y1, z1, angolo1, ... xm, ym, zm, angolom

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

TUBE{2} materiale_sup, materiale_inf, material_taglio, n, m, mask, u1, w1, s1, mat1, ... un, wn, sn, matn, x1, y1, z1, angolo1, ... xm, ym, zm, angolom

UUI_BUTTON tipo, testo, x, y [, larghezza, altezza, id [, url]]

UI_BUTTON tipo, testo, x, y, larghezza, altezza [, id [, url]] [ UI_TOOLTIP tooltiptext ]

UI_COLORPICKER "redParamName", "greenParamName", "blueParamName", x0, y0 [, larghezza [, altezza]]

UI_COLORPICKER{2} redParamName, greenParamName, blueParamName, x0, y0 [, larghezza [, altezza]]

Indice

Guida di Riferimento al GDL 710

UI_CURRENT_PAGE indice

UI_CUSTOM_POPUP_INFIELD "nome", x, y, larghezza, altezza, storeHiddenId, treeDepth, groupingMethod, selectedValDescription, value1, value2, valuesArray1, .... valuen, valuesArrayn

UI_CUSTOM_POPUP_INFIELD "nome", x, y, larghezza, altezza , parametri extra ... [ UI_TOOLTIP tooltiptext ]

UI_CUSTOM_POPUP_INFIELD{2} nome, x, y, larghezza, altezza, storeHiddenId, treeDepth, groupingMethod, selectedValDescription, value1, value2, valuesArray1, .... valuen, valuesArrayn

UI_CUSTOM_POPUP_INFIELD{2} nome, x, y, larghezza, altezza , parametri extra ... [ UI_TOOLTIP tooltiptext ]

UI_CUSTOM_POPUP_LISTITEM itemID, fieldID, "nome", childFlag, image, paramDesc, storeHiddenId, treeDepth, groupingMethod, selectedValDescription, value1, value2, valuesArray1, .... valuen, valuesArrayn

UI_CUSTOM_POPUP_LISTITEM itemID, fieldID, "nome", childFlag , immagine, paramDesc, parametri extra ... [ UI_TOOLTIP tooltiptext ]

UI_CUSTOM_POPUP_LISTITEM{2} itemID, fieldID, nome, childFlag, image, paramDesc, storeHiddenId, treeDepth, groupingMethod, selectedValDescription, value1, value2, valuesArray1, .... valuen, valuesArrayn

UI_CUSTOM_POPUP_LISTITEM{2} itemID, fieldID, nome, childFlag , immagine, paramDesc,

Indice

Guida di Riferimento al GDL 711

parametri extra ... [ UI_TOOLTIP tooltiptext ]

UI_DIALOG title [, size_x, size_y]

UI_GROUPBOX testo, x, y, larghezza, altezza

UI_INFIELD "nome", x, y, larghezza, altezza [, metodo, nome_immagine, numero_immagine, numero_righe, cella_x, cella_y, immagine_x, immagine_y, espressione_immagine1, testo1, ... espressione_immaginen, teston]

UI_INFIELD "nome", x, y, larghezza, altezza [, parametri extra ... ] [ UI_TOOLTIP tooltiptext ]

UI_INFIELD{2} nome, x, y, larghezza, altezza [, metodo, nome_immagine, numero_immagine, numero_righe, cella_x, cella_y, immagine_x, immagine_y, espressione_immagine1, testo1, ... espressione_immaginen, teston]

UI_INFIELD{2} nome, x, y, larghezza, altezza [, parametri extra ... ] [ UI_TOOLTIP tooltiptext ]

UI_INFIELD{3} nome, x, y, larghezza, altezza [, metodo, nome_immagine, numero_immagine, numero_righe, cella_x, cella_y, immagine_x, immagine_y, espressione_immagine1, testo1, definizione_valore1,

Indice

Guida di Riferimento al GDL 712

... [picIdxArray, textArray, valuesArray, ...] espressione_immaginen, teston, definizione_valoren]

UI_INFIELD{3} nome, x, y, larghezza, altezza [, parametri extra ... ] [ UI_TOOLTIP tooltiptext ]

UI_INFIELD{4} "nome", x, y, larghezza, altezza [, metodo, nome_immagine, numero_immagine, numero_righe, cella_x, cella_y, immagine_x, immagine_y, espressione_immagine1, testo1, definizione_valore1, ... [picIdxArray, textArray, valuesArray, ...] espressione_immaginen, teston, definizione_valoren]

UI_INFIELD{4} "nome", x, y, larghezza, altezza [, parametri extra ... ] [ UI_TOOLTIP tooltiptext ]

UI_LISTFIELD fieldID, x, y, larghezza, altezza [, iconFlag [, description_header [, value_header]]]

UI_LISTFIELD fieldID, x, y, larghezza, altezza [, iconFlag [, description_header [, value_header]]] [ UI_TOOLTIP tooltiptext ]

UI_LISTITEM itemID, fieldID, "nome" [, childFlag [, immagine [, paramDesc]]]

UI_LISTITEM itemID, fieldID, "nome" [, childFlag [, immagine [, paramDesc]]] [ UI_TOOLTIP tooltiptext ]

UI_LISTITEM{2} itemID, fieldID, nome [, childFlag [, image [, paramDesc]]]

UI_LISTITEM{2} itemID, fieldID, nome [, childFlag [, image [, paramDesc]]] [ UI_TOOLTIP tooltiptext ]

Indice

Guida di Riferimento al GDL 713

UI_OUTFIELD espressione, x, y [, larghezza, altezza [, flags]]

UI_OUTFIELD espressione, x, y, larghezza, altezza [, flags] [ UI_TOOLTIP tooltiptext ]

UI_PAGE page_number [, parent_id, page_title [, image]]

UI_PICT picture_reference, x, y [, width, height [, mask]]

UI_PICT espressione, x, y [, larghezza, altezza [, mask]] [ UI_TOOLTIP tooltiptext ]

UI_PICT_BUTTON tipo, testo, riferimento_immagine, x, y, larghezza, altezza[, id [, url]]

UI_PICT_BUTTON tipo, testo, riferimento_immagine, x, y, larghezza, altezza [, id [, url]] [ UI_TOOLTIP tooltiptext ]

UI_PICT_PUSHCHECKBUTTON nome, testo, riferimento_immagine, frameFlag, x, y, larghezza, altezza [UI_TOOLTIP tooltip]

UI_PICT_PUSHCHECKBUTTON{2} "nome", testo, riferimento_immagine, frameFlag, x, y, larghezza, altezza [UI_TOOLTIP tooltip]

UI_PICT_RADIOBUTTON nome, valore, testo, riferimento_immagine, x, y, larghezza, altezza [UI_TOOLTIP tooltip]

UI_PICT_RADIOBUTTON{2} "nome", valore, testo, riferimento_immagine, x, y, larghezza, altezza [UI_TOOLTIP tooltip]

UI_RADIOBUTTON nome, valore, testo, x, y, larghezza, altezza

UI_RADIOBUTTON nome, valore, testo, x, y, larghezza, altezza [ UI_TOOLTIP tooltiptext ]

UI_RADIOBUTTON{2} "nome", valore, testo, x, y, larghezza, altezza

UI_SEPARATOR x1, y1, x2, y2

UI_SLIDER "nome", x0, y0, larghezza, altezza [, nSegments [, sliderStyle]]

UI_SLIDER{2} nome, x0, y0, larghezza, altezza [, nSegments [, sliderStyle]]

UI_STYLE fontsize, face_code

UI_TEXTSTYLE_INFIELD nome, faceCodeMask, x, y, buttonWidth, buttonHeight[, buttonOffsetX]

Indice

Guida di Riferimento al GDL 714

UI_TEXTSTYLE_INFIELD{2} "name", faceCodeMask, x, y, buttonWidth, buttonHeight [, buttonOffsetX]

UI_BUTTON tipo, testo, x, y, larghezza, altezza [, id [, url]] [ UI_TOOLTIP tooltiptext ]

UI_PICT_BUTTON tipo, testo, riferimento_immagine, x, y, larghezza, altezza [, id [, url]] [ UI_TOOLTIP tooltiptext ]

UI_INFIELD "nome", x, y, larghezza, altezza [, parametri extra ... ] [ UI_TOOLTIP tooltiptext ]

UI_INFIELD{2} nome, x, y, larghezza, altezza [, parametri extra ... ] [ UI_TOOLTIP tooltiptext ]

UI_INFIELD{3} nome, x, y, larghezza, altezza [, parametri extra ... ] [ UI_TOOLTIP tooltiptext ]

UI_INFIELD{4} "nome", x, y, larghezza, altezza [, parametri extra ... ] [ UI_TOOLTIP tooltiptext ]

UI_CUSTOM_POPUP_INFIELD "nome", x, y, larghezza, altezza , parametri extra ... [ UI_TOOLTIP tooltiptext ]

UI_CUSTOM_POPUP_INFIELD{2} nome, x, y, larghezza, altezza , parametri extra ... [ UI_TOOLTIP tooltiptext ]

UI_RADIOBUTTON nome, valore, testo, x, y, larghezza, altezza [ UI_TOOLTIP tooltiptext ]

UI_OUTFIELD espressione, x, y, larghezza, altezza [, flags] [ UI_TOOLTIP tooltiptext ]

UI_PICT espressione, x, y [, larghezza, altezza [, mask]] [ UI_TOOLTIP tooltiptext ]

UI_LISTFIELD fieldID, x, y, larghezza, altezza [, iconFlag [, description_header [, value_header]]] [ UI_TOOLTIP tooltiptext ]

UI_LISTITEM itemID, fieldID, "nome" [, childFlag [, immagine [, paramDesc]]] [ UI_TOOLTIP tooltiptext ]

UI_LISTITEM{2} itemID, fieldID, nome [, childFlag [, image [, paramDesc]]] [ UI_TOOLTIP tooltiptext ]

Indice

Guida di Riferimento al GDL 715

UI_CUSTOM_POPUP_LISTITEM itemID, fieldID, "nome", childFlag , immagine, paramDesc, parametri extra ... [ UI_TOOLTIP tooltiptext ]

UI_CUSTOM_POPUP_LISTITEM{2} itemID, fieldID, nome, childFlag , immagine, paramDesc, parametri extra ... [ UI_TOOLTIP tooltiptext ]

REPEAT [istruzione1 istruzione2 ... istruzionen]UNTIL condizione

USE (n)

VVALUES "parameter_name" [,]value_definition1 [, value_definition2, ...]

VALUES "fill_parameter_name" [[,] FILLTYPES_MASK fill_types], value_definition1 [, value_definition2, ...]

VALUES "profile_parameter_name" [[,] PROFILETYPES_MASK profile_types], value_definition1 [, value_definition2, ...]

VALUES{2} "parameter_name" [,]num_expression1, description1, [, num_expression2, description2, ...]

VALUES{2} "parameter_name" [,]num_values_array1, descriptions_array1 [, num_values_array2, descriptions_array2, ...]

VARDIM1 (expr)

VARDIM2 (expr)

VARTYPE (espressione)

VECT x, y, z

Indice

Guida di Riferimento al GDL 716

VERT x, y, z

VERT x, y, z, rigido

VOLUME3D ()

WWALLARC2 x, y, r, alfa, beta

WALLBLOCK2 n, fill_control, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, fillAngle, x1, y1, s1, ... xn, yn, sn

WALLBLOCK2{2} n, frame_fill, fillcategory, distortion_flags, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, mxx, mxy, myx, myy, innerRadius, x1, y1, s1, ... xn, yn, sn

WALLHOLE n, stato, x1, y1, mask1, ... xn, yn, maskn [, x, y, z]

WALLHOLE2 n, fill_control, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, fillAngle, x1, y1, s1, ... xn, yn, sn

Indice

Guida di Riferimento al GDL 717

WALLHOLE2{2} n, frame_fill, fillcategory, distortion_flags, fill_pen, fill_background_pen, fillOrigoX, fillOrigoY, mxx, mxy, myx, myy, innerRadius, x1, y1, s1, ... xn, yn, sn

WALLLINE2 x1, y1, x2, y2

WALLNICHE n, metodo, stato, rx, ry, rz, d, x1, y1, mask1, [mat1,] ... xn, yn, maskn[, matn]

DO [istruzione1 istruzione2 ... istruzionen]WHILE condizione

WHILE condizione DO [istruzione1 istruzione2 ... istruzionen]ENDWHILE

MODEL WIRE

XXFORM newx_x, newy_x, newz_x, offset_x, newx_y, newy_y, newz_y, offset_y,

Indice

Guida di Riferimento al GDL 718

newx_z, newy_z, newz_z, offset_z

XWALL_ mat_sinistra, mat_destra, mat_verticale, mat_orizzontale, altezza, x1, x2, x3, x4, y1, y2, y3, y4, t, raggio, altezza_tronco, offset_tronco, mask1, mask2, mask3, mask4, n, x_start1, y_low1, x_end1, y_high1, frame_shown1, ... x_startn, y_lown, x_endn, y_highn, frame_shownn, m, a1, b1, c1, d1, ... am, bm, cm, dm, status

XWALL_{2} mat_sinistra, mat_destra, mat_verticale, mat_orizzontale, altezza, x1, x2, x3, x4, y1, y2, y3, y4, t, raggio, altezza_tronco, offset_tronco, mask1, mask2, mask3, mask4, n, x_start1, y_low1, x_end1, y_high1, sill_depth1, frame_shown1, ... x_startn, y_lown, x_endn, y_highn, sill_depthn, frame_shownn, m, a1, b1, c1, d1,

Indice

Guida di Riferimento al GDL 719

... am, bm, cm, dm, status

XWALL_{3} mat_sinistra, mat_destra, mat_verticale, mat_orizzontale, altezza, x1, x2, x3, x4, y1, y2, y3, y4, t, raggio, altezza_tronco, offset_tronco, mask1, mask2, mask3, mask4, n, x_start1, y_low1, x_end1, y_high1, sill_depth1, frame_shown1, ... x_startn, y_lown, x_endn, y_highn, sill_depthn, frame_shownn, m, a1, b1, c1, d1, ... am, bm, cm, dm, status