bchou 发表于 2022-7-6 14:14:58

清除所有Lisp,类似于保存

大家好,
通常我会尝试搜索lisp而不是执行请求,但我遇到了很多麻烦。与cadaysts目录清理的方向不同。我正在搜索一个可以清除所有当前打开的图形(如上所述),类似于Express tools提供的Saveall和Closeall命令。
 
谢谢=]

Lee Mac 发表于 2022-7-6 14:18:46

不确定这是否可行?
 

(defun c:purgeall ()
(vl-load-com)
(vlax-for doc (vla-get-Documents
               (vlax-get-acad-object))
   (vla-purgeall doc))
(princ))

bchou 发表于 2022-7-6 14:22:25

伟大的东西李,小代码伟大的力量。
 
我刚刚测试过,它似乎没有清除嵌套项?

Lee Mac 发表于 2022-7-6 14:27:36

隐马尔可夫模型。。。不确定,因为我认为这是唯一的VL清除方法,不需要手动创建“清除”功能。

VVA 发表于 2022-7-6 14:31:33

根据我的经验:三次就足够了

(defun c:purgeall ()
(vl-load-com)
(vlax-for doc (vla-get-Documents
               (vlax-get-acad-object))
   (repeat 3 (vla-purgeall doc)))
(princ))

bchou 发表于 2022-7-6 14:33:50

你们是传奇!
效果极佳

Lee Mac 发表于 2022-7-6 14:38:18

谢谢VVA,我没想到会这么做

bchou 发表于 2022-7-6 14:41:26

您将如何使用“最大化显示”执行相同的操作?
这就是我试图修改上述脚本的内容。我想我是在亵渎autocad
 
(defun c:zoomeall()(命令“zoom”“e”))
(vl load com)
(vlax表示文档(vla get Documents
(vlax get acad对象)
(vla zoomeall文件)
(普林斯)

Lee Mac 发表于 2022-7-6 14:42:13

最大化显示:
 

(defun c:zoomext()
(vl-load-com)
(vlax-for doc(vla-get-Documents
                  (vlax-get-acad-object))
   (vla-zoomextents doc))
(princ))

 
另外,你把“ZoomAll”拼错了。

bchou 发表于 2022-7-6 14:45:12

我测试了这段代码,它给了我一个错误
 
“错误:ActiveX服务器返回错误:未知名称:ZoomExtents”
 
是他们的什么我错过了在崔?
页: [1] 2
查看完整版本: 清除所有Lisp,类似于保存