南子 发表于 2002-12-10 14:01:00

请问如何删除一对象中的xdata数据,而对象本身句柄不变。

龙龙仔 发表于 2002-12-10 16:12:00

試用看看!!

本帖最后由 作者 于 2002-12-10 16:12:58 编辑

(defun DELETEXDATA (APPNAME / SS E)
(setq SS (ssget (list (list -3 (list APPNAME)))))
(while (setq E (ssname SS 0))
    (ssdel E SS)
    (entmod
      (list
        (cons -1 E)
        (list
          -3
          (list APPNAME)
        )
      )
    )
)
(princ)
)

;;(DELETEXDATA "3DSOLID_DATA")

南子 发表于 2002-12-10 15:17:00

我刚才试了一下,好像不行。

龙龙仔 发表于 2002-12-10 16:20:00

不行指的是甚麼??程式巳將XData資料表達替換成僅有應用名的結構

cy956 发表于 2002-12-10 19:27:00

这样,不要说耍赖。

本帖最后由 作者 于 2002-12-10 19:27:47 编辑

(defun c:delxdata()
(setq e(entsel)
      en(entget (car e)))
(entmod en)
)

;;;;;;;;;;;;;;;;;;;;;
((-1 . <Entity name: 2e11468>) (0 . INSERT) (5 . 1F5) (100 . AcDbEntity) (67 .
0) (8 . WINDOW) (100 . AcDbBlockReference) (66 . 1) (2 . _WBLK) (10 29458.6
46418.8 0.0) (41 . 1500.0) (42 . 200.0) (43 . 1500.0) (50 . 3.14159) (70 . 0)
(71 . 0) (44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0) (-3 (WTHICK (1040 . 200.0))))

-->

((-1 . <Entity name: 2e11468>) (0 . "INSERT") (5 . "1F5") (100 .
"AcDbEntity") (67 . 0) (8 . "WINDOW") (100 . "AcDbBlockReference") (66 . 1) (2
. "_WBLK") (10 29458.6 46418.8 0.0) (41 . 1500.0) (42 . 200.0) (43 . 1500.0)
(50 . 3.14159) (70 . 0) (71 . 0) (44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0))
页: [1]
查看完整版本: 请问如何删除一对象中的xdata数据,而对象本身句柄不变。