我有这个代码来匹配多行文字,文字,属性等。。
- (defun c:tw (/ cEnt mEnt)
- (if (and (setq cEnt (car (nentsel "\nSelect Source Text: ")))
- (member (cdr (assoc 0 (entget cEnt)))
- '("TEXT" "MTEXT" "ATTRIB")))
- (progn
- (redraw cEnt 3)
- (while (and (setq mEnt (car (nentsel "\nSelect Destination Text: ")))
- (member (cdr (assoc 0 (entget mEnt)))
- '("TEXT" "MTEXT" "ATTRIB")))
- (entmod (subst (assoc 1 (entget cEnt))
- (assoc 1 (entget mEnt))
- (entget mEnt))))
- (redraw cEnt 4))
- (princ "\n<!> Incorrect Selection <!>"))
- (princ))
- (defun c:mt2 (/ cEnt mEnt sLst)
- (if (and (setq cEnt (car (nentsel "\nSelect Source Text: ")))
- (member (cdr (assoc 0 (entget cEnt)))
- '("TEXT" "MTEXT" "ATTRIB")))
- (progn
- (redraw cEnt 3)
- (if (setq ss (ssget "_X" '((-4 . "<NOT") (0 . "TEXT,MTEXT,INSERT") (-4 . "NOT>"))))
- (mapcar '(lambda (x) (redraw x 2)) (setq sLst (mapcar 'cadr (ssnamex ss)))))
- (while (and (setq mEnt (car (nentsel "\nSelect Destination Text: ")))
- (member (cdr (assoc 0 (entget mEnt)))
- '("TEXT" "MTEXT" "ATTRIB")))
- (entmod (subst (assoc 1 (entget cEnt))
- (assoc 1 (entget mEnt))
- (entget mEnt)))))
- (princ "\n<!> Incorrect Selection <!>"))
- (command "_regenall")
- (princ))
- (defun c:mt3 (/ cEnt ss)
- (vl-load-com)
- (if (and (setq cEnt (car (nentsel "\nSelect Source Text: ")))
- (member (cdr (assoc 0 (entget cEnt)))
- '("TEXT" "MTEXT" "ATTRIB")))
- (progn
- (redraw cEnt 3)
- (if (setq ss (ssget '((0 . "TEXT,MTEXT"))))
- (foreach x (vl-remove-if 'listp
- (mapcar 'cadr (ssnamex ss)))
- (entmod (subst (assoc 1 (entget cEnt))
- (assoc 1 (entget x))
- (entget x))))))
- (princ "\n<!> Incorrect Selection <!>"))
- (command "_regenall")
- (princ))
我可以修改它吗?如何将文本开关与反向“文本a”和“文本B”匹配?
Z |