initget函数中关键字“ ”(空格)的使用

空格可以被用作关键字,一般多用来定义鼠标右键退出。
    ⑴当用户输入函数不支持控制位(如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)”语句。

标签:initget 函数 关键字   空格 使用