Mi arrivanno spesso richieste di informazione sulla possibilità di personalizzare i timbri associati allo strumento Zona ed ecco allora un tentativo di spiegazione sul loro funzionamento e sul tipo di informazioni che possono visualizzare. Per creare un nuovo timbro, la prima operazione da fare è quella di accedere al menu Archivio e, dopo aver attivato il comando "Apri Elemento di Libreria", selezionare il formato "Timbro" e cliccare sul tasto "Nuovo". ArchiCAD visualizzerà la finestra rappresentata qui sotto:
Nella pare inferiore della finestra, vengono elencate tutte le variabili globali, utilizzate dal programma, che restituiscono, automaticamente, una serie di informazioni quantitative sulla zona identificata in pianta. Queste variabili non sono editabili, potremo utilizzarle per ricavarne delle informazioni ma non potremo modificarle. Nella parte sinistra si trova il nome identificativo della variabile, seguito dal tipo (numero intero, numero reale, angolo, ecc), dal nome descrittivo ed, infine, da un valore di default che viene utilizzato per la visualizzazione in anteprima del simbolo nei vari dialoghi, quando, non essendo collegato a nessuna zona in pianta, il programma restituisce i valori di default inseriti dall'operatore per rappresentare il simbolo parametrico nel dialogo. Vediamo ad una ad una le variabili suddette:
A= larghezza del timbro
B= profondità del timbro
ROOM_NAME= nome della zona (viene ricavato dal valore inserito dall'utente nel dialogo dello strumento Zone).
ROOM_LSIZE= dimensioni, in millimetri, del carattere utilizzato (viene ricavato dal valore inserito dall'utente nel dialogo dello strumento Zone).
ROOM_AREA= superficie del vano (viene calcolata dal momento dal programma)
ROOM_PERIM= perimetro della zona (viene calcolato al momento dal programma)
ROOM_HOLES_PRM= perimetro dei fori (viene calcolato al momento dal programma). Viene fatta la sommatoria di tutti i perimetri dei fori presenti sulla zona (potrebbe essere utile ad esempio per calcolarsi il perimetro delle finiture delle soglie delle forature sul pavimento).
ROOM_WALLS_PRM= lunghezza dei muri perimetrali che toccano la zona (viene calcolato al momento dal programma). Attenzione, differisce dal valore ROOM_PERIM: immaginiamo che un lato di una zona non tocchi alcun muro questo lato verrà computato dalla variabile ROOM_PERIM ma verrà tralasciato dalla variabile ROOM_WALLS_PRM
ROOM_CORNERS= restituisce il numero di angoli della zona (viene calcolato al momento dal programma).
ROOM_CONCAVES= restituisce il numero di angoli concavi della zona (viene calcolato al momento dal programma).
ROOM_WALLS_SURF= superficie dei muri perimetrali che toccano la zona (viene calcolato al momento dal programma).
ROOM_DOORS_WID= sommatoria delle larghezze delle porte che si affacciano sulla zona (viene calcolato al momento dal programma).
ROOM_DOORS_SURF= sommatoria delle superfici delle porte che si affacciano sulla zona (viene calcolato al momento dal programma).
ROOM_WINDS_WID= sommatoria delle larghezze delle finestre che si affacciano sulla zona (viene calcolato al momento dal programma).
ROOM_WINDS_SURF= sommatoria delle superfici delle finestre che si affacciano sulla zona (viene calcolato al momento dal programma.
ROOM_BASELEV= livello della zona (viene ricavato dal valore inserito dall'utente nel dialogo dello strumento Zone).
ROOM_FL_THICK= spessore del pavimento della zona (viene ricavato dal valore inserito dall'utente nel dialogo dello strumento Zone).
ROOM_HEIGHT= altezza della zona (viene ricavato dal valore inserito dall'utente nel dialogo dello strumento Zone). Come si evince da questo elenco, tutte le informazioni vengono calcolate al momento dal programma fatta eccezione per una ser ie di valori che l'utente imposterà al momento della configurazione dello strumento nella relativa finestra dei settaggi come illustrato nella figura sottostante.
L'operazione da effettuare nella creazione del timbro è concettualmente semplicissima: l'operatore dovrà semplicemente decidere quali informazioni visualizzare! Alcune informazioni sono già disponibili e mi sembra persino banale indicarle (perimetro, area pavimento, superficie delle finestre) altre potranno essere calcolate combinando tra di loro le variabili elencate. Facciamo un esempio: si voglia calcolare il volume della zona. Semplice: il volume della zona si ricaverà moltiplicando la superficie per l'altezza, ossia:
VOLUME=ROOM_AREA*ROOM_HEIGHT
Facciamo un altro esempio: vogliamo calcolare lo standard minimo di superficie illuminante rapportato alla superficie calpestabile della zona (dove, secondo il regolamento comunale della maggior parte delle località italiane il rapporto è uguale a 1/8):
STANDARMINIMO=ROOM_AREA/8
Possiamo quindi usare i valori calcolati da ArchiCAD direttamente (le variabili previste) o calcolare qualsiasi cosa ci venga in mente partendo da quei valori e combinandoli, sottraendoli, dividendoli o quant'altro passi per la nostra creativa mente da architetti! La visualizzazione del valore sulla pianta è altrettanto semplice, basterà utilizzare il comando GDL2D TEXT2, la cui sintassi è la seguente:
TEXT2 x, y, espressione dove:
x, y sono le coordinate di inserimento del testo rispetto all'origine degli assi cartesiani, mentre espressione è il valore da visualizzare. Ritornando all'esempio di prima, ossia al calcolo del volume della zona, dovremo semplicemente attivare la finestra del Testo GDL 2D e digitare quanto segue:
VOLUME=ROOM_AREA* ROOM_HEIGHT TEXT2 0, 0, VOLUME
oppure più semplicemente, senza ricorrere alla creazione della variabile temporanea VOLUME, facciamo visualizzare direttamente il risultato dell'espressione:
TEXT2 0, 0, ROOM_AREA* ROOM_HEIGHT
Fino a qui è talmente semplice da sembrare persino banale ma, come diceva un simpatico omino in una pubblicità dello storico Carosello: "sssembra facile!". Il calcolo delle quantità è effettivamente semplice ma si tratterà ora di visualizzarle in modo ordinato e corretto cercando di rispettare le unità di misura e tutto il resto. Spiegare come, richiederebbe un articolo più lungo e barboso di quello che ognuno di voi può sopportare (magari ci ritorneremo nelle prossime puntate) e quindi preferisco darvi una semplice ricetta che vada bene per tutte le circostanze, da ricopiare all'inizio del testo GDL 2D e quindi dimenticarsi di tutto il resto. Ricopiare pedissequamente senza sapere cosa si sta facendo non è purtroppo bello... ma sicuramente risulterà molto comodo!
Ecco la ricetta magica:
define style "fabrizietto" fonttype, ROOM_LSIZE, 1, 1
mul2 A_/1000,A_/1000
rrr=request("Height_of_style", "fabrizietto", shight)
vlen =shight
style fabrizietto
area_form=""
rrr=request ("Area_dimension", "", area_form)
ROOM_AREA=(area_form, ROOM_AREA)
ROOM_WALLS_SURF=(area_form, ROOM_WALLS_SURF)
ROOM_DOORS_SURF=area_form, ROOM_DOORS_SURF)
ROOM_WINDS_SURF=(area_form, ROOM_WINDS_SURF)
lin_form=""
rrr=request ("Linear_dimension", "", lin_form)
ROOM_PERIM=(lin_form,ROOM_PERIM)
ROOM_HEIGHT=(lin_form,ROOM_HEIGHT)
ROOM_HOLES_PRM=(lin_form , ROOM_HOLES_PRM)
ROOM_WALLS_PRM=(lin_form , ROOM_WALLS_PRM)
ROOM_DOORS_WID=(lin_form , ROOM_DOORS_WID)
ROOM_WINDS_WID=(lin_form , ROOM_WINDS_WID)
ROOM_BASELEV=(lin_form , ROOM_BASELEV)
ROOM_FL_THICK=(lin_form , ROOM_FL_THICK)
vlen = -shight
A questa intestazione dovrete far seguire i vari comandi TEXT2 per visualizzare le informazioni calcolate o da calcolarsi proseguendo in questo modo:
comando TEXT2 x, y, espressione
seguito dall'espressione:
vlen =vlent + shight
che incrementa di una linea così da scrivere l'informazione seguente una riga sotto.
Ad esempio volendo scrivere le due informazioni calcolate in precedenza (volume della stanza e standard minimo) operiamo come segue:
Text2 0, -vlen, ROOM_AREA* ROOM_HEIGHT
vlen =vlen + shight
Text2 2, -vlen, ROOM_AREA/8
vlen =vlen + shight
... e così via!
Spero di essere stato sufficientemente chiaro (non come al solito!) e di non avervi annoiato troppo.