【问题标题】:pyautocad example is not runningpyautocad 示例未运行
【发布时间】:2023-04-01 16:00:01
【问题描述】:

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

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, 'No such interface supported', (None, None, None, 0, None)) 。但是 Autocad 绘图已经按照上面的代码生成了圆和线。打印命令没有给出任何输出。我觉得这可能是由于没有数据从 Autocad 传递到 python。

谁能帮我解决这个问题。我正在使用 AutoCAD Mechanical 2019 和 python 3.7.7

【问题讨论】:

    标签: python python-3.x autocad


    【解决方案1】:

    我在这行 'for text in acad.iter_objects('Text'):' 中遇到了同样的错误 很难找到有关此错误的解决方案。

    现在我必须求助于win32com来连接AUTOCAD,如下网页: https://blog.csdn.net/Hulunbuir/article/details/83715279

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2014-02-27
        • 2015-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-16
        • 2016-02-24
        相关资源
        最近更新 更多