字体没有设置好,你看看你所采用的标注样式中的字体样式是采用哪个字体样式
然后再看看该字体样式是否设置了大字体。一般来说,要显示直径符号,都是要使用.shx字体的,所以还是设置大字体好,而不要设置TTF字体。
你可以按照以上的思路来写程序,至于字体的设置,前几天刚写了个自动设置中文字体的小程序,在这个论坛上,你看一下,可能会有帮助。
到底是什么环境?
你指的是指CAD的绘图环境还是指CAD的VBA IDE环境?如果是绘图环境的话,相应的只要更改文字样式中的字体就可以了,如果是编辑器环境的话,那就更改代码显示的文字字体。直径变成方框是字体没设好,要使用大字体。如西文字体采用txt.shx,中文字体采用hztxt.shx。
你是说直径符号和文本文字分别设置吗
我为什么弄不成,我完了,如果2月份搞不定,我老板会让我延期毕业得哦
Dim newtextstyleobj1 As AcadTextStyleDim textstylename1 As String
textstyle1 = ".shx"
Set newtextstyleobj1 = ThisDrawing.TextStyles.Add(textstyle1)
newtextstyleobj1.TextGenerationFlag = 0
Dim fontfilename As String
Dim textbold As Boolean
Dim textitalic As Boolean
Dim textcharset As Long
Dim textpfamily As Long
ThisDrawing.ActiveTextStyle.GetFont fontfilename, textbold, textitalic, textcharset, textpfamily
fontfilename = "宋体.shx"
ThisDrawing.ActiveTextStyle.SetFont fontfilename, textbold, textitalic, textcharset, textpfamily
ThisDrawing.Regen acActiveViewport
下面是我编的,你指点以下错那了,谢谢版主
Dim newtextstyleobj1 As AcadTextStyleDim textstylename1 As String
textstyle1 = ".shx"
Set newtextstyleobj1 = ThisDrawing.TextStyles.Add(textstyle1)
newtextstyleobj1.TextGenerationFlag = 0
Dim fontfilename As String
Dim textbold As Boolean
Dim textitalic As Boolean
Dim textcharset As Long
Dim textpfamily As Long
ThisDrawing.ActiveTextStyle.GetFont fontfilename, textbold, textitalic, textcharset, textpfamily
fontfilename = "宋体.shx"
ThisDrawing.ActiveTextStyle.SetFont fontfilename, textbold, textitalic, textcharset, textpfamily
ThisDrawing.Regen acActiveViewport
程序看不出什么思路
1.你新建了一个字体样式,名称为“.shx”,我想不出为什么要起这样的名称。最好用其它名称。2.新建了字体样式,但在随后的程序中又不调用并设置其中文字体,却设置当前字体的中文字体,所以字体样式也不必新建了。
3.中文字体如果你用的是TTF字体,则宋体的字体名称为“SIMSUN.TTF”,而不是“宋体.SHX”。
4.设置字体你可使用
ThisDrawing.ActiveTextStyle.FontFile="SIMSUN.TTF"来设置。
页:
1
[2]