Masowe odzyskiwanie za pomocą menedżera dokumentów

Cze wszystkim :slight_smile:

Biorąc pod uwagę responsywność wszystkich na tym forum, korzystam z okazji, aby zadać pytanie i nie utknąć na wiele godzin ...
Obecnie próbuję odzyskać masę części za pomocą Menedżera dokumentów, ale mam lekki problem!
Aby móc wyjaśnić to bardziej szczegółowo, oto kod:

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

Problem polega na tym, że dla niektórych części (bez możliwości znalezienia jakichkolwiek punktów wspólnych między tymi, które nie działają) tablica ' values ' jest wypełniona 0, podczas gdy nie mam błędu co do wartości ' result ' i ' bret '. A jak otwieram dokument na SW i patrzę na masę to nie jest zero, więc nie rozumiem w czym tkwi problem :confused:
Powinienem zaznaczyć, że sprawdziłem, czy wersja części jest również poprawna, jak wskazano w Pomocy API: Metoda GetMassProperties (ISwDMConfiguration) - 2022 - Pomoc SOLIDWORKS API

Czy ktoś ma w każdym razie trop?

Z góry dziękuję :smiley:

Pod względem konfiguracji?

Próbuję odzyskać masę części, a w przypadku menedżera dokumentów nie sądzę, aby istniał inny sposób, jak tylko przejście przez konfigurację danej części.

Witam;

Oto kilka wskazówek:

program jest w C#, ale myślę, że nie jest zbyt trudno przekonwertować go na VB...

W przeciwnym razie tutaj:

(Patrz przypis do obliczeń masy).

Pozdrowienia.

3 polubienia

Witam;

Po pewnych badaniach wydaje się, że odzyskiwanie mas na konfiguracjach jest uwarunkowane rekonstrukcją podzespołów.
Niestety " Menedżer dokumentów " wydaje się nie być w stanie tego zrobić, mówię o " rekonstrukcji 3D " za pomocą Solidworks lub, być może, przypisywaniu stałych mas do swoich komponentów, ale nie jest to zbyt święte...

Pozdrowienia.

Dziękujemy za Twoją opinię @Maclane !
Oparłem się już na tych liniach kodu, ahaha :slight_smile: CodeStack jest dobrym odniesieniem, gdy chcesz tworzyć makra w SolidWorks!

Jeśli chodzi o Twoją wiadomość poniżej, gdzie możesz znaleźć te informacje na temat rekonstrukcji 3D? ponieważ próbowałem na problematycznych plikach, o których mowa, aby je odbudować, a następnie próbowałem odzyskać masę za pomocą menedżera dokumentów, ale zawsze to samo...

1 polubienie

Witam;

Zebrałem te informacje z oficjalnego forum Solidworks (3Dexperience) za pomocą filtra " SWDM " (dla Menedżera dokumentów Solidworks).

2 polubienia