此程序可以提取源文字或者属性文字内容,修改其他文字时会自动加1,常用于修改图号,可是程序的尾数处理不是很理想,下图中上部分是此程序运行的结果,下部分是理想的结果,不知哪位好心人可以帮忙修改一下。 图片内容:
 程序代码: ;;数字加1;;常用于图号 (defun c:jk( ) (setq tqwz (car (nentsel "\n选起始图号:"))) (setq txt1 (entget tqwz)) (setq txt1 (cdr (assoc 1 txt1)))
(setq aa (atoi txt1))
(if (and (> aa 0 ) (= (itoa aa) txt1 ) ) (tj2 ) (tj1 ) ) (princ) )
(defun tj1( / mm zz pp txt2 tqwz kk txt3) (setq mm (strlen txt1)) (setq zz mm ) (while (or (> (atoi (substr txt1 zz )) 0) (= (substr txt1 zz zz ) "0" )) (setq zz (- zz 1)) ) (setq pp (substr txt1 (+ zz 1) )) (setq txt2 (substr txt1 1 zz )) (setq kk (atoi pp) ) (while t (setq tqwz (car (nentsel "\n选择目标图号:"))) (setq kk (+ kk 1 )) (setq txt3 (strcat txt2 (itoa kk))) (setq tqwz (entget tqwz)) (setq tqwz (subst (cons 1 txt3) (assoc 1 tqwz) tqwz) ) (entmod tqwz) ) (princ) )
|