1、需要定义一个矩形对象,使用DimrectAsAcadLWPolyline语句来定义。
2、需要使用rectAddVertex语句来添加矩形的四个顶点坐标,顺序为左下角、左上角、右上角、右下角。
3、使用rectClosed=True语句来将矩形闭合,从而形成一个完整的矩形。
详情如下:
1点矩形图标 在cad工具栏中,点击“矩形”工具图标。
2指定起点输入指令D 在编辑区中,指定矩形的起点并输入指令“D”按下空格键。
3输入矩形长宽 输入矩形的长度按空格键确定,再输入宽度按下空格键,完成矩形绘制。
VBA不能或者说不能全支持获取长度,原因如下:
当文字旋转角度为0时,可以利用getboundingbox获取左下和右上两个角点的坐标,这是个方框,利用左下右上两个X值相减即可获取文字长度。
但是
当文字旋转角度较大时,如下图:
测试代码如下:
Sub test()
Dim zx As Variant
Dim ys As Variant
Dim pt As Variant
Dim ent1 As AcadEntity
ThisDrawingUtilityGetEntity ent1, pt, "拾取对象"
ent1GetBoundingBox zx, ys
Dim pl As AcadLine
Set pl = ThisDrawingModelSpaceAddLine(zx, ys)
Stop
End Sub
综上,VBA获取旋转角为0或者旋转角只有几度的文字的最大包围框是可以的,旋转角太大了就显得力有未逮了
完!!!
你试试以下的句子,也许会有帮助:
Sub Example_GetCorner()
Dim returnPnt As Variant
Dim basePnt(0 To 2) As Double
basePnt(0) = 2#: basePnt(1) = 2#: basePnt(2) = 0#
returnPnt = ThisDrawingUtilityGetCorner(basePnt, "Enter Other corner: ")
MsgBox "The point picked was " & returnPnt(0) & ", " & returnPnt(1) & ", " & returnPnt(2), , "GetCorner Example"
End Sub
=========祝你写程序愉快
以上就是关于cadvba读取矩形坐标全部的内容,包括:cadvba读取矩形坐标、cad矩形长宽怎么输入、如何通过VBA计算cad文字实际显示长度(注意看详细描述)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)