zzp-2000 发表于 2005-1-22 16:13:00

怎样设置属性块中文字的宽度比例?

我做了一个属性块,并且设置了文字的显示宽度,在输入文字的时候,由于文字字符数量有长有短,需要根据文字的长短随时调整文字的宽度比例,那位高手帮忙解决一下?另如果文字中含有数字,会有不同的处理方法吗?


感谢中!

tfyyf 发表于 2005-1-23 09:26:00

TextObj.ScaleFactor =

zzp-2000 发表于 2005-1-23 13:26:00

如果我设定文字的显示宽度为8,字符为两个中文字符,宽度比例为0.67,但我要在8的宽度范围内显示4个字符,那宽度比例就要改变,我要知道怎样根据字符数量来确定宽度比例?并且字符和数字及中文字符怎样分别处理?

雪山飞狐_lzh 发表于 2005-1-23 13:55:00

可以把属性文本的对齐方式改为“调整”,再更改文本插入点和对齐点的坐标值

tfyyf 发表于 2005-1-23 18:28:00

Set AcadApp = GetObject(, "AutoCAD.Application")                       ' 获得AutoCAD对象<BR>                       Set objDoc = AcadApp.ActiveDocument<BR>                       ' 初始化 TEXT 的起点<BR>                       StartPoint(0) = 10#<BR>                       StartPoint(1) = 10#<BR>                       StartPoint(2) = 0#<BR>                       ' 写一串 TEXT, 其中字高为 5<BR>                       Set Ent = objDoc.ModelSpace.AddText("textString", StartPoint, 5#)<BR>                       ' 初始化 TEXT 的调整点<BR>                       Point1(0) = 20#<BR>                       Point1(1) = 10#<BR>                       Point1(2) = 0#<BR>                       With Ent<BR>                       .Color = 1                                                                                                                                               ' 改用红色<BR>                       .ObliqueAngle = 0.174444                               ' 改倾斜角度<BR>                                       .VerticalAlignment = 0                                               ' 设垂直位置为 0<BR>                       .ScaleFactor = 1#                                                                                       ' 设文字高宽比,当需要两端对齐时,必须任意给一个值<BR>                       .HorizontalAlignment = 5                               ' 设文字为两端对齐<BR>                       .TextAlignmentPoint = Point1 ' 设对齐点<BR>                       End With<BR>AcadApp.ActiveDocument.ActiveViewport = AcadApp.ActiveDocument.ActiveViewport<BR>                       Set AcadApp = Nothing
页: [1]
查看完整版本: 怎样设置属性块中文字的宽度比例?