字母大小写切换(练手之作)请多多指教
(defun c:tt ()(setvar "DYNPROMPT" 1)
(repeat 2(setq ss (entget (car (entsel))))
(setq tfas (getvar "DYNPROMPT"))
(if (= 1 tfas)
(progn
(setq ss1 (strcase (cdr (assoc 1 ss)) t ))
(setq ss (entmod (subst (cons 1 ss1) (assoc 1 ss) ss)))
(setvar "DYNPROMPT" 0)
))
(if (= 0 tfas)
(progn
(setq ss2 (strcase (cdr (assoc 1 ss))))
(setq ss (entmod (subst (cons 1 ss2) (assoc 1 ss) ss)))))
)
(c:tt)
(princ)
) ZZXXQQ 发表于 2012-12-27 09:58
还可以再简化
能增加选属性块 块里的字母么? 感谢分享~学习了~
要是能单独把第一个字母改大写就好了~(Book) 简洁的程序,收藏先! 本帖最后由 ZZXXQQ 于 2012-12-26 20:17 编辑
程序递归调用,只能强制退出。
下面是另写的一个:
(defun c:tt ()
(while (setq ss (ssget ":E:S" '((0 . "TEXT"))))
(setq ent (entget (ssname ss 0))
txt (cdr(assoc 1 ent)))
(if (wcmatch txt "**")
(entmod (subst (cons 1 (strcase txt T)) (assoc 1 ent) ent))
(entmod (subst (cons 1 (strcase txt)) (assoc 1 ent) ent))
)
)
(princ)
)
Z版快哦,,,, ZZXXQQ 发表于 2012-12-26 08:44 static/image/common/back.gif
程序递归调用,只能强制退出。
下面是另写的一个:
Z版出手,非同凡响 ZZXXQQ 发表于 2012-12-26 08:44 static/image/common/back.gif
程序递归调用,只能强制退出。
下面是另写的一个:
简洁明了,可以框选不. ZZXXQQ 发表于 2012-12-26 08:44 static/image/common/back.gif
程序递归调用,只能强制退出。
下面是另写的一个:
z版 刚刚又测试了一下 ,您的程序在 fasgsadg 这种情况下没有问题 到这种 (PRINC) 第一个不是字母或者有空格就会无法运行 ,请z版看看 沙发修好了 ZZXXQQ 发表于 2012-12-26 20:18 static/image/common/back.gif
沙发修好了
z版威武 还可以再简化
(defun c:tt ()
(while (setq ss (ssget ":E:S" '((0 . "TEXT"))))
(setq ent (entget (ssname ss 0))
txt (cdr(assoc 1 ent)))
(entmod (subst (cons 1 (strcase txt (wcmatch txt "**"))) (assoc 1 ent) ent))
)
(princ)
)
厉害啊、、、、、Z版
页:
[1]
2