Home
il sito italiano dedicato al GDL
  a cura di Roberto Corona  


Ecco un esempio di oggetto di libreria GDL.
Tipicamente è composto di più parti: una descrizione della costruzione tridimensionale, una rappresentezione bidimensionale (grafica o descrittiva), le variabili (cioe' una serie di parametri) e, talvolta, altri, come l'anteprima, elementi di computo, ecc.
Solo le dimensioni X e Y (variabili A e B) sono obbligatorie. Tutto il resto è opzionale. Non vi e' nessun controllo di corrispondenza tra 2D e 3D, cosi' puo' capitare che in pianta ci sia una sfera (be' insomma un cerchio) e nel 3D un cubo... in effetti mi e' successo di imbattermi in oggetti realizzati un po' alla buona da sconosciuti, nei quali il 3D è, ad esempio, traslato rispetto al 2D. O altri che in pianta si "stirano" e nel 3D rimangono immutabili. In pratica è tutto rimesso alla capacita' dell'autore!
L'utilizzo dell'esempio qui pubblicato è semplicissimo, anche se occorre un minimo di conoscenza di come siano realizzati gli ogetti in GDL.

Prima di tutto si crea un oggetto nuovo in ArchiCad.
- Con il 5: menu File, Apri oggetto di libreria e clic su Nuovo
- Con il 6: menu File, Nuovo elemento di Libreria ... Oggetto
Poi si copia il testo della colonna Script 2D nella finestra Testo GDL 2D dell'oggetto;
si copia il testo della colonna Script 3D nella finestra Testo GDL 3D dell'oggetto;
volendo si fa lo stesso anche con l'immagine di anteprima (se c'è);
-questa era la parte facile-
Adesso si compila la parte delle variabili: secondo me si fa prima a riscriverle di sana pianta. Non occorre dire che il nome delle variabili NON deve essere modificato (oppure occorre modificare in modo coerente anche i riferimenti all'interno degli script). La descrizione invece non e' rilevante. L'uso del punto o della virgola per i decimali, poi dipende interamente dalle impostazione del vostro computer. Le prime due variabili sono sempre A e B e per queste due non è possibile modificare ne' nome ne' tipo ne' descrizione.

In alcuni casi, inoltre, non c'è lo script 2D. Procedete allora in questo modo:
generate una vista 3D come "Pianta dall'alto", posizione telecamera 270°, modo "linee nascoste" e poi cliccate su "vista 3D -> Simbolo".

Script 2DScript 3DVariabili
m=a/6
pen req("Pen_of_RGB 0 0 .7")
line2 m/2,m/2,     m,0
line2 m,0,         m+m/2,m/2
line2 m/2,m/2,     m+m/2,m/2
line2 0,b,         m*2,b
line2 0,b-m/2,     m*2,b-m/2
line2 0,b,         0,b-m/2
line2 m*2,b,       m*2,b-m/2

pen req("Pen_of_RGB .7 0 0")
line2 m*2+m/2,m/2,  m*2+m,0
line2 m*2+m,0,      m*2+m+m/2,m/2
line2 m*2+m/2,m/2,  m*2+m+m/2,m/2
line2 m*2+0,b,      m*2+m*2,b
line2 m*2+0,b-m/2,  m*2+m*2,b-m/2
line2 m*2+0,b,      m*2+0,b-m/2
line2 m*2+m*2,b,    m*2+m*2,b-m/2

pen req("Pen_of_RGB 0 .7 0")
line2 m*4+m/2,m/2,  m*4+m,0
line2 m*4+m,0,      m*4+m+m/2,m/2
line2 m*4+m/2,m/2,  m*4+m+m/2,m/2
line2 m*4+0,b,      m*4+m*2,b
line2 m*4+0,b-m/2,  m*4+m*2,b-m/2
line2 m*4+0,b,      m*4+0,b-m/2
line2 m*4+m*2,b,    m*4+m*2,b-m/2

pen req("Pen_of_RGB .6 .6 .6")
line2 0,m,   m/2,m/2
line2 2*m,m, m+m/2,m/2
line2 2*m,m, m+m/2,m/2
line2 2*m,m, 2*m+m/2,m/2
line2 4*m,m, 4*m-m/2,m/2
line2 4*m,m, 4*m+m/2,m/2
line2 a,m,   a-m/2,m/2

line2 0,m,   0,b-m/2
line2 2*m,m, 2*m,b-m/2
line2 4*m,m, 4*m,b-m/2
line2 a,m,   a,b-m/2

line2 0,m, a,m
! Omaggio ad ArchiCAD di Roberto Corona - Firenze
! 10.1999

Rotz 90
define material "Gri" 6, .60,.60,.60
define material "Ros" 6, .7,0,0
define material "Ver" 6, 0,.7,0
define material "Azz" 6, 0,0,.7

m=a/6

addy -m
set material "Gri":pen req("Pen_of_RGB .6 .6 .6")
revolve 5,180, 63,
        m/2,m/2,1,   m,m,0,   m,m-.001,0,
        m+.001,m,0,  b-m/2,m,1
set material "azz":pen req("Pen_of_RGB 0 0 .7")
revolve 2,180, 63,
        0, m/100,1,    m/2,m/2,1
revolve 2,180, 63,
        b-m/2,m,1,    b,m,1

addy -m*2
set material "Gri":pen req("Pen_of_RGB .6 .6 .6")
revolve 5,180, 63,
        m/2,m/2,1,   m,m,0,   m,m-.001,0,
        m+.001,m,0,  b-m/2,m,1
set material "ros":pen req("Pen_of_RGB .7 0 0")
revolve 2,180, 63,
        0, m/100,1,    m/2,m/2,1
revolve 2,180, 63,
        b-m/2,m,1,    b,m,1

addy -m*2
set material "Gri":pen req("Pen_of_RGB .6 .6 .6")
revolve 5,180, 63,
        m/2,m/2,1,   m,m,0,   m,m-.001,0,
        m+.001,m,0,  b-m/2,m,1
set material "ver":pen req("Pen_of_RGB 0 .7 0")
revolve 2,180, 63,
        0, m/100,1,    m/2,m/2,1
revolve 2,180, 63,
        b-m/2,m,1,    b,m,1
nometipodescrizionevalore
A Dimensione X1.00
B Dimensione Y1.20
Anteprima oggetto


Note
in questo caso lo script 2D poteva essere evitato, disegnando poche linee direttamente nella finestra del simbolo, ma ho voluto fare in modo che le tre matitine avessero sempre, per quanto possibile, i colori originali, indipendentemente dal settaggio penne dei singoli utenti.
Top of page