Je recherche une macro qui permettrait de mettre à jour les propriétés SOLIDWORKS d'une configuration.
Actuellement j'utilise ces deux lignes de code pour remettre à jour les propriétés mais la mise à jour se fait sur le document et non sur une configuration spécifiée.
Au risque d'être un "peu lourd", pourquoi ne pas utiliser les Smartproperties (utilitaire Axemble en vente sur Lynkoa) plutôt que de lancer des macros (perso je ne maitrise pas, c'est peu être pour ça !!!!).
Pour les gens qui ne maitrisent pas la programmation des macros, ce type d'utilitaire c'est quand même ce que l'on fait de mieux,non?
Pour info, je ne touche pas un centime sur la vente de l'utilitaire Smartproperties !!!!!!!!!
Pour ce qui est de SMARTPROPERTIES je l'utilise. En fait j'ai un bouton dans le SMARTPROPERTIES qui lane une macro avec une requête SQL qui pointe vers l'ERP.
A partir des valeurs d'une propriétés je récupère quelques paramètres de l'ERP pour les remettre dans les propriétés SOLIDWORKS.
Voici un exemple qui complete la réponse de prossignol
J'utilise cette macro pour supprimer des propriétés dans toutes les configurations des pièces et des assemblages :
Option Explicit Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swModelDocExt As SldWorks.ModelDocExtension Dim swConfig As SldWorks.Configuration Dim swCustPropMgr As SldWorks.CustomPropertyManager Dim i As Long Dim vConfName As Variant Dim valOut As String
Public Enum swDocumentTypes_e swDocNONE = 0 ' Used to be TYPE_NONE swDocPART = 1 ' Used to be TYPE_PART swDocASSEMBLY = 2 ' Used to be TYPE_ASSEMBLY swDocDRAWING = 3 ' Used to be TYPE_DRAWING End Enum
Sub main()
Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc
'Suppression des proprietes dans l'onglet Spécifique à la configuration If swModel.GetType <> swDocDRAWING Then vConfName = swModel.GetConfigurationNames For i = 0 To UBound(vConfName) Set swConfig = swModel.GetConfigurationByName(vConfName(i)) 'Debug.Print " Configuration = " & vConfName(i) Set swCustPropMgr = swConfig.CustomPropertyManager