- (defun c:ai()
- (setq olos (getvar "osmode"))
- (setvar "osmode" 0)
- (setq p (getpoint "\n 请输入大圆圆心坐标<(0, 0)>:"))
- (or p (setq p '(0 0)))
- (setq r1 (getdist p "\n 请输入大圆半径<默认为4000>:"))
- (or r1 (setq r1 4000))
- (setq r2 (getreal "\n 请输入小圆半径<默认为1500>:"))
- (or r2 (setq r2 1500))
- (initget 6)
- (setq num (getint "\n 请输入小圆个数<默认为8>:"))
- (or num (setq num 8))
- (setq beta (/ (* pi 2) num))
- (command "circle" p r1)
- (setq xx (entlast))
- (setq n 0)
- (repeat num
- (setq alpha (* n beta))
- (setq pp (polar p alpha r1))
- (setq ppp (polar p (+ pi alpha) (- r1 r2)))
- (setq ss (ssadd) ss (ssadd xx ss))
- (command "circle" pp r2)
- (setq enyuan (entlast))
- (command "trim" "" pp (list enyuan ppp) "")
- (setq n (1+ n))
- )
- (setvar "osmode" olos)
- (princ)
- )
你程序想的太复杂 |