AnsweredAssumed Answered

Welment Body Export to STEP

Question asked by Kevin Chisholm on Feb 7, 2017
Latest reply on Jul 22, 2019 by Niels Bakx

Hi everyone,


I was wondering if anyone has seen a macro to export all the

bodies of a weldment part to step files. I'm looking at naming the

step files as per the weldment cut list item number but haven't found



Exemple of what needed:

     1- Part number is T-001122 with 3 bodies.

     2- Step of body 1 export to T-001122-Item1.STEP

     3- Step of body 2 export to T-001122-Item2.STEP

     4- Step of body 3 export to T-001122-Item3.STEP.


Not sure if this is possible but you can get the BOM item number with this:


Sub ProcessTableAnn(swApp As SldWorks.SldWorks, swModel As SldWorks.ModelDoc2, swTableAnn As SldWorks.TableAnnotation, ConfigName As String)

    Dim nNumRow As Long
    Dim J As Long
    Dim I As Long
    Dim ItemNumber As String
    Dim PartNumber As String

    Debug.Print "   Table Title        " & swTableAnn.Title

    nNumRow = swTableAnn.RowCount

    Dim swBOMTableAnn As BomTableAnnotation
    Set swBOMTableAnn = swTableAnn

    For J = 0 To nNumRow - 1
        Debug.Print "   Row Number " & J & " Component Count  : " & swBOMTableAnn.GetComponentsCount2(J, ConfigName, ItemNumber, PartNumber)
        Debug.Print "       Item Number  : " & ItemNumber
        Debug.Print "       Part Number  : " & PartNumber

        Dim vPtArr As Variant
        Dim swComp As Object
        Dim pt As Object
        Dim compPath As String

        vPtArr = swBOMTableAnn.GetComponents2(J, ConfigName)

        If (Not IsEmpty(vPtArr)) Then
            For I = 0 To UBound(vPtArr)
                Set pt = vPtArr(I)
                Set swComp = pt
                If Not swComp Is Nothing Then
                    Debug.Print "           Component Name :" & swComp.Name2 & "      Configuration Name : " & swComp.ReferencedConfiguration
                    Debug.Print "           Component Path :" & swComp.GetPathName
                    Debug.Print "  Could not get component."
                End If
        End If
    Next J
End Sub


Well hope someone can help me out!

Thanks for any help!

Kevin Chisholm