求一个展开圆的lisp程序

来源:百度知道 编辑:UC知道 时间:2024/06/11 15:13:05
例子:在CAD中有一个圆,我们可以通过属性看到这圆的周长,现在我需要一个lisp程序,可以输入命令后拾取这个圆,然后可以在屏幕指定一个点,生成一个等于圆的周长的直线,完毕。

(defun C:cl (/ );

(setvar "cmdecho" 1)
(setq en (ssget (list '(0 . "circle"))))
(setq len 0)
(setq ss (ssname en 0))
(command "lengthen" ss "") ;取图形长度
(setq len (getvar "perimeter"))
(setq p0 (getpoint"起点:")) ;;取起点
(setq x0 (car p0))
(setq y0 (cadr p0))
(setq p1 (list (+ x0 len) y0 ))
(command "LINE" P0 P1 "")
)