Massaherstel via Document Manager

Hoi allemaal :slight_smile:

Gezien het reactievermogen van iedereen op dit forum maak ik van deze gelegenheid gebruik om een vraag te stellen en niet urenlang vast te zitten ...
Ik probeer momenteel de massa van de onderdelen te herstellen via de Document Manager, maar ik ondervind een klein probleem!
Om het wat gedetailleerder uit te kunnen leggen, volgt hier de 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

Het probleem is dit: voor sommige delen (zonder dat ik gemeenschappelijke punten kan vinden tussen de delen die niet werken) is de array ' waarden ' gevuld met 0, terwijl ik geen fout heb op de waarden van ' resultaat ' en ' bret '. En als ik het document op SW open en ik kijk naar de massa, dan is het niet nul, dus ik begrijp niet waar het probleem vandaan komt :confused:
Ik moet erop wijzen dat ik heb geverifieerd dat de versie van het onderdeel ook correct is, zoals aangegeven in de API Help: GetMassProperties Method (ISwDMConfiguration) - 2022 - SOLIDWORKS API Help

Heeft iemand überhaupt een aanknopingspunt?

Bij voorbaat dank :smiley:

Qua configuraties?

Ik probeer de massa van het onderdeel te herstellen en met de documentmanager denk ik niet dat er een andere manier is dan inderdaad de configuratie van het betreffende onderdeel door te nemen.

Hallo;

Enkele tips hierom:

het programma is in C#, maar ik denk dat het niet zo moeilijk is om het om te zetten naar VB...

Anders hier:

(zie voetnoot voor massaberekeningen).

Vriendelijke groeten.

3 likes

Hallo;

Na wat onderzoek lijkt het erop dat het herstel van massa's op configuraties wordt bepaald door de reconstructie van de componenten.
Helaas lijkt " Document Manager " het niet te kunnen, ik heb het over " 3D reconstrueren" met Solidworks of, misschien, het toewijzen van vaste massa's aan uw componenten, maar het is niet erg heilig...

Vriendelijke groeten.

Bedankt voor je feedback @Maclane !
Ik heb me al op deze regels code gebaseerd, ahaha :slight_smile: CodeStack is een goede referentie als je macro's wilt maken op SolidWorks!

Wat betreft uw bericht hieronder, waar kunt u deze informatie vinden over de reconstructie van de 3D? omdat ik de problematische bestanden in kwestie heb geprobeerd ze opnieuw op te bouwen en vervolgens probeer de massa te herstellen via de documentbeheerder, maar altijd hetzelfde...

1 like

Hallo;

Ik heb deze informatie verzameld van het officiële Solidworks forum (3Dexperience) met de filter " SWDM " (voor Solidworks Document Manager).

2 likes