LSP搜索某个标注样式,如存在则删除
以下这段代码是用来搜索标注样式,如果存在“ISO-25”标注样式,则删除,但是实际测试并不通过不知道是哪里有错,求助!(if (/= nil dimsn) ;搜索样式,若有,删除ISO-25
(progn
(command "-dimstyle" "r" "standard" ) ;设置当前式样为standard,为了删除ISO-25
(vla-delete (vla-item (vla-get-dimstyles (vla-get-activedocument (vlax-get-acad-object))) "ISO-25"))
)
)
如果图中使用了这个样式,就不能被删除。 应该首先搜索图中有无使用这种样式的对象,若有,要么删除,要么改为其它样式,最后才能删除样式。 原地踏步 发表于 2020-5-29 09:30
应该首先搜索图中有无使用这种样式的对象,若有,要么删除,要么改为其它样式,最后才能删除样式。
(command "-dimstyle" "r" "standard" ) ;设置当前式样为standard,为了删除ISO-25
这一句就是修改当前标注样式的啊 如果是已经完成的图纸要删除图层或者标注样式那是比较麻烦的事,只要有一个点属于这图层就删除不了了,你可以选中全部这种标注的对象删除,但是有些在图块里面的就要特殊处理,这就很麻烦了,直接改名称是比较简单的处理方法 start4444 发表于 2020-5-29 11:30
如果是已经完成的图纸要删除图层或者标注样式那是比较麻烦的事,只要有一个点属于这图层就删除不了了,你可 ...
我测试的CAD图形可以手动删除ISO-25这个标注样式,但是用上面的代码却不行,因为代码是网上找来的,不知道是否哪里有错误 huxu823 发表于 2020-5-29 11:33
我测试的CAD图形可以手动删除ISO-25这个标注样式,但是用上面的代码却不行,因为代码是网上找来的,不知 ...
如果确定是可以删除就直接用 PURGE 命令好了 start4444 发表于 2020-5-29 11:34
如果确定是可以删除就直接用 PURGE 命令好了
新手啊,不知道怎么写,能劳烦兄弟直接帮改一下吗? huxu823 发表于 2020-5-29 11:51
新手啊,不知道怎么写,能劳烦兄弟直接帮改一下吗?
你可能没理解我的意思,我是需要通过代码来查找删除这个标注样式,这个代码只是一个LSP插件中的一个片段 终于找到原因了,原来是代码不完整,需要在最前面加一句:
(setq dimsn (tblsearch "dimstyle" "ISO-25"))
页:
[1]