- A+
所属分类:CAD二次开发
很久没发文了,最近加班没啥时间来研究这个,lsp怎么像系统自带的偏移那样了,输入偏移距离的时候,只支持正数,不支持负数或者零了, 肯定是可以自己编写出来的。直接使用while循环语句几句可以达到这个功能,在循环里面判断输入的数是否满足条件即可,要是条件不对,循环重新输入即可。
直接上例子吧。
;判断负数输入禁止输入负数循环输入
(defun c:hj(/ hjj hj_of )
(setq hjj F)
(setq hj_off 1)
(while (not hjj)
(setq hj_of (getreal (strcat "\n-->>>请输入偏移距离<" (rtos hj_off ) ">:") ))
(if (<= hj_of 0)
(progn
(setq hjj F);小于0或者等于0重新输入
(princ "\n俺不接受零或负数,大侠请重新输入!")
)
(progn
(princ "\n请继续...")
(setq hjj T)
(princ hj_of );输入正确后返回值
)
))
)
复制
很简单吧。要是限制字母或只允许某字符输入,这个就复杂了哦,直接使用下面的即可
(initget "y n Y N")
(setq hj_de (getkword "\n<是否保存原对象,Y:保存/N:删除>: <N>"))
复制