大家好。我使用下面的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
|