你好
这是我模糊的Lisp程序。到目前为止,它运行良好,但有一个小问题。唯一的问题是,当我错过选择时,它会根据我设置的内容显示“未选择对象”。但随后它继续并提示我Arcok YES NO,我无法解决这个问题。如果选择有效,则它应该继续执行Arcok。
请帮忙。
-
- (defun convcloudnew (/ al ss arcok)
- (command "undo" "m")
- (initget (+ 2 4))
- (setq al (getreal "Specify Arc length <0.5>:"))
- (if (= al nil) ;If user do not input a value here
- (setq al 0.5) ;Consider "Enter" as 0.5
- ) ; end if
- (if (setq ss (ssget '((0 . "LINE,*POLYLINE,CIRCLE,ELLIPSE,SPLINE,ARC"))))
- (progn
- (repeat (setq i (sslength ss))
- (command "_.revcloud" "a" al al "" (ssname ss (setq i (1- i))) "")
- )
- );end progn
- (princ "\nNo objects selected.")
- ) ;end if
- (initget (+ 2 4) "Y N")
- (setq arcok (getkword "\nArc size look ok? [Yes/No]:"))
- (if (= arcok nil) ;If user do not input a value here
- (setq arcok "Y")
- ) ; end if
- (Cond
- ( (= arcok "Y")
- (princ "\nProceeding to next function")
- (princ)
- )
- ( (= arcok "N")
- (command "undo" "b")
- (princ "\nClouding undone")
- (Princ)
- )
- ) ; end cond
- );end defun
非常感谢。
编辑:还有一期。如果选择了带有NO的ArcOK,那么是否可以保留选择?哪个undo是云,这样我就可以在不再次选择相同项目的情况下调整其大小? |