CAD,我有以下代码(在AutoCAD中基本相同),它只用于清除AutoCAD/ZWCAD中的文档:
Document zcDoc = Application.DocumentManager.Open(FileName, false);
zcDoc.SendStringToExecute("_-PURGE All *\nNo\n", true, false, true);当它执行并且我不以编程方式关闭绘图时,它就像一种魅力。但是如果我运行它并放置一个
zcDoc.CloseAndSave(FileName); //As the command says, it saves and close the doc之后,它就不会了。如果我在CloseAndSave之前对绘图做了一些其他修改,它们就会被保存,除了.SendStringToExecute()所做的更改之外,这与我使用的字符串或命令无关。
有什么特别之处吗?
发布于 2018-09-27 20:15:27
是的,SendStringToExecute很特别。它将字符串放入队列中,当AutoCAD再次提取输入时将执行该队列。这可以是当您调用的命令需要更多的输入时,或者我觉得在您的情况下发生的事情是在完成当前命令之后发生的。
因此,要做您想做的事情,您可能需要创建另一个命令,您可以将其放在SendStringToExecute的末尾,该命令将调用CloseAndSave。
https://stackoverflow.com/questions/52525871
复制相似问题