CAD API 编程 - 无法通过 SendStringToExecute 保存修改

CAD API Programming - can't save modifications by SendStringToExecute

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() 所做的更改除外,与我使用的字符串或命令无关。

有什么特别之处吗?

是的,SendStringToExecute 很特别。它将字符串放入一个队列中,该队列将在 AutoCAD 再次获取输入时执行。这可能是当您调用的命令需要更多输入时,或者我觉得您的情况是在您当前命令完成后发生的。

因此,要执行您想要的操作,您可能必须创建另一个命令,您可以将其放置在调用 CloseAndSave 的 SendStringToExecute 的末尾。