Rafraîchissement graphique VBA solidworks

Bonjour à tous,

 

Comment fait-on pour annuler le rafraîchissement graphique sur le VBA solidworks ? comme sur VBA excel code "application.screenupdating = false"

Merci d'avance pour vos réponses,

 

Julien.

 

Bonjour,

En enregistrant une macro et en faisant clic droit sur le nom d'un assemblage puis en sélectionnant "Interrompre la  reconstruction automatique", j'ai obtenu ce code :

Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = _
Application.SldWorks

Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Asemblage.SLDASM", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
Part.EnableAssemblyRebuild = True
End Sub

La commande à utiliser est donc Part.EnableAssemblyRebuild = True

Salut,

OptiSW : Ce n'est pas ce que cherche Julien.

La commande  EnableAssemblyRebuild  suspend seulement la reconstruction comme indiqué ici : http://help.solidworks.com/2016/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.iassemblydoc~enableassemblyrebuild.html

 

Julien :

Plusieurs options sont décrites ici : http://help.solidworks.com/2016/english/api/sldworksapi/solidworks_visible_or_background_example_vb.htm

Perso j'utilise : swApp.Visible = True. Mais cela ne correspond pas tout à fait au ScreenUdating d'Excel. Puisque cela rend invisible l'application au lieu de la figer...

Désolé pour la réponse tardive,

 

en effet ce n'est pas tout à fait ce que je cherche,

 

J'ai fait quelques recherches sur internet et il existe ceci "EnableGraphicsUpdate" mais cela ne fonctionne pas dans mon code,

1 « J'aime »

Salut,

Normal car la méthode EnableGraphicsUpdate  ne s'applique pas à l'application mais au ModelView qui n'est que la réprésentation de ton modèle.

Voir ici : http://help.solidworks.com/2016/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.imodelview~enablegraphicsupdate.html

1 « J'aime »

Salut,

 

Donc il n'y pas de code qui empêche le rafraîchissement graphique pour l'application directement,

 

le but était de gagner du temps de calcul car sur ma macro j'insére une note, je crée un PDF de la mise en plan et je supprime la note à la fin,

s'il n'y a pas de solution tant pis je laisserai la macro comme elle est actuellement,

 

Merci pour vos réponses,