Macro per comando "Posticipa Aggiornamenti" in tavola

Ilario

Utente Senior
Professione: Disegnatore CAD
Software: Inventor, AutoCAD
Regione: E. Romagna
#1
Ciao a tutti, una volta, quando usavo 32bit, usavo il comodissimo iAssembly Tools (la plug-in esterna, non quella standard di inventor) che mi dava una serie di comandi differenti in base all'ambiente di lavoro (quello con l'iconcina gialla e grigia raffigurante un martello e una chiave inglese per capirci). Questo plug-in aveva, in ambiente tavola, un comando a me utilissimo; quando lo cliccavo mi apriva una finestra dove poter mettere una spunta su una voce che ora non ricordo il nome, ma questa spunta mi attivava o disattivava l'opzione che altrimenti dovrei attivare o disattivare andando in impostazioni documento -> tab Disegno -> voce "posticipa Aggiornamenti". Ora a 64bit questa plug in non funge più.... sig.

Mi chiedevo se qualche manico di Macro o IVB mi riuscisse a creare una macro che mi faccia questa funzione, cioè mi basta un tastino che mi apra una finestrina (magari con piccola descrizione) e una spunta da mettere o togliere e sotto i bottoni classici OK, Annulla, Applica e che vada ad agire su quella funzione.

Chiedo troppo?

Grazie a tutti ;)
 

Tarkus

Utente Senior
Professione: Progettista,Disegnatore
Software: Autocad Mechanical,Inventor 2017,HyperMill2012
Regione: Toscana
#2
:36_1_4: La voglio anch'io !! :36_1_4:
 

Tarkus

Utente Senior
Professione: Progettista,Disegnatore
Software: Autocad Mechanical,Inventor 2017,HyperMill2012
Regione: Toscana
#4
Sempre a proposito di vincoli,capitera' anche a voi che durante il posizionamento dei vincoli, si debba spostare un componente per andare a cercare una faccia che e' infilata in qualche altra parte; solo che se tocchi il componente,viene selezionato per il vincolo,la faccia o lo spigolo che hai toccato.Esiste quindi la possibilita' di "sospendere" il comando vincolo per poter spostare il pezzo, e poi continuare il comando lasciato a meta? Che so', magari tenendo premuto il Ctrl o qualcosa del genere...
 

Ilario

Utente Senior
Professione: Disegnatore CAD
Software: Inventor, AutoCAD
Regione: E. Romagna
#5
Non so se ho capito cosa intendi, ma quando vuoi posizionare il primo vincolo, selezioni il componente da spostare cliccando e trascinando il componente (lui ovviamente selezionerà una faccia "sbagliata" e attiverà nella finestra vincoli il vincolo n°1) ora torni nella finestra di selezione vincoli e ri-selezioni il vincolo n°1.

Fai già così?

Però cosa centra con la Macro? Forse hai sbagliato thread? :)
 

Peppe

Utente Standard
Professione: Impiegato
Software: inventor
Regione: Emilia Romagna
#6
Sempre a proposito di vincoli,capitera' anche a voi che durante il posizionamento dei vincoli, si debba spostare un componente per andare a cercare una faccia che e' infilata in qualche altra parte; solo che se tocchi il componente,viene selezionato per il vincolo,la faccia o lo spigolo che hai toccato.Esiste quindi la possibilita' di "sospendere" il comando vincolo per poter spostare il pezzo, e poi continuare il comando lasciato a meta? Che so', magari tenendo premuto il Ctrl o qualcosa del genere...
Io di solito isolo momentaneamente i 2 componenti e li vincolo....
 

Tarkus

Utente Senior
Professione: Progettista,Disegnatore
Software: Autocad Mechanical,Inventor 2017,HyperMill2012
Regione: Toscana
#7
Non so se ho capito cosa intendi, ma quando vuoi posizionare il primo vincolo, selezioni il componente da spostare cliccando e trascinando il componente (lui ovviamente selezionerà una faccia "sbagliata" e attiverà nella finestra vincoli il vincolo n°1) ora torni nella finestra di selezione vincoli e ri-selezioni il vincolo n°1.

Fai già così?

Però cosa centra con la Macro? Forse hai sbagliato thread? :)
Hai ragione. E' meglio se apro un altro 3ad.
 

Ilario

Utente Senior
Professione: Disegnatore CAD
Software: Inventor, AutoCAD
Regione: E. Romagna
#8
Tornando alla Macro, fiduciosamente :) penso di poterla sviluppare nel week end e di avere già qualcosa ad inizio settimana prossima... Spero :)
 

stefanobruno

Moderatore
Staff Forum
Professione: Progettazione caotica e notturna e Seguace Anonimo di Shiren :)
Software: Inventor 2016 - Autocad ( read only ) - Rhino un pochino
Regione: Piemonte,Torino
#9
Sempre a proposito di vincoli,capitera' anche a voi che durante il posizionamento dei vincoli, si debba spostare un componente ...
Io, se è nascosto, lo sposto prima.
Ci metti un attimo e non hai ambiguità di selezione.
 
Ultima modifica:

Ilario

Utente Senior
Professione: Disegnatore CAD
Software: Inventor, AutoCAD
Regione: E. Romagna
#10
Ragazzi purtroppo non ce la faccio, non avendo mai programmato nemmeno un linguaggio mi risulta molto complicato. La cosa non è impossibile, anzi è una baggianata perché tutorializzando in giro con alcune cosa di VB qualcosa ci ho capito, ma ci vuole qualcuno con esperienza di programmazione altrimenti mi vorrà un mese solo per sta boiata... Magari tra un po' ci tornerò su come faccio sempre, ma per adesso mi arrendo...

Se volete cimentarvi in VB vi posto un link dove magari vi potete documentare un po'.

- Introduzione alla programmazione in generale: link
- Guida di Visual Basic: link
 

Daniele_69

Utente Junior
Professione: Tecnico
Software: Autocad, Mchanical, Inventor 2012
Regione: Piemonte
#11
Strumenti > Impostazioni documento > Scheda Disegno.
C'è una voce: Posticipa aggiornamenti.
Se è quello che cerchi basta che lo imposti nel template.
Ciao.
 

Ilario

Utente Senior
Professione: Disegnatore CAD
Software: Inventor, AutoCAD
Regione: E. Romagna
#12
Si certo, so dov'è :)

E' che una volta c'era una plug in che con 2 click la attivavi o la disattivavi e con una finestrina discreta che mentre era aperta potevi anche lavorare sul disegno e poi attivarla di nuovo senza dover andare nel percorso. Adesso bisogna andare proprio lì con 20 click, tenerti il finestrone aperto se vuoi controllare eventuali modifiche, e una volta applicato lo devi chiudere, fare quello che devi fare, poi riandare lì... si insomma, facevo meglio prima.

Impostarlo nel template non serve a niente, o almeno non c'entra con quello che dico io.
 

Catafratto

Utente Standard
Professione: Disegnatore/progettista
Software: Inventor 2016
Regione: Veneto
#13
Ciao, ho visto la tua richiesta ed ho fatto questa...
E' un po' spartana ma dovrebbe fare quanto chiedi, la copi in un modulo di progetto.applicazioni nell'editor VBA, poi ti crei l'iconetta sulla barra. Un cìlick attiva, uno disattiva. Non ho il 64 bit ma penso funzioni. Spero vada bene. Non controlla gli errori ma se la attivi in un disegno non dovrebbero essercene...

Buona giornata!
Luca


Public Sub SelayUpdate()
'Prende in esame il disegno attivo
Dim oDrw As DrawingDocument
Set oDrw = ThisApplication.ActiveDocument

'Setta/resetta lo spunto all'opzione Posticipa Aggiornamenti
If oDrw.DrawingSettings.DeferUpdates = True Then
oDrw.DrawingSettings.DeferUpdates = False
MsgBox ("Aggiornamenti posticipati DISATTIVATO")
Else
oDrw.DrawingSettings.DeferUpdates = True
MsgBox ("Aggiornamenti posticipati ATTIVATO")
End If

End Sub
 

Ilario

Utente Senior
Professione: Disegnatore CAD
Software: Inventor, AutoCAD
Regione: E. Romagna
#15
Guarda, è anche più semplice di come l'avevo pensata io e va più che benissimo così.

Grande e grazie mille.... finalmente.... grazie di cuore davvero :)
 

Ilario

Utente Senior
Professione: Disegnatore CAD
Software: Inventor, AutoCAD
Regione: E. Romagna
#18
Sai che ogni tanto mi si inchioda?

Nel senso, funziona e poi alla fine va, ma magari sta lì a pensarci e sta a "calcolare" un po'... da cosa può dipendere?
 

Catafratto

Utente Standard
Professione: Disegnatore/progettista
Software: Inventor 2016
Regione: Veneto
#19
Purtroppo non saprei dirti: sono uno "smanettone" autoditatta e non riesco a prevedere tutti gli effetti collaterali delle macro che preparo. In ogni caso questa mi pare tutto sommato innocente: sarebbe interessante capire se il rallentamento è generato dalla macro stessa o da quello che fa, ovvero se Inv va in "guru meditation" per effetto del Posticipa Aggiornamento e se ci andrebbe anche con un'impostazione del flag completamente manuale. A me tale ritardo talvolta accade quando modifico (senza macro, comandi standard) delle quote da un disegno appena aperto, per esempio... Ci dormirò sopra!
 

Ilario

Utente Senior
Professione: Disegnatore CAD
Software: Inventor, AutoCAD
Regione: E. Romagna
#20
Non saprei, il rallentamento all'aggiornamento della proprietà passando da POSTICIPATO a NON POSTICIPATO riferito alla ricarica del disegno ok, non è quella che intendo, ma al contrario da NON POSTICIPATO a POSTICIPATO non deve subire rallentamenti. Questo anche se lo eseguo a "mano".
Il fatto è che non è Inv che carica, ma la "clessidra" al posto della freccia....
Ho notato una cosa "strana". Se aspetto che la clessidra finisca di caricare senza fare niente ci mette una vita, se invece "shakero" il mouse sul Message Box, ci mette un secondo. Questo effettivamente mi risolve il problema, ma rimane il dubbio del perchè :)