AnsweredAssumed Answered

Why use this code to set text content of balloon incorrecttly ?

Question asked by Vincent Li on Sep 18, 2017
Latest reply on Sep 18, 2017 by Vincent Li

Hi All,

 

when I use these code the set the text content of the balloons to be the component name where it attached, it could not set the component name one to one, but set all the text of balloons to be 1 same component.

 

Any guys can point out what 's wrong about it ?

 

pls check my code and video to know the detal.

 

thanks a lot

 

Sub main()

 

 

    Dim swApp                   As SldWorks.SldWorks

    Dim swModel                 As SldWorks.ModelDoc2

    Dim swSelMgr                As SldWorks.SelectionMgr

    Dim swSelObj                As Object

    Dim swAnn                   As SldWorks.Annotation

    Dim vAttEntTypeArr          As Variant

    Dim vAttEntArr              As Variant

    Dim i                       As Long

    Dim swEnt As SldWorks.Entity

    Dim swComp As SldWorks.Component2

    Dim bRet As Boolean

                   

   

    Set swApp = Application.SldWorks

    Set swModel = swApp.ActiveDoc

    Set swSelMgr = swModel.SelectionManager

   

    Debug.Print swSelMgr.GetSelectedObjectCount

   

    Dim j As Integer

   

    For j = 1 To swSelMgr.GetSelectedObjectCount

        

   

        If swSelMgr.GetSelectedObjectType3(j, -1) = swSelNOTES Then

 

 

            Set swSelObj = swSelMgr.GetSelectedObject6(j, -1)

 

 

            Set swAnn = swSelObj.GetAnnotation

 

 

            Debug.Print "AnnName              = " & swAnn.GetName

 

 

            vAttEntArr = swAnn.GetAttachedEntities3

 

 

            Dim CompName As String

            Dim SetAnnName As Boolean

            Dim swModelDocExt As SldWorks.ModelDocExtension

            Dim swNote As SldWorks.Note

           

            Set swEnt = vAttEntArr(0)

            Set swComp = swEnt.GetComponent

            CompName = swComp.Name2

           

            Set swModelDocExt = swModel.Extension

            Set swNote = swSelObj

           

          'why this code set all the balloons to be 1 same Component name ?

            Set swNote = swModelDocExt.EditBalloonProperties2(swBalloonStyle_e.swBS_Circular, swBF_3Chars, swBalloonTextContent_e.swBalloonTextCustom, CompName, swBalloonTextCustom, " ", 0, True, 1, "X", 0.001)

           

        End If

       

    Next j

 

 

End Sub

 

 

 

 

Regards

Vincent

Attachments

Outcomes