清理图形(可以在块编辑器内运行)
;(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)))
)
出现错误的消息
指令: YF_QLTX
Application Error: 2 :- 参数太多ADS 要求错误
本帖最后由 YueFeng 于 2024-4-23 21:12 编辑
p-3-ianlcc 发表于 2024-4-23 19:08
出现错误的消息
指令: YF_QLTX
Application Error: 2 :- 参数太多ADS 要求错误
我在ACAD2021上通过,你调试看看。
你加一句
(vl-load-com)试试
我试了,一样
指令: YF_QLTX
Application Error: 93 :- 参数太多ADS 要求错误
指令:
指令: YF_QLTX
Application Error: 0 :- 参数太多ADS 要求错误
指令:
分别在2016、2023这二个版本都有这个错误的消息
或许是我电脑设置的问题,我再试试看 这么多代码,清理图形的,只有这两句代码,其他都是设置样式的;P
(dictremove (namedobjdict) "ACAD_DGNLINESTYLECOMP")
(vla-purgeall (vla-get-activedocument (vlax-get-acad-object))) qazxswk 发表于 2024-4-24 12:43
这么多代码,清理图形的,只有这两句代码,其他都是设置样式的
(dictremove (namedobjdict) "ACAD_DGNLI ...
因为当前的文字与样式也是不清理的。所以我把这两个样式,也设为普遍值。
页:
[1]