解决python调用cad报错OSError: [WinError -2147221005] 无效的类字符串的问题)
【原代码】
最近开始接触python调用cad,我电脑安装的是AUTOCAD比较新,在网上找的代码,测试了下报错。
网上的代码如下:
下面展示一些 内联代码片
。
import pythoncom
import win32com.client
import math
wincad = win32com.client.Dispatch("AutoCAD.Application")
doc = wincad.ActiveDocument
doc.Utility.Prompt("Hello! Autocad from pywin32com.\n")
msp = doc.ModelSpace
print(doc.Name)
【报错】
首先是要打开cad界面,然后再运行以上python代码。
我查了一些资料,找到如果出现这种情况,可能是注册表中还有其他旧版本CAD的注册表残留,按win+R运行regedit打开注册表,查看HKEY_CLASSES_ROOT中的AutoCAD.Application版本号
我的注册表是如下的:
可以看到多个版本,按最高版本来调用,CAD2021对应24,即修改代码如下:
import pythoncom
import win32com.client
import math
wincad = win32com.client.Dispatch("AutoCAD.Application.24")
doc = wincad.ActiveDocument
doc.Utility.Prompt("Hello! Autocad from pywin32com.\n")
msp = doc.ModelSpace
print(doc.Name)
【运行结果】
问题成功解决,运行结果如下,打印出你打开CAD的文件名: