明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2169|回复: 7

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

[复制链接]
发表于 2008-12-13 14:34:00 | 显示全部楼层 |阅读模式

请问,用vba怎样实现像填充时点击一点拾取一个封闭区域的功能?
我想测定封闭区域的面积,该如何实现?

选择该区域的思路或者关键语句能给个提示吗?
谢谢各位大大先~~~

发表于 2008-12-15 21:33:00 | 显示全部楼层

好帖子不要沉啊,我先顶一个

但是我也不知道该怎么做,不能给楼主提供什么建设性的建议了

关注中。。。

 楼主| 发表于 2008-12-16 16:38:00 | 显示全部楼层

严重对这里的人的热心程度表示怀疑~~~

难道就没有人知道怎么样对内部孤岛进行分析吗?

发表于 2008-12-17 10:55:00 | 显示全部楼层

提供个思想:

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

 楼主| 发表于 2008-12-17 12:10:00 | 显示全部楼层

完全没有不懂,cad 的label功能是什么功能阿?google 了 没有发现,只发现了label是form的属性阿

能详细解答一下吗?我新手,比较菜。先谢谢了

发表于 2008-12-17 16:36:00 | 显示全部楼层

抱歉,说错了,是"boundary"功能

其他同上面我说的

 楼主| 发表于 2008-12-31 09:50:00 | 显示全部楼层

搞定,谢谢楼上的解答

代码如下:

n = ThisDrawing.ModelSpace.Count
ThisDrawing.SendCommand ("snap" & vbCr & "off" & vbCr)  '关闭捕捉功能
pt = ThisDrawing.Utility.GetPoint(, vbCr & "指定下一内部点:" & vbCr) '取得内部点
If Err Then
Err.Clear
Exit Function
End If
ThisDrawing.SendCommand "-Boundary" & vbCr & pt(0) & "," & pt(1) & vbCr & vbCr
If ThisDrawing.ModelSpace.Count > n Then
Set objPoly = ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count - 1)
Else
MsgBox "未发现有效的边界。"
Exit Function
End If

再次感谢楼上的高人

发表于 2010-7-19 09:13:00 | 显示全部楼层
感谢happymeson
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 22:27 , Processed in 0.162963 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表