成语大全网 - 成语词典 - 如何通过VBA计算cad文字实际显示长度(注意看详细描述)

如何通过VBA计算cad文字实际显示长度(注意看详细描述)

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或者旋转角只有几度的文字的最大包围框是可以的,旋转角太大了就显得力有未逮了

完!!!