Hallo
Is het mogelijk om een aangepaste eigenschap toe te voegen door middel van een macro, ik heb inderdaad oude delen van een grote map die geen "MASS" "SW-Masse@mapiece.SLDPRT" of "DESCRIPTION" "tekst" eigenschappen hebben, het zou sneller zijn om ze toe te voegen door een kleine macro.
Als iemand een begin van een track zou het leuk zijn, ik kon niets vinden op het forum.
Vriendelijke groeten.
1 like
Dank je wel Olivier42,
Ja, handig, maar je kunt geen "SW-Masse@" toewijzen, en ik geef er de voorkeur aan om het te doen terwijl ik bezig ben met elk onderdeel dat ik aanpas.
Vriendelijke groeten
Hallo
als u dit doet terwijl u de onderdelen vervangt; Kopiëren en plakken zou het moeten doen.
1 like
Hallo
Bedankt d.roger voor je zeer interessante punt, na veel sleutelen ben ik erin geslaagd om een macro te maken die werkt! Het probleem is dat ik niet alleen eigenschappen aan de configuratie wil toevoegen, maar ook aan de algemene eigenschappen en hier kan ik dat niet.
Als je me zou kunnen helpen, zou het leuk zijn.
Vriendelijke groeten
Option Explicit
Public Enum swCustomInfoType_e
swCustomInfoUnknown = 0
swCustomInfoText = 30
swCustomInfoDate = 64
swCustomInfoNumber = 3
swCustomInfoDouble = 5
swCustomInfoYesOrNo = 11
End Enum
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swConfigMgr As SldWorks.ConfigurationManager
Dim swConfig As SldWorks.Configuration
Dim swCustPropMgr As SldWorks.CustomPropertyManager
Dim retVal As Long
Dim noma As String
Dim nomb As String
Dim nom As String
Dim Att As String
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swConfigMgr = swModel.ConfigurationManager
Set swConfig = swConfigMgr.ActiveConfiguration
noma = swModel.GetTitle
nom = noma & """"
nomb = """"
Att = swModel.GetCustomInfoValue("", "DESIGNATION")
Set swCustPropMgr = swConfig.CustomPropertyManager
' Add custom property MASSE ET DESIGNATION to this configuration
retVal = swCustPropMgr.Add2("MASSE", swCustomInfoText, nomb & "SW-Mass@" & nom)
retVal = swCustPropMgr.Add2("DESCRIPTION", swCustomInfoText, Att)
End Sub
Hallo
U moet de configuratienaam niet in de opties swCustPropMgr.Add2 plaatsen. Als je de naam conf leeg laat, gaat het naar de algemene eigenschappen.
Hallo
Hier is een klein voorbeeld waarmee u alle configuraties kunt invullen, inclusief algemene eigenschappen:
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt As ModelDocExtension
Dim configNames() As String
Dim configName As String
Dim swConfig As SldWorks.Configuration
Dim cusPropMgr As SldWorks.CustomPropertyManager
Dim i As Long
Dim retVal As Long
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
configNames = swModel.GetConfigurationNames
For i = 0 To UBound(configNames)
configName = configNames(i)
Set swConfig = swModel.GetConfigurationByName(configName)
Set swCustPropMgr = swConfig.CustomPropertyManager
retVal = swCustPropMgr.Add2("MASSE", swCustomInfoText, """SW-Mass@@Défaut@Plaque-2.SLDPRT""")
retVal = swCustPropMgr.Add2("DESCRIPTION", swCustomInfoText, "Ma désignation")
Next i
Set swModelDocExt = swModel.Extension
Set swCustPropMgr = swModelDocExt.CustomPropertyManager("")
retVal = swCustPropMgr.Add2("MASSE", swCustomInfoText, """SW-Mass@@Défaut@Plaque-2.SLDPRT""")
retVal = swCustPropMgr.Add2("DESCRIPTION", swCustomInfoText, "Ma désignation")
End Sub
Vriendelijke groeten
4 likes
Dank je wel d.roger, ik probeer het vanavond...
Oprecht
Hallo
Ik ben terug bij de aanklacht omdat het me lukt om de "AANDUIDING" info op te halen in de algemene eigenschappen:
Att = swModel.GetCustomInfoValue("", "DESIGNATION")
Maar wat is het commando om deze informatie op te halen als de eigenschap "DESIGNATION" specifiek in een (standaard) configuratie staat.
Bedankt voor je hulp...
Cyril.f informeerde me.
Bedankt
Heel erg bedankt d.roger, het werkt perfect!!
Top bijdrager in macro!
Oprecht