пример pyautocad не запущен - PullRequest
1 голос
/ 07 мая 2020

Я пробую пакет pyautocad в python для автоматизации 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, 'Такой интерфейс не поддерживается', (Нет, Нет, Нет, 0, Нет)). Но чертеж Autocad произвел круги и линии в соответствии с приведенным выше кодом. Команда печати не дала никаких результатов. Я думаю, это может быть из-за того, что данные не передаются из Autocad в python.

Может ли кто-нибудь помочь мне в этом. Я использую AutoCAD Mechanical 2019 и python 3.7.7

Ответы [ 2 ]

0 голосов
/ 26 августа 2020

Попробуйте использовать acad.iter_objects_fast вместо acad.iter_objects. Это не решит вашу настоящую проблему с acad.iter_objects, но будет работать точно так же.

0 голосов
/ 11 мая 2020

У меня такая же ошибка в этой строке 'for text in acad.iter_objects('Text'):'. Трудно найти какое-то решение для этой ошибки.

Теперь мне нужно обратиться к win32com, чтобы подключить AUTOCAD как веб-страницу ниже: https://blog.csdn.net/Hulunbuir/article/details/83715279

...