Перейти к содержанию

Autodesk Inventor API. Первые шаги/Уровень чертежа

Материал из Викиучебника — открытых книг для открытого мира

Многоуровневый текст

[править]
'Пример многоуровнего форматирования выводимого в чертеж текста.
'
Public Sub StackedText()
 
    ' Ссылка на активный документ чертежа
    Dim oDrawDoc As DrawingDocument
    Set oDrawDoc = ThisApplication.ActiveDocument
 
    ' Ссылка на активный лист чертежа
    Dim oActiveSheet As Sheet
    Set oActiveSheet = oDrawDoc.ActiveSheet
 
    ' Создание точки вставки текста
    Dim oPoint As Point2d
    Set oPoint = ThisApplication.TransientGeometry.CreatePoint2d(25, 25)
 
    ' Формирование текста в виде прямой дроби текста
    Dim strHorizontalStack As String
   'Разделитель целой и дробной части должен соответствовать региональным установкам
   'на локальной машине: десятичная точка (в англ. варианте) или запятая (в русском).
   'При несоответствии может генерироваться ошибка времени исполнения.
   'Это следует проверить, и при необходимости точки заменить запятыми.
'    strHorizontalStack = "1<Stack FractionalTextScale='0.7'>1/2</Stack>"    ' Eng.
    strHorizontalStack = "1<Stack FractionalTextScale='0,7'>1/2</Stack>"     ' Rus
 
    '  Формирование текста в виде косой дроби текста
    Dim strDiagonalStack As String
   'Разделитель целой и дробной части должен соответствовать региональным установкам
   'на локальной машине: десятичная точка (в англ. варианте) или запятая (в русском).
   'При несоответствии может генерироваться ошибка времени исполнения.
   'Это следует проверить, и при необходимости точки заменить запятыми.
'    strDiagonalStack = "1<Stack FractionalTextScale='0.5'>1#2</Stack>"    ' Eng.
    strDiagonalStack = "1<Stack FractionalTextScale='0,5'>1#2</Stack>"     ' Rus
    
    ' Формирование текста с нижними индексами (химическая формула)
    Dim strSubscript As String
    strSubscript = "H<Stack>^2</Stack>SO<Stack>^4</Stack>"
 
    ' Формирование текста с верхними индексами (возведение в степень)
    Dim strSuperscript As String
    strSuperscript = "x<Stack>2^</Stack> + y<Stack>2^</Stack> = z<Stack>2^</Stack>"
 
 
   'Компоновка общей строки для вывода в чертеж
    Dim strText As String
    strText = strHorizontalStack & "<Br/>" & strDiagonalStack & "<Br/>" & strSubscript & "<Br/>" & strSuperscript
 
   'Вывод текста в чертеж.
    Dim oGeneralNote As GeneralNote
    Set oGeneralNote = oActiveSheet.DrawingNotes.GeneralNotes.AddFitted(oPoint, strText)
 
End Sub