明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: yicol

如何用VBA求面积?

  [复制链接]
发表于 2004-1-3 17:10:00 | 显示全部楼层
efan2000发表于2004-1-3 17:01:00呵呵,这个也可以求面积。在封闭区域内选择一点,然后生成它的边界,这个边界就是封闭的多段线,直接使用它的属性就行了。


Sub test()
     
     ' 当前图纸的实体数目
     Di



好程序!送花一朵!
发表于 2004-1-3 19:33:00 | 显示全部楼层
好程序啊!我复制了!!
发表于 2004-1-3 19:34:00 | 显示全部楼层
哦!刚才忘记了,送花一朵!
 楼主| 发表于 2004-1-17 13:16:00 | 显示全部楼层
好好好,OK
发表于 2004-1-18 10:13:00 | 显示全部楼层
大虾就是大虾
发表于 2005-7-3 09:31:00 | 显示全部楼层


  
呵呵,这个也可以求面积。在封闭区域内选择一点,然后生成它的边界,这个边界就是封闭的多段线,直接使用它的属性就行了。
  1. Sub  test()
  2.         
  3.         '  当前图纸的实体数目
  4.         Dim  n  As  Long
  5.         n  =  ThisDrawing.ModelSpace.Count
  6.         
  7.         '  调用BOUNDARY命令获取某一点处的边界
  8.         Dim  Pt  As  Variant
  9.         Pt  =  ThisDrawing.Utility.GetPoint(,  "指定内部点:  ")
  10.         ThisDrawing.SendCommand  "_-Boundary"  &  vbCr  &  Pt(0)  &  ","  &  Pt(1)  &  vbCr  &  vbCr
  11.         
  12.         '  如果存在边界,则会生成新的实体
  13.         Dim  lwpLineObj  As  AcadLWPolyline
  14.         If  ThisDrawing.ModelSpace.Count  >  n  Then
  15.                 Set  lwpLineObj  =  ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count  -  1)
  16.                 MsgBox  lwpLineObj.Area
  17.                 lwpLineObj.Delete
  18.         Else
  19.                 MsgBox  "未发现有效的边界。"
  20.         End  If
  21. End  Sub
顶一下,好程序
发表于 2011-9-15 12:15:26 | 显示全部楼层
困扰好久的问题终于解决了,支持一下。耶
发表于 2011-9-23 20:15:59 | 显示全部楼层
这段代码能转成.NET???
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 19:35 , Processed in 0.169211 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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