Propiétées spécifique à la config

Bonjour

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  >:(

1 « J'aime »

Bonjour.

Tu peux essayer Batch Custom Properties Program

Aller dans les options pour afficher les propriétés des Configs 

Bonjour,

Ce lien devrait vous aider

https://bluebyte.biz/macros/delete-all-properties-for-the-active-configuration-solidworks-macro/

 

Cordialement 

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.

1 « J'aime »

Merci pour vos réponses

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.

Pour effacer sur chaque config:

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

 

1 « J'aime »

Bonjour,

Sinon dans BatchProperties si tu mets * dans le nom de la propriété il supprime toutes les propriétés

Cela évite d'ouvrir les fichiers dans SOLIDWORKS pour lancer la macro et fait gagner du temps.

Bonne journée

Philippe

2 « J'aime »

Nickel

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.

Mille mercis !