3 Replies Latest reply on Apr 13, 2017 4:52 AM by Peter Brinkhuis

    GetTableAnnotations Method (IBomFeature) returns empty array

    Xavier Rodríguez Nieto

      Dear all,

      I have a problem with the 'GetTableAnnotations' method of the 'IBomFeature' object, I'm quite sure that it's returning an empty array, event when the BOM table in the drawing is not empty.

      The process of getting the 'IBomFeature' works OK, I have checked it with the 'Name', 'TableType' and other properties and the results are as expected, so I assume that the pointer to the BOM works properly.


      The code it's like this:



      Option Explicit

      Dim swApp As ISldWorks

      Dim swModel As IModelDoc2

      Dim swFeat As IFeature

      Dim swBom As IBomFeature

      Dim vTableArr As Variant

      Sub main()

          Set swApp = Application.SldWorks

          Set swModel = swApp.ActiveDoc

          Set swFeat = swModel.FirstFeature

          Do While Not swFeat Is Nothing

              If swFeat.GetTypeName2 = "BomFeat" Then

                  Set swBom = swFeat.GetSpecificFeature2

                  vTableArr = swBom.GetTableAnnotations

                  MsgBox (swBom.Name & " - " & swBom.GetTableAnnotationCount & " - " & UBound(vTableArr))

              End If

              Set swFeat = swFeat.GetNextFeature


      End Sub



      In my drawing I have only one BOM inserted named "Lista de materiales1", and what I get prompted is:

      I've tried with different drawings, different types of BOM (top level only, parts only, indented no numbering, indented flat numbering...), I don't know what's wrong.


      Any idea?