工程图里草图的文本字串

工程图里的边框,标题栏,草图(略图)符号都有对应草图定义,其中可以添加文本,也就是通常说的字串。文本分为几类。我们先来做个小例子。创建一个略图符号,



其中添加三种文本

- 普通文本。也叫做静态字串。即在草图里写的是什么,最终显示的就是什么。 




-第二种叫做特性字串,例如选择【类型】中的【特性-工程图】,则在【特性】下拉框中看到所有特性列表,选择某个特性【作者】,再点击右面的X按钮,则一个灰色底带尖括号的文本出现了。











-第三种叫做提示字串。选择【类型】中的【提示条目】即可。




创建后,在略图草图中可以看到文本的显示情况。




保存该略图草图,插入一个略图。




Inventor首先让你选择插入点。点击后,会弹出对话框【提示字串输入框】。在这里要求你输入刚才定义的提示字串的最终值。




确定后,最终的略图是:




可见文本有两个状态:定义时和最终使用时。


- 静态文本,定义时和最终使用时是一样的字串内容

- 特性文本,最终使用时是对应特性的值

-提示字串,在最终使用前需要用户输入


从API角度,TextBox对象的Text属性是在屏幕上看到的字串内容,FormattedText反映了文本的性质。FormattedText是一个XML定义的字串。先看看定义状态下是什么情况。激活刚才略图定义草图,手动拾取那三个文本,运行以下代码:


Sub printInSketch_definition()
 

‘先激活略图定义草图,拾取其中的文本对象
 Dim oDoc As Document
 Set oDoc = ThisApplication.ActiveDocument 


 Dim oTextBox As TextBox
 For Each oTextBox In oDoc.SelectSet
 
    Debug.Print oTextBox.Text
    Debug.Print oTextBox.FormattedText
    
 Next
End Sub


打印结果是:


 静态文本
<StyleOverride FontSize='0,6096'>静态文本</StyleOverride>


<作者>
<StyleOverride FontSize='0,6096'>
<Property Document='drawing'
      PropertySet='Inventor Summary Information'
      Property='Author'
      FormatID='{F29F85E0-4FF9-1068-AB91-08002B27B3D9}'
      PropertyID='4'>
作者
</Property>
</StyleOverride>


<提示字串>
<Prompt ReadOnlyUniqueID='1'>&lt;提示字串&gt;</Prompt>

可以看到,静态文本的FormattedText主要设置了文本的字体大小。特性字串,则有<Property>的标签,其中规定了特性的所在特性集,名称等信息。这样当最终使用时,显示的字串是对应的特性值。而提示字串,有<Prompt>标签,表示将需要用户输入最终值。

那么通过API如何得知最终显示的值呢?可以使用getResultText方法,无论标题栏,边框或略图对象都提供了该方法。传入草图定义中的文本对象,则返回最终显示值。

例如,基于刚才我们创建的略图对象,运行亦以下代码。

Sub getResultText()


   Dim oDoc As Document
   Set oDoc = ThisApplication.ActiveDocument
   
   ' 拾取略图对象
   Dim oSymbol As SketchedSymbol
   Set oSymbol = oDoc.SelectSet(1)
   
   '获取略图对应草图
   Dim oSketch As DrawingSketch
   Set oSketch = oSymbol.Definition.Sketch
   
   '遍历其中的文本对象
   Dim oTextBox As TextBox
   For Each oTextBox In oSketch.TextBoxes
     Debug.Print "定义值: " & oTextBox.Text
     Debug.Print "最终值: " & oSymbol.getResultText(oTextBox)
   Next
   
 
End Sub


打印结果是:


 定义值: 静态文本
最终值: 静态文本

定义值: <作者>
最终值: liangx

定义值: <提示字串>
最终值: 提示字串最终值



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值