Makro zum Hinzufügen einer Eigenschaft

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“

Taskplaner: Aktualisierung der Eigenschaft

http://help.solidworks.com/2016/french/SolidWorks/sldworks/HIDD_TASK_CUSTOM_PROPS.htm?id=b4a248bb4ed54a87a79966b065a1d4f4#Pg0&ProductType=&ProductName=

 

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

Schauen Sie http://help.solidworks.com/2016/English/api/sldworksapi/Get_Custom_Properties_for_Configuration_Example_VB.htm, es gibt ein Beispiel für eine Ergänzung.

Herzliche Grüße

2 „Gefällt mir“

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

Vielen Dank d.roger, es funktioniert perfekt!!

Top-Mitwirkender im Makrobereich!!

Aufrichtig

1 „Gefällt mir“

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