YueFeng 发表于 2024-4-23 17:19:30

清理图形(可以在块编辑器内运行)

;
(defun C:YF_QLTX ()
(prompt "YFCAD工具箱 清理图形:")
(dictremove (namedobjdict) "ACAD_DGNLINESTYLECOMP")
; 当前图层置为0层
(setvar "CLAYER" "0")
; 当前文字样式置为Standard样式
(setvar "TEXTSTYLE" "Standard")
; 查看有没有Standard这个尺寸样式,没有就新建这个样式。
(if (null (tblsearch "DIMSTYLE" "Standard"))
    (entmakex
      '((0 . "DIMSTYLE") (100 . "AcDbSymbolTableRecord") (100 . "AcDbDimStyleTableRecord") (2 . "Standard") (70 . 0))
    )
)
; 当前尺寸样式置为Standard样式
(vla-put-activedimstyle (vla-get-ActiveDocument (vlax-get-acad-object)) (vlax-ename->vla-object (TblObjName "DIMSTYLE" "Standard")))
;执行两遍,清理尺寸样式后,会遗留相应的尺寸样式中的引用的文字样式未清洗。
(vla-purgeall (vla-get-activedocument (vlax-get-acad-object)))
(vla-purgeall (vla-get-activedocument (vlax-get-acad-object)))
)

p-3-ianlcc 发表于 2024-4-23 19:08:22

出现错误的消息
指令: YF_QLTX
Application Error: 2 :- 参数太多ADS 要求错误

YueFeng 发表于 2024-4-23 21:11:31

本帖最后由 YueFeng 于 2024-4-23 21:12 编辑

p-3-ianlcc 发表于 2024-4-23 19:08
出现错误的消息
指令: YF_QLTX
Application Error: 2 :- 参数太多ADS 要求错误
我在ACAD2021上通过,你调试看看。

你加一句
(vl-load-com)试试

p-3-ianlcc 发表于 2024-4-24 09:44:14

我试了,一样
指令: YF_QLTX
Application Error: 93 :- 参数太多ADS 要求错误
指令:
指令: YF_QLTX
Application Error: 0 :- 参数太多ADS 要求错误
指令:

分别在2016、2023这二个版本都有这个错误的消息
或许是我电脑设置的问题,我再试试看

qazxswk 发表于 2024-4-24 12:43:39

这么多代码,清理图形的,只有这两句代码,其他都是设置样式的;P
(dictremove (namedobjdict) "ACAD_DGNLINESTYLECOMP")
(vla-purgeall (vla-get-activedocument (vlax-get-acad-object)))

YueFeng 发表于 2024-4-24 16:16:49

qazxswk 发表于 2024-4-24 12:43
这么多代码,清理图形的,只有这两句代码,其他都是设置样式的
(dictremove (namedobjdict) "ACAD_DGNLI ...

因为当前的文字与样式也是不清理的。所以我把这两个样式,也设为普遍值。
页: [1]
查看完整版本: 清理图形(可以在块编辑器内运行)