Reading multiple inputs for SelectByID2 from text file

Hello all,

I am very new to VBA (but competent in Python) and would like some help on the following problem as I am having trouble writing a functioning macro for SolidWorks:

I am setting up an automated workflow for the production of sheetmetal parts which are exported as 0 thickness polysurfaces from Rhinoceros as STEP files. I am also automating the export of a text file which identifies the fixed face, bend edges, thickness and radius parameters for each STEP file which I would like to convert into a SheetMetal Part in SW.

Each text file looks like this:

"FACE" 37.0334 3.6163 0.0

"EDGE" 36.4862 3.6163 0.0

"EDGE" 36.4862 3.3663 0.1724

"EDGE" 37.5807 3.6163 0.0

"EDGE" 37.0334 3.3663 0.0

The corresponding VBA macro looks like this:

Dim swApp As Object

Dim part As Object

Dim boolstatus As Boolean

Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = Application.SldWorks

boolstatus = swApp.LoadFile2("C:\Users\userName\Desktop\Part1.stp", "r")

Set part = swApp.ActiveDoc

Open "C:\Users\g.maciocci\Desktop\FACE_EDGE_LIST.txt" For Input As #1

Do While Not EOF(1)

Input #1, SelType, X, Y, Z

Set boolstatus = part.Extension.SelectByID2("", SelType, X, Y, Z, True, 0, Nothing, 0)     <----------- THIS IS WHERE I GET A TYPE MISMATCH ERROR THROWN

Loop

Close #1

boolstatus = part.FeatureManager.InsertConvertToSheetMetal2(0.003, False, False, 0.003, 0.002, 0, 0.5, 0, 0.5, False)

part.ClearSelection2 True

longstatus = part.SaveAs3("C:\Users\userName\Desktop\Part1.SLDPRT", 0, 2)

swApp.CloseDoc "Part1.SLDPRT"

End Sub

Now I know this is down to totally illiterate use of the VBA language!

What I would like to do is take the SelType ("FACE" or "EDGE") from my text file and the x,y,z coordinates of the selection, pass them to SelectByID2 in order to define the fixed face and bend edges for the InsertConvertToSheetMetal2.

I would also like to loop through a large number of STEP files and associated text files (defining fixed face and bend edges for each) converting to sheet metal, saving and closing each one.

Could someone please help me debug the code?

SolidworksApi macros