改进后可以了,主要是是变量jiao 当选定为r时,应为(setq jiao pi)
(defun c:t72-2g() (setq pa (getpoint "请指定楼梯左下角点:")) (setq ww (getdist pa "\n请输入楼梯的总宽度:")) (setq hh (getdist pa "\n请输入楼梯的总高度:")) (setq n (getint "\n请输入楼梯总阶数:")) (initget "r l") (setq fx (getkword "右[r]或左[l]:")) (setq dw (/ ww n)) (setq dh (/ hh n)) ;推求交点pb pc (setq pb (polar pa 0 ww)) (if (= fx "l") (progn (setq pp pb) (setq jiao 0) ) (progn (setq pp pa) (setq pa pb) (setq jiao pi) ) ) (setq pc (polar pp (/ pi 2) hh)) (command "pline" pa pp pc "") (setq pp pa) (setq p1 (polar pp (/ pi 2) dh)) (command "pline") (command pa p1) ;进入repeat循环画小台阶 (repeat n (setq p1 (polar pp (/ pi 2) dh)) (setq p2 (polar p1 jiao dw)) (command p1 p2) (setq pp p2) ) (command "") (prin1) ) (prompt "<t72-2g>快速自动绘制楼梯") (prin1)
很高兴,看来还是要多钻研啊。向前辈们多学习 |