找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1055|回复: 1

[LISP函数]:曲線選集面積求和

[复制链接]

已领礼包: 2个

财富等级: 恭喜发财

发表于 2006-1-8 22:23:19 | 显示全部楼层 |阅读模式

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

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

×
[PHP](defun th-getobjareaofss (ss / ss ssv areas)
  (if (= nil ss)
    (setq ss (ssget '((0 . "*LINE,ARC,CIRCLE,ELLIPSE"))))
  )
  (setq ssv (vla-get-activeselectionset
                                        (vla-get-activedocument
                                                                (vlax-get-acad-object)
                                        )
            )
        areas 0
  )
  (vlax-for obj ssv (setq areas (+ areas (vlax-curve-getarea obj))))
)

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

已领礼包: 593个

财富等级: 财运亨通

发表于 2006-1-8 22:54:28 | 显示全部楼层
这个没必要用 ActiveX,使用 Autolisp 中的 Vlax-curve-getarea 即可

  1. (defun xdl-ss-area (ss / area ssl i)
  2.   (if (or (= (type ss) 'PICKSET)
  3.           (setq ss (ssget '((0 . "*LINE,ARC,CIRCLE,ELLIPSE"))))
  4.       )
  5.     (progn
  6.       (setq area 0.
  7.             ssl         (sslength ss)
  8.             i         -1
  9.       )
  10.       (repeat ssl
  11.         (setq area
  12.                (+ area (vlax-curve-getarea (ssname ss (setq i (1+ i)))))
  13.         )
  14.       )
  15.     )
  16.   )
  17.   area
  18. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 06:40 , Processed in 0.383555 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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