[求助]請教這個程序如何讓它顯亮
如果使它第一个选择的目标显亮?如果我只要替换一次文字,而不是批量修改,该如何修正?;;本程序用目标文字替换需改变的文字。可以是TEXT和属性块中的属性文字<BR>(defun c:th1(/ a b ent ent2 elist etype oldval bltxt entdata btxt ostr pt oltxt ) <BR>(princ "\n请选择复製源文字目标:") <BR>(setq ent (nentsel)) <BR>(if (= ent nil)(setq oldval (getstring "\n请输入文字:")) <BR>(progn <BR>(setq ent2 ent elist (entget (car ent)) etype (cdr (assoc 0 elist)) <BR>) <BR>(setq oldval (cdr (assoc 1 elist))) <BR>(princ "\n ") <BR>(princ "\n复製文字内容为: ") (princ oldval) <BR>) <BR>) <BR>(setq q 9) <BR>(while q <BR>(princ "\n ") <BR>(setq bltxt (nentsel "\n请选择需要替换的文字目标:")) <BR>(if (= bltxt nil)(setq q nil) <BR>(progn <BR>(setq entdata (entget (car bltxt)) btxt (cdr (assoc 1 entdata)) ostr btxt) <BR>(setq elist (entget (car bltxt))) <BR>(setq etype (cdr (assoc 0 elist))) <BR>;;(setq oltxt (car (assoc 1 elist))) <BR>(setq oltxt (cdr (assoc 1 elist))) <BR>(if (= etype "ATTRIB") <BR>(progn <BR>(setq pt (cadr bltxt)) <BR>(command ".attedit" "" "" "" "" pt "" "V" "R" oldval "n") <BR>) <BR>(progn <BR>(setq btxt oldval) <BR>(entmod (subst (cons 1 btxt)(assoc 1 entdata) entdata)) <BR>(if (setq bltxt (car (reverse (cadddr bltxt)))) (entupd bltxt)) <BR>)))) <BR>(princ "\n原文字为:")(princ oltxt)(princ ". 已被替换为: ")(princ oldval)(princ " .") <BR>) <BR>(princ) <BR>) 亮显的方法:(redraw 实体名 3)
取消亮显:(redraw 实体名 4)
页:
[1]