Een batch plannen opslaan in een eerdere versie

Hallo allemaal,
Ik zit op Solidworks 2024 Sp5 waarop ik een ASM, onderdelen en ongeveer vijftig planbestanden heb gemaakt.

Het is me gelukt om in de vorige versie (2022 en 2023) een " pack and go " te maken, maar dit functioneert alleen voor onderdelen en assemblage. De tekeningen gecontroleerd en geëxporteerd via de " pack and go " blijven in 2024...

Na contact en uitwisseling met de support is het antwoord: " dit is de normale werking van Solidworks " (begrijp het: ga door! het is niet onze zaak!)

Ik heb de taakplanner geprobeerd, ik probeerde een macro te doorlopen... Kortom, ik ben droog!
De enige methode die werkt is om de plannen één voor één te openen en ze vervolgens in een eerdere versie op te slaan.
Volgens mijn redenering van fenicant (en kwaliteit!) lijkt het mij ondenkbaar voor 50 shots en voor toekomstige projecten.

Heeft iemand een truc gevonden om deze GEWELDIGE functie " als vroege versie opslaan" te benutten voor batches tekenbestanden?

Alvast bedankt!

Hallo icome,
Nou, ik zit nog steeds in 2022 SP4, ik heb nog niet de mogelijkheid om de versie op te slaan, maar dit is wat ik vond op het WEB=>Welkom bij de SOLIDWORKS Web Help

Succes,
@+.
AR.

AI-reactie:

Vraag Antwoord
Bekende bug? :white_check_mark: Ja, breed gemeld (maar niet officieel erkend als een bug)
Normaal gedrag? :warning: Officieel wel... maar zeer betwist
Reparatie aangekondigd? :x: Nee
Een levensvatbare workaround? :white_check_mark: VBA-macro of handmatige back-up
Betrouwbaar pak-en-go voor retro DRW? :x:

VBA-macrooplossing om een planmap te converteren (niet getest output zoals het is door AI 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

Het is voor mij niet mogelijk om de macro te testen vanwege sw2023, maar de code lijkt op het eerste gezicht correct.

2 likes

Bedankt voor je zoektocht!

Maar ik heb al een paar uur een macro met Copilot geprobeerd, voordat ze me vertelden dat het uiteindelijk onmogelijk was.

Ik hoop dat ik iets gemist heb... :confused:

Probeer ons feedback te geven, als er een bug is en waar (het vastleggen van de fout).
Als de functionaliteit (opgeslagen in de vorige versie) niet in de API aanwezig is, doen we niet veel.
Als er nog een bug is, kunnen wij je helpen met debuggen.

inderdaad bestaat de functionaliteit niet in VBA...