首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Python导入autocad绘图

用Python导入autocad绘图
EN

Stack Overflow用户
提问于 2015-03-22 21:08:34
回答 1查看 2.1K关注 0票数 1

我在使用 method of Atocad ActiveX时遇到了一个大问题,医生说它的签名是:

代码语言:javascript
复制
RetVal = (Document)object.Import((String)FileName, (Variant (three-element array of doubles))InsertionPoint, (Double)ScaleFactor)

我正在使用以下代码片段:

代码语言:javascript
复制
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)

但我得到了以下错误:

代码语言:javascript
复制
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]相同的错误

EN

回答 1

Stack Overflow用户

发布于 2016-08-23 12:24:02

不确定是否知道,但是只要在COMError中有一个挂起的命令,就会得到AutoCAD。COMError是因为您的脚本和程序本身都试图访问同一个接口。您需要在AutoCAD中手动单击转义两次,它不应该给出错误。如果您找到了一种使python代码使用COM接口为您命中转义的方法,请告诉我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29199878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档