大家好,
我被困在while循环中,无法摆脱它。有人能帮我吗(如果可能的话,请提供为什么它没有关闭的信息)。这只是我正在使用的一个更大的lisp的一个小函数,退出Esc意味着完整的程序终止。
以下是我如何使用它的。一旦用户决定使用drawshapes,如果答案是关键字之一(例如矩形),则用户应该能够绘制他喜欢的任意多个矩形,如果按Enter键,则应再次返回主菜单,要求选择关键字(圆形或椭圆)。
提前谢谢。
-
- (defun drawshapes (/ dtype)
- (setvar "cmdecho" 1)
- (setq dtype T)
- (while dtype
- (initget (+ 2 4) "R P C E")
- (prompt "\n*** Enter option R, P, C, E ***")
- (setq dtype (getkword "\nselect your option: Rectangle, Pline, Circle, Ellipse or hit Enter to close:"))
- (if dtype
-
- (cond
- ( (= dtype "R")
- (setq loop T)
- (while loop
- (command "_.rectang")
- (while (= 1 (logand 1 (getvar 'CMDACTIVE)))(command pause))
- ); end while
- )
- ( (= dtype "P")
- (setq loop T)
- (while loop
- (command "_.PLINE")
- (while (= 1 (logand 1 (getvar 'CMDACTIVE)))(command pause))
- ); end while
- )
- ( (= dtype "C")
- (setq loop T)
- (while loop
- (command "_.circle")
- (while (= 1 (logand 1 (getvar 'CMDACTIVE)))(command pause))
- ); end while
- )
- ( (= dtype "E")
- (setq loop T)
- (while loop
- (command "Ellipse")
- (while (= 1 (logand 1 (getvar 'CMDACTIVE)))(command pause))
- ); end while
- )
- ); end cond
- ); end if
- ); end while
- (setvar "cmdecho" 0)
- );end defun
|