AnsweredAssumed Answered

Add custom column with formula to BOM table

Question asked by Yash Kothari on Apr 27, 2018
Latest reply on May 22, 2018 by Yash Kothari

I am struggling to insert a formula in a custom defined column to BOM table. I found a program of adding a partnumber column from SolidWorks help.

2018 api - Insert Part Number Column in BOM Table Example (VBA)

__________________________________________________________

Option Explicit

Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim boolstatus As Boolean

Dim SelMgr As Object

Dim theTableAnnotation As SldWorks.TableAnnotation

Dim SelObjType As Long

Dim TableAnnotationType As Long

 

Sub DisplayTableColumnProps(theTableAnnotation As Object)

 

    Dim ColCount As Long

    Dim i As Long

    Dim ColType As swTableColumnTypes_e

    Dim ColTitle As String

 

    Debug.Print "Col#"; vbTab; "Type"; vbTab; "Title"

    ColCount = theTableAnnotation.ColumnCount

 

  For i = 0 To ColCount - 1

        ColType = theTableAnnotation.GetColumnType(i)

        ColTitle = theTableAnnotation.GetColumnTitle(i)

        Debug.Print i; vbTab; ColType; vbTab; ColTitle

    Next i

 

End Sub


Sub main()

 

    Set swApp = Application.SldWorks

    Set swModel = swApp.ActiveDoc

    Set SelMgr = swModel.SelectionManager

 

    SelObjType = SelMgr.GetSelectedObjectType3(1, -1)

    If SelObjType <> swSelANNOTATIONTABLES Then

 

        MsgBox "Select a BOM table in the drawing before running this example."

        End

    End If

 

    Set theTableAnnotation = SelMgr.GetSelectedObject6(1, -1)

    TableAnnotationType = theTableAnnotation.Type

    If TableAnnotationType <> swTableAnnotation_BillOfMaterials Then

 

        MsgBox "Select a BOM table in the drawing before running this example."

        End

    End If

 

    Debug.Print "Table before inserting a column..."

    ' Display table before inserting a column

    DisplayTableColumnProps theTableAnnotation

 

   

    ' Insert new column

 

    boolstatus = theTableAnnotation.InsertColumn2(swTableItemInsertPosition_Last, 0, "Add Item No", swInsertColumn_DefaultWidth)

    boolstatus = theTableAnnotation.SetColumnType(theTableAnnotation.ColumnCount - 1, swBomTableColumnType_ItemNumber)

     

    Debug.Print " "

    Debug.Print "Table after inserting a column..."

    ' Display table after inserting a column

    DisplayTableColumnProps theTableAnnotation

 

End Sub

____________________________________________________________________

But now i need to insert a new column containing a formula of adding the numeric values of item number (in detailed indented BOM). I need a Macro, help please.

 

Deepak Gupta

Outcomes