Macro x PDF

BOSCO '71

Utente Junior
Professione: PROGETTISTA MECCANICO
Software: Solid Edge - Inventor - Autocad
Regione: LOMBARDIA
#1
Scusate ho provato a fare una ricerca ma non ho trovato quello che mi serve ...

Nella mia azienda si è deciso di creare un archivio parallelo in formato .pdf per facilitare l'impiego dei files in sicurezza da parte dei vari enti ( acquisti, commerciale ecc... )

Se la cartella di destinazione è sempre la stessa non sarebbe possibile creare un pulsante "Salva PDF" che mi permette con un click di evitare di fare "Salva con nome" selezionare PDF e dargli la strada dove salvarlo ???

Grazie per l'eventuale interessamento.
 

Leso

Utente Standard
Professione: Ufficiale tecnico
Software: Solid Edge ST9
Regione: Veneto
#2
Vai in C:\Programmi\Solid Edge STXXX\Custom\Batch\Bin e troverai batch.exe. Dovrebbe bastare per fare quello che vuoi tu.
Ciao
 

BOSCO '71

Utente Junior
Professione: PROGETTISTA MECCANICO
Software: Solid Edge - Inventor - Autocad
Regione: LOMBARDIA
#3
Si hai ragione ed il file Batch.exe l'ho gia usato per trasformare, utilizzando una stampante PDF, i file che erano già in archivio.
Ora avrei bisogno di un pulsante in modo che tutte le volte che creo un nuovo .dft oltre a salvarlo ovviamente come dft possa con un comando salvarlo direttamente come .pdf in una cartella specifica in modo da automatizzare il salvataggio del file corrente.

Spero di essere stato chiaro...

ciao
 

BOSCO '71

Utente Junior
Professione: PROGETTISTA MECCANICO
Software: Solid Edge - Inventor - Autocad
Regione: LOMBARDIA
#4
Ho dimenticato di specificare che stò utilizzando la versione SE-20

ciao
 

gerod

Moderatore
Staff Forum
Professione: Libero professionista
Software: Solid Edge, Ansys DS, e altri ancora
Regione: Veneto
#8
Non ti conviene usare Power Toys?
Molto più flessibile, con un click ti stampa tutto quello che vuoi.
 

maxvfr

Utente poco attivo
Professione: progettazione meccanica di attrezzature subacquee
Software: SE ST2
Regione: italia
#9
ciao, hai mica trovato la soluzione al tuo problema? anche io ho la stessa necessità e mi interesserebbe un sistema del genere.
 

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#10
ciao, hai mica trovato la soluzione al tuo problema? anche io ho la stessa necessità e mi interesserebbe un sistema del genere.
Dovrebbe essere qualcosa del genere:

Codice:
Dim objApp As SolidEdgeFramework.Application
Dim objDft As SolidEdgeDraft.DraftDocument

Dim nome As String

Sub main()

    Set objApp = GetObject(, "SolidEdge.Application")
    Set objDft = objApp.ActiveDocument
    
    nome = (Left(objDft.FullName, Len(objDft) - 3)) + "pdf"
    
    Call objDft.SaveAs(nome)
    
    Set objDft = Nothing
    Set objApp = Nothing

End Sub
ricordarsi di aggiungere i riferimenti a:
SolidEdge Draft Type Library
SolidEdge Framework Type Library
 

BOSCO '71

Utente Junior
Professione: PROGETTISTA MECCANICO
Software: Solid Edge - Inventor - Autocad
Regione: LOMBARDIA
#11
ciao Be_on_edge ,

presumo che il " codice : "
che indichi serva a creare una Macro, ma aime io non ho dimestichezza in tal senso non avendo mai creato Macro ...
mi potresti dare qualche indicazione in più sul come procedere in tal senso?

Grazie:confused:
 

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#12
ciao Be_on_edge ,

presumo che il " codice : "
che indichi serva a creare una Macro, ma aime io non ho dimestichezza in tal senso non avendo mai creato Macro ...
mi potresti dare qualche indicazione in più sul come procedere in tal senso?

Grazie:confused:
Se ne è già parlato in passato.

Fai una ricerchina :biggrin:

Altrimenti in pausa pranzo te la compilo io, e la metto qui come allegato.

Ciao
 

BOSCO '71

Utente Junior
Professione: PROGETTISTA MECCANICO
Software: Solid Edge - Inventor - Autocad
Regione: LOMBARDIA
#13
Grazie
intanto io provo comunque a fare una ricerca

Ciao
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#14
Be_on_Edge: c'era un piccolo errore nel tuo codice (LEN sull'oggetto file e non sul nome ;-P)

Ho fatto la MACRO usando il codice di Be_on_Edge:
- viene salvato il dft
- viene salvata una copia in pdf

Potrai cosi aggiungere il pulsante alla Barra di accesso Rapido.

Il codice non è compilato: è scritto in linguaggio WSF (windows script file)

ed è facilemente consultabile e apportare piccole modifiche con Notepad++ (selezionare linguaggio VB)

può essere lanciato direttamente il file wsf, oppure visto gli utenti non esperti non ce la fanno, allora ho creato un exe che lancia il wsf con lo stesso nome presente nella stessa cartella
(NB: il exe non trova il wsf sui percorsi di rete, ma solo sui percorsi che iniziano tipo con E:\... ; C:\.... ecc... ) se si vuole mappare le macro sul server, è necessario mappare il percorso di rete come 'unità di rete'


Edit: cancellato allegato, per la versione aggiornata andare qui':

http://www.cad3d.it/forum1/showthread.php?24486-Macro-x-PDF&p=288238&viewfull=1#post288238
 
Ultima modifica da un moderatore:

maxvfr

Utente poco attivo
Professione: progettazione meccanica di attrezzature subacquee
Software: SE ST2
Regione: italia
#16
Grazie,
appena ho 2 minuti ci provo.

ciao.
 

BOSCO '71

Utente Junior
Professione: PROGETTISTA MECCANICO
Software: Solid Edge - Inventor - Autocad
Regione: LOMBARDIA
#17
Ciao Vespa_83
Grazie 1000

scusa se non ti ho risposto subito ma ero via per lavoro...

Ho provato la tua macro e funziona proprio come serve a me
ci sarebbe solamente un'ulteriore perfezionamento da fare se puoi aiutarmi ancora te ne sarò grato, ...

quando il file ha già un nome .dft lanciando la macro con un pulsante mi si crea il corrispondente file.pdf , ma quando il file è un nuovo .dft , cioè una nuova messa in tavola, selezionando direttamente la macro mi chiede il nome per il .dft e dove salvarlo ma non mi crea il corrispondente .pdf
cioè salva un file " drapdf " senza estensione.

Spero di essermi spiegato.

La mia intenzione è quella di sostituire il pulsante "Salva" con questa macro in modo da automatizzare, anche per i miei colleghi, il salvataggio solito con la creazione del corrispondente file .pdf soprattutto per i file nuovi.

ora basterebbe prima salvare con nome e poi lanciare la macro ma questo non mi da la garanzia che tutti i progettisti si ricordino di fare questa operazione.

ancora Grazie
ciao
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#19
apri Save+PDF.wsf con Notepad / Notepad ++

riga 35:
DA così:
nome = (Left(objDoc.FullName, Len(objDoc.FullName) - 3)) + "pdf"

Call objDoc.Save ' normale
Call objDoc.SaveAs(nome) ' sava con nome

A così:
Call objDoc.Save ' normale

nome = (Left(objDoc.FullName, Len(objDoc.FullName) - 3))

Call objDoc.SaveAs(nome + "pdf") ' sava con nome


ho spostato "pdf", così chi ha esigenze diverse (salvare più formati , diversi) riesce meglio a cambiare il codice sorgente.

Sul discorso di sostituire il salva normale non sono del tutto d'accordo: io ogni 20 minuti e dopo ogni cambiamento andato a buon fine salvo, se su un disegno ci sto 3 ore, è inutile salvare e sovrascrivere il 'pdf' 20 volte , quindi lo vedrei meglio come una specie di azione finale rilascio, modifica, ecc... , poi vedi tu, se il rallentamento non è significativo...
 

BOSCO '71

Utente Junior
Professione: PROGETTISTA MECCANICO
Software: Solid Edge - Inventor - Autocad
Regione: LOMBARDIA
#20
Ciao Vespa_83

Scusami di nuovo per il ritardo ma è un periodo così ...

Sono riuscito, grazie ai tuoi consigli, a crearmi la Macro su misura per le mie esigenze e Funziona alla grande :finger: sia per files nuovi che per files esistenti.

Grazie e ciao