⑴当用户输入函数不支持控制位(如entsel、nentsel、nentselp)时,可直接使用“(initget " ")”。
⑵当用户输入函数支持控制位(如getpoint等)时,可使用“(initget 1 " ")”禁止空输入,而将回车等空输入作为关键字使用。
⑶当同时使用其它关键字时,应该将空格作为一系列关键字的最后一个,用“(initget "C ")”(两个空格)调用,否则无效。
见例一。
************************************************
;;例一
(defun ett_ct()
(initget "C ") ;关键字“C”及空格
(setq s0 (entsel "\n设置颜色C / 选取文本:"))
(cond
( (= s0 "C") (ett_col)) ;转设置颜色子函数
( (= s0 "") nil) ;空格退出
( (and (= (type s0) LIST) ;选择实体
(= (cdr (assoc 0 (entget (car s0)))) "TEXT") ;判别文本
)
... ;操作内容
(ett_ct) ;编辑后返回选择
)
(t (ett_ct)) ;空选返回选择
)
)
************************************************
有时需要进行复杂的判断,使用如“(= s0 "")”语句可能不能准确判别输入的空格关键字与空选择,可以使用“(= (type s0) STR)”语句。