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