在响应提示中添加选项

分类:lisp函数 | 标签: lisp   函数   添加选项  
2007-05-24 11:38 阅读(?)评论(0)

示例.LSP


;;;全局变量使用示例-------记忆前次运行所输入的数据
;;;在用户响应中添加选项示例
;;;=================================================
;;功能:以文字的形式标注管径
;;全局变量说明:D-OLD  整数  前次所采用的管径
(defun C:DN (/ LST PT TMP)
    ;;管径有效值(白名单)
    (setq LST '(15 20 25 32 40 50 70 80 100 125 150 200 250 300))
    ;;检查全局变量 若无则赋初值
    (if	(= D-OLD NIL)
	(setq D-OLD (car LST))
    )
    ;;显示当前设置
    (princ (strcat "\n>>>当前设置:管径=" (itoa D-OLD)))
    ;;循环问询
    (while
	(progn (initget 4 "D")
	       (setq PT (getpoint "\n请指定插入位置,或 [管径(D)]:"))
	)
	   (cond
	       ;;分支一:管径设置
	       ((= PT "D")
		(if (setq TMP
			     (getint
				 (strcat "\n请输入钢管直径 <" (itoa D-OLD) ">:")
			     )
		    )
		    ;;对用户输入进行有效性检查
		    (if	(member TMP LST)
			(setq D-OLD TMP)
			(progn
			    (princ
				"\n>>>注意:数据有误。\n输入的数据必须为以下其中之一:"
			    )
			    (princ LST)
			)
		    )
		)
	       )
	       ;;分支二:点取了点位
	       ((listp PT)
		(command "_.text" PT 20 0 (strcat "DN" (itoa D-OLD)))
	       )
	   ) ;_结束 COND
    ) ;_结束 while
    (princ)
) ;_结束 defun
;;;=================================================
;;;后话:通过在响应中添加选项,可以简化操作,方便使用。
   阅读(?)评论(0)
 
表  情:
加载中...
 

请各位遵纪守法并注意语言文明