Bonjour à tous; Les etats d'affichages poluent mes fichiers "part" et "asm" (entre-autre à cause des dépliés, des mecanosoudés, et à chaques creations de configurations (il arrive que j'oubli de décocher la case "lier les apparences)). J'ai trouvé un bout de macro qui supprimer tous les etats d'affichages -sauf celui en cours- et décoche la case "Lier les etats d'apparences aux configurations"
[vb]
Dim swApp As Object
Dim part As Object
Dim boolstatus As Boolean
Dim longstatus As Long
Dim longwarnings As Long
Dim modelDoc As SldWorks.ModelDoc2
Sub main()
Set swApp = Application.SldWorks
Set modelDoc = swApp.ActiveDoc
Set part = swApp.ActiveDoc
boolstatus = modelDoc.RemoveAllDisplayStates
End Sub
[vb]
seulement cette macro ne fonctionne que sur les pièces. Saurriez-vous comment modifier le code pour que cela s'applique aussi bien aux pièces qu'aux assemblages ?
nota: en gardant en memoire que je suis une buse en macro solidworks....
oulala...je viens de m'appercevoir que la commande : "RemoveAllDisplayStates"
supprime aussi les apparences (celles du materiau courant) dans tous les etats d'affichages....c'est pas bon ça! Il vas falloir que je cherche autre chose.
> Removes all display states and appearances from this part document.
Je te laisse voir comment utiliser la fonction DeleteDisplayState dans la doc, il faut lui indiquer le nom de l'état d'affichage à supprimer. Pour faire ceci, il te faudra faire une boucle qui récupère tous les états d'affichage.