(defun c:zoomeall ()
(vl-load-com)
(vlax-for doc (vla-get-documents
(vlax-get-acad-object)
) ;_ end of vla-get-Documents
(vla-zoomextents doc)
(vla-zoomall doc)
) ;_ end of vlax-for
(princ)
) ;_ end of defun
要查找名称vla函数,请使用自动补全
在Visual lisp编辑器中,键入vla zoom,然后按Ctrl+Shift+Space(请参见附加)
评论vla zoomextents、vla zoomall仅适用于活动文档。
http://discussion.autodesk.com/forums/message.jspa?messageID=1184966
(vla-ZoomExtents (vlax-get-acad-object)) 我的错误-谢谢VVA
那么一个命令将清除所有打开的图形,保存它们,然后关闭它们?你能把这一切都写进一个Lisp程序的句子里吗?如果是这样,是否可以在保存之前在所有图形上添加最大化显示? 正如VVA在上面指出的那样,我不确定ZoomExtents,但我认为我们可以做剩下的。
>VVA,
顺便说一句,你能不能先用vla activate使文档成为当前图形,然后用vla zoomextents?
那么,您不也必须指定要激活的文档吗?
不,我们正在使用vlax for循环浏览文档集合。 啊!你们在Lisp程序方面仍然比我高得多
我将继续关注这个线程,lisp将对我非常有用,因为我正在重新绘制图形!
别担心,你会成功的。
试试这个伴侣:
{显然不会关闭活动图形}
(defun c:purgeall ()
(vl-load-com)
(vlax-for doc (vla-get-Documents
(vlax-get-acad-object))
(repeat 3 (vla-purgeall doc))
(if (not (eq "" (vla-get-FullName doc)))
(vla-save doc)
(vla-saveas doc
(strcat
(vla-get-Path doc) "\\"
(vla-get-name doc))))
(vl-catch-all-apply
(function
(lambda ( )
(vla-close doc :vlax-false)))))
(princ))
页:
1
[2]