我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > CAD教程 > CAD教程文章

Autocad VBA初級教程 (第七課 寫文字)

時間:2010-11-18 19:48:35 來源:未知

客觀地說,ACAD寫字功能不夠歷害,而用VBA可以使寫字效率更高。比較正規的做法是把定義文字樣式,用樣式來控制文字的特性。我們還是用實例來學習,先看下面一段代碼,它的作用是先創建一個文字樣式,然后用這個文字樣式寫一段多行文本。

Sub txt()

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

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


ThisDrawing.ActiveTextStyle = mytxt '將當前文字樣式設置為mytxt
Set txtobj = ThisDrawing.ModelSpace.AddMText(p, 1400, "{做到老,學到老}P" & "此心自光明正大,過人遠矣")

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

End Sub

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

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

Call ThisDrawing.ModelSpace.AddMText(p, 1400, "{做到老,學到老}P" & "此心自光明正大,過人遠矣")
這條語句是寫文本,需要三個參數。第一個參數p是坐標,1400是寬度,最后一個參數是文本內容,其中p是一個回車符

擴大字符間距用T數字,例:T3abc,使文字abc的間距擴大3 部,n取值范圍是0.75-3

在論壇中有一個經常被同好提及的問題:如何使用文字疊加。舉例說明:123S+0.12^-0.34
S是格式字符,^是分隔符,前面的數字在上,后面的數字在下。

C是顏色格式字符,C后面跟一個數字表示顏色

A是對齊方式,A0,A1,A2分別表示底部對齊、中間對齊和頂部對齊