帮助编辑LISP
大家好。我使用下面的LISP将指定的前缀添加到文本位,然后删除相应的注释。有人能帮我编辑一下,使它更通用吗?与其每次选择便笺时都添加相同的前缀,不如复制要用作前缀的内容,将其添加到所选文本中,然后删除便笺,只留下现在添加前缀的文本。。。。希望一切都有意义
;ADDS PREFIX OF 'DK:' TO SELECTED TEXT & THEN DELETES ORIGINAL DK NOTE
(defun c:dk (/ tSet dl)
(vl-load-com)
(if (setq tSet (ssget '((0 . "TEXT,MTEXT"))))
(foreach tx (mapcar 'vlax-ename->vla-object
(vl-remove-if
'listp
(mapcar 'cadr (ssnamex tSet))
) ;_end vl-remove-if
) ;_end mapcar
(vla-put-TextString
tx
(strcat "DK:" (vla-get-TextString Tx))
) ;_end vla-put-TextString
) ; end foreach
) ; end if
(setq dl (ssget))
(command "erase" dl "")
(princ)
) ; end of c:dk 这样地?
(defun c:ptxt (/ ent pr ss)
(if (and (setq ent (car (entsel "\nSelect Prefix Text: ")))
(wcmatch (cdr (assoc 0 (entget ent))) "*TEXT")
(setq pr (cdr (assoc 1 (entget ent)))))
(if (setq ss (ssget '((0 . "*TEXT"))))
(progn
(mapcar
(function
(lambda (x)
(vla-put-TextString x
(strcat pr (vla-get-TextString x)))))
(mapcar 'vlax-ename->vla-object
(vl-remove-if 'listp
(mapcar 'cadr (ssnamex ss)))))
(entdel ent))))
(princ))
李,你永远是那个男人!谢谢 没问题,我不介意编写快速文本编辑Lisp
页:
[1]