AutoLISP自动计算封闭区域面积,代码如下。
(defun c:test()
(setvar "cmdecho" 0)
(setq pt (getpoint "\n选取点:"))
(while pt
(setvar "cecolor" "1")
(command "bpoly" pt "")
(setq en (entlast))
(if (/= en nil)
(progn
(command "area" "o" en)
(setq aa (getvar "area"))
(redraw en 3)
(alert (strcat "面积=" (rtos aa 2)))
)
)
(entdel en)
(setvar "cecolor" "bylayer")
(setq pt (getpoint "\n选取点:"))
)
(prin1)
)
代码完。