找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2358|回复: 10

[LISP程序]:累计封闭Pline,Hatch(autocad2006+)等面积

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-9-23 12:31:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

  1. ;;累计封闭Pline、Spline,Region,Circle,Hatch(autocad2006+)面积
  2. ;;对Hatch计算时有错误提示
  3. ;;Form [url]www.xdcad.net[/url] eachy 2005.9.23
  4. (defun c:CalArea (/ ss _area m)
  5.   ;(xd-begin nil);_ Begin Mark
  6.   (if (setq ss (ssget (list '(-4 . "<or")
  7.                             '(0 . "region,circle,hatch") ;_Region circle hatch
  8.                             '(-4 . "<and")
  9.                             '(0 . "ellipse")
  10.                             '(41 . 0.)
  11.                             (cons 42 (* pi 2))
  12.                             '(-4 . "and>") ;_totle ellipse
  13.                             '(-4 . "<and")
  14.                             '(0 . "*polyline,spline")
  15.                             '(-4 . "&=")
  16.                             '(70 . 1);_closed
  17.                             '(-4 . "and>")
  18.                             '(-4 . "or>")
  19.                       )
  20.                )
  21.       )
  22.     (progn
  23.       (setq _area 0.
  24.             m 0
  25.       )
  26.       (xd-ssmap
  27.         '(lambda (e / area typ)
  28.            (setq area (vl-catch-all-apply 'vlax-curve-getarea (list e))
  29.                  typ  (cdr (assoc 0 (entget e)))
  30.            )
  31.            (if (= typ "HATCH")
  32.              (setq area        (vl-catch-all-apply
  33.                           'vla-get-area
  34.                           (list (vlax-ename->vla-object e))
  35.                         )
  36.              );_ 可能为 0 或 error in cad2006-
  37.              (setq
  38.                area (vl-catch-all-apply 'vlax-curve-getarea (list e))
  39.              );_ get area of curve
  40.            )
  41.            (if (or (vl-catch-all-error-p area);_ befor CAD2006
  42.                    (zerop area);_ error
  43.                );_错误检测,不包括自相交的Pline Spline
  44.              (progn (redraw e 3)
  45.                     (setq m (1+ m))
  46.              )
  47.              (setq _area (+ _area area));_可以根据单位自调
  48.            )
  49.          )
  50.         ss
  51.       )
  52.       (princ "\nTotle Area = ")
  53.       (princ _area)
  54.       (if (not (zerop m))
  55.         (princ (strcat "\nTotle " (itoa m) " Entity Can not Cal Area!"))
  56.       );_错误提示
  57.     )
  58.   )
  59.   ;;(xd-end);_End Mark
  60.   (princ)
  61. )
  62. (princ "\nStart Command With CalArea. eachy [[url]www.xdcad.net[/url]]!")
  63. (princ)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-4-14 15:41:17 | 显示全部楼层
Command:
CALAREA
Select objects: 1 found
Select objects: 1 found, 2 total
Select objects: 1 found, 3 total
Select objects:
错误: no function definition: XD-SSMAP
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-4-14 18:28:40 | 显示全部楼层
最初由 zzqxuexicad 发布
[B]Command:
CALAREA
Select objects: 1 found
Select objects: 1 found, 2 total
Select objects: 1 found, 3 total
Select objects:
错误: no function definition: XD-SSMAP [/B]



加载小东库即可。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-5-7 13:54:03 | 显示全部楼层
有甚麼用啊LZ?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-5-20 18:49:35 | 显示全部楼层
呵呵  都是快捷的东西 果然实用 呵呵
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-12-27 08:30:25 | 显示全部楼层
这个方法不错。。以后不用放大在放大了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-2-4 18:59:03 | 显示全部楼层
反正还是看不懂啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-2-19 16:22:39 | 显示全部楼层
下下来试试。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-3-24 17:49:20 | 显示全部楼层
感谢楼主
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-6-9 22:30:03 | 显示全部楼层
好像有问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2010-1-7 23:54:39 | 显示全部楼层
看不懂
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-18 20:07 , Processed in 0.616091 second(s), 51 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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