happymeson 发表于 2008-12-13 14:34:00

[求助]用vba怎样实现像填充时点击一点拾取一个封闭区域的功能?

<p>请问,用vba怎样实现像填充时点击一点拾取一个封闭区域的功能?<br/>我想测定封闭区域的面积,该如何实现?</p><p>选择该区域的思路或者关键语句能给个提示吗?<br/>谢谢各位大大先~~~</p>

night1001 发表于 2008-12-15 21:33:00

<p>好帖子不要沉啊,我先顶一个</p><p>但是我也不知道该怎么做,不能给楼主提供什么建设性的建议了</p><p>关注中。。。</p>

happymeson 发表于 2008-12-16 16:38:00

<p>严重对这里的人的热心程度表示怀疑~~~</p><p>难道就没有人知道怎么样对内部孤岛进行分析吗?</p>

tnt1095 发表于 2008-12-17 10:55:00

<p>提供个思想:</p><p>&nbsp; 用cad自己带的功能"_label"功能.先记录有多少个实体(n),如果"label"使用成功后,必然后(n+1)个实体,通过item(n+1)的方法得到这个实体,这时候你就可以得到它的面积了.</p>

happymeson 发表于 2008-12-17 12:10:00

<p>完全没有不懂,cad 的label功能是什么功能阿?google 了 没有发现,只发现了label是form的属性阿</p><p>能详细解答一下吗?我新手,比较菜。先谢谢了</p>

tnt1095 发表于 2008-12-17 16:36:00

<p>抱歉,说错了,是"boundary"功能</p><p>其他同上面我说的</p><p></p>

happymeson 发表于 2008-12-31 09:50:00

<p>搞定,谢谢楼上的解答</p><p>代码如下:</p><p>n = ThisDrawing.ModelSpace.Count<br/>ThisDrawing.SendCommand ("snap" &amp; vbCr &amp; "off" &amp; vbCr)&nbsp; '关闭捕捉功能<br/>pt = ThisDrawing.Utility.GetPoint(, vbCr &amp; "指定下一内部点:" &amp; vbCr) '取得内部点<br/>If Err Then<br/>Err.Clear<br/>Exit Function<br/>End If<br/>ThisDrawing.SendCommand "-Boundary" &amp; vbCr &amp; pt(0) &amp; "," &amp; pt(1) &amp; vbCr &amp; vbCr<br/>If ThisDrawing.ModelSpace.Count &gt; n Then<br/>Set objPoly = ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count - 1)<br/>Else<br/>MsgBox "未发现有效的边界。"<br/>Exit Function<br/>End If</p><p>再次感谢楼上的高人</p><p></p>

cqy 发表于 2010-7-19 09:13:00

感谢<font face="Verdana" color="#61b713"><b>happymeson</b></font>!
页: [1]
查看完整版本: [求助]用vba怎样实现像填充时点击一点拾取一个封闭区域的功能?