你好
下面的lisp是用于更改Autocad图形中文字(文字和多行文字)的lisp。我想知道如何修改这个lisp,以改变块和/或尺寸。有可能吗?
(vl-load-com)(setq *QuickFR:Words* '(("milk" . "coffee") ("water" . "wine") ("juice" . "beer")) )(defun str-search (pat str / p) (if (setq p (vl-string-search (strcase pat) (strcase str))) (substr str (1+ p) (strlen pat)) ))(defun QuickFR (ss / obj item str found changed) (vlax-for obj (vla-get-ActiveSelectionSet (vla-get-activedocument (vlax-get-acad-object))) (setq str (vla-get-TextString obj) found nil) (foreach item *QuickFR:Words* (while (setq found (str-search (car item) str)) (setq str (vl-string-subst (cdr item) found str) changed t) ) ) (if changed(vla-put-TextString obj str)) ))(defun c:QuickFR (/ ss) (if (setq ss (ssget "_:L" '((0 . "TEXT,MTEXT")))) (QuickFR ss) ) (princ))(defun c:QuickFR_All (/ ss) (if (setq ss (ssget "_X" '((0 . "TEXT,MTEXT")))) (QuickFR ss) ) (princ))