spshchen 发表于 2005-1-24 15:15:00

如何把一层里面的文字按照字母开头的和数字开头的分开吗?

如何把一层里面的文字按照字母开头的和数字开头的分开吗?


如 5dB和PC13-FB1本来是一个层的,想把他分开2个层。

Student 发表于 2005-1-24 15:39:00

下面的代码已试过,供参考:


(defun c:fc(/ lay1 lay2 ss sn si i wText c1)<BR>       (setq lay1 "数字开头的文字" lay2 "字母开头的文字")<BR>       (command "_.layer" "m" lay1 "m" lay2 "")<BR>       (setq ss(ssget "x" (list(cons 0 "TEXT"))))<BR>       (setq sn(if ss (sslength ss) 0))<BR>       (setq i 0)<BR>       (while(&lt; i sn)<BR>                       (setq si(ssname ss i))<BR>                       (setq wText(cdr(assoc 1 (entget si))))<BR>                       (setq c1(substr wText 1 1))<BR>                       (if(and(&gt; c1 "/")(&lt; c1 ":"))<BR>                                       (command "_.change" si "" "p" "la" lay1 "")<BR>                                       (command "_.change" si "" "p" "la" lay2 "")<BR>                       )<BR>                       (setq i(1+ i))<BR>       )<BR>       (princ)<BR>)<BR>;<BR>

spshchen 发表于 2005-1-24 17:33:00

谢谢,这位大哥,已经把问题解决
页: [1]
查看完整版本: 如何把一层里面的文字按照字母开头的和数字开头的分开吗?