rscenter 发表于 2004-4-17 20:38:00

如何确定单行文字的长度

用vba的addtext在当前模型空间中写一段单行文字,请问如何确定文字的长度!
谢谢!

雪山飞狐_lzh 发表于 2004-4-17 20:41:00

GetBoundingBox

efan2000 发表于 2004-4-17 22:28:00

如果文字有角度,GetBoundingBox不能正确返回文字的宽度,应该要先旋转到水平的位置,再用它求出包围它的矩形对象点坐标,然后旋转回原来的位置,

雪山飞狐_lzh 发表于 2004-4-17 22:35:00

高手就是高手
考虑问题都全面些

rscenter 发表于 2004-4-18 19:28:00

请斑竹看一下怎么回事!!!
GetBoundingBox函数不听使唤!
代码如下:
Dim txtobj As AcadText
                       Dim pnt0(0 To 2) As Double
                       pnt0(0) = 0: pnt0(1) = 0: pnt0(2) = 0
                       Set txtobj = ThisDrawing.ModelSpace.AddText("aaaaaaaaaa", pnt0, 3)
               
                       Dim pnt3, pnt4 As ACAD_POINT
                       txtobj.GetBoundingBox pnt3, pnt4
                       Dim lineobj As AcadLine
                       
                       Set lineobj = ThisDrawing.ModelSpace.AddLine(pnt3, pnt4)
本来我想从文本对象边框的最大和最小点画一条,结果成了图片的样子?如何解决??!!谢谢

雪山飞狐_lzh 发表于 2004-4-18 19:39:00

我运行的挺好的
你把ACAD_POINT换成Variant试试

rscenter 发表于 2004-4-18 20:11:00

难道和我设置的文字样式中的宽度比例由关系吗???
一开始我的cad模板默认的文字样式中的宽度比例为0.66,出现上述症状,把宽度比例调成1,没有问题!
请问如何根据不同的宽度比例调整?????

雪山飞狐_lzh 发表于 2004-4-18 20:50:00

和宽度比例应该没有关系,我以前宽度比例为0.75,也没有出现过

莫名 发表于 2004-4-18 21:38:00

GetBoundingBox 和文字宽度比例没有关系
页: [1]
查看完整版本: 如何确定单行文字的长度