relazioni if then else

Professione: Impiegato
Software: Creo 2.0
Regione: Emilia Romagna
#1
Salve a tutti. Avrei una curiosità in merito alle relazioni.
Nel mio cartiglio vorrei che la descrizione si compilasse automaticamente.
Il problema sorge nelle forature della iso 5211
Io vorrei che creo "capisse" che se faccio una foratura su un interasse d.102, nel campo descrizione mi andasse a scrivere ISO F10

C'è una soluzione ?
 

DANI-3D

Utente Senior
Professione: PROGETTISTA MECCANICO
Software: PRO-E WF5
Regione: TOSCANA
#2
Ciao.
Certo che c' è la soluzione. Basta controllare con le relazioni la quota dell' interasse dei fori.
es.
IF ad482 == 102
DESCRIZIONE = "ISO F10"
ELSE
DESCRIZIONE = ""
ENDIF

Dove ad482 è il nome della tua quota.
 
Professione: Impiegato
Software: Creo 2.0
Regione: Emilia Romagna
#3
Ciao.
Certo che c' è la soluzione. Basta controllare con le relazioni la quota dell' interasse dei fori.
es.
IF ad482 == 102
DESCRIZIONE = "ISO F10"
ELSE
DESCRIZIONE = ""
ENDIF

Dove ad482 è il nome della tua quota.

intanto grazie !
sai se c'è modo di unire tanti if (vorrei mettere tutte le forature iso 5211 in un'unica relazione)

io pensavo ad una cosa del genere, ma non funziona..

IF int == 102
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F10 H="+extract(itos(H*10),1,string_length(itos(H*10))-1)
ELSE
IF int == 125
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F12 H="+extract(itos(H*10),1,string_length(itos(H*10))-1)
ELSE
IF int == 140
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F14 H="+extract(itos(H*10),1,string_length(itos(H*10))-1)
ELSE
IF int == 165
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F16 H="+extract(itos(H*10),1,string_length(itos(H*10))-1)
ELSE
IF int == 254
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F25 H="+extract(itos(H*10),1,string_length(itos(H*10))-1)
ELSE
IF int == 298
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F30 H="+extract(itos(H*10),1,string_length(itos(H*10))-1)
ELSE
IF int == 356
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F35 H="+extract(itos(H*10),1,string_length(itos(H*10))-1)
ELSE
IF int == 406
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F40 H="+extract(itos(H*10),1,string_length(itos(H*10))-1)
ELSE
IF int == 483
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F48 H="+extract(itos(H*10),1,string_length(itos(H*10))-1)
ELSE
IF int == 686
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F60 H="+extract(itos(H*10),1,string_length(itos(H*10))-1)
ELSE
DESCRIZIONE = ""
ENDIF
 

tartufon80

Moderatore
Staff Forum
Professione: Volevo fare il tecnico....
Software: Solidworks 2016 SP5, Creo 2.0+PDMLink 10.1 (ricordi)
Regione: Abruzzo
#4
intanto grazie !
sai se c'è modo di unire tanti if (vorrei mettere tutte le forature iso 5211 in un'unica relazione)

io pensavo ad una cosa del genere, ma non funziona..

IF int ==
.........
ENDIF
Ciao!

L'esempio di Dani è perfetto. Il motivo per cui non ti funziona è che manca qualche "endif".
Infatti ogni ciclo "if" vuole un "endif".

Quindi riscrivila così:

IF int == 102
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F10 H="+extract(itos(H*10),1,string_length(itos(H*10 ))-1)
ELSE
IF int == 125​
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F12 H="+extract(itos(H*10),1,string_length(itos(H*10 ))-1)​
ELSE​
IF int == 140​
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F14 H="+extract(itos(H*10),1,string_length(itos(H*10 ))-1)​
ELSE​
DESCRIZIONE = ""​
ENDIF​
ENDIF​
ENDIF

Ho ripreso un solo pezzo ma il concetto è lo stesso.
Se ti aiuti con una corretta spaziatura, eviti di dimenticarne qualcuno.

PS: usando Pro/Program, la soluzione probabilmente è più "elegante" (come amava dire un mio professore di matematica del liceo), ma io non so usarlo.
 

DANI-3D

Utente Senior
Professione: PROGETTISTA MECCANICO
Software: PRO-E WF5
Regione: TOSCANA
#5
Oppure, più semplicemente:

DESCRIZIONE=""
IF int == 102
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F10 H="+extract(itos(H*10),1,string_length(itos(H*10 ))-1)
ENDIF
IF int == 125
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F12 H="+extract(itos(H*10),1,string_length(itos(H*10 ))-1)
ENDIF
IF int == 140
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F14 H="+extract(itos(H*10),1,string_length(itos(H*10 ))-1)
ENDIF
IF int == 165
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F16 H="+extract(itos(H*10),1,string_length(itos(H*10 ))-1)
ENDIF
IF int == 254
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F25 H="+extract(itos(H*10),1,string_length(itos(H*10 ))-1)
ENDIF
IF int == 298
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F30 H="+extract(itos(H*10),1,string_length(itos(H*10 ))-1)
ENDIF
IF int == 356
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F35 H="+extract(itos(H*10),1,string_length(itos(H*10 ))-1)
ENDIF
IF int == 406
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F40 H="+extract(itos(H*10),1,string_length(itos(H*10 ))-1)
ENDIF
IF int == 483
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F48 H="+extract(itos(H*10),1,string_length(itos(H*10 ))-1)
ENDIF
IF int == 686
DESCRIZIONE="TRONCHETTO ADATT. RTQ02 ISO F60 H="+extract(itos(H*10),1,string_length(itos(H*10 ))-1)
ENDIF