如何画出闭合的多线后就显示闭合部分的面积
如题,请大家给予指点,深表感谢Sub GetArea()
Dim sjx As AcadSelectionSet, obj As AcadEntity
On Error Resume Next
ThisDrawing.SendCommand "_pline" & vbCr
Set sjx = ThisDrawing.SelectionSets.Add("ff1")
sjx.Select acSelectionSetLast
Set obj = sjx.Item(0)
MsgBox obj.Area / 1000000
sjx.Delete
End Sub 多段线有面积特性,直接可以得到的。
将On Error Resume Next删除,看看问题出在哪儿。
建议在调试程序时暂时不用On Error Resume Next
vbcad 发表于 2014-2-11 12:22 static/image/common/back.gif
多段线有面积特性,直接可以得到的。
将On Error Resume Next删除,看看问题出在哪儿。
建议在调试程序时 ...
这段代码可以得到闭合多线所围成的面积,但不能同步执行,只能在执行第二次时显示前一次所画的封闭面积;不知如何调整代码,每次画完多线后就得出面积 将ThisDrawing.SendCommand "_pline" & vbCr删除。
在图纸中画多短线,然后执行这个代码,试试看。 今天测试了一下你的代码,完全正常。
画完后即可显示面积,不是你说的下一次才显示上一次的面积 vbcad 发表于 2014-2-12 11:06 static/image/common/back.gif
今天测试了一下你的代码,完全正常。
画完后即可显示面积,不是你说的下一次才显示上一次的面积
我的测试结果是只能显示前一次所画的面积,不能显示刚刚完成图形的面积。 请大家给予帮助 你的代码是正常的,附件中的EXE是用你的子程序编译成的,源代码也在,请自己试试看。 这个我也测试了一下,楼上的是VB编译的代码确实正常,楼主所说的是在CAD立面的VBA代码,确实也不正常。 另外测试了,如果超过8个边就会出现错误
页:
[1]
2