HOME OGGETTI 3D LIBRI CORSI TUTORIAL FORUM SHOP CONTATTI   LOGIN









Post recenti

Pagine: [1] 2 3 ... 10
1
GDL / Re:TESTO GDL CENTRATO
« Ultimo post da ZioBob il 26 Giugno 2025, 21:58 »
La sintassi del comando IF ha due forme (sintassi) ben precise. Una "monoriga" che non richiede ENDIF:
IF (condizione) THEN (istruzione)
L'altra "multiriga" da usare quando al verificarsi della (condizione) si vogliono far seguire più (istruzioni):
IF (condizione) THEN
 (istruzione1)
 (istruzione2)
 (istruzione3)
ENDIF

In questo caso la serie di istruzioni "condizionate" deve essere chiusa con ENDIF.

NON esiste invece una forma che preveda più condizioni, quindi per ogni condizione si deve usare un'istruzione IF distinta.

Uno script come quello che segue funziona senza generare errori (ovviamente i parametri filltypeattribute_ da 3 a 9, che nella tua schermata sono a zero, devono avere un numero di penna valido)

FILL fillAttribute_1_mur
PEN penAttribute_3_mur

altezza = ZZYZX
tollera=0.001
sfondo_retino = fillTypeAttribute_9

IF ABS(altezza - 2.800) < tollera THEN sfondo_retino = fillTypeAttribute_1
IF ABS(altezza - 2.900) < tollera THEN sfondo_retino = fillTypeAttribute_2
IF ABS(altezza - 3.500) < tollera THEN sfondo_retino = fillTypeAttribute_3
IF ABS(altezza - 3.850) < tollera THEN sfondo_retino = fillTypeAttribute_4
IF ABS(altezza - 3.950) < tollera THEN sfondo_retino = fillTypeAttribute_5
IF ABS(altezza - 4.000) < tollera THEN sfondo_retino = fillTypeAttribute_6
IF ABS(altezza - 4.850) < tollera THEN sfondo_retino = fillTypeAttribute_7
IF ABS(altezza - 5.000) < tollera THEN sfondo_retino = fillTypeAttribute_8


POLY2_B 5, 3,
  penAttribute_1_mur, sfondo_retino,
  0.00, 0.00, 1,
  0.00, B, 1,
  A, B, 1,
  A, 0.00, 1,
  0.00, 0.00, 1   


Come noterai, ho attribuito PRIMA alla variabile "sfondo_retino" il valore che deve avere in tutti i casi in cui l'altezza NON è fra quelle standard.
Poi, se una delle condizioni seguenti risulta valida (misura standard) il valore viene modificato di conseguenza, altrimenti, finita senza successo la serie di confronti, il valore resta quello iniziale.
2
GDL / Re:TESTO GDL CENTRATO
« Ultimo post da Andrea1107 il 26 Giugno 2025, 12:55 »
Ok, il resto dello script invece è così sbagliato che probabilmente non c'è modo di correggerlo senza riscriverlo completamente, purtroppo non capisco dov'è l'errore... scusatemi.

così può andare?

IF decre = 1 THEN
...istruzione 1
...istruzione 2
...
...istruzione n
ENDIF

fillTypeAttribute_*  si è stato definito nei parametri (vedi foto allegata) Va bene così?

Grazie mille per la pazieza.

3
GDL / Re:TESTO GDL CENTRATO
« Ultimo post da ZioBob il 26 Giugno 2025, 12:18 »
Quello che ricevi è solo un avviso generico che potresti ignorare perché in genere non crea problemi (*). Il resto dello script invece è così sbagliato che probabilmente non c'è modo di correggerlo senza riscriverlo completamente.
A parte che alla linea "Altezza = 2.900" mancherebbe l'IF iniziale, in ogni caso questa costruzione, con una serie di IF e un solo ENDIF alla fine non è ammessa.
Poi, il valore delle varie variabili "fillTypeAttribute_*" è definito da qualche parte dell'oggetto?
Anche la costruzione "if altezza <> 2.800 and 2.900 and ..." è sbagliata. Il GDL, come altri linguaggi formali, esige che si ripeta per intero la condizione da verificare, senza parti sottintese come si usa nel parlato. Quindi:
IF altezza <> 2.800 AND altezza <> 2.900 AND altezza <> ...

(*) L'avviso viene emesso quando si usa il confronto (con il segno "=") tra due numeri reali (non interi), perché uno di essi, o entrambi, potrebbero essere il risultato di operazioni con decimali arrotondati, e alla fine anche se "praticamente uguali", per il computer ci può essere una differenza infinitesimale che fa emettere la risposta "falso" quando gli si chiede se sono uguali.
Per esempio se chiedessimo di confrontare un numero inserito dall'utente con il valore di Pi greco, sarebbe sempre diverso, perché Pi greco ha una quantità infinita di decimali , quindi non è formalmente uguale a 3.14, né a 3.14159265358979...
La raccomandazione di Graphisoft è quella di evitare i confronti diretti. Invece di vedere se A è uguale a B suggerisce di valutare se la differenza fra A e B (in valore assoluto) è inferiore ad una tolleranza ammissibile che potrebbe essere, per esempio, 0.0001.
4
Aprile 2027. Quindi meno di due anni di rate.
A chi compra resta quindi una licenza perpetua aggiornata all'ultima versione che uscirà nel 2027 (e tutte le precedenti dalla 25).
Liberi da abbonamenti etc. e senza alcun altro obbligo verso graphisoft.
5
Mercatino Software / Re:VENDESI LICENZA PERPETUA ARCHICAD E TWINMOTION
« Ultimo post da antonibon il 25 Giugno 2025, 23:46 »
Quante rate restano ancora da pagare?…Quando termina il finanziamento? 2027 è un po’ vago (potrebbe essere gennaio 2027 o dicembre 2027)
7
Causa utilizzo scarso, cedo licenza perpetua ARCHICAD FULL (archicad aggiornato all'ultima versione fino al 2027) e TWINMOTION.

Il mio contratto di finanziamento 2022/2027 prevede una rata mensile di 147,67 Euro.
Chi è interessato alla licenza subentrerà nel finanziamento da ora fino al 2027 (tre anni sono già stati pagati senza saltare una rata ovviamente), dopodiché la licenza sarà di sua proprietà.
I costi per il subentro ammontano a 120 Euro più iva.

Fatto questo passaggio si farà la voltura con GRAPHISOFT.
Costi da pagare a GRAPHISOFT: 800 euro per la voltura + 941 Euro per un anno assistenza e passaggio.

In totale quindi ci sono solo i costi fissi (indicati sopra) e le rate mensili fino al termine del finanziamento.

Prego contattarmi al 3389055309 per dettagli.
8
GDL / Re:TESTO GDL CENTRATO
« Ultimo post da Andrea1107 il 25 Giugno 2025, 07:54 »
ecco il file
9
GDL / Re:TESTO GDL CENTRATO
« Ultimo post da Andrea1107 il 25 Giugno 2025, 07:53 »
Grazie mille, allora cerchero di utilizzare il trave in altro modo. Effettivamente è una cosa poco sensata, mi scusi.

Invece l'errore "usare un tipo reale può causare problemi di precisione" come posso risolverlo? (immagine allegata)

in pratica ho dei pannelli ed in base alla loro altezza vorrei che il retino sia di colore diverso, ma purtroppo mi da quell'errore.

questo è lo script:

FILL fillAttribute_1_mur
PEN penAttribute_3_mur

altezza = ZZYZX

if altezza = 2.800 then
sfondo_retino = fillTypeAttribute_1

altezza = 2.900 then
sfondo_retino = fillTypeAttribute_2

if altezza = 3.500 then
sfondo_retino = fillTypeAttribute_3

if altezza = 3.850 then
sfondo_retino = fillTypeAttribute_4

if altezza = 3.950 then
sfondo_retino = fillTypeAttribute_5

if altezza = 4.000 then
sfondo_retino = fillTypeAttribute_6

if altezza = 4.850 then
sfondo_retino = fillTypeAttribute_7

if altezza = 5.000 then
sfondo_retino = fillTypeAttribute_8

if altezza <> 2.800 and 2.900 and 3.500 and 3.850 and 3.950 and 4.000 and 4.850 and 5.000
sfondo_retino = fillTypeAttribute_9

endif

POLY2_B 5, 3,
penAttribute_1_mur, sfondo_retino,
0.00, 0.00, 1,
0.00, B, 1,
A, B, 1,
A, 0.00, 1,
0.00, 0.00, 1   

Con questa veramente chiudo.

Grazie mille e mi scuso di nuovo.
10
GDL / Re:TESTO GDL CENTRATO
« Ultimo post da ZioBob il 25 Giugno 2025, 00:10 »
E' normale che il testo segua la rotazione dell'oggetto, e probabilmente è anche giusto che sia così. D'altra parte non avrebbe senso  inserire la scritta "dentro" o "fuori" in base alla lunghezza della trave, perché se l'orientamento della trave non è orizzontale, mentre il testo rimane sempre orizzontale, la scritta andrà sempre fuori, in qualche modo.
Se comunque vuoi provare, credo che dovresti usare la variabile "SYMB_ROTANGLE" che riporta il valore di rotazione corrente dell'oggetto. Mettendo un'istruzione tipo:
ROT2 -SYMB_ROTANGLE
si impone al sistema di coordinate una rotazione uguale e contraria a quella dell'oggetto, riportandolo quindi all'orientamento globale del progetto.
Per fare in modo che comunque la scritta resti centrata sulla trave occorrono anche altre modifiche...
Pagine: [1] 2 3 ... 10