下面是框选,识别圆,以圆心画十字线的lisp代码
但是有个小问题,其中cr是指圆半径,但是我想让十字线长度为半径的60%,cl就是想要的值,但是cl (* cr 0.6)写上,下面的两个LINE中的cr改cl后就报错,不知道有什么问题,谁帮我解释下,需要怎么改才能实现十字线长度为半径的60%
 - (defun c:cct ( / ss n ent enttype cc cr cl)
- (setq ss (ssget) n 0)
- (repeat (sslength ss)
- (setq ent (ssname ss n)
- enttype (cdr (assoc 0 (entget ent)))
- cc (cdr (assoc 10 (entget ent)))
- cr (cdr (assoc 40 (entget ent)))
- ;cl (* cr 0.6)
- )
- (if (= enttype "CIRCLE")
- (progn
- (command "LINE" (list (- (car cc) cr) (cadr cc)) (list (+ (car cc) cr) (cadr cc)) "")
- (command "LINE" (list (car cc) (- (cadr cc) cr)) (list (car cc) (+ (cadr cc) cr)) "")
- (entdel ent)
- )
- )
- (setq n (1+ n))
- )
- )
|