看看这个lisp为什么老再循环
;ÃüÁ»­µã¸Ö½î;;;¹¦ÄÜ£º¿ÉÒÔÔÚÖ¸¶¨µÄ³¤¶ÈÄÚ»­Ö¸¶¨µÄ¸Ö½î½ØÃæ
(defun C:dgj (/ s a p1 p2 p3 )
(setvar "cmdecho" 0)
(setvar "osmode" 545)
(setq s (getint"\nÇëÊäÈë¸Ö½îÊýÄ¿:"))
(while
(setq p1 (getpoint "\nÇëÊ°È¡¸Ö½îÆðµã:"))
(setq p2 (getpoint "\nÇëÊ°È¡¸Ö½îÖÕµã:"))
(setq a (angle p1 p2))
(setvar "osmode" 0)
(setq p1 (polar p1 a (* 1.5 (GETVAR "PLINEWID"))))
(setq p2 (polar p2 a (- (* 1.5 (GETVAR "PLINEWID")))))
(setq p1 (polar p1 (- a (/ pi 2)) (* 1.5 (GETVAR "PLINEWID"))))
(setq p2 (polar p2 (- a (/ pi 2)) (- (* 1.5 (GETVAR "PLINEWID")))))
(dgj s p1 p2)
(setvar "osmode" 545)
)
(princ)
)
(defun dgj (s p1 p2 / s a p1 p2 p3 n d)
(setq a (angle p1 p2)
n 0
d (/ (distance p1 p2) (- s 1))
)
(while (< n s)
(setq p3 (polar p1 a (* d n)))
(command "layer" "s" "JG_1" "")
(COMMAND "donut" 0 (* 1.5 (GETVAR "PLINEWID")) "")
(setq n (1+ n))
)
(princ)
)
程序如上,这个是用来在指定点之间画指定数目的点钢筋,现在问题是不断地循环,不能实现目标,问题在哪儿,请高手指点。感谢!!
页:
[1]