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

Lingua delle tavole

SE_User

Guest
#1
Ciao a tutti,

ho il seguente problema: devo produrre la stessa tavola in più lingue, ovviamente in italiano poi in inglese ecc.

al momento "duplico" le proprietà per le varie lingue, es:

Titolo_ITA = descrizione in italiano
Titolo_ENG = descrizione in inglese
Titolo_FRA = descrizione in francese e così via,

poi ho fatto i vari sfondi che richiamano le diverse proprietà nelle opportune lingue es:

A4_V_ITA
A4_V_ENG
A4_V_FRA ecc.

Volevo sapere se qualcun altro che ha questo problema è riuscito a risolvere in altra maniera (magari meno complessa) la cosa!

Grazie a tutti in anticipo.
 

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#2
Ciao a tutti,

ho il seguente problema: devo produrre la stessa tavola in più lingue, ovviamente in italiano poi in inglese ecc.

al momento "duplico" le proprietà per le varie lingue, es:

Titolo_ITA = descrizione in italiano
Titolo_ENG = descrizione in inglese
Titolo_FRA = descrizione in francese e così via,

poi ho fatto i vari sfondi che richiamano le diverse proprietà nelle opportune lingue es:

A4_V_ITA
A4_V_ENG
A4_V_FRA ecc.

Volevo sapere se qualcun altro che ha questo problema è riuscito a risolvere in altra maniera (magari meno complessa) la cosa!

Grazie a tutti in anticipo.
Io utilizzo uno sfondo unico e i richiami alle varie lingue li metto su livelli differenti chiamati: Italiano, Inglese ecc.. poi con una macro visualizzo il livello della lingua corrente e nascondo gli altri.

Ciao
 

SE_User

Guest
#3
Io utilizzo uno sfondo unico e i richiami alle varie lingue li metto su livelli differenti chiamati: Italiano, Inglese ecc.. poi con una macro visualizzo il livello della lingua corrente e nascondo gli altri.

Ciao
Soluzione interessante: non ci avevo pensato.

Grazie.
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#4
io faccio come be_on_edge.
Nome dei fogli: A4V, poi tanti livelli (Italiano, English).

ma per esperienza ti posso dire che:
- i disegnatori se non sono svegli si dimenticano che il disegno deve essere multilingua e si diventa matti, gli elementi di testo sono sempre in 'default' o su un livello a casaccio, sugli altri livelli, aggiornando le viste se si sposta qualcosa non ci si bada e ti ritrovi le cose fuori posto.
=> ad oggi riduco al minimo le indicazioni in italiano e scrivo un solo richiamo bi-lingua ita/eng (su liv.: default)

- Gli elenchi di parti danno problemi (dalla v20 ) non rimangono associate al loro livello e se la tabella è spezzata in due la nuova porzione di tabella si dissocia dal livello. Doppiando per la seconda lingua gli elenchi parti e smanettando sugli elementi da pallinare (sottoassiemi, parti di riferimento ecc...) può capitare che le tabelle non abbiano le stesse impostazioni in un caso mi sono ritrovato tutti i pallini con numeri diversi da quello indicato in tabella (che follia).
=> provare a usare le nuove funzioni di pallinatura su asm
=> metto l'elenco parte in ultimo foglio solo in italiano. demando ad altre persone/funzioni/programmi il compito di Gestione, Nomenclatura, associazione pallino-codice , codice-descrizione e Stampa (dell'ultimo foglio) dell' Elenco parti in altre lingue. Automatizzando dove possibile.

- nel dft di un asm ci possono essere vari richiami:
=> uso delle note: *A , *B, *C , ....
e in fondo al foglio metto le
Note:
*A: ita/eng
*B: ita/eng
....
(i libretti utilizzeranno gli stessi riferimenti nella lingua appropriata) sotto le figure scopiazzate.

premesso tutto questo e visto che non ho ancora allegato la macro che ho scritto, la allego oggi, può essere necessario un adattamento a seconda dei casi, usare notepad++ (linguaggio vb)

Macro ChooseLang : Alterna la visualizzazione dei livelli 'Italiano' e 'English' su tutti i fogli di lavoro (WorkingSection.Sheets) e i relativi fogli di sfondo (Background)
 

Allegati

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#5
io faccio come be_on_edge.
- Gli elenchi di parti danno problemi (dalla v20 ) non rimangono associate al loro livello ...
dal fresco-fresco readme di ST4 MP4:
===Draft===
PR 1878737: Layer is lost when Parts List is opened in ST2 or later
 

Luca70b16

Utente Junior
Professione: Progettista meccanico
Software: Solidedge V20
Regione: Marche
#6
Mi allaccio a questa discussione per proporre un altro sistema di cambio lingua in draft:
1 -nascondi livello e mostra livello per il cartiglio(= chooselang)
2- sostituire la colonna italiano con inglese nell' elenco parti
3- reimpostare titolo colonna(se differente in proprieta' personalizzate) e n° caratteri colonna per la colonna di sostituzione
4- salvare tavola in pdf una in ita una in eng

Il vantaggio e' avere un solo elenco parti da controllare dopo revisione.

Esempio pratico:elenco parti in italiano colonne "codice,descrizione,qt+" dove descrizione e' una prop. personalizzata,elenco parti inglese colonne "code,description,qt+" dove description e' una prop personalizzata;lo swich avviene sostituendo la colonna descrizione con description in elenco parti.

Fatta la premessa avrei bisogno di un aiuto o esempio su cui lavorare per automatizzare il processe che fin' ora ho sempre svolto manualmente.La macro dovrebbe quindi fare lo swich tra
-i cartigli tramite livello
- colonna italiano-inglese in elenco parti
-titolo colonna codice-code
-titolo colonna descrizione-description
-impostare numero caratteri colonna di sostituzione
-aggiornare elenco parti

Tutto questo riferito al foglio attivo,eventualmente si potrebbe valutare l' aggiunta di un shift per eseguirla su un draft multifoglio,quindi sequenzialmente su tutti gli elenchi parti presenti nei vari fogli con un unico comando.

Ringrazio anticipatamente a chiunque mi porti qualche esempio
 

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#7
Potresti ulteriormente semplificare inserendo in tabella sia la colonna descrizione in italiano che la colonna descrizione in inglese per poi tenere nascosta quella che non serve. In questo modo lo switch sull'elenco parti si limita a rinominare il titolo delle colonne (a proposito di solito in inglese si dice Part Number, code è il codice di un software) ed a mostrare\nascondere le colonne delle descrizioni.

Purtroppo in questo periodo non ho molto tempo, se riesco ti posto qualche riga di codice come esempio.

Ciao
 

Luca70b16

Utente Junior
Professione: Progettista meccanico
Software: Solidedge V20
Regione: Marche
#8
Grazie della risposta Be_on_edge,ho provato la tua soluzione( in tabella sia la colonna descrizione in italiano che la colonna descrizione in inglese per poi tenere nascosta quella che non serve),ma non riesco a nascondere la singola colonna in elenco parti,posso solo spostare l' intera tabella su altri livelli.Ho la V20,se mi sfugge qualcosa fammi sapere.

Ciao.
 

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#9
Grazie della risposta Be_on_edge,ho provato la tua soluzione( in tabella sia la colonna descrizione in italiano che la colonna descrizione in inglese per poi tenere nascosta quella che non serve),ma non riesco a nascondere la singola colonna in elenco parti,posso solo spostare l' intera tabella su altri livelli.Ho la V20,se mi sfugge qualcosa fammi sapere.

Ciao.
Forse non la V20 non c'è l'opzione o è solo da programmazione.

Ciao
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#10
Per non fare due controlli, non è più semplice se cancelli l'Elenco Parti in inglese, poi fai un copia incolla di quelli originale in italiano (che si trova sul livello Italiano), e mentre è selezionata la nuova copia appena incollata si seleziona la preimpostazione per l'elenco parti inglese (che avrai fatto), poi fa un Trasferisci sul Layer English.

Un minimo di controllo va sempre fatto perchè negli anni ho visto succedere di tutto.

Se possibile è meglio svincolare l'elenco parti in multilingua dal draft perchè mettiamo che hai dei part archiviati in sola lettura senza descrizione straniera, diventa complicato, inserire, aggiornare e verificare le descrizioni.
Intendo dire che se è possibile fornire la tabella come file a parte, io valuterei che non sia il caso di prendere una strada alternativa.
 

Luca70b16

Utente Junior
Professione: Progettista meccanico
Software: Solidedge V20
Regione: Marche
#11
Ho confrontato st8 e v20, in quest' ultima non e' presente l' opzione nascondi colonna.
Per vespa_83:
1-il sistema che proponi del copia-incolla-cancella mi crea problemi in quanto una tabella preimpostata non si porta dietro nuovi parametri di posizione(es altezza colonne) o componenti esclusi da elenco parti.Questa soluzione equivale all' aggiornamento della tabella inglese su altro livello.
2-Il controllo della tabella lo sto' attualmente gestendo in excel col confronto tra rapporti d'assieme e contenuti tabella del draft.
3-Il draft non e' multilingua e non ha revisione(e' unico),ma e' il pdf ad avere una versione ita ed una eng ed eventuali revisioni.
4-Non so se e' per "tradizione" o per comodita', ma come ufficio tecnico si forniscono libretti multitavola per ricambistica e processi produttivi;i primi vengono integrati dal manuale d' uso e manutenzione da altro ufficio e sono quelli che devo passare con la doppia lingua.

In conclusione proponevo la sostituzione della colonna lingua su un elenco parti gia controllato e riadeguato (posizione colonna,altezza max e ricorrenze escluse) per non ripetermi su un altro elenco in cui cambia solo la proprieta' lingua.
In parte sono penalizzato che con la v20 non posso legare un elenco parti ad una configurazione d' assieme.
Con questo sistema gestisco draft di 7-8 pagine senza problemi, voglio solo automatizzare in parte le procedure.
 

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#12
via programmazione sono sicuro che si può dire ad una colonna di restare visibile o nascosta, mi viene ora il dubbio che sia nella tabella normale e non l'elenco parti.
In ogni caso poco male, con una riga di codice si cambia l'impostazione della colonna descrizione per prenderla da quella in italiano a quella in inglese e viceversa (oltre a cambiargli il titolo).

Purtroppo non ho ancora avuto tempo di guardarci.

Ciao
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#13
si riesce a fare quello che chiedi, sembra facile ma per fare una cosa completa multifoglio serve molto tempo . Spulciando con Spy for SolidEdge

seleziono la Tabella Elenco Parti, in Spy vedo che ActiveSelectSet contiene un item di tipo PartsList che contiene Columns .
Per ogni colonna in Columns , sono editabili:
Header : nome della colonna
PropertyText : Richiamo = %{Descrizione Completa|G}

Luca70b16, te la cavi in programmazione?
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#14
se usi la mia macro chooseLang.wsf, dopo il Next a riga 128, puoi aggiungere questo.
se usi Notepad++ imposta Linguaggio / V / Visual Basic per una formattazione colorata del codice.

Esempio di codice per editare in lingua gli elenchi parti di un draft, va personalizzato secondo di propri nomi di Proprietà Personalizzate:
Codice:
		For Each Elenco In objDoc.PartsLists
			For Each Colonna in Elenco.Columns 
				If ShowToMe = "English" Then 
					' traduci da Italiano a Inglese
					' NOTA: forse è meglio eseguire l' IF sulla PropertyText invece che l'intestazione perchè nel tempo vari disegni potrebbero essere descritti diversamente.
					If     Colonna.Header = "Codice" Then
						Colonna.Header = "Part Number"
						'Colonna.PropertyText = "%{Codice|G}" ' di solito il codice è unico per le lingue
						
					ElseIf Colonna.Header = "Descrizione" Then
						Colonna.Header = "Part Name"
						Colonna.PropertyText = "%{Descrizione in inglese|G}"
						
					'ElseIf ...
					
					End If
					
				ElseIf ShowToMe = "Italiano" Then 
					' traduci da Inglese a Italiano (reversibilità)
					If     Colonna.Header = "Part Number" Then
						Colonna.Header = "Codice"
						'Colonna.PropertyText = "%{Codice|G}" ' di solito il codice è unico per le lingue
						
					ElseIf Colonna.Header = "Part Name" Then
						Colonna.Header = "Descrizione"
						Colonna.PropertyText = "%{Descrizione in italiano|G}"
						
					'ElseIf ...
					
					End If
					
				End If
			Next
			
			' Forza l'aggiornamento dell'Elenco
			Elenco.Update()
			
		Next
 

Luca70b16

Utente Junior
Professione: Progettista meccanico
Software: Solidedge V20
Regione: Marche
#15
Grazie per l'indizio vespa_83.
Come programmazione ho fatto diverse macro col visulbasic di excel, tutta roba semplice si intende,ma riesco a capire abbastanza bene il linguaggio.
Mi e' rimasto difficile trovare le proprieta' e gli oggetti nella guida sdk di solid edge ed anche caricando le librerie in excel non riuscivo a trovare proprieta' ed oggetti che mi servivano.
Dopo il tuo primo post ho dato un' occhiata con Spy for SolidEdge ma devo ancora capire bene come funziona.
Ora mi serve un po di tempo per adattare il tuo script alle mie esigenze, ma era proprio quello che mi serviva.

Vi terro' aggiornati, se avete altre novita' son bene accette.
 

Luca70b16

Utente Junior
Professione: Progettista meccanico
Software: Solidedge V20
Regione: Marche
#16
Sto testando la macro con la demo della v8 e sembra che fuzioni al mio scopo,vorrei ulteriormente perfezionarla nascondendo durante l' esecuzione della stessa gli aggiornamenti dello schermo, quale oggetto e proprieta' comandano lo schermo ?
 

Luca70b16

Utente Junior
Professione: Progettista meccanico
Software: Solidedge V20
Regione: Marche
#17
Provato sceenupdating ma mi aggiorna comunque la edge bar e si vede scorrere i nomi dei fogli