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

Run nelle macro

device0712

Utente poco attivo
Professione: sviluppo sw
Software: vs2008
Regione: emila romagna
#1
Buongiorno a tutti.
Qualcuno conosce , se esiste, un metodo per lanciare un eseguibile esterno a proe da una macro registrata? O comunque se esiste una possibilità di farlo in una qualche maniera?
Grazie
Device
 
Professione: Galoppino
Software: Creo/Windchill/Arbortext
Regione: Svizzera
#4
Grazie ozzi...ci proverò
Device
Niente.
Tra l'altro scusa se l'ho omesso ma se hai installato correttamente Creo o ProE, dovresti trovarti anche il pdf e degli esempi nella directory di installazione del programma sotto la cartella:
vbapi
Se non ce l'hai fai ripartire il ptc setup e nelle opzioni della categoria Toolkit API Toolkit, trovi la sottocategoria Visual Basic API.
 

device0712

Utente poco attivo
Professione: sviluppo sw
Software: vs2008
Regione: emila romagna
#5
Ho trovato più o meno tutto....sono riuscito a creare un programmino che si collega all'istanza del cad attiva (async) e a leggere la lista delle parti.
Ti volevo chiedere: come posso eseguire questo programma da dentro proe?
Esiste un modo per istruire proe a lanciare un exe esterno utilizando le istruzioni mapkey delle macro?
Questo solo per 'associarle' il mio exe ad un bottone cliccabile da cad.
Grazie e saluti
Device
 

nicksoft

Utente Standard
Professione: cad-pdm related
Software: Creo
Regione: Emilia Romagna
#6
Buongiorno a tutti.
Qualcuno conosce , se esiste, un metodo per lanciare un eseguibile esterno a proe da una macro registrata? O comunque se esiste una possibilità di farlo in una qualche maniera?
Grazie
Device
Le vb api ti permettono di leggere e scrivere la sessione di ProE, cosa molto utile.
Ma se la tua esigenza è SOLO quella di lanciare un eseguibile esterno, basta che crei una macro con questa sintassi:

mapkey lancia_notepad @SYSTEMnotepad;

Modificando il config.win (tasto destro sopra la barra delle icone) puoi creare facilmente un pulsante che punti alla tua macro.

Con questo sistema puoi chiaramente lanciare anche l'exe che hai fatto con le vb api

ciao
 

device0712

Utente poco attivo
Professione: sviluppo sw
Software: vs2008
Regione: emila romagna
#8
Ciao nicksoft.
Ho provato con le tue indicazioni....col notepad tutto ok
ho inserito questa macro che però non funziona:
mapkey lancia_mio_exe @SYSTEMC:\mdl_prd\s_ProE\MatchDistintaWin\Debug\MatchDistintaWin.exe;

probabilmente scrivo male il path dell'exe che devo lanciare.....servono degli apici o cose simili per identificare il comando exe??


Saluti e grazie
Device
 

device0712

Utente poco attivo
Professione: sviluppo sw
Software: vs2008
Regione: emila romagna
#9
Ciao nicksoft.
Sono riuscito a lanciare il mio eseguibile vbnet da una macro come mi avevi indicato....però ho un problema....si blocca tutto mandando il messaggio allegato.
Sembra esserci un problema legato alla sincronia.
Se lancio l'exe vbnet senza passare da pro/e va tutto bene, si collega e fa quello che deve, se lo eseguo da pro/e invece si blocca tutto...
cosa sto sbagliando?
Questa la macro di pro/e:
mapkey lancia_mio_exe @SYSTEMC:\\mdl_prd\\s_ProE\\MatchDistinta\\MatchDistinta\\bin\\Debug\\MatchDistinta.exe;
Questo il codice vbnet che uso per la connessione:
Private session As IpfcBaseSession
Dim asyncConnection As IpfcAsyncConnection = Nothing
asyncConnection = (New CCpfcAsyncConnection).Connect(Nothing, Nothing, ".", 5)
session = asyncConnection.Session


Puoi aiutarmi?
Saluti e grazie
Device
 

Allegati

nicksoft

Utente Standard
Professione: cad-pdm related
Software: Creo
Regione: Emilia Romagna
#10
Ciao nicksoft.
Sono riuscito a lanciare il mio eseguibile vbnet da una macro come mi avevi indicato....però ho un problema....si blocca tutto mandando il messaggio allegato.
Sembra esserci un problema legato alla sincronia.
Se lancio l'exe vbnet senza passare da pro/e va tutto bene, si collega e fa quello che deve, se lo eseguo da pro/e invece si blocca tutto...
cosa sto sbagliando?
Questa la macro di pro/e:
mapkey lancia_mio_exe @SYSTEMC:\\mdl_prd\\s_ProE\\MatchDistinta\\MatchDistinta\\bin\\Debug\\MatchDistinta.exe;
Questo il codice vbnet che uso per la connessione:
Private session As IpfcBaseSession
Dim asyncConnection As IpfcAsyncConnection = Nothing
asyncConnection = (New CCpfcAsyncConnection).Connect(Nothing, Nothing, ".", 5)
session = asyncConnection.Session


Puoi aiutarmi?
Saluti e grazie
Device
Non avevo mai provato a lanciare un programma fatto con le vb api da dentro ProE; anche a me da lo stesso errore, mentre da "fuori" ProE funziona bene.
Si vede che da dentro non riesce a raggiungere il COM server per una qualche sua limitazione..
 
Professione: ingegnere meccanico
Software: Creo 3.0 M090
Regione: emilia romagna
#11
Io ho risolto facendo lanciare a Pro\e una .bat il quale mi lancia l'eseguibile desiderato.
Penso che l'errore sia dovuto al fato che se si lancia direttamente il .exe Pro\e non riesca a chiudere "in tempo" la finestra del DOS e quindi abbia ancora quell'operazione attiva, che si sovrappone a quello che vorrebbe fare l'eseguibile.
Lanciando il .bat invece sembra che gli dia il tempo di terminare la macro e quindi non va in conflitto.
Questa soluzione l'ho utilizzata per fare la macro che apre automaticamente la tavola della parte attiva lanciando da dentro pro\e OPENDRW

spero di essere stato utile