日志正文
|
||
示例.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)
|
||
评论 想第一时间抢沙发么?