关闭图纸1。图纸
你好我正在使用AutoCAD 2011。
我正试着关闭Drawing1。打开现有图形时显示dwg。
我想出了这个代码,但它向我发送了一个错误:
(setq acadobject (vlax-get-Acad-Object))
(setq documentcollection (vla-get-documents acadobject))
(vlax-for <doc> documentcollection
(if (eq (getvar 'dwgname) "Drawing1.dwg")
(vla-close (vla-item <doc> "Drawing1.dwg") :vlax-False)
)
)
请帮帮我 为什么不通过STARTUP系统变量完全删除Drawing1呢?
启动选项包括:
0-显示“选择样板”对话框,或使用“选项”对话框中“文件”选项卡上的默认图形样板文件集。
1-在不打开图形样板文件的情况下启动,并显示“启动”或“创建新图形”对话框。
2-在不打开图形样板文件的情况下启动。如果在应用程序中可用,将显示一个自定义对话框。 嗯,我试过了,但它仍然会弹出图纸。出于某种原因的dwg
问题是,当我打开一个已经由drawing1创建的图形时。dwg保持打开状态 奇怪的是,sysvar不适合您。
在任何情况下,如果文档是ActiveDocument,则不能对其调用Close()方法,否则会引发“错误:自动化错误”。绘图正忙。。。您可以切换到另一个文档,然后关闭()Drawing1(如果在尝试关闭()Drawing1之前以编程方式完成,则会有一些隐式任务)。
对原始代码稍加修改:
(vlax-for doc (vla-get-documents (vlax-get-acad-object))
(if (= (vla-get-name doc) "Drawing1.dwg")
(vla-close doc :vlax-False)
)
)
现在,*如果*安装了VBA,您可以将其称为,如本线程中所述:
(command "VBASTMT" (strcat "AutoCAD.Application.Documents.Item(\"Drawing1.dwg\").Close"))
HTH公司
(vla-close (vla-item (vla-get-documents (vlax-get-acad-object)) "Drawing1.dwg") :vlax-false "Drawing1.dwg")
从其他图形传递lisp代码(不是drawing1.dwg,否则会出现绘图繁忙错误) 谢谢大家,
我看看能不能理解你的煽动。
当做 我在《阿卡多克》中使用了这个。lsp文件:
史蒂夫
页:
[1]