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 à 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,
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
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,