本帖最后由 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)
- )
|