去扩展数据求修改能框选下谢谢大师啦
本帖最后由 flytoday 于 2013-1-6 01:58 编辑(defun c:qq (/ ss ty tyy)
(setq ss (car (entsel "\n>>>请选择对象")))
(setq ty (entget ss '("*")))
(setq tyy(assoc -3 ty))
(if (/= tyy nil)
(progn
(setq ty (vl-remove tyy ty))
(entmake ty)
(entdel ss)
(princ "\n已去除扩展属性")
);progn
(princ "\n原对象无扩展属性")
);if
(princ)
)
去除扩展属性后,图无颜色变成红色。。。
麻烦哪位大师改下谢谢
这个应该很好办吧,加个循环就ok了 麻烦就手改下啊乙谢谢 本帖最后由 Gu_xl 于 2013-1-6 13:26 编辑
这种删除扩展数据的方法虽然能够删掉扩展数据,但是对象被改变了!所以说这是一种非常错误的方法!
下面是正确的方法:
(defun c:tt(/ ss en enl xdl n)
(princ "\n**选择要删除扩展数据的物体**")
(while (setq ss (ssget))
;; 删除全部扩展数据
(repeat (setq n (sslength ss))
(setq en (ssname ss (setq n (1- n)))
enl (entget en '("*"))
xdl (cdr (assoc -3 enl))
)
(if xdl
(progn
(setq xdl
(cons -3 (mapcar '(lambda (x) (list (car x))) xdl)))
(entmod (cons xdl (entget en)))
)
)
)
(princ "\n**继续选择要删除扩展数据的物体**")
)
(princ)
)
Gu_xl 发表于 2013-1-6 13:16 static/image/common/back.gif
这种删除扩展数据的方法虽然能够删掉扩展数据,但是对象被改变了!所以说这是一种非常错误的方法!
下面是 ...
没有看明白是什么原理,G版能讲解下吗?
为什么用-3码把已注册的程序名写到图元数据中,就可以去掉扩展属性呢? 谢谢各位楼主的分享!很有意思的代码,收藏备用。 Gu_xl 发表于 2013-1-6 13:16 static/image/common/back.gif
这种删除扩展数据的方法虽然能够删掉扩展数据,但是对象被改变了!所以说这是一种非常错误的方法!
下面是 ...
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .对于已经附加了扩展属性的图元,如何删除它的相对应的属性
清除一个应用程序名为标识的扩展实体数据,把应用程序名后面的数据项清除,只保留应用程序名,然后更新实体数据,那么ACAD就会把只有应用程序名而没有数据的“一组扩展实体数据”的删除了。
(setq exdata1 '(( -3 ("AppName"))))
(setq newent (append lastent exdata1))
(entmod newent)
谢谢分享!!!!!!!!!!!
页:
[1]