- 积分
- 66485
- 明经币
- 个
- 注册时间
- 2010-5-9
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 自贡黄明儒 于 2012-10-9 10:26 编辑
;;为了防止有人恶搞,向词典中写入大量无用数据,打开图形变慢,删除一些词典内容,我觉得是可行的
;;yjr111读G版作品搞了个显示用户词典内容,G版的大作我没有看到
;;[功能] 删除词典内容(忽略cad系统词典) 自贡黄明儒 2012.9.29
;;使用Bblock可知,用户词典是可以删除的.
;;一些系统词典内容也可以删除,比如"AcadDim",删除之后,Qleader相关设置已经取消
(DEFUN C:DelUserDICT (/ DICT DICTIONARIE DICTIONARIES DICTNAME I X)
;;第一步,删除所有用户词典
(setq dictionaries
(vla-get-dictionaries
(vla-get-activedocument (vlax-get-acad-object))
)
)
(setq i -1)
(repeat (vla-get-Count dictionaries)
(if (and (not
(vl-catch-all-error-p
(setq
dictname
(VL-CATCH-ALL-APPLY
'vla-get-name
(list (setq dictionarie
(vla-Item dictionaries (setq i (1+ i)))
)
)
)
)
)
)
(vlax-ldata-list dictname)
)
(progn (setq i (1- i)) ;当删除一个之后,重新排序了
(VL-CATCH-ALL-APPLY
'vlax-invoke-method
(list dictionarie 'Delete)
)
;;(princ i)
(princ (strcat "\n " dictname " 用户词典成功删除!!!"))
)
)
)
;;第二步,删除指定的系统词典
(setq dict (namedobjdict))
(mapcar
'(lambda (x)
(if (dictsearch dict x)
(progn (dictremove dict x)
(princ (strcat "\n " x " 系统词典成功删除!!!"))
)
)
)
'("AcadDim"
"ACAD_TABLESTYLE"
"ACAD_MLINESTYLE"
)
)
(PRINC)
)
|
|