ArchiRADAR Forum
ArchiRADAR Forum =>
GDL => Topic aperto da: Luca535 - 13 Ottobre 2006, 11:24
-
Domandina del giorno.
Mi sono personalizzato un timbro zona, poche cose per la verità (carattere, posizione e colore del testo, r.i), ma ora che sto lavorando per un altro studio il r.i. (rapporto d'illuminazione) lo vogliono espresso diversamente.
Prima usciva la scritta: r.i.: mq. x.xx <1/8= y.yy
Questo studio chiede quest'altra scritta: r.i.: 0.xx (che è la divisione tra la sup. finsetrata e la superf. pavimento) Aggiungerei anche < 0.125 per chiarire ulteriormente il concetto.
Incontro un problema: guardando tutti gli altri timbri non capisco come posso utilizzare l'operazione "diviso"
In parole gdl vorrei scrivere:
room_winds_surf/" "/room_area
ma mi dice che l'operazione deve essere fatta con operatori e operandi numerici
Per fare la precedente scritta mi era uscita la stessa frase, ma impostando dei parametri a monte di tutto il testo, avevo risolto il problema. Ora non so come fare.
C'è qualche anima pia che mi può dare una mano? GRAZIE
-
prova a verificare le impostazioni del timbro "furbo", se non ricordo male c'è la possibilità di esprimere il rapporto illuminante come divisione ...
bye by WF
-
caspita! mi costringi a rileggermi tutti i post su questo timbro furbo. Ho trovato con "cerca" come utilizzare il timbro, ma non lo trovo. Ho provato a "caricare altro timbro" da "opzioni-settaggi attributi-categorie zone", ma non so dove cercare.
-
Ho creato un nuovo disegno con le impostazioni di default e così è apparso nella lista.
Come quel Alessandro del post che ho trovato non vedo niente al suo interno.
Creo una stanza e posiziono il timbro e non vedo nietne all'interno.
Vado nelle sue impostazioni, ma non trovo niente.
Lo apro come oggetto gdl e vedo che ci sono tutte le variabili, ma non c'è niente come testo gdl.
Ho dimenticato qualcosa?
-
room_winds_surf/" "/room_area
Non ho capito il problema. Puoi essere più chiaro, o riportare l'intera linea che ti dà errore?
-
Questo è la mia personalizzazione del timbro:
area_form=""
rrr=request ("Area_dimension","",area_form)
supminima = ROOM_AREA*standardmin
room_area = str (area_form, ROOM_AREA)
room_winds_surf = str (area_form, ROOM_WINDS_SURF)
supminima = str (area_form, supminima)
lin_form=""
rrr=request ("Linear_dimension","",lin_form)
room_height = altezza+str (lin_form , ROOM_HEIGHT)
room_perim = udm_lung+" "+str (lin_form , ROOM_PERIM)
unit = ""
area_unit = udm_area
lin_unit = ""
form = ""
room_area = area_unit+" "+room_area
room_winds_surf = area_unit+" "+room_winds_surf
supmin = testo1+" "+supminima
supmin2 = testo2+" "+room_winds_surf
e poi:
if min_y then
n=n+2
vlen =vlen + shight
Text2 0, -vlen, supmin
vlen =vlen + shight
Text2 0, -vlen, supmin2
endif
e nelle variabili ho messo quelle visibili nell'immagine 1.
Ora vorrei che le ultime due righe venissero sostituite da un riga così scritta:
r.i. = 0.154 > 0.125
0.154 è un esempio. Per ottenerlo ho pensato a modificare il testo gdl così:
room_area = area_unit+" "+room_area
room_winds_surf = area_unit+" "+room_winds_surf
supmin2 = room_winds_surf/" "/room_area (cioè superficie finestrata diviso l'area della stanza, ma mi esce
l'avviso della figura 3)
supmin = testo1+" "+supmin2 (se sposto questa linea sopra la precedente mi esce l'avviso nella fig. 4, immagino
perché devo determinare supmin2 prima di inserirlo in qualche sintassi)
supmin3 = testo2
Poi aggiungo questo:
if min_y then
n=n+1
vlen =vlen + shight
Text2 0, -vlen, supmin
vlen =vlen + shight
Text2 0, -vlen, supmin3
E nelle variabili scrivere come in figura 5
Come ho detto vorrei che uscisse questa frase:
r.i. = 0.154 > 0.125
-
Prima che intervenga lo Zio ;)
Così a occhio.. senza approfondire il listato, hai usato un operatore (la divisione "/") su delle stringhe di testo..
supmin2 = room_winds_surf/room_area
Sicuramente non ti restituirebbe almeno quel messaggio di errore.. tutto il resto purtroppo non ho modo di provarlo adesso
-
Per effettuare le dovute correzioni dovrei avere l'intero oggetto.
Comunque ci sono alcune cose che posso dire...
Per dividere un valore per un altro, non devi mettere le virgolette e lo spazio: " "
La corretta sintassi non è
supmin2 = room_winds_surf/" "/room_area
ma
supmin2 = room_winds_surf/room_area
Però... room_area all'inizio è un valore numerico, che con l'istruzione
room_area = str (area_form, ROOM_AREA)
viene trasformato in una stringa di testo. Dopo questa trasformazione non può essere più usato in operazioni matematiche.
Idem per room_winds_surf
___________________________________________________
Prova a mettere queste istruzioni ALL'INIZIO dello script GDL (le prime due righe possono essere sostituite da due parametri)
decimali=3
minimo=0.125
rapn = room_winds_surf/room_area
raps = STR(rapn, decimali+1, decimali)
mins = STR(minimo, decimali+1, decimali)
>>> e al posto delle istruzioni che scrivono i risultati, usa le seguenti:
if min_y then
IF rapn>=minimo THEN
testorap= "r.i. = " + raps + " > " + mins
ELSE
testorap= "r.i. = " + raps + " < " + mins
ENDIF
vlen =vlen + shight
Text2 2, -vlen, testorap !
vlen =vlen + shight
endif
>>> Se vuoi regolare correttamente anche la larghezza del timbro, cerca le istruzioni che iniziano con:
uno = ...
due = ...
tre = ...
quattro = ...
e metti SUBITO DOPO (o al posto di "due = ...)
due=stw("r.i. = 0,000 > 0,000")+3
-
scusate il ritardo per la risposta, ma da casa ho avuto problemi con l'autenticazione, nel senso che, anche se avevo scritto che mi doveva ricordarmi, quando ho messo login e pwd, nella pagina successiva ero sempre un visitatore. :( :shock:
Grazie ai suggerimenti che li terrò in considerazione come l'oro.
Anch' io avevo capito che i due testi non erano più numeri ma solo testo. Ma non capivo come mai in un modo funzionava e nell'altro no. Appena riesco a risolvere il mio cruccio vi posto il risultato. Solo per dovere di cronaca, naturalmente.
Ciao. :D