Problema aggiornamento Assieme 3D da lista espressioni

DavidNX

Utente Junior
Professione: Disegnatore - Progettista
Software: UG-NX4-6
Regione: Toscana
#1
Buongiorno a tutti, ho cercato un pò in giro ma una risposta al mio problema non riesco a trovarla.

Ho un assieme 3D composto da n°6 componenti.

Questi 6 componenti sono vincolati nell'assieme su degli CSYS la cui posizione rispetto all'origine è regolata da alcune espressioni.

All'interno dell'assieme utilizzo il comando linked-body per poter unire i 6 componenti in un solido unico e eseguire tutte le lavorazioni di cui necessità il modello finito. ( si tratta di macchine idrauliche multistadio e ogni componente idraulico deve essere modellato a parte per poi essere unito in un corpo unico )

Fino a qualche tempo fa non ho mai avuto problemi nel variare la posizione degli CSYS tramite un'espressione definita dall'utente, così come non mi ha mai dato problemi aumentare o diminuire il numero degli stadi della macchina che sto modellando tramite l'utilizzo del comando Rectangular-Array, variando il valore delle copie lungo X sempre tramite una variabile nella lista espressioni.

Da qualche giorno però, lavorando su una macchina nuova, ho dei problemi nell'aggiornamento del modello, dopo che vado a variare il valore delle copie lungo X del Rectangular-Array.

Per spiegarvi, sembra che Unigraphics aggiorni prima l'albero delle feature dell'assieme, saltando però tutto ciò che riguarda linked body, posizione degli CSYS regolata da espressioni etc, con il risultato che mi crasha il modello.
La cosa assurda è che, terminato questo "primo" aggiornamento, UG parte con un secondo aggiornamento, in cui vengono aggiornato tutto quanto concerne linked body e relativi rectangular array.

Di conseguenza, durante il "primo" aggiornamento, mi escono tanti messaggi di
errore relativi a feature che saltano, ma al termine di tutta la procedura, quindi anche dopo il "secondo aggiornamento", nell'albero non c'è alcuna traccia di errore, e anche visivamente vedo a video il modello che si aggiorna in 2 sessioni, e non tutto in contemporanea come finora mi accadeva.


Chiarisco che quelli che chiamo "primo" e "secondo" aggiornamento avvengono in rapida successione... al termine del primo, la barra di dialogo presenta la scritta: DONE UPDATING FEATURE, ma subito in automatico parte il secondo aggiornamento, che a sua volta al termine mostra la medesima scritta DONE UPDATING FEATURE.


mi scuso se non mi sono spiegato molto bene, resto in attesa di un vostro aiuto e a disposizione per ogni eventuale chiarimento,

David
 

ceschi1959

Utente Standard
Professione: progettista
Software: UG 11 - NX11 TC10
Regione: veneto
#3
Buongiorno a tutti, ho cercato un pò in giro ma una risposta al mio problema non riesco a trovarla.

Ho un assieme 3D composto da n°6 componenti.

Questi 6 componenti sono vincolati nell'assieme su degli CSYS la cui posizione rispetto all'origine è regolata da alcune espressioni.
All'interno dell'assieme utilizzo il comando linked-body per poter unire i 6 componenti in un solido unico e eseguire tutte le lavorazioni di cui necessità il modello finito. ( si tratta di macchine idrauliche multistadio e ogni componente idraulico deve essere modellato a parte per poi essere unito in un corpo unico )

Fino a qualche tempo fa non ho mai avuto problemi nel variare la posizione degli CSYS tramite un'espressione definita dall'utente, così come non mi ha mai dato problemi aumentare o diminuire il numero degli stadi della macchina che sto modellando tramite l'utilizzo del comando Rectangular-Array, variando il valore delle copie lungo X sempre tramite una variabile nella lista espressioni.

Da qualche giorno però, lavorando su una macchina nuova, ho dei problemi nell'aggiornamento del modello, dopo che vado a variare il valore delle copie lungo X del Rectangular-Array.

Per spiegarvi, sembra che Unigraphics aggiorni prima l'albero delle feature dell'assieme, saltando però tutto ciò che riguarda linked body, posizione degli CSYS regolata da espressioni etc, con il risultato che mi crasha il modello.
La cosa assurda è che, terminato questo "primo" aggiornamento, UG parte con un secondo aggiornamento, in cui vengono aggiornato tutto quanto concerne linked body e relativi rectangular array.

Di conseguenza, durante il "primo" aggiornamento, mi escono tanti messaggi di
errore relativi a feature che saltano, ma al termine di tutta la procedura, quindi anche dopo il "secondo aggiornamento", nell'albero non c'è alcuna traccia di errore, e anche visivamente vedo a video il modello che si aggiorna in 2 sessioni, e non tutto in contemporanea come finora mi accadeva.


Chiarisco che quelli che chiamo "primo" e "secondo" aggiornamento avvengono in rapida successione... al termine del primo, la barra di dialogo presenta la scritta: DONE UPDATING FEATURE, ma subito in automatico parte il secondo aggiornamento, che a sua volta al termine mostra la medesima scritta DONE UPDATING FEATURE.


mi scuso se non mi sono spiegato molto bene, resto in attesa di un vostro aiuto e a disposizione per ogni eventuale chiarimento,

David

Di primo acchito mi vengono in mente tre possibili cause:
la prima di caricamento dei componenti: nelle load options c'è un flegghettino su 'use partial loading', se attivato l'assieme carica solo la geometria necessaria a visualizzare il reference set (magari i csys non fanno parte di questo reference set)
la seconda di update dell'assieme: guarda se in tools>update>delay interpart c'è o meno il flag, se ci fosse devi dare 'a mano' l'update
la terza nell'utilizzo del link che può essere fatto at timestamp o meno.

Sappici dire

p.s. ti ho mandato il messaggio mentre vedevo comparire il tuo che dice della 6.0.2.8 (l'immagine infatti è relativa alla 4): io non l'ho neanche installata perché con problemi di instabilità ed altro, forse si tratta di un problema di versione però guarderei anche a quello che ti ho scritto sopra.
 

Allegati

DavidNX

Utente Junior
Professione: Disegnatore - Progettista
Software: UG-NX4-6
Regione: Toscana
#4
Di primo acchito mi vengono in mente tre possibili cause:
la prima di caricamento dei componenti: nelle load options c'è un flegghettino su 'use partial loading', se attivato l'assieme carica solo la geometria necessaria a visualizzare il reference set (magari i csys non fanno parte di questo reference set)
la seconda di update dell'assieme: guarda se in tools>update>delay interpart c'è o meno il flag, se ci fosse devi dare 'a mano' l'update
la terza nell'utilizzo del link che può essere fatto at timestamp o meno.

Sappici dire

p.s. ti ho mandato il messaggio mentre vedevo comparire il tuo che dice della 6.0.2.8 (l'immagine infatti è relativa alla 4): io non l'ho neanche installata perché con problemi di instabilità ed altro, forse si tratta di un problema di versione però guarderei anche a quello che ti ho scritto sopra.
Prima di tutto, grazi della risposta, di seguito rispondo ai tuoi punti:

1) Per default non ho flaggato l'opzione "load interpart data", ho comunque verificato ma non è flaggata
2) Non ho il flag sul "delay interpart"
3) I link, come sempre, li ho fatti "at current timestamp", nel punto preciso che mi interessa.

Purtroppo nessuna delle 3 ipotesi.

Ancora non me lo so spiegare.... :mad:

mi chiedo come mai.... fino ad ora nessun problema, ed ora invece mi ritrovo con questo doppio aggiornamento, e tutti i problemi che comporta.... senza nemmeno rendermi conto del motivo per cui succede.... :mad:
 

ceschi1959

Utente Standard
Professione: progettista
Software: UG 11 - NX11 TC10
Regione: veneto
#5
Prima di tutto, grazi della risposta, di seguito rispondo ai tuoi punti:

1) Per default non ho flaggato l'opzione "load interpart data", ho comunque verificato ma non è flaggata
2) Non ho il flag sul "delay interpart"
3) I link, come sempre, li ho fatti "at current timestamp", nel punto preciso che mi interessa.

Purtroppo nessuna delle 3 ipotesi.

Ancora non me lo so spiegare.... :mad:

mi chiedo come mai.... fino ad ora nessun problema, ed ora invece mi ritrovo con questo doppio aggiornamento, e tutti i problemi che comporta.... senza nemmeno rendermi conto del motivo per cui succede.... :mad:
Prova a settare le load optins come nell'immagine che ti allego:
partial loading NON flaggato
load interpart data flaggato
load parents immediate level only

Se vuoi puoi fare un modello semplificato (cubetti ad es.) e se il problema persiste magari postalo che ci do un occhio.

Ciao
 

Allegati

DavidNX

Utente Junior
Professione: Disegnatore - Progettista
Software: UG-NX4-6
Regione: Toscana
#6
Prova a settare le load optins come nell'immagine che ti allego:
partial loading NON flaggato
load interpart data flaggato
load parents immediate level only

Se vuoi puoi fare un modello semplificato (cubetti ad es.) e se il problema persiste magari postalo che ci do un occhio.

Ciao
niente da fare, ancora il doppio aggiornamento.
La cosa assurda è che con i vecchi file, fatti settimane e mesi fa, non mi dà nessun tipo di problema, e l'aggiornamento del file assieme e dei componenti avviene in contemporanea e non in 2 fasi distinte e successive come invece avviene adesso.

Le load options sono sempre le stesse da sempre, uguali a quelle che mi hai indicato con la sola differenza di flaggare ALL LEVELS anzichè IMMEDIATE LEVEL ONLY alla voce Load Parents.

Considerando che parto da sempre dallo stesso MASTER, adesso provo a fare un modello con dei cubi e vedere se il problema persiste, e nel caso posso postarlo.
 

DavidNX

Utente Junior
Professione: Disegnatore - Progettista
Software: UG-NX4-6
Regione: Toscana
#7
Ho provato utilizzando il Master ma assemblando un solo componente, semplificato ad un semplice CUBO con una estrusione sul lato per identificarne la posizione.

Ho fatto alcuni screenshot in quanto per motivi di riservatezza non posso postare il file:


Il primo screen mostra il modello in configurazione 12 STADI.



A questo punto, apro la lista espressioni, e modifico il valore degli stadi, portandolo ad 8.
Appena premo su APPLY, mi dà subito l'errore un transform-array (rectangular-array):




Provando a premere su REVIEW THE MODEL, ecco come si presenta il modello nel momento in cui UG mi segnala l'errore sul transform array:



Come si vede, gli CSYS si sono adeguati al numero degli stadi inserito nella lista espressioni, però il vincolo di allineamento CSYS e di conseguenza il linked body che viene unito (cubetto CIANO), e di cui poi viene fatto il transform array, rimane nella posizione a 12 stadi.

A questo punto, se premo su ACCEPT REMAINING, accettando quindi gli errori che UG mi comunica, il modello fa il "secondo" aggiornamento, aggiornando quindi la posizione del componente e del relativo vincolo, e aggiornando anche le feature dell'albero.




Se a qualcuno viene in mente qualcosa... sono qua!

Grazie ancora,

a disposizione per maggiori chiarimenti,

David
 

DavidNX

Utente Junior
Professione: Disegnatore - Progettista
Software: UG-NX4-6
Regione: Toscana
#8
Allora, ho fatto alcuni approfondimenti ed ho scoperto qualcosa..

Fino ad ora, avevamo sempre sviluppato la prima fase di assiemaggio su NX4, salvo poi passare alla versione NX6.0.2.8.

Ed è proprio con questa versione di NX, che viene fuori questo problema.

Allego un assieme fatto al volo, semplicissimo:


Nell'assieme ho aggiunto un solo componente, vincolato su uno CSYS.
Questo CSYS è posizionato ad una distanza definita dall'espressione DISTANZA_X rispetto allo CSYS posizionato sull'origine.
Sullo CSYS principale viene costruito un block, e successivamente viene trimmato con il piano YZ dello CSYS su cui è vincolato il componente.
A questo punto viene fatto un linked body del componente, e viene unito al block precedentemente trimmato.

Così facendo, variando la posizione dello CSYS su cui è vincolato il componente nell'assieme tramite l'espressione DISTANZA_X, il modello deve aggiornarsi senza alcun problema.

Questo però non succede con il file che abbiamo sviluppato interamente su NX6.0.2.8, infatti provando a ridurre la distanza tra gli CSYS, in fase di aggiornamento del modello Unigraphics dà errore in quanto non riesce a replicare la feature di unione.
Accettando l'errore, si avvia un secondo aggiornamento del modello, ed a questo punto la feature di unione va a buon fine.
A noi sembra che Unigrapchis faccia un primo aggiornamento delle feature contenute direttamente nell'assieme, e solo in un secondo momento viene aggironata la posizione dei componenti, i vincoli di assiemaggio, e tutto quello che questo comporta.
A testimonianza di questo, se premo su SHOW CURRENT MODEL nel momento in cui UG mi segnala l'errore dello UNITE, vedo che la posizione del il vincolo e quindi del componente, è rimasta invariata. (vedi screen allegato) Solo dopo aver accettato l'errore, Unigrpachis aggiorna la posizione del componente e rigenera il tutto senza problemi.

SE A QUALCUNO VIENE IN MENTE QUALCOSA, ME LO DICA! :bekle:
 

Allegati

Primizio

Utente Junior
Professione: Impiegato
Software: NX 7.5
Regione: Italia
#9
Ho dato un'occhiata al tuo file , se può esserti d'aiuto ho visto che cambiando la tipologia di accoppiamento da coincidente a distanza l'aggiornamento avviene senza errori. Almeno da me è così.

Logicamente devi legare il valore del vincolo di distanza alla variabile DISTANZA_X

Saluti.
 

Allegati

DavidNX

Utente Junior
Professione: Disegnatore - Progettista
Software: UG-NX4-6
Regione: Toscana
#10
Ciao Primizio, effettivamente mettendo come vincolo "at distance", e al valore di distanza si lega l'espressione DISTANZA_CSYS non si hanno errori.
Però per il tipo di file che devo fare sarebbe preferibile vincolare tramite CSYS, infatti quello l'esempio fatto prevede 1 solo componente, mentre nei nostri master certe volte abbiamo un numero di componenti ben superiore.
Inoltre, anche parlando con la nostra assistenza tecnica, dobbiamo cercare di capire se il problema risiede in questa versione, e quindi nella condizione di vincolo ALIGN (che sia CSYS o altri Datum è indifferente, dà problemi anche con 3 ALIGN separati) oppure se c'è qualche impostazione da modificare.

Ps: per chi scarica il mio file, controllate di avere FLAGGATA l'opzione: INTERRUPT UPDATE ON ERROR sotto a PREFERENCE - MODELLING - EDIT.

Se non è flaggata quella opzione, l'aggiornamento prosegue senza dare all'utente alcun errore, ma questo non significa che non ce ne siano....
 

ceschi1959

Utente Standard
Professione: progettista
Software: UG 11 - NX11 TC10
Regione: veneto
#11
Ciao Primizio, effettivamente mettendo come vincolo "at distance", e al valore di distanza si lega l'espressione DISTANZA_CSYS non si hanno errori.
Però per il tipo di file che devo fare sarebbe preferibile vincolare tramite CSYS, infatti quello l'esempio fatto prevede 1 solo componente, mentre nei nostri master certe volte abbiamo un numero di componenti ben superiore.
Inoltre, anche parlando con la nostra assistenza tecnica, dobbiamo cercare di capire se il problema risiede in questa versione, e quindi nella condizione di vincolo ALIGN (che sia CSYS o altri Datum è indifferente, dà problemi anche con 3 ALIGN separati) oppure se c'è qualche impostazione da modificare.

Ps: per chi scarica il mio file, controllate di avere FLAGGATA l'opzione: INTERRUPT UPDATE ON ERROR sotto a PREFERENCE - MODELLING - EDIT.

Se non è flaggata quella opzione, l'aggiornamento prosegue senza dare all'utente alcun errore, ma questo non significa che non ce ne siano....
Solo oggi rientro in studio e ho dato un'occhiata al file con NX 6.0.5.3 MP4.
L'errore lo da anche a me, anche caricando il componente completamente e mettendo come RS entire part.
Certo è un bell'enigma anche perchè (verifica anche tu) l'errore me lo da solo se diminuisco la distanza, mentre se l'aumento non c'è errore.
Tempo permettendo verificherò ancora.
Un suggerimento: hai provato con tecniche WOODOO :cool:?
 

DavidNX

Utente Junior
Professione: Disegnatore - Progettista
Software: UG-NX4-6
Regione: Toscana
#12
Solo oggi rientro in studio e ho dato un'occhiata al file con NX 6.0.5.3 MP4.
L'errore lo da anche a me, anche caricando il componente completamente e mettendo come RS entire part.
Certo è un bell'enigma anche perchè (verifica anche tu) l'errore me lo da solo se diminuisco la distanza, mentre se l'aumento non c'è errore.
Tempo permettendo verificherò ancora.
Un suggerimento: hai provato con tecniche WOODOO :cool:?
Ciao,

l'errore lo dà solo al diminuire in quanto, se ci pensi, è proprio diminuendo la distanza tra i due CSYS che quando arriva a fare lo Unite non trova "niente" a cui unire il target body, in quanto il tool body è "più lontano" e quindi disgiunto.
Mentre se aumenti la distanza, lui comunque la feature di unione riesce a replicarla. (in un primo momento lo unisce nella "vecchia" posizione, poi fa il secondo aggiornamento e lo unisce nel punto corretto.)

Lo so, non è semplice da spiegare a parole, ma il file parla chiaro.

Ho contattato la nostra assistenza, e so che hanno aperto un caso (o qualcosa di simile) alla siemens... vediamo che ci rispondono, ho sollecitato anche ieri.
In fin dei conti, se è un bug della versione, basta uan comunicazione della siemens, che allegherò al file in consegna al cliente... non posso farci nulla purtroppo.

La cosa assurda è che ho provato a fare lo STESSO identico file con NX4, quindi stesse operazioni stesso link, TUTTO IDENTICO, lo apro con NX6, e funziona!
Cioè, ASSURDO!
A questo punto, è un BUG del vincolo ALIGN di NX6... non c'è più spiegazione....

L'unica differenza tra i due file, è proprio nel vincolo, che anche se concettualmente uguale finisce per dare questo tipo di problema! (sempre ALIGN CSYS è, ma su NX6 come sapete hanno cambiato molto il modo di visualizzare ed inserire i vincoli) :frown::frown::frown:

Comunque, se avete possibilità, per cortesia provate a fare lo stesso semplice assieme con una versione successiva di NX6... a noi è arrivato NX7.5 ma ancora non l'ho installato...
 

ceschi1959

Utente Standard
Professione: progettista
Software: UG 11 - NX11 TC10
Regione: veneto
#13
Ho provato a rifare da zero il tutto con la 6.0.5.3 e con la 7.5.4: stesso problema.
Ho fatto un'ulteriore prova, se può essere utile: ho raggiato l'estremità del blocco dell'assieme in modo tale che fallisse comunque l'unione (condizioni di non manifold). Provaci.
Ciao
 

DavidNX

Utente Junior
Professione: Disegnatore - Progettista
Software: UG-NX4-6
Regione: Toscana
#14
Bhè a questo punto, sinceramente, la cosa si fa seriamente preoccupante.
Mi stupisco di come questo problema non sia mai venuto fuori...
Per master model come siamo abituati a fare noi, questo è un problema bello grosso, aggiornare in automatico degli assiemi variando una o più espressioni è una cosa che fino alla versione 4 ha funzionato ed ora inspiegabilmente non funziona.

Dalla siemens, ancora nessuna risposta nonostante il mio sollecito.... qua nel forum non interviene nessuno direttamente di siemens o di qualche assistenza in particolare che possa prendere visione di questo BUG? (non posso non definirlo tale ormai..)
 

ceschi1959

Utente Standard
Professione: progettista
Software: UG 11 - NX11 TC10
Regione: veneto
#18
Bhè a questo punto, sinceramente, la cosa si fa seriamente preoccupante.
Mi stupisco di come questo problema non sia mai venuto fuori...
Per master model come siamo abituati a fare noi, questo è un problema bello grosso, aggiornare in automatico degli assiemi variando una o più espressioni è una cosa che fino alla versione 4 ha funzionato ed ora inspiegabilmente non funziona.
Se vuoi aggiungere info ho provato con NX5 sia con le mating conditions che con gli assembly constraint e funziona. Quindi dovrebbe essere un problema dalla NX 6 in poi.
Dalla siemens, ancora nessuna risposta nonostante il mio sollecito.... qua nel forum non interviene nessuno direttamente di siemens o di qualche assistenza in particolare che possa prendere visione di questo BUG? (non posso non definirlo tale ormai..)
L'assistenza in questo caso la fa direttamente Siemens, chi fa assistenza fuori da Siemens non ha gli strumenti per farlo se effettivamente si tratta di un bug.
 

The_Matrix

Utente Senior
Professione: Industry Leader - Automotive & Machinery
Software: NX10/TC10/4GD
Regione: Mi piacerebbe lavorare in California... Invece sto in Piemonte. Pazienza...
#19
Se vuoi aggiungere info ho provato con NX5 sia con le mating conditions che con gli assembly constraint e funziona. Quindi dovrebbe essere un problema dalla NX 6 in poi.

L'assistenza in questo caso la fa direttamente Siemens, chi fa assistenza fuori da Siemens non ha gli strumenti per farlo se effettivamente si tratta di un bug.
E la Siemens che interviene sul sito sta lavorando a Detroit 20 ore al giorno... quindi, questa volta, ciccia. :tongue: