Macro x PDF

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#21
Save+PDF v.0.2
v.0.2 apportate modifiche consigliate nei post precedenti

nb: nel linguaggio "vb" carattere di apostrofo ' indica che il testo che segue è un commento.

Aprire il file con notepad++ e aggiungere/togliere l'apostrofo di commento alle istruzioni di "salva" secondo le proprie esigenze.

Dentro lo zip c'è un exe che fa partire il file wsf (windows script file) che ha lo stesso nome dell'exe.


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:

giotama

Utente Standard
Professione: Ingegnere
Software: Solid Edge
Regione: Emilia Romagna
#22
Grazie ! è perfetto, me lo sono messo come pulsante nella barra di accesso rapido e penso mi sarà estremamente utile!
 

bladina

Utente Junior
Professione: più lavoro meno ne sò
Software: SOLID EDGE ST8
Regione: marche PU
#23
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'
ciao Vespa 83
scusa ma non mastico molto il vbese
mi servirebbe salvare il pdf su una cartella che non sia la stessa del dft
grazie
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#24
mi servirebbe salvare il pdf su una cartella che non sia la stessa del dft. grazie
Ho strutturato il codice per inserire arbitrariamente il percorso
Codice:
percorso = "C:\Mia Cartella"
Ho incluso un esempio con i percorsi relativi
Codice:
percorso = curPath + "\..\DWG"
si potrebbe mettere anche una casella testo di dialogo ma perderebbe molto in comodità e utilità (lo fa già SolidEdge!).

Suppongo che in alcune realtà aziendali l'archivio pdf/dwg sia strutturato e customizzato: per esigenze particolari è meglio sentire il parere di un programmatore che analizzi le realtà e i problemi specifici.

note di utilizzo: vedi post precedente

nb: scorre sempre tutto il post per trovare l'ultima versione disponibile
 

Allegati

dedo

Utente Junior
Professione: Disegnatore
Software: Solid Edge ST7
Regione: Veneto
#25
Buongiorno a tutti, scusate l'ignoranza ma come si installa questa macro? O come viene messa in funzione?
Grazie
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#26
Ci sono tanti modi:
il più comodo sicuramente è descritto nella guida di solid edge alla sezione: "Personalizzare SoliEdge\Personalizzare la barra degli strumenti Accesso rapido\Aggiungere comandi alla barra degli strumenti Accesso rapido"
 

dedo

Utente Junior
Professione: Disegnatore
Software: Solid Edge ST7
Regione: Veneto
#28
Scusami Vespa83....
E' possibile utilizzare il bottone "Salva" già presente in Solid Edge? Perchè per ora nella barra a nastro mi fa creare un bottone nuovo per lanciare la macro...
E se io volessi fare la stampa in pdf con la chiusura del file invece del salvataggio?
Grazie ancora per la disponibilità....
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#29
dedo, se apri il file .wsf con notepad (o notepad++) noterai che è un file sorgente che non ha bisogno di essere compilato.
sono elencati dei comandi che vengono eseguiti successivamente.
Puoi aggiungere quello che ti serve entrando nel fatidico mondo della programmazione.
Per chiudere il documento corrente dichiarato come objDoc è sufficiente scrivere:
Call objDoc.Close()
prima del rilascio dell'oggetto.
se non va, o togli le parentesi -visto che non sono necessari argomenti- oppure togli il Call.

Queste funzioni sono da intendersi come estensioni e/o personalizzazioni del programma di base (che va conosciuto e approfondito sempre), poi ognuno si imposta il proprio modo di lavorare.
 

delki

Utente Standard
Professione: Tecnical Support e Formazione su Solid Edge e SolidRules
Software: Solid Edge, Visual Basic .NET, SolidRules: InCentro, Desk, Configurator Manufactoring, Studio
Regione: Veneto
#31
Scusami Vespa83....
E' possibile utilizzare il bottone "Salva" già presente in Solid Edge? Perchè per ora nella barra a nastro mi fa creare un bottone nuovo per lanciare la macro...
E se io volessi fare la stampa in pdf con la chiusura del file invece del salvataggio?
Grazie ancora per la disponibilità....
Ciao, per fare quanto chiedi è necessario sviluppare un ADD-IN a Solid Edge, cosa non facilissima. In commercio esistono delle soluzioni che già fanno questo, e molto altro ancora.
Il link qui di seguito http://www.ccsteam.it/prodotti/solidrules potrebbe tornarti utile, se poi sei un mio cliente chiamami e senza impegno posso darti tutte le informazioni del caso.
 

dedo

Utente Junior
Professione: Disegnatore
Software: Solid Edge ST7
Regione: Veneto
#32
Ciao, per fare quanto chiedi è necessario sviluppare un ADD-IN a Solid Edge, cosa non facilissima. In commercio esistono delle soluzioni che già fanno questo, e molto altro ancora.
Il link qui di seguito http://www.ccsteam.it/prodotti/solidrules potrebbe tornarti utile, se poi sei un mio cliente chiamami e senza impegno posso darti tutte le informazioni del caso.
Grazie Delki, sono un cliente sì e ci siamo già sentiti per questo problema perchè la soluzione di ccsteam non fa ciò che dovrebbe fare. Intanto per tamponare credo che possa essere sufficiente una macro semplicissima come questa. Ti ringrazio per la disponibilità.
 

delki

Utente Standard
Professione: Tecnical Support e Formazione su Solid Edge e SolidRules
Software: Solid Edge, Visual Basic .NET, SolidRules: InCentro, Desk, Configurator Manufactoring, Studio
Regione: Veneto
#33
Grazie Delki, sono un cliente sì e ci siamo già sentiti per questo problema perchè la soluzione di ccsteam non fa ciò che dovrebbe fare. Intanto per tamponare credo che possa essere sufficiente una macro semplicissima come questa. Ti ringrazio per la disponibilità.
Ciao, scusa ma non ho capito chi sei dal nik, ho dedotto che potessi essere cliente solo perché veneto. Non sò quindi se hai parlato com me o un collega, comunque da quello che ho letto SolidRules l'unica cosa che non fa è la generazione del PDF alla chiusura del file, cosa che personalmente trovo sensata, in quanto la chiusura di un file senza il salvataggio vorrebbe dire avere un PDF differente dalla tavola. Per il resto ti auguro Buon Lavoro!
 

dedo

Utente Junior
Professione: Disegnatore
Software: Solid Edge ST7
Regione: Veneto
#34
da quello che ho letto SolidRules l'unica cosa che non fa è la generazione del PDF alla chiusura del file, cosa che personalmente trovo sensata, in quanto la chiusura di un file senza il salvataggio vorrebbe dire avere un PDF differente dalla tavola.
Sono Edin di Linea Light. Sì in effetti Solid Rules è un ottimo prodotto, io mi riferivo alla Share PDF che sarebbe ottima più che altro perchè costa uno sproposito in meno considerando le necessità dell'azienda. Solid Rules fa molto di più certo.
Ciao
 

delki

Utente Standard
Professione: Tecnical Support e Formazione su Solid Edge e SolidRules
Software: Solid Edge, Visual Basic .NET, SolidRules: InCentro, Desk, Configurator Manufactoring, Studio
Regione: Veneto
#35
Sono Edin di Linea Light. Sì in effetti Solid Rules è un ottimo prodotto, io mi riferivo alla Share PDF che sarebbe ottima più che altro perchè costa uno sproposito in meno considerando le necessità dell'azienda. Solid Rules fa molto di più certo.
Ciao
Buongiorno,

Share PDF ormai non viene più sviluppato, è un prodotto che andrà in dismissione "naturale". Solid Rules è stato implementato con funzionalità di VAULTING che personalmente trovo molto interessanti, una "sbirciatina" al nuovo prodotto (senza impegno ovviamente) io la darei.
 

dedo

Utente Junior
Professione: Disegnatore
Software: Solid Edge ST7
Regione: Veneto
#36
...una "sbirciatina" al nuovo prodotto (senza impegno ovviamente) io la darei.
Certo, già visto la demo del nuovo prodotto. Grazie comunque per i consigli.
A questo punto.... qualcuno usa Solid Rules Incentro??? Cosa ne pensate?
Grazie a tutti
 

delki

Utente Standard
Professione: Tecnical Support e Formazione su Solid Edge e SolidRules
Software: Solid Edge, Visual Basic .NET, SolidRules: InCentro, Desk, Configurator Manufactoring, Studio
Regione: Veneto
#37
Certo, già visto la demo del nuovo prodotto. Grazie comunque per i consigli.
A questo punto.... qualcuno usa Solid Rules Incentro??? Cosa ne pensate?
Grazie a tutti
Per avere informazioni in merito suggerisco di aprire una discussione apposita, così la richiesta è n po troppo "seppellita" da altre!
 

radio

Moderatore
Staff Forum
Professione: Progettista (credevo...)
Software: Solid Edge ST7
Regione: Lombardia
#38
Grazie a vespa_83 per questa macro.
Sulle nostre installazioni non funzionava, lavoriamo con Insight e per qualche motivo quando cercavo di salvare in locale mi dava errore sulla funzione (o quello che è) "Left"
A forza di prove e con un po' di fortuna l'ho modificata in questo modo:

.............
Dim objDoc

Dim nome 'As String
Dim percorso 'As String

' Create/get the application with specific settings
' On Error Resume Next
Set objApp = GetObject(, "SolidEdge.Application")
' On Error Resume Next
Set objDoc = objApp.ActiveDocument

Call objDoc.Save ' normale, messo prima del nome per i file nuovi viene correttamente chiesto di dare il nome

' Ricava solo il nome file
nome = objDoc.Name

' percorso di default
percorso = "c:\a" 'esempio: "C:\Mia Cartella"

' Togliere o Aggiungere l'apostrofo a inizio della riga per disabilitare/abilitare l'istruzione
' le righe che iniziano con apostrofo sono righe di commento

Call objDoc.SaveAs(percorso + "\" + nome + "." + "pdf") ' salva con nome

' Esempio di come si imposta un altro percorso, prima di salvare in un altro formato:
'percorso = "C:\Mia Cartella"

Call objDoc.SaveAs(percorso + "\" + nome + "." + "dxf") ' salva con nome
..............

Ora funziona a meraviglia.

Ciao.
 

radio

Moderatore
Staff Forum
Professione: Progettista (credevo...)
Software: Solid Edge ST7
Regione: Lombardia
#39
.......

Ora funziona a meraviglia.

.....
Come non detto, la macro funziona ma mi salva i file con la doppia estensione (es. nomefile.dft.pdf). :frown:
C'è qualche aima pia che mi spiega come modificare la lmacro per fare in modo di isolare la radice de nome file?
In pratica nome = objDoc.Name mi restituisce nomefile.dft, è possibile ottenere solo nomefile?

P.S. Ho provato con nome = objDoc.Namenoextension ma non sono stato compreso! :biggrin:

Ciao.
 

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#40
Come non detto, la macro funziona ma mi salva i file con la doppia estensione (es. nomefile.dft.pdf). :frown:
C'è qualche aima pia che mi spiega come modificare la lmacro per fare in modo di isolare la radice de nome file?
In pratica nome = objDoc.Name mi restituisce nomefile.dft, è possibile ottenere solo nomefile?

P.S. Ho provato con nome = objDoc.Namenoextension ma non sono stato compreso! :biggrin:

Ciao.
nome = Left (objDoc.Name, Len(objDoc.Name) -4)