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.