Dans le cadre d'un projet, j'ai une macro assez longue à effectuer (création de plusieurs plans + esquisses) à répéter en boucle. Tout fonctionne mais lentement, très lentement. A chaque étape de calcul (relancement de ma boucle) j'efface la construction précédente pour alléger le modèle. De plus, à chaque création de plan ou d'esquisse je la masque (Part.BlankRefGeom ou Part.BlankSketch). Or voici mon problème : le programme étant toujours lent (du en parti au fait SW créé le plan ou l'esquisse puis après seulement le masque du coup l'étape de construction apparait tout de même un court instant et crame de la ressource), avez vous une technique pour complètement masquer la construction (demander à SW de ne pas l'afficher) ?
Pouvez-vous décrire votre problème car si vous posez cette question cela laisse à penser que vous avez une difficulté avec la syntaxe.
(peut être une petite attention aux espaces avant et après le signe égal aussi attention à la casse des lettres si cela à de l'importance ( swApp.xxx) )
Dis nous ou cel abloque cela doit être surligné normalement.
Oui cela fonctionne mais en respectant quelques règles à voir ici dans le chapitre "Remarks", en tenant compte que "ISldWorks::UserControl" est égal à True par défaut quand Solidworks n'est pas lancé par ton programme.
Donc pour rendre Solidworks invisible si celui-ci n'est pas lancé par ton programme, il ne faut pas qu'il y ait de document ouvert dans Solidworks et mettre "swApp.UserControl = False" avant la ligne "swApp.Visible = False".
Attention, si tu quittes ton programme avec Solidworks invisible, celui-ci restera ouvert mais en mode invisible donc il faut penser soit à le rendre visible soit à le fermer avant de quitter ton programme.