Macros nei modelli templates

Tarkus

Utente Senior
Professione: Progettista,Disegnatore
Software: Autocad Mechanical,Inventor 2017,HyperMill2012
Regione: Toscana
#1
Salve a tutti ,:smile:
riallacciandomi ad una discussione precedente, volevo chiedervi questo:
Ho caricato tramite l'editor di visual basic una macro trovata in http://www.kwikmcad.com/icode/macros.asp ,che crea una feature per il disegno in schizzo delle asole.
La macro funziona bene,pero' devo ricaricarla tutte le volte che apro Inv.
Invece vorrei che facesse parte in "pianta stabile" dei miei templates .ipt e .iam
Ho provato a caricare la macro nei miei modelli, ma niente,quando chiudo Inv,la macro viene eliminata.:confused:
Qualcuno sa come fare a caricare stabilmente le macro in un file?
E magari (esageriamo):biggrin::biggrin: creare delle icone da piazzare nelle barre di comando in modo da richiamarle come un normale comando?
Saluti
Tarkus
 

Ilario

Utente Senior
Professione: Disegnatore CAD
Software: Inventor, AutoCAD
Regione: E. Romagna
#2
Come dice nel link stesso (l'inglese, l'inglese.... :)) per avere sempre disponibile la macro bisogna inserire il codice nel progetto di default in modo da averlo sempre disponibile in tutte le sessioni.

Quindi:
Strumenti -> Macro -> Editor Visual basic

Nella parte SX in alto "Progetto Applicazione", espandere Modules e doppio click su Module1

Si apre un editor di testo nuovo. Li dentro va inserito il codice Basic dei comandi da immettere, come nel caso di questa macro del link, basta copiaincollare il codice ed inserirlo lì dentro, chiudere la finestra editor e salvare (occhio salvare nella finestra editor Visual Basic).

Nel caso si abbiano più macro da voler inserire, o si creano nuovi Moduli con tasto dx sulla cartella Modules e scegliendo Insert -> Module e procedendo copia/incolla come prima, oppure se si ha già un file da importare .bas .frm o .cls , tasto DX sulla cartella Modules e sciegliere import File. L'importante per avere sempre caricate le funzioni in VB inserire i moduli nel progetto di default.

Per avere le funzioni come icone:
Tasto DX in una barra strumenti -> Personalizza

Questo è un mio consiglio per tenere in ordine, ma non è necessario, ognuno può personalizzare come meglio crede, tab Barre degli strumenti cliccare su Nuova e inserire il nome Macro. Ora avremo una nuova barra vuota di nome Macro, evidenziarla e cliccare su Mostra (apparirà in alto a SX dello schermo).

Andare nella tab Comandi e nella finestra Categorie cercare la voce Macro, una volta evidenziata appariranno sulla DX tutti i moduli caricati nell'editor VB, prenderli uno per uno e inserirli trascinandoli nella nuova barra di prima (oppure in una posizione comoda su un'altra barra dell'ambiente preferito).

Fine, al clic sul comando si avrà la funzione della macro specifica.

Non ho capito come cambiare l'icona in base alla macro, forse bisoga agire sul VB, ma non intendendomene non lo so, se dovessi capirlo ve lo dico :).
 
Ultima modifica:

Tarkus

Utente Senior
Professione: Progettista,Disegnatore
Software: Autocad Mechanical,Inventor 2017,HyperMill2012
Regione: Toscana
#3
Mannaggia mannaggia,l'inglese e' una mia lacuna,ai miei tempi andava in voga lo studio del :frown: francese,e poi in anni piu' recenti non ho avuto piu' tempo per approfondire l'inglese.
Comunque grazie per le dritte,domani,hoops,lunedi' ci provo.
Buonn fine settimana (tempo permettendo):biggrin::biggrin:
Tarkus
P.S.:
Per "codice" intendi tutto il testo della macro?
 
Ultima modifica:

Ilario

Utente Senior
Professione: Disegnatore CAD
Software: Inventor, AutoCAD
Regione: E. Romagna
#4
Si il codice è tutto quello che c'è scritto nel file di testo della macro, infatti se editi i file di macro con un normale notepad vedi il "codice", quello che comunque è scritto in carattere diverso in quel link che hai segnalato.
 

Tarkus

Utente Senior
Professione: Progettista,Disegnatore
Software: Autocad Mechanical,Inventor 2017,HyperMill2012
Regione: Toscana
#5
Si il codice è tutto quello che c'è scritto nel file di testo della macro, infatti se editi i file di macro con un normale notepad vedi il "codice", quello che comunque è scritto in carattere diverso in quel link che hai segnalato.
Salve,inizio la tortura::biggrin:
Credo di aver fatto bene,ma evidentemente sbaglio qualcosa,comunque:
Quando ho incollato il codice,ho poi salvato da Visual :File->Save C:\Program Files\Autodesk\Inventor 2009\Bin\Macros\Default.ivb. Era questo il salvataggio che intendevi?
Pero' se apro il mio template e vado in Visual basic vedo che nel module1 sotto Progetto applicazione,e' contenuto tutto il codice della macro,ma se clicco su run o se apro l'elenco delle macro dal tab strumenti,lo trovo vuoto,come e' vuota la voce macro su categorie del tab comandi (barre applicazioni.:confused::confused:
Mentre per la creazione della nuova barra il procedimento ha prodotto il risultato giusto.(per l'icona vedremo in futuro)
Ti chiedo quindi dove ho sbagliato.
 

Ilario

Utente Senior
Professione: Disegnatore CAD
Software: Inventor, AutoCAD
Regione: E. Romagna
#6
Non lo so dove hai sbagliato, io non ho editato il file nel percorso, bensì ho aperto inventor, ho chiuso la finestra di "Apri" e sono andato in Strumenti -> Macro -> Editor VB.
A questo punto ho fatto tutto quello che ho elencato prima salvando con il dischettino in alto a SX (penso che sia lo stesso che intendevi tu... però a me fa vedere la macro...

Non so,provo a vedere stasera di postarti qualche Stamp...
 

Ilario

Utente Senior
Professione: Disegnatore CAD
Software: Inventor, AutoCAD
Regione: E. Romagna
#7
Ho solo un piccolo dubbio, prima che mi metta a strippare per fare gli screenshot... com'è possibile che sei riuscito a mettere l'icona ma non a vedere la macro nella finestra macro? La voce nelle icone esce se la macro esiste, quindi come fa a esserci l'icona ma non la macro?

Non è che nella finestra macro nella tendina dove scegliere il percorso da cui pescarla (in basso) devi evidenziare o "Tutti i progetti attivi" o "Progetto Applicazione"?
 

Tarkus

Utente Senior
Professione: Progettista,Disegnatore
Software: Autocad Mechanical,Inventor 2017,HyperMill2012
Regione: Toscana
#8
Ho solo un piccolo dubbio, prima che mi metta a strippare per fare gli screenshot... com'è possibile che sei riuscito a mettere l'icona ma non a vedere la macro nella finestra macro? La voce nelle icone esce se la macro esiste, quindi come fa a esserci l'icona ma non la macro?

Non è che nella finestra macro nella tendina dove scegliere il percorso da cui pescarla (in basso) devi evidenziare o "Tutti i progetti attivi" o "Progetto Applicazione"?
No,non ho messo l'icona,ho semplicemente creato la barra chiamata Macros nella quale dovrei copiare le macro,che non vedo,se non ho capito male.
Cmq,per capire se faccio giusto:
Ho incollato il codice qui:...............e ho salvato qui:
 

Allegati

Ilario

Utente Senior
Professione: Disegnatore CAD
Software: Inventor, AutoCAD
Regione: E. Romagna
#9
Si, le zone son giuste, ma da quello che mi sembra di vedere, il module1 non è vuoto, forse è per quello, non mi intendo di VB, ma da quello che ho intuito ogni macro necessita di un "module" dedicato dove andranno incollate le stringhe da "public sub" fino a "end Sub".

Per una nuova macro bisognerà creare un nuovo Module.
 

Tarkus

Utente Senior
Professione: Progettista,Disegnatore
Software: Autocad Mechanical,Inventor 2017,HyperMill2012
Regione: Toscana
#10
Si, le zone son giuste, ma da quello che mi sembra di vedere, il module1 non è vuoto, forse è per quello, non mi intendo di VB, ma da quello che ho intuito ogni macro necessita di un "module" dedicato dove andranno incollate le stringhe da "public sub" fino a "end Sub".

Per una nuova macro bisognerà creare un nuovo Module.
Ho trovato un altra strada: :finger:
Apro il VB,poi,File->Carica progetto,scelgo la macro scaricata da KWIK e la apro,mi crea un nodo di Progetto col nome della macro sopra al ProgettoApplicazione.In questo nodo sono contenute due icone che dovrebbero essere il modulo e la UserForm della macro caricata. ;a questo punto ho trascinato le due icone nel sottostante ProgettoApplicazione,dove di sono copiate automaticamente.
Di nuovo in File->scarica progetto e ho scaricato la macro caricata.
E' sparito il Progetto-macro ma sono rimaste le due icone copiate in ProgettoApplicazione.
Salvato e finalmente la macro e' visibile nell'elenco.Funziona!!!
:4441:
Ho quindi eseguito i passi che dicevi tu per avere l'icona nella barra comandi creata.
Inoltre,dal momento che si parlava di una macro per disegnare delle asole in schizzo,mi sono copiato l'icona della macro direttamente nella barra dei comandi dello Schizzo.E anche qui funziona a dovere.
Grazie ancora delle dritte. :36_1_11:
Tarkus
 

Ilario

Utente Senior
Professione: Disegnatore CAD
Software: Inventor, AutoCAD
Regione: E. Romagna
#11
Dunque, nella prima immagine in editor VB ho copiancollato il codice del link nel "module1" salvando.

Nella seconda immagine, per fare una prova e darti un esempio, ho creato un nuovo "module2" dove ho incollato pari pari lo stesso codice dando un nome diverso alla macro come puoi vedre aggiungendo "_Prova2" al titolo della macro (puoi vedere le due ellissi rosse che evidenziano la differenza) poi ho salvato.

Nella terza immagine ti ho fatto medere come le due macro con i due nomi diversi appaiano nella finestra macro con i due nomi modificati come nell'editing del codice VB.
 
Ultima modifica:

Tarkus

Utente Senior
Professione: Progettista,Disegnatore
Software: Autocad Mechanical,Inventor 2017,HyperMill2012
Regione: Toscana
#12
Dunque, nella prima immagine in editor VB ho copiancollato il codice del link nel "module1" salvando.
......................................
nell'editing del codice VB.
Due parole ancora sulle macro:
Ho incollato con la procedura che dicevi tu, la macro del tuo esempio (copiandone il testo dal sito) e, salvando il file e' rimasta subito in elenco.
Se chiudo e riapro continua a far parte del file.
Evidentemente c'e' qualche diversita' tra la macro "Faces As PartRenderStyle"
e i testi delle macro ottenuti da files .ibv dezzippati. (*)
Comunque la mia procedura mi da' il risultato voluto e tanto mi basta.
Piuttosto, se un problema rimane, e' quello di poter editare il bitmam dell'icona di macro, perche nella stessa barra strumenti,ti ritrovi piu' comandi-macro con la stessa icona.....

(*) :confused: Forse il problema e' la procedura con cui ottengo il testo della macro dal file .ivb :

-Carico il progetto della macro che mi interessa e quidi mi appare il testo nella finestra di destra del VB.
-Lo copio.
-scarico il progetto
-Incollo il testo nella pagina destra vuota di module 1 sotto progetto applicazione.
-Salvo

Di nuovo
Saluti
Tarkus

P.S. Che fine ha fatto la mosca? ti e' forse volata via dall'atavar?:biggrin::biggrin:
 

Ilario

Utente Senior
Professione: Disegnatore CAD
Software: Inventor, AutoCAD
Regione: E. Romagna
#13
Ho notato anche io qualcosa che non va con altre macro in .ivb, però ripeto che non sono esperto di VB, quindi non so dove agire di preciso, nemmeno per le icone, quello che son riuscito a fare si limita a quello che ho spiegato.... di più n'inzò :).

P.S.: ho ricevuto diverse intimidazioni (scherzose ovviamente) riguardo la mosca e ho dovuto toglierla.... :D.