需要使用Python渲染AutoCad DWG文件。 我的第一个问题是
1:-是否可以在python中渲染/加载dwg文件并在python环境中查看文件/图像?
2:-我该怎么做?我尝试使用arcpy,但由于它是ArcGIS的专有软件,因此无法直接导入库吗?有哪些替代方案?
我什至在互联网上浏览了很多资源,但没有发现任何有用的信息。 还尝试过comtypes.client来导入和查看它。
import array
import comtypes.client
acad = comtypes.client.GetActiveObject("AutoCAD.Application")
doc = acad.ActiveDocument
ms = doc.ModelSpace
doc.Import("sample.dwg", array.array('d', [0, 0, 0]), 1.0)
我遇到此错误,我已经下载了AutoCAD软件,但仍然出现此错误。请提出我所缺少的信息以及错误的实际含义。
OSError跟踪(最近一次通话最近) 在 3尝试: ----> 4 acad = comtypes.client.GetActiveObject(“ AutoCAD.Application”) 5除:
〜\ Anaconda3 \ envs \ py36 \ lib \ site-packages \ comtypes \ client__init __。py在GetActiveObject中(程序,接口,动态) 172“”“ -> 173 clsid = comtypes.GUID.from_progid(progid) 174(如果为动态):
〜\ Anaconda3 \ envs \ py36 \ lib \ site-packages \ comtypes \ GUID.py in from_progid(cls,progid) 77 inst = cls() ---> 78 _CLSIDFromProgID(str(progid),byref(inst)) 79 return inst
_ctypes / callproc.c在GetResult()
OSError:[WinError -2147221005]无效的类字符串
答案 0 :(得分:0)
您可以尝试以下操作:
import comtypes.client
import time
try:
acad = comtypes.client.GetActiveObject("AutoCAD.Application")
except:
acad = comtypes.client.CreateObject("AutoCAD.Application")
while not acad.GetAcadState().IsQuiescent :
time.sleep(5)
acad.Visible = True
doc = acad.Documents.Open("C:\\Temp\\Sample.dwg")