VBA不能或者说不能全支持获取长度,原因如下:
当文字旋转角度为0时,可以利用getboundingbox获取左下和右上两个角点的坐标,这是个方框,利用左下右上两个X值相减即可获取文字长度。
但是
当文字旋转角度较大时,如下图:
测试代码如下:
Sub test()
Dim zx As Variant
Dim ys As Variant
Dim pt As Variant
Dim ent1 As AcadEntity
ThisDrawing.Utility.GetEntity ent1, pt, "拾取对象"
ent1.GetBoundingBox zx, ys
Dim pl As AcadLine
Set pl = ThisDrawing.ModelSpace.AddLine(zx, ys)
Stop
End Sub
综上,VBA获取旋转角为0或者旋转角只有几度的文字的最大包围框是可以的,旋转角太大了就显得力有未逮了
完!!!