Hello everyone, I'm on Solidworks 2024 Sp5 on which I've created an ASM, parts and about fifty plan files.
I manage to make a " pack and go " in previous version (2022 and 2023) however this is only functional for parts and assembly. The drawings checked and exported via the " pack and Go " remain in 2024...
After contact and exchange with the support the answer is: " this is the normal operation of solidworks " (understand: get on with it! it's none of our business!)
I tried the task scheduler, I tried to go through a macro... in short I'm dry! The only method that works is to open the plans one by one, then save them in an earlier version. In my logic of fenicant (and quality!) it seems unthinkable to me for 50 shots as well as for future projects.
Has anyone figured out a trick to exploit this WONDERFUL " save as an early version" feature for batches of drawing files?
Yes, widely reported (but not officially recognized as a bug)
Normal behavior?
Officially yes... but highly contested
Fix announced?
No
Viable workaround?
VBA macro or manual backup
Reliable pack and go for retro DRW?
VBA macro solution to convert a plan folder (Not tested output as-is by 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
Not possible for me to test the macro because sw2023, but the code seems correct at 1st sight.
Try and give us feedback, if bug and where (capture of the error). If the functionality (save in previous version) does not exist in the API, we won't do much. If there is another bug, we can help you debug.