怎么通过一点获得一个封闭区域
怎么通过一点获得一个封闭区域?就像cad里的填充那样!例如,几根直线首尾相接,我想直接点击几根直线组成的封闭区域中的一点,就返回一个封闭的区域,从而获取封闭区域的面积,如何实现?谢谢! 用boundary问题是我不想弹出cad的对话框,直接用VBA调用boundary,但不弹出对话框!这样就好了!
搜了半天,原来
Dim pnt
Dim picked As Boolean
pnt = ThisDrawing.Utility.GetPoint(, "点")
ThisDrawing.SendCommand "-boundary" & vbCr & "a" & vbCr & "b" & vbCr & "e" & vbCr & vbCr & pnt(0) & "," & pnt(1) & vbCr & vbCr
这样就不弹出对话框了,但怎么返回获得的边界的,再搜一下!
怎么返回边界,如果边界不封闭就自动退出程序!这怎么解决呢? 先记住现有图形数量,求边界后多出的就是了
如果边界不封闭就自动退出程序!这怎么解决呢?就是怎么判断边界到底封不封闭!例如如果不封闭就msgbox "不封闭",以前好像有人问过,但不了了之! 如果求不出边界,图形就不封闭 谢谢了!结论是通过下面的代码创建封闭区域
Dim pnt
Dim picked As Boolean
pnt = ThisDrawing.Utility.GetPoint(, "点")
ThisDrawing.SendCommand "-boundary" & vbCr & "a" & vbCr & "b" & vbCr & "e" & vbCr & vbCr & pnt(0) & "," & pnt(1) & vbCr & vbCr
然后判断图元的个数有没有变化,可惜如果不封闭的话,先在命令行里显示cad的提示,就是不想让别人看到cad的提示痕迹!看来vba很难实现了!
页:
[1]