sdwzzy 发表于 2011-11-9 21:30:44

环形面积的计算

想用Lisp做一个求环形(大圆里套个小圆或者是10*10的正方形里再套个5*5的小正方形)面积的小程序,用bpoly生成面域,但不知道如何在Lisp里选择用bpoly生成的2个面域线进行处理,请高手指导下,给出核心代码更好,谢谢!!

ZZXXQQ 发表于 2011-11-9 22:16:26


;点选面积计算 明经 ZZXXQQ 2011.11.9
(defun c:tt ()
(setq s1 (entlast))
(setq ss (list) aa (list))
(setq pt (getpoint "\n域内一点 :"))
(command "_BPOLY" pt "")
(while (setq s1 (entnext s1)) (setq ss (cons s1 ss)))
(foreach x ss (command "AREA" "E" x) (setq aa (cons (getvar "AREA") aa)))
(setq am (eval (cons 'max aa)))
(setq sa 0.0)
(foreach x aa (if (not (equal x am 0.001)) (setq sa (+ sa x))))
(mapcar 'entdel ss)
(- am sa)
)

sdwzzy 发表于 2011-11-10 07:01:21

本帖最后由 sdwzzy 于 2011-11-10 07:04 编辑

ZZXXQQ 发表于 2011-11-9 22:16 http://bbs.mjtd.com/static/image/common/back.gif


谢谢ZZXXQQ老师,我还是Auto LISP个新手,我先把你给的代码好好学习一下!谢谢!!

楠水 发表于 2025-5-5 18:00:59

进来学习一下
页: [1]
查看完整版本: 环形面积的计算