• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Leggi altro.

Parametri all' interno di altri parametri

Pal_65

Utente Junior
Professione: Progettista meccanico
Software: Pro Engineer
Regione: Veneto
#1
Buongiorno.
Uso Pro Engineer da molti anni e trovo sempre cose nuove da sviluppare.
Ho la necessita' di inserire un parametro all' interno di un altro parametro.
Le mie parti e assiemi hanno associato il parametro "descrizione" che e' una nota con il quale compilo automaticamente il cartiglio nella messa in tavola.
Ho la necessita' di inserire in "descrizione" anche il parametro "lunghezza" ricavato da relazioni guidate da family table.
Sicuramente l' argomento e' stato trattato.
Se gentilmente mi potete indicare il link di discussione o aiutarmi a risolvere anche questo caso.
Grazie.
 

DANI-3D

Utente Senior
Professione: PROGETTISTA MECCANICO
Software: PRO-E WF5
Regione: TOSCANA
#2
Ciao ciao

Questa è l' istruzione per ottenere quello che vuoi:
DESCRIZIONE = DESCRIZIONE + ITOS(LUNGHEZZA)
 

DANI-3D

Utente Senior
Professione: PROGETTISTA MECCANICO
Software: PRO-E WF5
Regione: TOSCANA
#3
Così è ancora più raffinato:

DESCRIZIONE = DESCRIZIONE +" " + ITOS(LUNGHEZZA) +" mm"
 

Pal_65

Utente Junior
Professione: Progettista meccanico
Software: Pro Engineer
Regione: Veneto
#4
Grazie Dani.
Il parametro cosi' creato per' risulta "strano" .....
" PROFILO RIO 2 LAVORATO2602602602602606856856856856856856856856856856856856856856 "
Le relazioni che generano la family table sono:


L=LUNGHEZZA /* VALORE CHE VA SCRITTO NELLA COLONNA DI FAMILY TABLE
L_MOLLE=L-120 /* DISTANZA TRA LE MOLLE ESTREME


IF L>=251
N_MOLLE=3
PASSO_MOLLE=L_MOLLE/(N_MOLLE-1)
ENDIF

IF L>=501
N_MOLLE=4
PASSO_MOLLE=L_MOLLE/(N_MOLLE-1)
ENDIF

IF L>=1001
N_MOLLE=5
PASSO_MOLLE=L_MOLLE/(N_MOLLE-1)
ENDIF

IF L>=1501
N_MOLLE=6
PASSO_MOLLE=L_MOLLE/(N_MOLLE-1)
ENDIF

IF L>=2001
N_MOLLE=7
PASSO_MOLLE=L_MOLLE/(N_MOLLE-1)
ENDIF

PASS_FORI=PASSO_MOLLE
NUM_FORI=N_MOLLE
DESCRIZIONE = DESCRIZIONE + ITOS (L)
 

DANI-3D

Utente Senior
Professione: PROGETTISTA MECCANICO
Software: PRO-E WF5
Regione: TOSCANA
#5
Nelle relazioni, come prima istruzione, devi mettere:
DESCRIZIONE = ""
Altrimenti ad ogni passaggio aumenta la lunghezza della stringa.
Oppure, se non fosse possibile:
DESCRIZIONE_TOT = DESCRIZIONE + ITOS(LUNGHEZZA)
e poi utilizzi questo nuovo parametro.
 

Pal_65

Utente Junior
Professione: Progettista meccanico
Software: Pro Engineer
Regione: Veneto
#6
Grazie Dani.
Tutto OK.
Ringraziarti e' d' obbligo.

C' e' ancora una cosa. Il valore restituito in DESCRIZIONE_TOT e' privo di decimali (ITOS restituisce numeri interi soltanto).
E' possibile anche superare questa condizione magari per altre strade?
 

DANI-3D

Utente Senior
Professione: PROGETTISTA MECCANICO
Software: PRO-E WF5
Regione: TOSCANA
#7
La funzione ITOS funziona solo con i numeri interi. Non so se nelle versioni di Pro-e più recenti c' è una funzione analoga che gestisce anche i numeri con i decimali. Altrimenti c' è questo metodo:

X=16.594321
DECIMALI=5

N1=FLOOR(X,DECIMALI)
N2=ITOS(N1*10^DECIMALI)
N3=EXTRACT(N2,1,STRING_LENGTH(N2)-DECIMALI)+"."+EXTRACT(N2,STRING_LENGTH(N2)-DECIMALI+1,DECIMALI)

dove X è il numero reale, DECIMALI indica il numero di decimali desiderato ed N3 è la stringa del numero convertito in testo.
Un po complicato, ma funziona.
 

tartufon80

Moderatore
Staff Forum
Professione: Volevo fare il tecnico....
Software: Solidworks 2016 SP5, Creo 2.0+PDMLink 10.1 (ricordi)
Regione: Abruzzo

320i S

Utente Standard
Professione: Progettista
Software: Catia V6, Creo 3.0, Pro-e (serie Wildfire 3÷5), Solidworks 2016
Regione: Friuli Venezia Giulia
#9
La funzione ITOS funziona solo con i numeri interi. Non so se nelle versioni di Pro-e più recenti c' è una funzione analoga che gestisce anche i numeri con i decimali. Altrimenti c' è questo metodo:

X=16.594321
DECIMALI=5

N1=FLOOR(X,DECIMALI)
N2=ITOS(N1*10^DECIMALI)
N3=EXTRACT(N2,1,STRING_LENGTH(N2)-DECIMALI)+"."+EXTRACT(N2,STRING_LENGTH(N2)-DECIMALI+1,DECIMALI)

dove X è il numero reale, DECIMALI indica il numero di decimali desiderato ed N3 è la stringa del numero convertito in testo.
Un po complicato, ma funziona.
Divagazione veloce:

Possibile che non abbiano ancora fatto l' istruzione per evitare il "giochino" dell' estrazione dei numeri decimali per avere il numero che vuoi?
Capisco che i vari "core" delle wildifire non abbiano permesso questa evoluzione di queste chicche negli anni, ma almeno con la creo....
 

320i S

Utente Standard
Professione: Progettista
Software: Catia V6, Creo 3.0, Pro-e (serie Wildfire 3÷5), Solidworks 2016
Regione: Friuli Venezia Giulia
#11
E bestemmiante....
 

Pal_65

Utente Junior
Professione: Progettista meccanico
Software: Pro Engineer
Regione: Veneto
#12
Grazie a tutti.
Sono cose particolari e nel mio caso anche rare da usare.
Personalmente risolvo la questione richiamando il parametro nel mio caso LUNGHEZZA dopo la DESCRIZIONE parziale:
- "PROFILO L=" "1250,75" in due colonne distinte.
 

Pal_65

Utente Junior
Professione: Progettista meccanico
Software: Pro Engineer
Regione: Veneto
#13
Grazie a tutti.
Sono cose particolari e nel mio caso anche rare da usare.
Personalmente risolvo la questione richiamando il parametro nel mio caso LUNGHEZZA dopo la DESCRIZIONE parziale:
- "PROFILO L=" "1250,75" in due colonne distinte.