[求助]如何完全通过VLISP删除存在的实体?
<p>求助大家,下面要求想完全通过VLISP实现....谢谢先!</p><p>1.判断在某一坐标位置上是否存在一个文字对象(比如:"LIBRARY"),若存在,在执行第2步...</p><p>2.删除文字对象"LIBRARY"</p><p>3.在该坐标位置上建立一个新的实体,比如"圆"</p> <p>1、为何要通过坐标判断?</p><p>2、坐标是如何得到的?</p><p>3、不用VLISP用LISP行吗?</p> <p>最近写了一个批处理程序,其中关键部分采用了“龙龙仔”大哥的批量修改文字代码。。。我试过用LISP总不成功。</p><p>程序功能是想在某个位置批量添加文字。。。我遇到这样一种情况:就是如果我想插入文字的这个位置已经有文字了,我首先要把存在的文字删除,然后再做插入文字操作。坐标位置可以事先设定好,比如在0,0,0点位置。</p><p>拜托ZZXXQQ了!</p>;定点删字画圈 明经 ZZXXQQ 2008.6.30
(defun deltext (pt0 mtxt r)
(setvar "CMDECHO" 0)
(setq oldos (getvar "OSMODE"))
(setvar "OSMODE" 0)
(if (and (= (type pt0) 'LIST) (= (type mtxt) 'STR))
(if (setq ss (ssget pt0 '((0 . "TEXT")))) (progn
(setq ent (entget(ssname ss 0)))
(if (= (cdr(assoc 1 ent)) mtxt) (progn
(setq pt (cdr(assoc 10 ent)))
(command ".erase" (ssname ss 0) "" "CIRCLE" pt r)
))
))
)
(setvar "OSMODE" oldos)
(setvar "CMDECHO" 1)
(princ)
)
页:
[1]