明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: airseejiun

如何编写VBA求解多个不规则封闭图形的总面积,总周长,个数?

  [复制链接]
发表于 2004-3-18 13:10:00 | 显示全部楼层
明总这个程序在我实用中有启发,但我先要请教一个菜鸟问题:如何引用(加载)curve类(老出编译错误)?先谢过,盼回复!
发表于 2004-4-4 22:50:00 | 显示全部楼层
'myfreemind: (3楼) 删除存在的选择集
If ThisDrawing.SelectionSets.Count > 0 Then
For i = 0 To ThisDrawing.SelectionSets.Count - 1
ThisDrawing.SelectionSets.Item(i).Clear
ThisDrawing.SelectionSets.Item(i).Delete
Next
End If
-------------------- 上面的 item (i) 中的 i 好象 要改成 常数 0
发表于 2004-4-5 12:30:00 | 显示全部楼层
使用For i = ThisDrawing.SelectionSets.Count - 1 To 0就不需要。
发表于 2004-4-5 18:48:00 | 显示全部楼层
efan2000: (13楼)使用For i = ThisDrawing.SelectionSets.Count - 1 To 0就不需要。
------------------------------------------
这行程序码不能省!
发表于 2004-4-13 11:02:00 | 显示全部楼层
是这样的,删除集合时,会引起集合中的数目变化。 For i = 0 To ThisDrawing.SelectionSets.Count - 1
ThisDrawing.SelectionSets.Item(i).Clear
ThisDrawing.SelectionSets.Item(i).Delete
Next 比如:本来集合中的数目是5个,删除1个之后只有4个了,但计数器i的循环次数依然没有改变,是从0-4的,因而后面的就会出错,因为已经不存在了。 For i = ThisDrawing.SelectionSets.Count - 1 To 0 ThisDrawing.SelectionSets.Item(i).Clear
ThisDrawing.SelectionSets.Item(i).Delete
Next 计数器i的循环是从4-0的,所以没有影响。
发表于 2004-4-14 23:32:00 | 显示全部楼层
vl


用get-area属性,vlax-curve系列很容易解决
发表于 2004-11-3 17:58:00 | 显示全部楼层
做建筑的正需要这个。。谢了。。
发表于 2007-12-8 21:53:00 | 显示全部楼层
mccad发表于2003-10-29 22:57:00注意程序需要加载VLAX类和CURVE类程序处理过程调用了(gc)来强制释放内存,不然会出错。Sub GetTolArea()    ThisDrawing.SendCommand \"(vl-load-com)\" & vbCr 

此帖子必要认真研究一下。

发表于 2008-1-19 17:29:00 | 显示全部楼层

这个程序太好了,可以解决实际问题,如果再改进一点就更好了,

如果点在空处会出错,我真傻,明摆着要点框,我却去框选。

实际应用中,如果要多次框选,如何修改?

发表于 2008-7-10 09:48:00 | 显示全部楼层

求命令?

已经加载,但是如何调用命令呢?

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-27 16:18 , Processed in 0.171394 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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