macro per esportare con condizione nel nome file

CyCop

Utente Junior
professione: Progettista Mecatronico
software: SolidWorks 2013, ProE WildFire 4
regione: Lombardia
No, le licenze e le installazioni sono tutte in locale.
Sostanzialmente io lavoro su una parte di progetti dove gli altri quasi non mettono mano, quindi perché non potrei usare solo io il pdm?
Dubito che scandagli i PC della rete x trovare altre licenze e forzare ad usare il pdm.
Poi, se in futuro vorranno usarlo anche loro, allora l'azienda metterà mano al portafogli e verrà un esperto ma credo che per una singola utenza ed installazione locale non dovrebbe essere così complicato.. o sbaglio?
 

meccanicamg

Utente Senior
professione: Mechanical engineer manager
software: SolidWorks, FreeCAD, NanoCAD5, Me10, Excel, LibreOffice
regione: Lombardia
Se i componenti sono comuni dentro e fuori pdm non possono esistere. Un codice, una sola entità. Inoltre i files nel pdm sono codificati criptati e inaccessibili senza pdm. Non si può mischiare la cosa. Aggiungeresti riferimenti che perderesti dopo l'estrazione da pdm con il pack and go....visto che maledettamente pure lui ha i suoi bug che non aiutano.
 

meccanicamg

Utente Senior
professione: Mechanical engineer manager
software: SolidWorks, FreeCAD, NanoCAD5, Me10, Excel, LibreOffice
regione: Lombardia
L'ottimo sarebbe implementare il pdm per tutti. I files subiscono ad ogni ceckin una versione incrementale con linduce di versione riprelevabile. Inoltre si possono fare anche le revisioni e gestire gli indici. Ma ti serve un esperto e un po' di soldi.
 

CyCop

Utente Junior
professione: Progettista Mecatronico
software: SolidWorks 2013, ProE WildFire 4
regione: Lombardia
Quindi scartato Explorer e scartato il pdm mi rimangono solo le macro chieste all'inizio... spero che qualcuno riesca ad aiutarmi.
 

Simon771

Utente Junior
professione: Tecnico
software: Solidworks 2016 - Autocad 2013
regione: Veneto
Seguo con attenzione... Anche da me stessa gestione delle revisioni... Per ora si ridanno i riferimenti nuovi man mano che vengono aperti gli assie.i... Però è un po uno sbattimento...
 

CyCop

Utente Junior
professione: Progettista Mecatronico
software: SolidWorks 2013, ProE WildFire 4
regione: Lombardia
Seguo con attenzione... Anche da me stessa gestione delle revisioni... Per ora si ridanno i riferimenti nuovi man mano che vengono aperti gli assie.i... Però è un po uno sbattimento...
Questo se ti ricordi di dover sostituire il pezzi. .. io ho decine di assieme composti da centinaia di componenti con dentro ancora le vecchie revisioni. Questo perché non rinominano il file, ma ne creano una copia con il nuovo nome per tenere anche la vecchia come storico, ovviamente rev vecchia e nuova nella stessa cartella..
 

jenuary

Utente Senior
professione: Progettista e Programmatore VB.Net
software: Solidworks
regione: Veneto
Dal mio punto di vista il pdm è sicuramente la soluzione ideale è sicura, altre cose se pur ben funzionanti rischiano di creare problemi prima di quanto si possa pensare.
In realtà, ma questa è la mia opinione, e sapete che sono un malato di sviluppo, una soluzione si potrebbe costruire.
Partendo dal presupposto che io quando sto progettando e voglio rinominare un particolare lo rinomina con una macro che mi propone il codice libero, il nome file cambia e se esiste una tavola associata viene cambiata con i nuovi riferimenti e rinominata a sua volta con lo stesso nome della parte.
Dopo questa premessa si potrebbe prima di rinominare fare una ricerca automatica nel server tramite le Api di windows, se troviamo uno o più file con lo stesso nome, li ricominciamo tavola compresa e cambiamo i riferimenti al loro assieme di riferimento.
È quello che fa il pdm, ma la scansione dei direttori in realtà viene fatta mediante l'indice del suo database, ed è molto veloce; con la macro si è più lenti, ma sempre più veloci che farlo a mano con Explorer.
Dico questo solo perché capisco anche CyCop, non sempre è giustificato il pdm, anche come costi, ma purtroppo una fettina di pdm non la vendono.
Queste soluzioni di solito non te propongono mai perché ognuno avrebbe la propria richiesta, e sarebbe molto difficile stare dietro a tutti, ma come ripeto, sono malato di sviluppo...tanto tanto malato....
 

CyCop

Utente Junior
professione: Progettista Mecatronico
software: SolidWorks 2013, ProE WildFire 4
regione: Lombardia
Jenuary mi sa che sei andato anche troppo oltre... un gestionale x la codifica già c'è (almeno quello) quindi i codici si prendono da quello.
La vera noia è sostituire le parti negli assieme e non credo che le api win riescano a farlo.
Domani con l'amministrazione di rete proviamo ad attivare l'indexing sul server per i file solidworks, vediamo se Explorer ne trae beneficio altrimenti torno all'idea delle macro del primo post.
 

CyCop

Utente Junior
professione: Progettista Mecatronico
software: SolidWorks 2013, ProE WildFire 4
regione: Lombardia
Le Api di win no ma quelle di Sw si...credimi...
Io ti credo anche... ma detta così non è che mi sia di grande aiuto...

Comunque sia, vi aggiorno sull'evoluzione delle prove se a qualcuno può interessare:
attivato l'indexing sul serve, indicizzato le cartelle dove risiedono i progetti specificando il controllo del nome e del contenuto per i file di solidworks
risultato:
windows trova i file in tempo quasi istantaneo, anche dalla ricerca nel menu start, ma solidworks explorer no... questo perchè sw explorer cerca SOLO nell'indice di windows mentre esplora risorse di win cerca anche negli indici dei server a cui è connesso, quindi quello che ho letto in altre discussioni è una cavolata.
PS: anche quello di settare la cartella remota come libreria con mklink etc... non funziona perchè non viene indicizzato nulla ugualmente.

A questo punto faccio un altro tentativo, tramite la funzione FILE OFFLINE di windows, creo una copia di tutte le cartelle progetti sul mio pc locale, così quelle le posso indicizzare, e imposto la sincronizzazione automatica ogni 5 minuti così non dovrei avere troppi problemi di disallineamento.
Tempo che indicizza 30 gigabyte di file credo che ci starà tutta la notte, domani vedrò se funziona...

Comunque, a parte la cazzata di microsoft di togliere l'index alle cartelle di rete, ritengo deprecabile che SW explorer sia così limitato, capisco che vogliano spingere verso il PDM ma mi sembra un po' esagerato...
 

jenuary

Utente Senior
professione: Progettista e Programmatore VB.Net
software: Solidworks
regione: Veneto
Io ti credo anche... ma detta così non è che mi sia di grande aiuto...

Te l'avevo detto solo perché con una rinomina del file dentro all'assieme in uso, potevi rinominarti il componente, la sua tavola e sostituire i riferimenti negli assiemi dove viene usato, le Api di Sw te lo permettono.
Mi sembrava di capire che forse tornavi alla soluzione macro e mi sono sentito di dirtelo, almeno sai che si può fare.
 

CyCop

Utente Junior
professione: Progettista Mecatronico
software: SolidWorks 2013, ProE WildFire 4
regione: Lombardia
Te l'avevo detto solo perché con una rinomina del file dentro all'assieme in uso, potevi rinominarti il componente, la sua tavola e sostituire i riferimenti negli assiemi dove viene usato, le Api di Sw te lo permettono.
Mi sembrava di capire che forse tornavi alla soluzione macro e mi sono sentito di dirtelo, almeno sai che si può fare.
Ah ok, quello lo sapevo, ma non mi risolve il problema di andare ad aggiornare gli altri assiemi dove c'è lo stesso componente da revisionare.

Domanda, ma sw explorer 2017 è compatibile con solidworks 2013? Magari l'hanno migliorato :confused:
 

jenuary

Utente Senior
professione: Progettista e Programmatore VB.Net
software: Solidworks
regione: Veneto
Ah ok, quello lo sapevo, ma non mi risolve il problema di andare ad aggiornare gli altri assiemi dove c'è lo stesso componente da revisionare.

Scusami ma forse non mi ero spiegato bene:
le Api di Sw mediante le SwDocumentManager ti permettono di sostituire i componenti dentro a qualsiasi assieme senza che sia aperto, anche se non hai Sw installato, quindi puoi fare tutto quello che ti serve da Api.
Utilizzi solo le Api di Win per cercare i file dentro alle cartelle del server.
 

CyCop

Utente Junior
professione: Progettista Mecatronico
software: SolidWorks 2013, ProE WildFire 4
regione: Lombardia
ok, ora ho capito, posso crearmi un explorer homemade che faccia quello che desidero... però non sono un programmatore, è difficile da fare? Nel caso mi potresti aiutare? Anche perchè l'help in linea è molto stitico...

Intanto aggiorno sulle prove:
dopo aver copiato in locale tutti i file progetto e averli indicizzati ora SWexplorer trova i file e i riferimenti dove è usato in un batter d'occhio, stavo quasi per esultare, ma...
Forse sono stupido io e non lo so usare, ma ecco cosa fa:
apro explorer, cerco il nome del file, escono i risultati del file e di dove viene usato nel tab [RISULTATI] e fin qui tutto ok....
clicco sul risultato che mi interessa e NON FA NULLA... non mi mostra le opzioni, i comandi, etc.. riferiti a quel file
Per poterci fare qualcosa devo tornare nel tab [FILE EXPLORER] scorrere tutte le cartelle fino ad arrivare a dove il file è posizionato (in locale) e a quel punto compaiono i comandi pack and go, sostituisci, rinomina, etc... ma (e qui ho invocato tutti i santi del calendario 2017) i riferimenti dove il componente è usato non li trova più velocemente come quando ho fatto la ricerca prima, no, ci mette di nuovo svariati minuti come se avessi ancora le cartelle non indicizzate...
Vi prego, ditemi che sono un cretino io e che ho sbagliato qualcosa perchè altrimenti vado alla sede della DS a spiegare ai loro sviluppatori come dovrebbero funzionare le cose... prima però passo in ferramenta a prendere l'abbecedario :mad:
 

Allegati

  • Immagine.png
    Immagine.png
    128.7 KB · Views : 15

jenuary

Utente Senior
professione: Progettista e Programmatore VB.Net
software: Solidworks
regione: Veneto
Non mi sono spiegato bene:
Devi crearti una macro che fa le seguenti cose, non un Explorer homemade:

Prerequisiti:
- Assieme aperto
- Selezioni il componente che vuoi rinominare

Lancio della macro:
- Mediante un form della macro ricavi il nome del componente e verifichi se ha tavole associate e dove è usato il componente (mediante api immagine allegata)
- Una volta trovato dove è usato, rinomini il file con il nome inserito nel form, cambi il nome e i riferimenti alla tavola.
- Per tutti gli assiemi in cui è usato, vai a sostituire il componente vecchio con quello appena rinominato.
- Salvi l'assieme aperto.

Non è una stupidata da fare, ma neanche così difficile, almeno sai che si può fare.

Come vedi puoi fare tutto da Sw senza andare su swExplorer che è una delle piaghe d'egitto....
 

Allegati

  • Dove usato.PNG
    Dove usato.PNG
    45.6 KB · Views : 14
  • Sostituisci componente.PNG
    Sostituisci componente.PNG
    52.3 KB · Views : 12

CyCop

Utente Junior
professione: Progettista Mecatronico
software: SolidWorks 2013, ProE WildFire 4
regione: Lombardia
- Mediante un form della macro ricavi il nome del componente e verifichi se ha tavole associate e dove è usato il componente (mediante api immagine allegata)
-

e con questo avrei replicato quello che fa il rinomina di swexplorer, ma la velocità di ricerca delle api degli altri assiemi dove è inserita la parte sarebbe migliore o uguale a quella di swexplorer? Perchè se è la stessa tanto vale usare il tool che già esiste, o sbaglio?
 

jenuary

Utente Senior
professione: Progettista e Programmatore VB.Net
software: Solidworks
regione: Veneto
In realtà dovrebbe essere molto più veloce, perché quella parte li lavora senza interfaccia utente e deve fare solo quello.
Avresti il grosso vantaggio che fai tutto dentro a Sw e tutto avviene in background senza abbandonare la fase di progettazione.
Le Api di ricerca sono le stesse usate da swexplorer.
Comunque vedi tu, io non voglio metterti in testa nulla, era solo un consiglio, visto che Explorer ti sembrava lungo.
 

Statistiche forum

Discussioni
59,428
Messaggi
506,278
Utenti registrati
111,281
Ultimo utente registrato
DanielMoore

Staff online

Utenti online

Top