在LISP中,可以这样做:
- (defun c:upd (/ ss att aLst)
- (if (setq ss (ssget "X" (list (cons 0 "INSERT") (cons 2 "[b][color=Red]BLOCKNAME[/color][/b]")
- (cons 66 1) (if (getvar "CTAB")(cons 410 (getvar "CTAB"))
- (cons 67 (- 1 (getvar "TILEMODE")))))))
- (progn
- (foreach x (mapcar 'cadr (ssnamex ss))
- (setq att (entnext x))
- (while (not (eq "SEQEND" (cdadr (setq aLst (entget att)))))
- (if (= "[color=Red][b]APPROVED_BY[/b][/color]" (cdr (assoc 2 aLst)))
- (entmod (subst (cons 1 "[b][color=Red]ABC[/color][/b]") (assoc 1 aLst) aLst)))
- (setq att (entnext att)))))
- (princ "\n<!> No Block Found <!>"))
- (command "_regenall")
- (princ))
更改突出显示的部分以适合。
我假设你的意思是“approved\u by”,而不是“approved by”,因为标签不能包含空格。 |