Hallo @Cyril.f
Das Makro funktioniert nur, wenn ich die Eigenschaft SURFACE PIECE in F8 erstelle.
Wenn das Feld nicht erstellt wird, passiert nichts.
Ich habe nach Möglichkeiten gesucht, das Feld automatisch zu erstellen, aber ich komme nicht weiter.
Hier ist, woran ich erfolglos versucht habe herumzubasteln:
Option Explizit
Dim swApp als SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt als ModelDocExtension
Dim swCustProp As CustomPropertyManager
Sonne sMasse als Schnur
Dim sValout As String
Dim sVal As String
Dim bRet als Zeichenfolge
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swModelDocExt = swModel.Extension
Set swCustProp = swModelDocExt.CustomPropertyManager("PC") 'Wenn sich die Eigenschaft auf der Registerkarte "Anpassen" befindet, lassen Sie das Feld leer, indem Sie "PC" durch "" ersetzen
bRet = swCustProp.Get6', False, sValout, sMasse, False, False) 'Abrufen der Masseneigenschaft, Ändern des Namens der Eigenschaft entsprechend Ihrem Modell
sVal = CStr(CDec(sMass) * 2) 'Text in Dezimalwert umwandeln, x VERHÄLTNIS multiplizieren und in Textdaten umwandeln
'bRet = swCustProp.Set2("SURFACE PIECE", sVal) 'Füllen Sie die Eigenschaft SURFACE PIECE mit dem Wert, der in Text umgewandelt wurde
bRet = swModel.AddCustomInfo3("PC", "SURFACE PIECE", wert)
Ende Sub
Ich habe es mit diesem Befehl versucht, aber ich denke, etwas stimmt nicht:
bRet = swModel.AddCustomInfo3("PC", "SURFACE PIECE", wert)
Haben Sie bitte eine Idee, um das zu korrigieren?