社区首页 >问答首页 >pyautocad示例未运行

pyautocad示例未运行
EN

Stack Overflow用户
提问于 2020-05-07 07:19:58
回答 2查看 540关注 0票数 2

我正在试用python中用于AutoCAD自动化的pyautocad包。我尝试了以下代码:

代码语言:javascript
代码运行次数:0
复制
from pyautocad import Autocad, APoint
import win32com.client

AutoCAD = win32com.client.Dispatch("AutoCAD.Application.22")
acad = Autocad(create_if_not_exists = False)



acad.prompt("Hello, Autocad from Python\n")
print(acad.doc.Name)

p1 = APoint(0, 0)
p2 = APoint(50, 25)
for i in range(5):
    text = acad.model.AddText('Hi %s!' % i, p1, 2.5)
    acad.model.AddLine(p1, p2)
    acad.model.AddCircle(p1, 10)
    p1.y += 10

dp = APoint(10, 0)
for text in acad.iter_objects('Text'):
    print('text: %s at: %s' % (text.TextString, text.InsertionPoint))
    text.InsertionPoint = APoint(text.InsertionPoint) + dp

for obj in acad.iter_objects(['Circle', 'Line']):
    print(obj.ObjectName)

我收到一个错误: COMError:(-2147467262,‘没有这样的接口支持’,(无,0,无))。但是Autocad绘图已经按照上面的代码生成了圆和线。打印命令没有给出任何输出。我觉得这可能是因为没有数据从Autocad传递到python。

有人能在这方面帮我吗?我使用的是AutoCAD mechanical 2019和Python3.7.7

EN

回答 2

Stack Overflow用户

发布于 2020-05-11 08:18:46

我在'for text in acad.iter_objects('Text'):‘这一行得到了同样的错误,很难找到关于这个错误的解决方案。

现在,我必须转到win32com来连接AUTOCAD,如下所示:https://blog.csdn.net/Hulunbuir/article/details/83715279

票数 0
EN

Stack Overflow用户

发布于 2020-08-25 23:21:53

尝试使用acad.iter_objects_fast而不是acad.iter_objects。它不会解决acad.iter_objects的实际问题,但会以同样的方式工作。

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

https://stackoverflow.com/questions/61651983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文