客觀地說,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分別表示底部對齊、中間對齊和頂部對齊
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數據處理及宏應用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF