Hallo
Ist es möglich, eine benutzerdefinierte Eigenschaft per Makro hinzuzufügen, in der Tat habe ich alte Teile eines großen Ordners, die keine "MASS" "SW-Masse@mapiece.SLDPRT" oder "DESCRIPTION" "text" Eigenschaften haben, es wäre schneller, sie durch ein kleines Makro hinzuzufügen.
Wenn jemand einen Start für einen Track hat, wäre es schön, ich konnte nichts im Forum finden.
Herzliche Grüße.
1 „Gefällt mir“
Danke Olivier42,
Ja, praktisch, aber Sie können "SW-Masse@" nicht zuweisen, und ich bevorzuge es, dies bei jedem Teil, den ich ändere, zu tun.
Herzliche Grüße
Hallo
wenn Sie dies tun, während Sie die Teile austauschen; Kopieren und Einfügen sollte ausreichen.
1 „Gefällt mir“
Hallo
Vielen Dank d.roger für Ihren sehr interessanten Punkt, nach vielen Basteleien habe ich es geschafft, ein Makro zu erstellen, das funktioniert! Das Problem ist, dass ich nicht nur der Konfiguration, sondern auch den allgemeinen Eigenschaften Eigenschaften hinzufügen möchte und hier kann ich es nicht tun.
Wenn du mir helfen könntest, wäre es schön.
Herzliche Grüße
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
Sie sollten den Konfigurationsnamen nicht in die swCustPropMgr.Add2-Optionen einfügen. Wenn Sie den Namen conf leer lassen, gelangen Sie in die allgemeinen Eigenschaften.
Hallo
Hier ist ein kleines Beispiel, mit dem Sie alle Konfigurationen ausfüllen können, einschließlich allgemeiner Eigenschaften:
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
Herzliche Grüße
4 „Gefällt mir“
Danke D.Roger, ich versuche es heute Abend...
Aufrichtig
Hallo
Ich bin wieder bei der Gebühr, weil ich es schaffe, die "DESIGNATION"-Informationen in den allgemeinen Eigenschaften abzurufen:
Att = swModel.GetCustomInfoValue("", "DESIGNATION")
Aber wie lautet der Befehl, um diese Informationen abzurufen, wenn sich die Eigenschaft "DESIGNATION" speziell in einer (Standard-)Konfiguration befindet?
Danke für Ihre Hilfe...
Cyril.f informierte mich.
Vielen Dank
Vielen Dank d.roger, es funktioniert perfekt!!
Top-Mitwirkender im Makrobereich!!
Aufrichtig