使用 Python 保存 AutoCAD 文件 (.dwg) [英] Saving AutoCAD files (.dwg) using Python
问题描述
我正在使用 win32com
在 AutoCAD 中自动执行一些简单的任务.除了能够保存文件外,它大多运行良好.我的目标是打开一个(模板)文件,根据需要进行调整,然后将文件作为 .dwg
保存在另一个文件夹中,同时将模板留空以备下次使用.
I am using win32com
to automate some simple tasks in AutoCAD. It's mostly been working quite well except for being able to save files. My goal is to open a (template) file, adjust it depending on what is needed then save the file as a .dwg
in another folder while leaving the template empty and ready to be used next time.
以下是我的代码示例:
import win32com.client
acad = win32com.client.dynamic.Dispatch("AutoCAD.Application")
acad.Visible=True
doc = acad.Documents.Open("C:\Template_folder\Template.dwg")
doc.SaveAs("C:\Output_folder\Document1.dwg")
### Adjust dwg ###
doc.Save()
加载模板文件效果很好,但在尝试保存文件时(使用 SaveAs
方法 我收到以下错误:
Loading the template file works well, but when trying to save the file (using the SaveAs
method I get the following error:
doc.SaveAs("C:\Output_folder\Document1.dwg")
File "<COMObject Open>", line 3, in SaveAs
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, 'AutoCAD', 'Error saving the document', 'C:\Program Files\Autodesk\AutoCAD 2019\HELP\OLE_ERR.CHM', -2145320861, -2145320861), None)
任何提示或资源将不胜感激!
Any tips or resources will be much appreciated!
推荐答案
查看用于 AutoCAD 的 ActiveX API 的文档,当您调用 Documents.Open()
时,它看起来应该返回打开的文档并将其设置为活动文档.也就是说,这似乎不是这里实际发生的事情.您的问题的解决方案应如下所示:
Looking at the documentation for the ActiveX API for AutoCAD it looks like when you Call Documents.Open()
it should return the opened document and set it as the active document. That said, it looks like that is not what is happening in practice here. The solution for your issue should look something like this:
import win32com.client
acad = win32com.client.dynamic.Dispatch("AutoCAD.Application")
acad.Visible=True
# Open a new document and set it as the active document
acad.Documents.Open("C:\Template_folder\Template.dwg")
# Set the active document before trying to use it
doc = acad.ActiveDocument
# Save the documet
doc.SaveAs("C:\Output_folder\Document1.dwg")
### Adjust dwg ###
doc.Save()
您可以在此处找到文档
这篇关于使用 Python 保存 AutoCAD 文件 (.dwg)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!