我正在执行以下基于 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 时它会感到困惑有关,但我不知道如何避免或传递此错误。
最佳答案
我找到了避免这种情况的方法。只需在打开的图纸上工作到最后。并使用 (command ".save"pathBFileName (if (findfile pathBFileName) "y"))
因此,无论何时您想要保存,只需确保保存到正确的文件即可。在这种情况下,AutoCAD 将永远不会打开实际的 PathB/drawing.dwg,因此我不必再次看到该引用问题。
关于lisp - AutoCAD 将文件另存为另一个路径中的同名副本 : "Object reference not set to an instance of an object",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40140932/