Massenwiederherstellung über Document Manager

Hallo ihr alle :slight_smile:

Angesichts der Reaktionsfähigkeit aller in diesem Forum nutze ich diese Gelegenheit, um eine Frage zu stellen und nicht stundenlang stecken zu bleiben ...
Ich versuche gerade, die Masse der Teile über den Dokumentenmanager wiederherzustellen, aber ich habe ein kleines Problem!
Um das etwas genauer erklären zu können, hier der Code:

Const key As String = "CLEF_DOCUMENT_MANAGER"

Dim swDmClassFactory As SwDocumentMgr.swDmClassFactory
Dim swDmApp As SwDocumentMgr.SwDMApplication

Dim docType As SwDmDocumentType
Dim FilePath As String
Dim allowReadOnly As Boolean
Dim result As SwDmDocumentOpenError
Dim DocProp As SwDMDocument
Dim Config As SwDMConfiguration
Dim GestConfig As SwDMConfigurationMgr
Dim bret As SwDmMassPropError

Sub Test()

Set swDmClassFactory = CreateObject("SwDocumentMgr.SwDMClassFactory")

    If Not swDmClassFactory Is Nothing Then

        Set swDmApp = swDmClassFactory.GetApplication(key)
        FilePath = "CHEMIN_PRT"

                Set DocProp = swDmApp.GetDocument(FilePath, swDmDocumentPart, False, result)
                Set GestConfig = DocProp.ConfigurationManager
                Set Config=GestConfig.GetConfigurationByName(GestConfig.GetActiveConfigurationName)

                valeurs = Config.GetMassProperties(bret)
                Debug.Print "Masse : " & valeurs(5)
                DocProp.CloseDoc


    Else
        MsgBox "Erreur"
    End If


End Sub

Das Problem ist folgendes: Für einige Teile (ohne dass ich in der Lage bin, Gemeinsamkeiten zwischen denen zu finden, die nicht funktionieren) wird das Array ' values ' mit 0 gefüllt, während ich keinen Fehler bei den Werten von ' result ' und ' bret ' habe. Und wenn ich das Dokument in SW öffne und mir die Masse anschaue, ist sie nicht Null, also verstehe ich nicht, woher das Problem kommt :confused:
Ich sollte darauf hinweisen, dass ich überprüft habe, ob die Version des Teils auch korrekt ist, wie in der API-Hilfe angegeben: GetMassProperties-Methode (ISwDMConfiguration) - 2022 - SOLIDWORKS API-Hilfe

Hat irgendjemand irgendwie eine Spur?

Vielen Dank im Voraus :smiley:

In Bezug auf die Konfigurationen?

Ich versuche, die Masse des Teils wiederherzustellen, und mit dem Dokumentenmanager gibt es meiner Meinung nach keinen anderen Weg, als die Konfiguration des betreffenden Teils zu durchlaufen.

Hallo;

Hier einige Tipps:

das Programm ist in C #, aber ich denke, es ist nicht allzu schwierig, es in VB umzuwandeln...

Ansonsten hier:

(siehe Fußnote für Massenberechnungen).

Herzliche Grüße.

3 „Gefällt mir“

Hallo;

Nach einigen Recherchen scheint es, dass die Rückgewinnung von Massen auf Konfigurationen durch die Rekonstruktion der Komponenten bedingt ist.
Leider scheint " Document Manager " dazu nicht in der Lage zu sein, ich spreche von " Rekonstruktion von 3D " mit Solidworks oder vielleicht vom Zuweisen von festen Massen zu Ihren Komponenten, aber es ist nicht sehr heilig ...

Herzliche Grüße.

Vielen Dank für Ihr Feedback @Maclane !
Ich habe mich bereits auf diese Codezeilen gestützt, ahaha :slight_smile: CodeStack ist eine gute Referenz, wenn Sie Makros auf SolidWorks erstellen möchten!

Zu Ihrer Nachricht unten, wo können Sie diese Informationen über die Rekonstruktion des 3D finden? weil ich an den betreffenden problematischen Dateien versucht habe, sie neu aufzubauen und dann versuche, die Masse über den Dokumentenmanager wiederherzustellen, aber immer die gleiche...

1 „Gefällt mir“

Hallo;

Ich habe diese Informationen aus dem offiziellen Solidworks Forum (3Dexperience) mit dem Filter " SWDM " (für Solidworks Document Manager) entnommen.

2 „Gefällt mir“