Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

I just tried messing around to see if you could attach a leader to the balloon so then you could use a leader note that would follow it... but that failed.

 

So it looks like you would have to use assets or something to locate the balloon and catch the balloon location changes with an event and relocate the text notes in relation to the new geometry...

 

'This attached code is test I did with LeaderNotes that failed when trying to use it with balloons. Even in the API documentation, none of the objects listed for valid geometry intent include balloons...

 Sub Main()
	oDrawDoc = ThisApplication.ActiveDocument
	
	'Dim oBalloon As Balloon
	'oBalloon = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kDrawingBalloonFilter, "Select a balloon")
	oBalloon = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kAllEntitiesFilter, "Select a balloon")
	
	Call AddGenNoteWithLeader(oBalloon)
End Sub

Dim oDrawDoc As DrawingDocument

Sub AddGenNoteWithLeader(oBalloon As Object)
		
		Dim ballPt3o As Point2d
		ballPt3o = ThisApplication.TransientGeometry.CreatePoint2d(oBalloon.Position.X, oBalloon.Position.Y)
		
		Dim txtPt3o As Point2d
		txtPt3o = ThisApplication.TransientGeometry.CreatePoint2d(oBalloon.Position.X, oBalloon.Position.Y)
		
		txtPt3o.X = ballPt3o.X + 5'+ oBalloon.Style.BalloonDiameter / 2
		txtPt3o.Y = ballPt3o.Y + 4'+ oDrawDoc.StylesManager.TextStyles.Item(1).FontSize / 2
		
		
		Dim oLeaderPoints As ObjectCollection
		oLeaderPoints = ThisApplication.TransientObjects.CreateObjectCollection
		
	'Where to place the text
		oLeaderPoints.Add(txtPt3o)
		
	'What to attach leader arrow to	
		Dim oGeometryIntent As GeometryIntent
		'oGeometryIntent = ThisApplication.ActiveDocument.ActiveSheet.CreateGeometryIntent(oCurve)
		'oGeometryIntent = oDrawDoc.ActiveSheet.CreateGeometryIntent(ballPt3o, ballPt3o)
		oGeometryIntent = oDrawDoc.ActiveSheet.CreateGeometryIntent(oBalloon)
		
		oLeaderPoints.Add(oGeometryIntent)
		
		Dim oText3o As Inventor.LeaderNote
		
	Try	
		oText3o = oDrawDoc.Sheets.Item(1).DrawingNotes.LeaderNotes.Add(oLeaderPoints, "Hey")
		oText3o.LeaderVisible = False
	Catch
		MsgBox("You is has failed")
	End Try

End Sub

--------------------------------------
Did you find this reply helpful ? If so please use the 'Accept as Solution' or 'Like' button below.

Justin K
Inventor 2018.2.3, Build 227 | Excel 2013+ VBA
ERP/CAD Communication | Custom Scripting
Machine Design | Process Optimization


iLogic/Inventor API: Autodesk Online Help | API Shortcut In Google Chrome | iLogic API Documentation
Vb.Net/VBA Programming: MSDN | Stackoverflow | Excel Object Model
Inventor API/VBA/Vb.Net Learning Resources: Forum Thread

Sample Solutions:Debugging in iLogic ( and Batch PDF Export Sample ) | API HasSaveCopyAs Issues |
BOM Export & Column Reorder | Reorient Skewed Part | Add Internal Profile Dogbones |
Run iLogic From VBA | Batch File Renaming| Continuous Pick/Rename Objects

Local Help: %PUBLIC%\Documents\Autodesk\Inventor 2018\Local Help

Ideas: Dockable/Customizable Property Browser | Section Line API/Thread Feature in Assembly/PartsList API Static Cells | Fourth BOM Type