抱歉,请尝试以下操作:
- (defun C:JMC (/ *error* ExEnts ELST ENT I LSTENT MSS OV SS TMP VL)
- (prompt "\nSet to Middle Center Justification . . .")
- (defun *error* (msg)
- (and ov (mapcar 'setvar vl ov))
- (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
- (princ (strcat "\n** Error: " msg " **")))
- (princ))
- (defun ExEnts (ent / a)
- (if (setq ent (entnext ent))
- (cons ent (ExEnts ent))))
- (setq vl '("CMDECHO" "QAFLAGS") ov (mapcar 'getvar vl))
- (mapcar 'setvar vl '(0 1))
- (if (setq i -1 ss (ssget "_:L" '((0 . "TEXT,MTEXT"))))
- (progn
- (if (setq mss (ssget "_P" '((0 . "MTEXT"))))
- (progn
- (setq lstent (entlast))
- (command "_.explode" mss "")
- (mapcar
- (function
- (lambda (x) (ssadd x ss))) (ExEnts (cond (lstent) ((entlast)))))))
-
- (while (setq ent (ssname ss (setq i (1+ i))))
-
- (setq tmp (cdr (assoc 10 (setq elst (entget ent)))))
- (setq elst (entmod (subst (cons 11 tmp) (assoc 11 elst) eLst))
- elst (entmod (subst (cons 72 1) (assoc 72 elst) elst))
- elst (entmod (subst (cons 73 2) (assoc 73 elst) elst))))))
- (mapcar 'setvar vl ov)
- (princ))
|