Macro to import foreign file into active part using SOLIDWORKS API
This VBA macro demonstrates how to import foreign file with bodies (e.g. parasolid, step, iges, etc.) directly into the active part document.
Change the path to the import file in the INPUT_FILE constant
This macro only supports foreign files which are imported as part document.
Const INPUT_FILE As String = "D:\Model.x_t" Dim swApp As SldWorks.SldWorks Sub main() Set swApp = Application.SldWorks try_: On Error GoTo catch_ Dim swModel As SldWorks.ModelDoc2 Set swModel = swApp.ActiveDoc swApp.DocumentVisible False, swDocumentTypes_e.swDocPART Dim swImpPart As SldWorks.PartDoc Dim errs As Long Set swImpPart = swApp.LoadFile4(INPUT_FILE, "", Nothing, errs) Dim vBodies As Variant vBodies = swImpPart.GetBodies2(swBodyType_e.swAllBodies, True) Dim i As Integer For i = 0 To UBound(vBodies) Dim swBody As SldWorks.Body2 Set swBody = vBodies(i) Set swBody = swBody.Copy Dim swBodyFeat As SldWorks.Feature Set swFeat = swModel.CreateFeatureFromBody3(swBody, False, swCreateFeatureBodyOpts_e.swCreateFeatureBodySimplify) If swFeat Is Nothing Then Err.Raise vbError, "", "Failed to create feature from body" End If Next swApp.CloseDoc swImpPart.GetTitle GoTo finally_ catch_: Debug.Print "Error: " & Err.Number & ":" & Err.Source & ":" & Err.Description GoTo finally_ finally_: swApp.DocumentVisible True, swDocumentTypes_e.swDocPART End Sub