sfjlx 发表于 2014-6-30 20:20:21

请教几个问题!谢谢!

请教几个问题!谢谢!
1. 如何替换文字里的*号?比如说500*500,我想改为500x500,如何编程?
2. 如何替换文字里的@号?比如说500@500,我想改为500x500,如何编程?
3. 有没有把两个选择集合并的命令?找了半天未找到,只好遍求。

lucas_3333 发表于 2014-6-30 20:22:49

查找替换 

langjs 发表于 2014-6-30 20:28:58

12用查找替换,源码明经里边也很多。3貌似有,不过我忘了,个人觉得遍历更好一些。

ZZXXQQ 发表于 2014-6-30 21:16:56

1(defun c:tt ()
(if (setq ss (ssget '((0 . "TEXT") (1 . "*`*")))) (progn
(foreach x (mapcar 'cadr (ssnamex ss))
   (setq ent (entget x))
   (setq txt (cdr(assoc 1 ent)))
   (setq txt (vl-string-subst "*" "X" (cdr(assoc 1 ent))))
   (entmod (subst (cons 1 txt) (assoc 1 ent) ent))
)
))
(princ)
)
2(defun c:ttt ()
(if (setq ss (ssget '((0 . "TEXT") (1 . "*`@")))) (progn
(foreach x (mapcar 'cadr (ssnamex ss))
   (setq ent (entget x))
   (setq txt (vl-string-subst "@" "X" (cdr(assoc 1 ent))))
   (entmod (subst (cons 1 txt) (assoc 1 ent) ent))
)
))
(princ)
)
3(defun addsel (s1 s2)
(command "select" s1 s2 "")
(ssget "P")
)

sfjlx 发表于 2014-7-1 21:18:53

感谢版主zzxxqq!最后一个程序真是巧妙!谢谢!
也谢谢其他各位!
页: [1]
查看完整版本: 请教几个问题!谢谢!