文字在圖紙中顯示信息,AutoCAD提供了多種輸入文本的方法,輸入文本既可以采用當(dāng)前默認(rèn)的文字樣式,也可以自己設(shè)置文本樣式,TextStyle為文本樣式對(duì)象,文本樣式用來控制文字的字體、字寬、字高、排列方式和傾斜角度,系統(tǒng)默認(rèn)樣式為STANDARD樣式。
可以用Add方法創(chuàng)建自己的文本樣式對(duì)象,下面的語句創(chuàng)建一個(gè)名為Styobj的文本樣式對(duì)象。
Dim styobj1 As AcadTextStyle
set styobj1=acadapp.ActiveDocument.TextStyles.Add("自定義文字樣式")
可以預(yù)先創(chuàng)建多個(gè)文本樣式對(duì)象,然后再書寫文本前選擇其中一個(gè)文本樣式對(duì)象為當(dāng)前文本樣式對(duì)象,用文檔對(duì)象的ActiveTextStyle屬性設(shè)置為當(dāng)前文本樣式。
AcadApp.ActiveDocument.ActiveTextStyle=Styobj1
采用文字樣式對(duì)象的SetFont方法或fontFile屬性設(shè)置文本字體,文本樣式對(duì)象的SetFont方法根據(jù)字體名設(shè)置字體,用文本樣式對(duì)象的GetFont方法獲得當(dāng)前字體設(shè)置的默認(rèn)值,作為SetFont方法設(shè)置字體的輸入值,用文本樣式對(duì)象的FontFile屬性設(shè)置字體,只需將文字文件名賦值給FontFile屬性即可,下面的代碼將當(dāng)前文字樣式字體設(shè)置為宋體并顯示一行漢字。
Private Sub Command1_Click()
acadapp.ActiveDocument.ActiveTextStyle.fontFile = "C:windowsfontsvani.ttf"
Dim textobj As AcadText
Dim textstring As String
Dim insertionpoint(0 To 2) As Double
Dim height As Double
textstring = "AutoCAD二次開發(fā)"
height = 0.3
insertionpoint(0) = 5: insertionpoint(1) = 2: insertionpoint(2) = 0
Set textobj = acadapp.ActiveDocument.ModelSpace.AddText(textstring, insertionpoint, height)
End Sub