请大家看下我这段小程序,哪里有问题
zhuangleiml
2010年03月11日 14:24:25
只看楼主

初用autolisp,想做一个环形相切圆的小程序,总是提示参数太少。。。(defun c:qy(/ b n a r r1 x) (setq b (getpoint "指定插入点:")) (setq r (getdist b "\n指定小圆半径:")) (setq n (getint "\n输入相切圆数量:")) (setq a (/ (* 2 pi) n)) (setq r1 (/ r (sin (/ a 2))))

初用autolisp,想做一个环形相切圆的小程序,总是提示参数太少。。。

(defun c:qy(/ b n a r r1 x)
(setq b (getpoint "指定插入点:"))
(setq r (getdist b "\n指定小圆半径:"))
(setq n (getint "\n输入相切圆数量:"))
(setq a (/ (* 2 pi) n))
(setq r1 (/ r (sin (/ a 2))))
(setq x (polar b (- (/ pi 2) (/ a 2)) r1))
(command "circle" b r)
(command "array" (entlast) "" "p" x n 360 "y")
(prin1)
)
免费打赏
小萝卜的头
2010年03月11日 22:37:57
2楼
没发现“参数太少”的问题
回复
zhuangleiml
2010年03月12日 14:19:46
3楼
很郁闷啊。。
回复
zml84
2010年03月12日 20:26:34
4楼
[code](defun c:qy (/ b n a r r1 x)
(if (and (setq n (getint "\n输入相切圆数量:"))
(setq b (getpoint "指定插入点:"))
(setq r (getdist b "\n指定小圆半径:"))
)
(progn
(setq a (/ (* 2 pi) n)
r1 (/ r (sin (/ a 2)))
x (polar b (- (/ pi 2) (/ a 2)) r1)
)
(command "_.circle" "non" b r)
(command "_.array" (entlast) "" "p" "non" x n 360 "y")
)
)
(princ)
)[/code]
回复

相关推荐

APP内打开