你當(dāng)前的位置>>主頁(yè)>>AutoCAD知識(shí)>>專(zhuān)題教程
 

Autocad VBA初級(jí)教程 (第七課 寫(xiě)文字)

    客觀地說(shuō),ACAD寫(xiě)字功能不夠歷害,而用VBA可以使寫(xiě)字效率更高。比較正規(guī)的做法是把定義文字樣式,用樣式來(lái)控制文字的特性。我們還是用實(shí)例來(lái)學(xué)習(xí),先看下面一段代碼,它的作用是先創(chuàng)建一個(gè)文字樣式,然后用這個(gè)文字樣式寫(xiě)一段多行文本。

Sub txt()

Dim mytxt As AcadTextStyle '定義mytxt變量為文本樣式
Dim p(0 To 2) As Double '定義坐標(biāo)變量
p(0) = 100: p(1) = 100: p(2) = 0 '坐標(biāo)賦值
Set mytxt = ThisDrawing.TextStyles.Add("mytxt") '添加mytxt樣式

mytxt.fontFile = "c:\windows\fonts\simfang.ttf" '設(shè)置字體文件為仿宋體
mytxt.Height = 100 '字高
mytxt.Width = 0.8 '寬高比
mytxt.ObliqueAngle = ThisDrawing.Utility.AngleToReal(3, 0) '傾斜角度(需轉(zhuǎn)為弧度)


ThisDrawing.ActiveTextStyle = mytxt '將當(dāng)前文字樣式設(shè)置為mytxt
Set txtobj = ThisDrawing.ModelSpace.AddMText(p, 1400, "{做到老,學(xué)到老}\P" & "此心自光明正大,過(guò)人遠(yuǎn)矣")

txtobj.LineSpacingFactor = 2 '指定行間距
txtobj.AttachmentPoint = 3 '右對(duì)齊(1為左對(duì)齊,2為居中)

End Sub

我們看這條語(yǔ)句
Set mytxt = ThisDrawing.TextStyles.Add("mytxt")
添加文本樣式并賦值給mytxt變量,只需要一個(gè)參數(shù):文本樣式名

fontfile、height、width、ObliqueAngle是文本樣式最常用的屬性

Call ThisDrawing.ModelSpace.AddMText(p, 1400, "{做到老,學(xué)到老}\P" & "此心自光明正大,過(guò)人遠(yuǎn)矣")
這條語(yǔ)句是寫(xiě)文本,需要三個(gè)參數(shù)。第一個(gè)參數(shù)p是坐標(biāo),1400是寬度,最后一個(gè)參數(shù)是文本內(nèi)容,其中\(zhòng)p是一個(gè)回車(chē)符

擴(kuò)大字符間距用\T數(shù)字,例:\T3abc,使文字abc的間距擴(kuò)大3 部,n取值范圍是0.75-3

在論壇中有一個(gè)經(jīng)常被同好提及的問(wèn)題:如何使用文字疊加。舉例說(shuō)明:123\S+0.12^-0.34
\S是格式字符,^是分隔符,前面的數(shù)字在上,后面的數(shù)字在下。

\C是顏色格式字符,C后面跟一個(gè)數(shù)字表示顏色

\A是對(duì)齊方式,\A0,\A1,\A2分別表示底部對(duì)齊、中間對(duì)齊和頂部對(duì)齊.

本教程共13頁(yè)    第  [1]  [2] [3] [4] [5] [6]  7  [8] [9] [10] [11]  [12]  [13]  頁(yè)
民眾工作室.制作      版權(quán)所有