最近写了全图查找2个以上不同文字,并全选它们的代码,但是发现选择的时候,cad中,选择的文字没有反应,虽然对最后的执行结果没有影响,但总感觉少了点什么。请教各位大佬,这个问题,一般怎么解决?
- ;;根据文本*text图元名a创建一个选择集,该选择集包含全图中所有相同文字的文本
- (defun W:wz(a / b pd tt)
- (setq b (entget a))
- (setq tt (ssget "_X" (list(cons 0 "*text")(cons 1 (cdr(assoc 1 b))))))
- tt
- )
- ;;错误函数
- (defun err1 (sss)
- (if sss
- (progn
- (princ "\n错误,仅能选择文字,请重新选择:")
- (setq *error* olderr)
- )
- )
- )
- ;;主函数
- (defun c:dxz()
- (setq olderr *error*
- *error* err1)
- (princ "\n请选择要查找的文字:")
- (setq a (car (entsel)))
- (setq tt (W:wz a))
- (setq loop t)
- (while loop
- (princ "\n请选择要查找的文字:")
- (setq b (car (entsel)))
- (if (not (= b nil))
- (progn
- (setq ss (W:wz b))
- (setq n (sslength ss))
- (setq i 0)
- (repeat n
- (ssadd (ssname ss i) tt)
- (setq i (1+ i))
- ))
- (setq loop nil)
- )
- )
- (sssetfirst nil tt)
- (princ)
- )
|