Public Sub SetSketchedSymbolNumber()
Dim oDwg As DrawingDocument
Set oDwg = ThisApplication.ActiveDocument
' SketchedSymbol должен быть выделен
Dim oSymbol As SketchedSymbol
Set oSymbol = oDwg.SelectSet(1)
' Эскизное обозначение должно быть
' ассоциировано с компонентом
Dim oNode As LeaderNode
Set oNode = oSymbol.Leader.AllLeafNodes(1)
Dim oCurve As DrawingCurve
Set oCurve = oNode.AttachedEntity.Geometry
Dim oSheet As Sheet
Set oSheet = oDwg.ActiveSheet
Dim oTO As TransientObjects
Set oTO = ThisApplication.TransientObjects
Dim oTG As TransientGeometry
Set oTG = ThisApplication.TransientGeometry
Dim oLeaderPoints As ObjectCollection
Set oLeaderPoints = oTO.CreateObjectCollection
' Положение точки вставки временного обозначения
' роли не играет - все равно убькм
Call oLeaderPoints.Add(oTG.CreatePoint2d(0, 0))
' ItemNumber извлечём из временного обозначения
Dim sItemNumber As String
Dim oTM As TransactionManager
Set oTM = ThisApplication.TransactionManager
Dim oTransaction As Transaction
Set oTransaction = oTM.StartTransaction(oDwg, "TempTransaction")
Dim oGeometryIntent As GeometryIntent
Set oGeometryIntent = oSheet.CreateGeometryIntent(oCurve)
Call oLeaderPoints.Add(oGeometryIntent)
Dim oBalloon As Balloon
Set oBalloon = oSheet.Balloons.Add(oLeaderPoints, , kStructured)
' We could also get the DrawingBOMRow and BOMRow
' oBalloon.BalloonValueSets(1).ReferencedRow.BOMRow
' but this time we just need the ItemNumber
' oBalloon можеть дать не только ItemNumber,
' но и ссылки на DrawingBOMRow и BOMRow:
' oBalloon.BalloonValueSets(1).ReferencedRow.BOMRow
' Но в данном случае эскизному обозначению нужен только ItemNumber
sItemNumber = oBalloon.BalloonValueSets(1).itemNumber
' Эта транзакция не появится в стеке Undo/Redo и
' внешне все быдет выглядеть так, будто
' balloon и не существовал вовсе.
Call oTransaction.Abort
' Обновление первого текстового бокса
' в эскизном обозначении - впишем туда ItemNumber
Dim oBox As TextBox
Set oBox = oSymbol.Definition.Sketch.TextBoxes(1)
Call oSymbol.SetPromptResultText(oBox, sItemNumber)
End Sub