Welkom @Cyril_f
De macro werkt alleen als ik de eigenschap SURFACE PIECE in F8 maak.
Als het veld niet wordt aangemaakt, gebeurt er niets.
Ik ben op zoek geweest naar hoe ik het veld automatisch kan maken, maar ik zit vast.
Dit is wat ik tevergeefs probeerde te sleutelen:
Optie Expliciete
Dim swApp als SldWorks.SldWorks
Dim swModel als SldWorks.ModelDoc2
Dim swModelDocExt als ModelDocExtension
Dim swCustProp als CustomPropertyManager
Zon sMass als snaar
Dim sValout als snaar
Dim sVal als snaar
Dim bRet als snaar
Sub hoofd()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swModelDocExt = swModel.Extension
Set swCustProp = swModelDocExt.CustomPropertyManager(" PC ") 'Als de eigenschap in het tabblad Aanpassen staat, laat dan dit leeg door ' PC ' te vervangen door ' '
bRet = swCustProp.Get6' , False, sValout, sMasse, False, False) 'Het ophalen van de massa-eigenschap, het wijzigen van de naam van de eigenschap om bij uw model te passen
sVal = CStr(CDec(sMass) * 2) 'Converteer tekst naar decimale waarde, vermenigvuldig x RATIO en converteer naar tekstgegevens
'bRet = swCustProp.Set2(" SURFACE PIECE ", sVal) 'Vul de eigenschap SURFACE PIECE in met de waarde geconverteerd naar tekst
bRet = swModel.AddCustomInfo3(" PC ", " SURFACE PIECE ", val)
Einde Sub
Ik heb het geprobeerd met deze opdracht, maar ik denk dat er iets mis is:
bRet = swModel.AddCustomInfo3(" PC ", " SURFACE PIECE ", val)
Heeft u een idee om dit alstublieft te corrigeren?