ZioBob il 02 Lug, 2025 17:13 in GDL
Non c'è bisogno di avere una "istruzione nulla".Invece di controllare se il rettangolo è troppo piccolo (in quel caso non fare niente / in caso contrario scrivi le misure), basta verificare che il rettangolo sia abbastanza grande (in quel caso scrivi le misure).Io farei così:FILL fillAttribute_1PEN penAttribute_4POLY2_B 5, 3, penAttribute_2, penAttribute_3, 0.00, 0.00, 1, 0.00, B, 1, A, B, 1, A, 0.00, 1, 0.00, 0.00, 1 Lx = 1.10 ! Limite lunghezzaLy = 0.30 ! Limite larghezzaEps= 0.00001 ! Approssimazione al centesimo di mmIF a>(Lx-Eps) and b>(Ly-Eps) THEN ancoraggio = 5 posizione1 = B/2+0.1 posizione2 = B/2-0.1 DEFINE STYLE "st5" "arial", 0.8, ! mm ancoraggio, 5 ! grassetto sottolineato SET STYLE "st5" PEN penAttribute_5 TEXT2 A/2, posizione1, "Truciolare" TEXT2 A/2, posizione2, str ("%#0.0mm",A) + " x " + str ("%#0.0mm",B) + " x Sp. " + str ("%#0.0mm",ZZYZX)ENDIFENDNella definizione dello stile, 3 equivale a grassetto(1) +corsivo(2). Grassetto sottolineato è 5 (1+4). I codici di stato possono essere un po' ostici.il manuale li riporta così:face_code: a combination of the following values:face_code = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5, where each j can be 0 or 1.j1: bold,j2: italic,j3: underline,j4: outline,j5: shadow,If face_code = 0, then style is normal.Nel nostro caso l'elenco ci dice che i codici di stato che vogliamo usare sono j1 e j3. Nella spiegazione della sintassi si vede che il codice j1 non ha moltiplicatori (vale 1) mentre j3 ha moltiplicatore 4. Quindi per attivare i bit 1 e 3, si deve inserire il numero 1+4, cioè 5... chiaro no? beh, so che non lo è, ma bisogna farci l'abitudine!
Andrea1107 il 02 Lug, 2025 09:56 in GDL
buongiorno,grazie delle preziosissime informazioni, adesso sono davanti ad un nuovo problema.come posso dire ad una istruzione che è nulla?e poi in questo script cosa posso migliorare?FILL fillAttribute_1PEN penAttribute_4 POLY2_B 5, 3,penAttribute_2, penAttribute_3,0.00, 0.00, 1, 0.00, B, 1,A, B, 1, A, 0.00, 1,0.00, 0.00, 1 if a<1.10 or b<0.3 then!! TEXT2 NON VISIBILEelseancoraggio = 5 posizione1 = B/2+0.1posizione2 = B/2-0.1DEFINE STYLE "st5" "arial", 0.8, ! mmancoraggio,3 ! grassetto sottolineato SET STYLE "st5"PEN penAttribute_5text2 A/2, posizione1, "Truciolare"text2 A/2, posizione2, str ("%#0.0mm",A) + " x " + str ("%#0.0mm",B) + " x " + "Sp." + str ("%#0.0mm",ZZYZX)endifENDGrazie mille per la pazienza
ZioBob il 26 Giu, 2025 21:58 in GDL
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)ENDIFIn 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_murPEN penAttribute_3_muraltezza = ZZYZXtollera=0.001sfondo_retino = fillTypeAttribute_9IF ABS(altezza - 2.800) < tollera THEN sfondo_retino = fillTypeAttribute_1IF ABS(altezza - 2.900) < tollera THEN sfondo_retino = fillTypeAttribute_2IF ABS(altezza - 3.500) < tollera THEN sfondo_retino = fillTypeAttribute_3IF ABS(altezza - 3.850) < tollera THEN sfondo_retino = fillTypeAttribute_4IF ABS(altezza - 3.950) < tollera THEN sfondo_retino = fillTypeAttribute_5IF ABS(altezza - 4.000) < tollera THEN sfondo_retino = fillTypeAttribute_6IF ABS(altezza - 4.850) < tollera THEN sfondo_retino = fillTypeAttribute_7IF ABS(altezza - 5.000) < tollera THEN sfondo_retino = fillTypeAttribute_8POLY2_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.
Andrea1107 il 26 Giu, 2025 12:55 in GDL
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 nENDIFfillTypeAttribute_* si è stato definito nei parametri (vedi foto allegata) Va bene così?Grazie mille per la pazieza.
ZioBob il 26 Giu, 2025 12:18 in GDL
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.
Carlo Maria Cirino il 26 Giu, 2025 08:26 in Mercatino Software
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.
antonibon il 25 Giu, 2025 23:46 in Mercatino Software
Quante rate restano ancora da pagare?…Quando termina il finanziamento? 2027 è un po’ vago (potrebbe essere gennaio 2027 o dicembre 2027)
antonibon il 25 Giu, 2025 23:42 in ArchiCAD
Questo topic è stato spostato in Mercatino Software.https://www.archiradar.it/smf/index.php?topic=26633.0
Carlo Maria Cirino il 25 Giu, 2025 10:23 in Mercatino Software
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.
Andrea1107 il 25 Giu, 2025 07:54 in GDL
ecco il file