Trying to insert a bend table for a flat pattern view, Nothing happens when this macro is run.(only creates flat pattern view). Try to debug it , Crashes at line
Set myBendTableAnnot = Fview.InsertBendTable(False, 0.1, 0.15, 1, "A", "C:\Users\Vikas\Documents\SOLIDWORKS DRAWINGS\BendTable.sldbndtbt")
Not sure whats causing this, Please can anybody help
‘This macro will create a Flat pattern View and insert Bend table
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As ModelDoc2
Dim swDrawing As DrawingDoc
Dim filename As String
Dim ext As String
Dim fso As Scripting.FileSystemObject
Dim longerrors As Long, longwarnings As Long
Sub main()
Set fso = CreateObject("Scripting.FileSystemObject")
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
If swModel Is Nothing Then Exit Sub
filename = swModel.GetPathName
' Find all files ending in .SLDPRT
ext = UCase(Right(filename, 6))
If ext <> "SLDPRT" And ext <> "SLDASM" Then Exit Sub
Dim curfilename As String
curfilename = Left(filename, Len(filename) - 7) & ".SLDDRW"
' Check whether file already exists
If fso.FileExists(curfilename) Then
If MsgBox(curfilename & " already exists. Overwrite?", vbYesNo + vbQuestion) = vbNo Then Exit Sub
End If
' Get default template
Dim template As String
template = swApp.GetUserPreferenceStringValue(swDefaultTemplateDrawing)
' NewDocument templateName, paperSize, width, height. Paper Size, Width & Height if specified in template are redundant
Set swDrawing = swApp.NewDocument(template, 0, 0, 0)
If swDrawing Is Nothing Then
MsgBox "Failed to create drawing"
Exit Sub
End If
If (ext = "SLDPRT") Then
swApp.OpenDoc6 filename, swDocPART, swOpenDocOptions_ReadOnly, "", longerrors, longwarnings
Else: swApp.OpenDoc6 filename, swDocASSEMBLY, swOpenDocOptions_ReadOnly, "", longerrors, longwarnings
End If
' Get sheet size
Dim cursheet As sheet
Dim sheetwidth As Double, sheetheight As Double
Set cursheet = swDrawing.GetCurrentSheet
- cursheet.GetSize sheetwidth, sheetheight
Dim view As view
Dim vOutline As Variant, vPosition As Variant
Dim viewWidth As Double, viewHeight As Double
' Insert the Flat Pattern View
Dim Fview As view
Dim ConfigName As String
Dim HideBendLines As Boolean
Dim LocX As Double
Dim LocY As Double
Dim LocZ As Double
Dim FlipView As Boolean
Dim value As view
LocX = 0.2
LocY = 0.1
LocZ = 0
HideBendLines = False
ConfigName = "" 'DefaultSM-FLAT-PATTERN
Set Fview = swDrawing.CreateFlatPatternViewFromModelView3(filename, ConfigName, LocX, LocY, LocZ, HideBendLines, False)
'Insert Bend table for the flat pattern
Dim swView As view
Dim myBendTableAnnot As BendTableAnnotation
Dim myBendTableFeat As BendTable
Dim checkname As String
Set myBendTableAnnot = Fview.InsertBendTable(False, 0.1, 0.15, 1, "A", "C:\Users\Vikas\Documents\SOLIDWORKS DRAWINGS\BendTable.sldbndtbt")
Set myBendTableFeat = myBendTableAnnot.BendTable
Debug.Print myBendTableFeat.GetFeature.Name
Debug.Print "Starting tag: " & myBendTableFeat.StartingValue
Debug.Print "swBendTableTagStyle_e option: " & myBendTableFeat.TagStyle
Debug.Print "Number of bend table annotations: " & myBendTableFeat.GetTableAnnotationCount
swModel.ClearSelection2 True
'swApp.CloseDoc filename
'swApp.CloseDoc curfilename
End Sub
SolidworksApi macros