Bended part flatening script does not work

Hi!

I have been using ready script that I found on the internet as part of my own macro, but today I noticed that it doesn't do the job that it is supposed to do.

I have two example parts, they are very similar, but it might be that they are made with different Solidworks versions - that is why the script works for some parts, but for some it doesn't. In the attachment there are two pats - "part1" where the script is working and "part2" where the script is not working for some reason.

Can someone help me get this script working for both parts?

The script

Option Explicit

Public Enum swSMBendState_e

    swSMBendStateNone = 0       '  No bend state - not a sheet metal part

    swSMBendStateSharps = 1     '  Bends are in the sharp state - bends currently not applied

    swSMBendStateFlattened = 2  '  Bends are flattened

    swSMBendStateFolded = 3     '  Bends are fully applied

End Enum

Public Enum swSMCommandStatus_e

    swSMErrorNone = 0               '  No errors

    swSMErrorUnknown = 1            '  Failed for an unknown reason

    swSMErrorNotAPart = 2           '  Sheet metal commands only apply to SolidWorks parts

    swSMErrorNotASheetMetalPart = 3 '  Part contains no sheet metal features

    swSMErrorInvalidBendState = 4   '  Invalid bend state was specified

End Enum

Sub main()

    Dim swApp               As SldWorks.SldWorks

    Dim swModel             As SldWorks.ModelDoc2

    Dim nBendState          As Long

    Dim nRetVal             As Long

    Dim bRet                As Boolean

    Set swApp = CreateObject("SldWorks.Application")

    Set swModel = swApp.ActiveDoc

   

    nBendState = swModel.GetBendState

   

    Debug.Print "File = " & swModel.GetPathName

    Debug.Print "  BendState    = " & nBendState

   

    If nBendState <> swSMBendStateFlattened Then

        nRetVal = swModel.SetBendState(swSMBendStateFlattened)

        Debug.Print "  SetBendState = " & nRetVal

       

        ' Rebuild to see changes

        bRet = swModel.EditRebuild3: Debug.Assert bRet

    End If

End Sub

SolidworksApi macros