代码改变世界

VB编程设置AutoCAD文字样式

2011-06-17 21:44  精诚所至 金石为开  阅读(2690)  评论(0编辑  收藏  举报

文字在图纸中显示信息,AutoCAD提供了多种输入文本的方法,输入文本既可以采用当前默认的文字样式,也可以自己设置文本样式,TextStyle为文本样式对象,文本样式用来控制文字的字体、字宽、字高、排列方式和倾斜角度,系统默认样式为STANDARD样式。

可以用Add方法创建自己的文本样式对象,下面的语句创建一个名为Styobj的文本样式对象。

Dim styobj1 As AcadTextStyle
set styobj1=acadapp.ActiveDocument.TextStyles.Add("自定义文字样式")

可以预先创建多个文本样式对象,然后再书写文本前选择其中一个文本样式对象为当前文本样式对象,用文档对象的ActiveTextStyle属性设置为当前文本样式。

AcadApp.ActiveDocument.ActiveTextStyle=Styobj1

采用文字样式对象的SetFont方法或fontFile属性设置文本字体,文本样式对象的SetFont方法根据字体名设置字体,用文本样式对象的GetFont方法获得当前字体设置的默认值,作为SetFont方法设置字体的输入值,用文本样式对象的FontFile属性设置字体,只需将文字文件名赋值给FontFile属性即可,下面的代码将当前文字样式字体设置为宋体并显示一行汉字。

Private Sub Command1_Click()
    acadapp.ActiveDocument.ActiveTextStyle.fontFile = "C:\windows\fonts\vani.ttf"
    Dim textobj As AcadText
    Dim textstring As String
    Dim insertionpoint(0 To 2) As Double
    Dim height As Double
    textstring = "AutoCAD二次开发"
    height = 0.3
    insertionpoint(0) = 5: insertionpoint(1) = 2: insertionpoint(2) = 0
    Set textobj = acadapp.ActiveDocument.ModelSpace.AddText(textstring, insertionpoint, height)
End Sub