Solid Edge FrameworkSupport Type Library
AddBalloon Method
Initialization data object used for creating a new balloon.
Description
Creates a balloon. For creating PMI balloons a plane must be set (XY plane is the default). The collection object from which it is derived (sheet/profile2d/PMI) dictate the creation of balloon.
Syntax
Visual Basic
Public Function AddBalloon( _
   ByVal AnnotInitData As AnnotInitData _
) As Balloon
Parameters
AnnotInitData
Initialization data object used for creating a new balloon.
Example
Imports System.IO
Imports System.Runtime.InteropServices

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim objApplication As SolidEdgeFramework.Application = Nothing
        Dim objDoc As SolidEdgePart.PartDocument = Nothing
        Dim objAsmDoc As SolidEdgeAssembly.AssemblyDocument = Nothing
        Dim objEdges As SolidEdgeGeometry.Edges = Nothing
        Dim objEdge1 As SolidEdgeGeometry.Edge = Nothing
        Dim objEdge2 As SolidEdgeGeometry.Edge = Nothing
        Dim objEdge3 As SolidEdgeGeometry.Edge = Nothing
        Dim objEdge4 As SolidEdgeGeometry.Edge = Nothing
        Dim objRefEdge1 As SolidEdgeFramework.Reference = Nothing
        Dim objRefEdge2 As SolidEdgeFramework.Reference = Nothing
        Dim objRefEdge3 As SolidEdgeFramework.Reference = Nothing
        Dim objRefEdge4 As SolidEdgeFramework.Reference = Nothing
        Dim objPMI As SolidEdgeFrameworkSupport.PMI = Nothing
        Dim objBalloons As SolidEdgeFrameworkSupport.Balloons = Nothing
        Dim objBalloon1 As SolidEdgeFrameworkSupport.Balloon = Nothing
        Dim objBalloon2 As SolidEdgeFrameworkSupport.Balloon = Nothing
        Dim objBalloon3 As SolidEdgeFrameworkSupport.Balloon = Nothing
        Dim objBalloon4 As SolidEdgeFrameworkSupport.Balloon = Nothing
        Dim objAnnotInitData1 As SolidEdgeFrameworkSupport.AnnotInitData = Nothing
        Dim objAnnotInitData2 As SolidEdgeFrameworkSupport.AnnotInitData = Nothing
        Dim objAnnotInitData3 As SolidEdgeFrameworkSupport.AnnotInitData = Nothing
        Dim objAnnotInitData4 As SolidEdgeFrameworkSupport.AnnotInitData = Nothing
        Dim objOcc As SolidEdgeAssembly.Occurrence = Nothing
        Dim objRPlanes As SolidEdgeAssembly.AsmRefPlanes = Nothing
        Dim objAnnotPlane As SolidEdgeAssembly.AsmRefPlane = Nothing
        Dim strPart1 As String
        Dim strPart2 As String
        Dim strPart3 As String
        Dim strPart4 As String
        Dim SEInstallDir As DirectoryInfo

        Try
            objApplication = Marshal.GetActiveObject("SolidEdge.Application")
            SEInstallDir = GetTrainingFolder()
            'Open the sample Assembly document
            objAsmDoc = objApplication.Documents.Open(SEInstallDir.FullName + "\Carrier.asm")

            objAsmDoc.PMI_ByModelState(objPMI)
            objBalloons = objPMI.Balloons

            'Set the assembly reference plane.
            objRPlanes = objAsmDoc.AsmRefPlanes
            objAnnotPlane = objRPlanes.Item(3)

            'For occurrence - 1
            objOcc = objAsmDoc.Occurrences.Item(1)
            objOcc.Activate = True
            objDoc = objOcc.OccurrenceDocument

            objEdges = objDoc.Models.Item(1).ExtrudedProtrusions.Item(1).Edges(SolidEdgeConstants.FeatureTopologyQueryTypeConstants.igQueryAll)
            objEdge1 = objEdges.Item(3)
            objRefEdge1 = objAsmDoc.CreateReference(objOcc, objEdge1)

            objAnnotInitData1 = objBalloons.AnnotInitData

            'create callout with terminator element.
            Call objAnnotInitData1.ClearTerminatorElement()
            Call objAnnotInitData1.SetPlane(objAnnotPlane)
            Call objAnnotInitData1.SetTerminatorElementEx(objRefEdge1, True, 0.5, 0.2, 0.001)
            objBalloon1 = objBalloons.AddBalloon(AnnotInitData:=objAnnotInitData1)
            objBalloon1.Callout = True
            objBalloon1.Leader = True
            objBalloon1.BreakLine = True
            objBalloon1.BalloonText = "%{File Name (full path)|GP}"
            Call objBalloon1.AddVertex(x:=0.3, y:=0.25, z:=0.007)
            strPart1 = objBalloon1.BalloonDisplayedText
            MessageBox.Show(strPart1)

            'For occurrence - 2
            objOcc = objAsmDoc.Occurrences.Item(2)
            objOcc.Activate = True
            objDoc = objOcc.OccurrenceDocument

            objEdges = objDoc.Models.Item(1).ExtrudedProtrusions.Item(2).Edges(SolidEdgeConstants.FeatureTopologyQueryTypeConstants.igQueryAll)
            objEdge2 = objEdges.Item(3)
            objRefEdge2 = objAsmDoc.CreateReference(objOcc, objEdge2)

            objAnnotInitData2 = objBalloons.AnnotInitData

            'create callout with terminator element.
            Call objAnnotInitData2.ClearTerminatorElement()
            Call objAnnotInitData2.SetPlane(objAnnotPlane)
            Call objAnnotInitData2.SetTerminatorElementEx(objRefEdge2, True, 0.5, 0.2, 0.001)
            objBalloon2 = objBalloons.AddBalloon(AnnotInitData:=objAnnotInitData2)
            objBalloon2.Callout = True
            objBalloon2.Leader = True
            objBalloon2.BreakLine = True
            objBalloon2.BalloonText = "%{File Name (full path)|GP}"
            Call objBalloon2.AddVertex(x:=0.13, y:=0.05, z:=0.007)
            strPart2 = objBalloon2.BalloonDisplayedText
            MessageBox.Show(strPart2)

            'For occurrence - 3
            objOcc = objAsmDoc.Occurrences.Item(3)
            objOcc.Activate = True
            objDoc = objOcc.OccurrenceDocument

            objEdges = objDoc.Models.Item(1).ExtrudedProtrusions.Item(3).Edges(SolidEdgeConstants.FeatureTopologyQueryTypeConstants.igQueryAll)
            objEdge3 = objEdges.Item(3)
            objRefEdge3 = objAsmDoc.CreateReference(objOcc, objEdge3)

            objAnnotInitData3 = objBalloons.AnnotInitData

            'create callout with terminator element.
            Call objAnnotInitData3.ClearTerminatorElement()
            Call objAnnotInitData3.SetPlane(objAnnotPlane)
            Call objAnnotInitData3.SetTerminatorElementEx(objRefEdge3, True, 0.5, 0.2, 0.001)
            objBalloon3 = objBalloons.AddBalloon(AnnotInitData:=objAnnotInitData3)
            objBalloon3.Callout = True
            objBalloon3.Leader = True
            objBalloon3.BreakLine = True
            objBalloon3.BalloonText = "%{File Name (full path)|GP}"
            Call objBalloon3.AddVertex(x:=0.13, y:=0.05, z:=0.007)
            strPart3 = objBalloon3.BalloonDisplayedText
            MessageBox.Show(strPart3)

            'For occurrence - 4
            objOcc = objAsmDoc.Occurrences.Item(4)
            objOcc.Activate = True
            objDoc = objOcc.OccurrenceDocument

            objEdges = objDoc.Models.Item(1).RevolvedProtrusions.Item(4).Edges(SolidEdgeConstants.FeatureTopologyQueryTypeConstants.igQueryAll)
            objEdge4 = objEdges.Item(3)
            objRefEdge4 = objAsmDoc.CreateReference(objOcc, objEdge4)

            objAnnotInitData4 = objBalloons.AnnotInitData

            'create callout with terminator element.
            Call objAnnotInitData4.ClearTerminatorElement()
            Call objAnnotInitData4.SetPlane(objAnnotPlane)
            Call objAnnotInitData4.SetTerminatorElementEx(objRefEdge4, True, 0.5, 0.2, 0.001)
            objBalloon4 = objBalloons.AddBalloon(AnnotInitData:=objAnnotInitData4)
            objBalloon4.Callout = True
            objBalloon4.Leader = True
            objBalloon4.BreakLine = True
            objBalloon4.BalloonText = "%{File Name (full path)|GP}"
            Call objBalloon4.AddVertex(x:=0.13, y:=0.05, z:=0.007)
            strPart4 = objBalloon4.BalloonDisplayedText
            MessageBox.Show(strPart4)

        Catch ex As Exception
            Console.WriteLine(ex.ToString)
        End Try


    End Sub

    Function GetTrainingFolder() As DirectoryInfo
        Dim objInstallData As SEInstallDataLib.SEInstallData = Nothing
        Dim objInstallFolder As DirectoryInfo = Nothing
        Dim objTrainingFolder As DirectoryInfo = Nothing

        Try
            objInstallData = New SEInstallDataLib.SEInstallData
            objInstallFolder = New DirectoryInfo(objInstallData.GetInstalledPath())
            objTrainingFolder = New DirectoryInfo(Path.Combine(objInstallFolder.Parent.FullName, "Training"))
        Catch
        Finally
            If Not (objInstallData Is Nothing) Then
                Marshal.FinalReleaseComObject(objInstallData)
                objInstallData = Nothing
            End If
        End Try

        Return objTrainingFolder
    End Function
End Class
See Also

Balloons Collection  | Balloons Members  | Solid Edge ST5 - What's New