0

我正在执行以下基于 Lisp 的例程。

原始绘图是在说 pathA/drawing.dwg 上的 lisp 中完成的,然后代码执行另存为并将名称复制到另一个路径中,例如 pathB/drawing.dwg。

其余代码在新路径 pathB/drawing.dwg 中针对文件运行,因为发生和应用了几件事,这使得它与 pathA/drawing.dwg 大不相同。

如果我返回打开 pathA/drawing.dwg,我会收到“未设置对象实例的对象引用”错误。

代码中途就差不多了

(setq pathBFileName (strcat "///pathb//" thisDrawingName ".dwg"))
(command "._saveas" "" pathBFileName (if (findfile pathBFileName) "y"))

我猜这与 AutoCAD 注册 PathB/drawing.dwg 已使用有关,然后当您使用 PathA/drawing.dwg 时它会感到困惑,但我不知道如何避免此错误或通过它。

4

1 回答 1

0

我想出了一个避免这种情况的方法。只需将打开的图纸工作到最后。并使用 (command ".save" pathBFileName (if (findfile pathBFileName) "y"))

因此,只要您想保存,只要确保保存到正确的文件即可。在这种情况下,AutoCAD 永远不会打开实际的 PathB/drawing.dwg,因此我不必再次看到该参考问题。

于 2016-10-20T14:12:07.943 回答