Bonjour @Cyril.f
La macro fonctionne uniquement si je créé la propriété SURFACE PIECE dans F8.
Si le champ n’est pas créé, rien ne se produit.
J’ai cherché comment créé le champ automatiquement, mais je bloque.
Voilà ce que j’ai essayé de bricoler sans réussite :
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt As ModelDocExtension
Dim swCustProp As CustomPropertyManager
Dim sMasse As String
Dim sValout As String
Dim sVal As String
Dim bRet As String
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swModelDocExt = swModel.Extension
Set swCustProp = swModelDocExt.CustomPropertyManager(« PC ») 'Si la propriété est dans l’onglet personnaliser, laisser vide en remplaçant « PC » par « »
bRet = swCustProp.Get6(« POIDS », False, sValout, sMasse, False, False) 'Récupération de la propriété de masse, changer le nom de la propriété en fonction de votre modèle
sVal = CStr(CDec(sMasse) * 2) 'Conversion du texte en valeur décimale, multiplication x RATIO et conversion en donné de type texte
'bRet = swCustProp.Set2(« SURFACE PIECE », sVal) 'Renseignement de la propriété SURFACE PIECE avec la valeur convertie en texte
bRet = swModel.AddCustomInfo3(« PC », « SURFACE PIECE », sVal)
End Sub
J’ai essayé avec cette commande, mais je pense que quelquechose cloche :
bRet = swModel.AddCustomInfo3(« PC », « SURFACE PIECE », sVal)
Est ce que vous avez une idée pour corriger cela s’il vous plait?