各位大侠,下面是我编的一段代码,作用在注释里已经说明白了。现在程序有点问题。 我想用grdraw画个线显示选择的范围,但是实际发现如果不把带有grdraw的两句去掉, 程序就不能正常运行。请告诉我如何在grdraw的情况下把程序改正常? ;程序想要实现的目标是获取圆上两点之间的角度,也就是angle12
(defun c:hc() (setq circle0 (entget (car (entsel "\n请选择圆或圆弧:")))) (setq circle-rr (cdr (assoc 40 circle0))); 获取半径 (setq circle-xin (cdr (assoc 10 circle0)));获取圆心 (setq p1 (getpoint circle-xin "\n 输入圆弧的起点:")) ;(grdraw circle-xin p1 1) (setq p2 (getpoint circle-xin "\n 输入圆弧的终点:")) ;((grdraw circle-xin p2 2)) (setq kk1 (/ (- (cadr p1) (cadr circle-xin)) (- (car p1) (car circle-xin))));求线1斜率 (setq kk2 (/ (- (cadr p2) (cadr circle-xin)) (- (car p2) (car circle-xin))));求线2斜率 (setq angle12 (atan (abs (/ (- kk1 kk2) (+ 1 (* kk1 kk2))))));求得直线的夹角,单位为弧度 (alert (rtos angle12));测试结果 )
|