明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: wjj992

求助,计算面积的想法

  [复制链接]
 楼主| 发表于 2008-12-10 12:36:00 | 显示全部楼层

随便拿一张比较多的填充的图,框选后总会出现

“命令: cs
选择对象: 指定对角点: 找到 228 个
选择对象:
建模操作错误:
     操作失败。
Automation 错误。 输入无效”

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

或者是

命令: cs
选择对象: 指定对角点: 找到 7 个
选择对象:
Automation 错误。 输入无效

算不出来,还有能不能加一句命令把算出来的自动删除掉,这样能知道那些计算好了,不会重复

 楼主| 发表于 2008-12-13 03:03:00 | 显示全部楼层
我检查了一下,那个计算不出来是应为填充图案没面积,cad自带aa也计算不出来,那能不能自动过滤掉这些计算不了的图案,只计算可以计算的图案面积,计算完后可以删除掉可以计算的图案(把要计算的填充拷一份出来就可以了),这样可以看到那些不能计算的地方,再用pl线去求那些没有面积的图案
 楼主| 发表于 2008-12-13 03:50:00 | 显示全部楼层
而且每个单独的填充图案能不能文字标出每个图案面积
 楼主| 发表于 2008-12-13 03:55:00 | 显示全部楼层
感觉提这么多要求,工程量挺巨大。不好意思各位
 楼主| 发表于 2009-4-10 21:27:00 | 显示全部楼层
晓东论坛上有位大侠优化了一下,他把计算不了的图案自动过滤改成红色,其他的照样可以计算,相信这个对植物种植计算很有帮助,下面是调整后的代码
(vl-load-com)
(defun c:mj (/ thisdrawing modelspace cset hname area ll na)
  (setq        thisdrawing (vla-get-activedocument (vlax-get-acad-object))
        modelspace  (vla-get-modelspace thisdrawing)
  )
  (if (not (vl-catch-all-error-p
             (setq cset
                    (vl-catch-all-apply
                      'vla-item
                      (list
                        (vla-get-selectionsets
                          thisdrawing
                        )
                        "CURRENT"
                      )
                    )
             )
           )
      )
    (vla-delete cset)
  )
  (if (ssget '((0 . "hatch")))
    (progn
      (vlax-for        obj (vla-get-activeselectionset thisdrawing)
        (setq hname (vla-get-patternname obj)
              area  (vl-catch-all-apply 'vla-get-area (list obj))
        )
        (if (= (type area) 'REAL)
          (if ll
            (if        (setq na (assoc hname ll))
              (setq ll (subst (list hname (+ area (cadr na))) na ll))
              (setq ll (cons (list hname area) ll))
            )
            (setq ll (cons (list hname area) ll))
          )
          (progn
            (vla-put-color obj acred)
            (vla-highlight obj actrue)
          )
        )
      )
    )
  )
  (princ ll)
  (princ)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-27 20:09 , Processed in 0.208882 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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