Flatten Sheet Metal Part Example (VBA)
This example shows how to flatten a sheet metal part.
'---------------------------------------
'
' Preconditions: Part document is open and
' contains
a sheet metal part.
'
' Postconditions: Sheet metal part is flattened.
'
'---------------------------------------
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