把变量置为局部变量,生成图元建议用entmake,速度会快n倍
 - (defun c:tt (/ a b r n angl i j)
- (setq pt (getpoint "\n请指定绘图中点:"))
- (if pt
- (progn
- (setq r (getreal "\n请输入图形半径<100>:"))
- (if (null r)(setq r 100.))
- (setq a (car pt) b (cadr pt))
- (setq n 25 angl (/ (* pi 2) n))
- (setq i 0)
- (while (< i n)
- (setq j (1+ i))
- (while (< j n)
- (entmake (list '(0 . "LINE")
- '(100 . "AcDbEntity")
- '(100 . "AcDbLine")
- (cons 10
- (list (+ a (* r (sin (* i angl))))
- (- b (* r (cos (* i angl))))
- )
- )
- (cons 11
- (list (+ a (* r (sin (* j angl))))
- (- b (* r (cos (* j angl))))
- )
- )
- '(210 0. 0. 1.)
- )
- )
- (setq j (1+ j))
- )
- (setq i (1+ i))
- )
- )
- )
- )
|