Enregistrement de lot de plans en version antérieur

Bonjour à tous,
Je suis sur Solidworks 2024 Sp5 sur laquelle j’ai créé un ASM, des pièces et une cinquantaine de fichiers plans.

Je parviens à réaliser un « pack and go » en version antérieur (2022 et 2023) cependant cela n’est fonctionnel que pour les pièces et assemblage. Les mises en plans cochées et exportées via le « pack and Go » restent en 2024…

Aprés contact et échange avec le support la réponse est: « c’est le fonctionnement normal de solidworks » (comprendre: débrouillez vous! ça ne nous regarde pas!)

J’ai tenté le planificateur de tâche, j’ai tenté de passer par une macro… bref je suis sec!
La seule méthode qui fonctionne: c’est d’ouvrir les plans un a un, puis de les enregistrer en version antérieur.
Dans ma logique de féniant (et de qualité!) ça me semble impensable pour 50 plans ainsi que pour les projets futurs.

Quelquequ’un a t il trouvé une combine pour exploiter cette MAGNIFIQUE fonction « d’enregistrement en version antérieur » pour des lots de fichiers de mise en plan?

Merci d’avance!

Bonjour icome,
Ben je suis encore en 2022 SP4, je n’ai pas encore la possibilité de sauvegarde de version, mais voici ce que j’ai trouver sue le WEB=>Welcome to the SOLIDWORKS Web Help

Bon courage,
@+.
AR.

Réponse de l’IA:

Question Réponse
Bug connu ? :white_check_mark: Oui, largement signalé (mais pas reconnu officiellement comme bug)
Comportement normal ? :warning: Officiellement oui… mais très contesté
Correctif annoncé ? :x: Non
Contournement viable ? :white_check_mark: Macro VBA ou sauvegarde manuelle
Pack and Go fiable pour DRW rétro ? :x:

Solution macro VBA pour convertir un dossier de plan (Non testé sortie tel quel par IA copilot):

Option Explicit

Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim errors As Long
Dim warnings As Long

Sub main()

    Set swApp = Application.SldWorks

    ' ⚠️ MODIFIER LE CHEMIN DU DOSSIER ICI
    Dim folderPath As String
    folderPath = "C:\TEMP\Plans_2024"

    ' Choisir la version cible :
    ' swSaveAsVersion_e.swSaveAsCurrentVersion
    ' swSaveAsVersion_e.swSaveAs2023
    ' swSaveAsVersion_e.swSaveAs2022
    Dim targetVersion As Long
    targetVersion = swSaveAsVersion_e.swSaveAs2023

    Dim fileName As String
    fileName = Dir(folderPath & "\*.slddrw")

    Do While fileName <> ""

        Dim fullPath As String
        fullPath = folderPath & "\" & fileName

        Set swModel = swApp.OpenDoc6( _
            fullPath, _
            swDocumentTypes_e.swDocDRAWING, _
            swOpenDocOptions_e.swOpenDocOptions_Silent, _
            "", _
            errors, _
            warnings)

        If Not swModel Is Nothing Then

            swModel.ForceRebuild3 False

            Dim savePath As String
            savePath = folderPath & "\OLDVER_" & fileName

            swModel.SaveAs4 _
                savePath, _
                targetVersion, _
                swSaveAsOptions_e.swSaveAsOptions_Silent, _
                errors, _
                warnings

            swApp.CloseDoc swModel.GetTitle

        End If

        fileName = Dir
    Loop

    MsgBox "Conversion terminée !", vbInformation

End Sub

Pas possible pour moi de testé la macro car sw2023, mais le code semble correct à 1ère vue.

2 « J'aime »

Merci pour ta recherche!

Mais j’ai déjà passé quelques heure à tenter une macro avec copilot, avant qu’il me disent que c’est finalement impossible.

J’espère être passé a côté de quelquechose… :confused:

Essai et fait nous un retour, si bug et où (capture de l’erreur).
Si fonctionnalité (enregistrer en version antérieur) non existante dans l’API, on fera pas grand chose.
Si bug autre possiblement on pourra t’aider à débugger.

effectivement la fonctionnalité est inexistante en VBA…