Hoe het onderdeel of subassemblage in een staat van herstel te zien

Hallo vrienden. Ik hoop dat ik je niet stoor!

Ik weet niet meer hoe ik het moet doen. Het is een ASM in een andere, grotere ASM. Het moet gezegd worden dat ik solidworks niet meer intensief gebruik :innocent:
Dit is de boodschap die naar boven komt als ik iets wil invoegen

image

Vriendelijke groeten

Hoi @Zozo_mp ,
Hier is een gids van Visitiv CH:

Of een gelijkwaardig onderwerp dat ik had beantwoord:

3 likes

Hallo @Zozo_mp , blij je weer :grinning: te lezen;

Ik heb je een kleine macro te bieden:
=> Hiermee kunt u het eerste document in een herstelstatus identificeren (dat meerdere keren opnieuw moet worden opgestart als er zich andere gebeurtenissen voordoen).

Dim swApp As SldWorks.SldWorks               'Objet principal de l’application SolidWorks
Dim swDoc As SldWorks.ModelDoc2              'Objet de type document (pièce, assemblage, mise en plan…)
Dim swFeat As Feature                        'Objet représentant une fonction (feature) dans l’arbre
Dim sList As String                          'Chaîne de caractères pour stocker les informations

Sub main()

    'Connexion à l’instance de SolidWorks
    Set swApp = Application.SldWorks
    
    'Récupère le premier document ouvert dans SolidWorks
    Set swDoc = swApp.GetFirstDocument
    
    'Initialise la chaîne vide
    sList = ""
    FileName = ""
    'Boucle sur tous les documents ouverts
    While Not swDoc Is Nothing
        
        'Récupère la première fonction en partant du bas de l’arbre des fonctions
        Set swFeat = swDoc.FeatureByPositionReverse(0)
        
        'Teste si le document est "en reprise" (rollback mode)
        If (swFeat.IsRolledBack = True) Then
            'Ajoute le chemin complet du document à la liste
            sList = sList & vbCrLf & swDoc.GetPathName
            
            'Récupère uniquement le nom du fichier avec extension
            FileName = swDoc.GetTitle
            
            'Stop   'Instr de debug (pause)
        End If
        
        'Passe au document suivant ouvert
        Set swDoc = swDoc.GetNext
    Wend
If FileName = "" Then FileName = "Pas de Documents trouvé."
    'Affiche un message avec le dernier document trouvé en reprise
    MsgBox "Document en état de Reprise: " & vbCrLf & FileName

End Sub



Opmerking: In Solidworks 2022 is het mogelijk om deze staat te herstellen zodra de assemblage wordt geopend:
image

Vriendelijke groeten.

1 like

Bedankt voor de antwoorden.

Uiteindelijk had ik een beestachtige methode gebruikt voor je uitstekende antwoorden

1°) Ik heb een totaal lege ASM gemaakt
2°) Ik had in een tweede venster waarin ik de recalcitrante ASM had
3°) Ik nam de subsets één voor één van het tweede venster naar de lege ASM totdat het bericht verscheen.
Toen opende ik de recalcitrante s/s asm en ik verplaatste elk stuk naar de lege ASM en ik maakte een kleine wijziging op een dimensie en ik hervatte in de recalcitrante sub ASM en boem, de pb verdween. Uit voorzorg heb ik de recalcitrante sub-asm in quarantaine geplaatst en een oude versie van de sub-asm genomen en ze identiek gemaakt aan de versie die in quarantaine was geplaatst.
Sindsdien werkt het naar behoren. Oef :crazy_face:

Dus nogmaals bedankt voor je hulp! Ik bewaar een kopie van uw antwoorden. :wink:

3 likes