ssget 的list格式问题
(defun c:tt()(princ "\n选择源文字")
(setq ss1 (ssget '((0 . "TEXT"))))
(princ "\n选择目标文字")
(setq ss2 (ssget '((0 . "TEXT"))))
(setq i 0)
(if (and ss1 ss2)
(while (< i (sslength ss1))
(progn
(setq text1 (cdr (assoc 1 (entget (ssname ss1 i)))))
(command "_.CHPROP" (ssname ss1 i) "" "c" (1+ i) "")
(command "select" ss2 "")
(if (setq ss (ssget "p" (list '(0 . "text") (cons 1 text1))))
(command "_.CHPROP" ss "" "c" (1+ i) "")
)
)
(setq i (1+ i))
)
)
(prin1)
)
怎么只有代码,没有问题……
这个是根据品茗的要求写的一段代码
(if (setq ss (ssget "p" (list '(0 . "text") (cons 1 text1))))
这一句,我不放(0 . "text") 的时候,无法继续,谁给解答一下?? 是“(ssget "p" (list (cons 1 text1)))”么?不会少写了一层list吧? lyqiezi 发表于 2014-4-17 10:27 static/image/common/back.gif
怎么只有代码,没有问题……
这个是根据品茗的要求写的一段代码
(if (setq ss (ssget "p" (list '(0 . "t ...
试了一下,应该可以,可能是你前面ss为nil (setq ss (ssget "p" (list '(0 . "text") (cons 1 text1))))这样是可以执行的
(setq ss (ssget "p" (list '(cons 1 text1)))) 这样无法执行
lyqiezi 发表于 2014-4-17 15:42 static/image/common/back.gif
(setq ss (ssget "p" (list '(0 . "text") (cons 1 text1))))这样是可以执行的
(setq ss (ssget "p" (list ...
(cons 1 text1)前面多了一个单引号。 这个单引号在什么地方用啊?有些程序看到只用单引号,有些又有list 又有单引号 lyqiezi 发表于 2014-4-17 15:58 static/image/common/back.gif
这个单引号在什么地方用啊?有些程序看到只用单引号,有些又有list 又有单引号
单引号表示后面的表达式不处理,如'(1 . "text"),后面有需要“运算”的就不能加单引号,如(cons 1 txt)。 谢谢,我曾经以为有list,就不用单引号
页:
[1]