计算凸多边形面积(不封闭也行)
(defun c:ar ()(setq en (car (entsel)))
(setq
ptl(mapcar
'cdr
(vl-remove-if-not '(lambda (x) (= 10 (car x))) (entget en))
)
)
(setq ptl (mapcar 'list ptl (append (cdr ptl) (list (car ptl)))))
(apply '+
(mapcar
'(lambda (x)
(expt (* (car x)
(- (car x) (cadr x))
(- (car x) (caddr x))
(- (car x) (last x))
)
0.5
)
)
(mapcar '(lambda (y) (cons (* 0.5 (apply '+ y)) y))
(mapcar '(lambda (z)
(list (distance (car z) (cadr z))
(distance (cadr z) (last z))
(distance (car z) (last z))
)
)
(mapcar '(lambda (m) (cons (caar ptl) m)) ptl)
)
)
)
)
)
cghdy 发表于 2019-11-16 15:51
谢谢分享,好贴
这个只是为了练习表函数,不过用vla-get-area更好。 利用海伦公式 谢谢分享,好贴 好方法,谢谢分享
谁能讲解讲解 看都看不懂 NNWS神速神速
页:
[1]