jr.roberto.sant 发表于 2022-7-6 23:03:19

删除块SV1-1。lsp(lee mac。

尊敬的各位:,
是否可以通过选择所有块而不打开弹出窗口来运行lisp(DeleteBlocksV1-1.lsp)?
 
 
在不显示此窗口的情况下全选。
https://www.cadtutor.net/forum/uploads/monthly_2022_02/image.png.f37ec4cb170dcc6c8391a24e274879a4.png
 
 
 
 
 
删除块SV1-1。lsp(lee mac.com)
 
;;作者:Lee Mac,版权所有©2012-www.Lee-Mac。com;;
;;----------------------------------------------------------------------;;
;;版本1.0-2012-07-14;;
;;                                                                      ;;
;;-首次发布。                                                    ;;
;;----------------------------------------------------------------------;;
;;版本1.1-2016-11-05;;
;;                                                                      ;;
;;-修改程序,以提示用户选择块;;
;;删除,可选择显示所有块的列表;;
;;在图纸中定义。                                           ;;
;;----------------------------------------------------------------------;;
(defun c:delblocks(/*error*def lst sel tmp)
 
(defun*错误*(msg)
(LM:endundo(LM:acdoc))
(if(not(wcmatch(strcase msg)“*中断,*取消*,*退出*”)
(princ(strcat“\n错误:“msg”)
        )
(普林斯)
    )
 
(而(setq def(tblnext“block”(非def)))
(if(zerop(logand 125(cdr(assoc 70 def)))
(setq lst(cons(cdr(assoc 2 def))lst))
        )
    )
(setq lst(vl sort lst)

BIGAL 发表于 2022-7-6 23:29:51

Lee提供了优秀的代码,与他的大多数例程一样,可以绕过输入块名。当程序逐步完成各种定义时,您需要查看事件序列。如果您有阻止列表,则显然不需要
 
这两条线至少需要修改
您将为列表tmp提供块名。 
 
最好的方法是要求使用预定义列表或从dwg中选择。你有没有试着联系李。
 
我尊重李的代码,所以在这种情况下不会试图修改。
 

jr.roberto.sant 发表于 2022-7-6 23:33:22

亲爱的@BIGAL,感谢您的反馈,如果可能的话,我想知道更改所有选定块的初始条件。如果需要删除所有块,只需单击“确定”。致以问候。 

BIGAL 发表于 2022-7-6 23:59:41

(命令“erase”(ssget“X”'((0。“INSERT”))“”)

tombu 发表于 2022-7-7 00:05:59

如果你正在寻找Lisp帮助,为什么你的帖子不在AutoLISP、Visual Lisp和DCL论坛上? https://www.cadtutor.net/forum/forum/15-autolisp-visual-lisp-amp-dcl/
页: [1]
查看完整版本: 删除块SV1-1。lsp(lee mac。