So I figured this one out myself!
For those who want this, here is my raw VB.net code:
Public Sub AutomaticBallooning(ByVal rstSTK As ADODB.Recordset)
Try
Dim oDrawDoc As Inventor.DrawingDocument
oDrawDoc = m_inventorApplication.ActiveDocument
Dim oActiveSheet As Inventor.Sheet
oActiveSheet = oDrawDoc.ActiveSheet
Dim oPartslist As Inventor.PartsList
oPartslist = oActiveSheet.PartsLists.Item(1)
Dim oPartslistRow As Inventor.PartsListRow
For Each oPartslistRow In oPartslist.PartsListRows
oPartslistRow.Visible = False
Next
For Each oPartslistRow In oPartslist.PartsListRows
If oPartslistRow.Ballooned = FalseThen
'make row visible so user sees which row is going to ballooned
oPartslistRow.Visible =True
Dim strArtnr AsString
strArtnr = oPartslistRow.Item(4).Value
CreateBalloonPerOccurencesPerView(strArtnr)
End If
oPartslistRow.Visible =False
Next
ForEach oPartslistRow In oPartslist.PartsListRows
oPartslistRow.Visible =True
Next
''Method with Partlist from PDM
'Do While rstSTK.EOF = False
' Dim strArtnr As String
' strArtnr = rstSTK.Fields("ARTNR").Value
' CreateBalloonPerOccurencesPerView(strArtnr)
' rstSTK.MoveNext()
'Loop
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
EndSub
PrivateSub CreateBalloonPerOccurencesPerView(ByVal strArtnr AsString)
Try
Dim oDrawDoc As Inventor.DrawingDocument
oDrawDoc = m_inventorApplication.ActiveDocument
Dim oActiveSheet As Inventor.Sheet
oActiveSheet = oDrawDoc.ActiveSheet
'loop door de views heen
Dim oDrawingviews As Inventor.DrawingViews
oDrawingviews = oActiveSheet.DrawingViews
Dim oDrawingView As Inventor.DrawingView
ForEach oDrawingView In oDrawingviews
Dim oDocDesc As Inventor.DocumentDescriptor
oDocDesc = oDrawingView.ReferencedDocumentDescriptor
Dim oAsmDef As Inventor.AssemblyComponentDefinition
oAsmDef = oDocDesc.ReferencedDocument.ComponentDefinition
Dim oComponentOccurrence As Inventor.ComponentOccurrence
ForEach oComponentOccurrence In oAsmDef.Occurrences
If oComponentOccurrence.Name.Contains(strArtnr) Then
Dim oDrawCurves As Inventor.DrawingCurvesEnumerator
oDrawCurves = oDrawingView.DrawingCurves(oComponentOccurrence)
Dim DrawCurve As Inventor.DrawingCurve
ForEach DrawCurve In oDrawCurves
Dim oColorRed As Inventor.Color
oColorRed = m_inventorApplication.TransientObjects.CreateColor(255, 0, 0)
DrawCurve.Color = oColorRed
Next
'Call create balloon command and wait till its finished
Dim oControlDef As Inventor.ControlDefinition
oControlDef =
m_inventorApplication.CommandManager.ControlDefinitions.Item ("DrawingBalloonCmd")
Try
oControlDef.Execute()
Catch ex As Exception
EndTry
DoWhile m_inventorApplication.CommandManager.ActiveCommand = "DrawingBalloonCmd"
System.Windows.Forms.Application.DoEvents()
Loop
ForEach DrawCurve In oDrawCurves
Dim oColorBlack As Inventor.Color
oColorBlack = m_inventorApplication.TransientObjects.CreateColor(0, 0, 0)
DrawCurve.Color = oColorBlack
Next
End If
Next
Next
Catch ex As Exception
MessageBox.Show(ex.ToString)
EndTry
End Sub