existe t-il un moyen d'effacer toutes les propriétés "spécifiques à la configuration" d'un lot de pièces, au mayen d'un outil SW, Mycad, ou d'une macro? ou ne serai-ce que de mettre en évidence le fait qu'il existe une ou des propriétés "spécifiques à la configuration"?
C'est vraiment pénible d'avoir un bullage dans un plan d'ensemble qui vient chercher ces propriétés alors qu'on a tout rempli proprement avec smartbom ou batchproperties >:(
Avec batchProperties mettre le nom de la propriété (1) ou des propriétés à effacer avec @Delete (2) comme valeur puis dans les options (3) dans applications des propriétés choisir sur toutes les configurations puis appliquer aux lot de pièces ou assemblages.
J'ai opté pour la version macro de yannick.petit, afin de pouvoir l'utiliser dans Mycad intégration. L'autre avantage est que je n'ai pas a spécifier le nom des propriétés à supprimer.
J'ai modifié légèrement le code pour supprimer la demande de confirmation manuelle.
Idéalement il faudrait que je la modifie encore pour que ce agisse sur toutes les config, et pas seulement celle active.
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swConfig As SldWorks.Configuration
Dim swCustPropMgr As SldWorks.CustomPropertyManager
Dim vPropNames As Variant
Dim vPropName As Variant
Dim configNames As Variant
Dim configName As Variant
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
configNames = swModel.GetConfigurationNames
For Each configName In configNames
Set swConfig = swModel.GetConfigurationByName(configName)
Set swCustPropMgr = swConfig.CustomPropertyManager
vPropNames = swCustPropMgr.GetNames
For Each vPropName In vPropNames
swCustPropMgr.Delete vPropName
Next
Next
End Sub
C'est vrai que batch à l'avantage d'être quasi instantané.
je rends aussi la macro car il est pas rare que je passe mon assemblage a la moulinette de toute façon. y intégrer cette fonction en plus ne coute pas cher.