我在使用 method of Atocad ActiveX时遇到了一个大问题,医生说它的签名是:
RetVal = (Document)object.Import((String)FileName, (Variant (three-element array of doubles))InsertionPoint, (Double)ScaleFactor)我正在使用以下代码片段:
import array
import comtypes.client
acad = comtypes.client.GetActiveObject("AutoCAD.Application")
doc = acad.ActiveDocument
ms = doc.ModelSpace
doc.Import("C:/path/to/the/drawing.dwg", array.array('d', [0, 0, 0]), 1.0)但我得到了以下错误:
Traceback (most recent call last):
File ".\script.py", line 30, in <module>
doc.Import("C:/path/to/the/drawing.dwg", array.array('d', [0, 0, 0]), 1.0
)
_ctypes.COMError: (-2147024809, 'The parameter is incorrect.', (u'Invalid argument', u'AutoCAD', u'C:\\Program Files\\Au
todesk\\AutoCAD 2015\\HELP\\OLE_ERR.CHM', -2145320901, None))问题是:哪个参数不正确?!!通常,我总是把坐标传递给autocad方法,就像我在第二个参数中所做的那样,它总是有效的,你能帮我吗?
编辑我试图传递[0.0, 0.0, 0.0]相同的错误
发布于 2016-08-23 12:24:02
不确定是否知道,但是只要在COMError中有一个挂起的命令,就会得到AutoCAD。COMError是因为您的脚本和程序本身都试图访问同一个接口。您需要在AutoCAD中手动单击转义两次,它不应该给出错误。如果您找到了一种使python代码使用COM接口为您命中转义的方法,请告诉我。
https://stackoverflow.com/questions/29199878
复制相似问题