Я использую Python, чтобы вставить блок в AutoCad код document.The ниже:Использование питона, чтобы вставить блок в AutoCad документ, безуспешно
import comtypes.client
app = comtypes.client.GetActiveObject("AutoCAD.Application")
ms = app.ActiveDocument
files = r"C:\Users\TOM\Desktop\02python\516.00-501.50.dwg"
insertionPnt = [0,0,0]
ms.ModelSpace.InsertBlock(insertionPnt, files, 1, 1, 1, 0)
Блок вставляется в документ, но ModelSpace Безразлично» t. Исключения составляют:
File "C:\Users\TOM\Documents\002pybookcode\backup_code\test.py", line 10, in <module>
ms.ModelSpace.InsertBlock(insertionPnt, files, 1, 1, 1, 0)
_ctypes.COMError: (-2147024809, '\xb2\xce\xca\xfd\xb4\xed\xce\xf3\xa1\xa3', (None, None, None, 0, None))
Я решил эту проблему, и приведенный ниже код работает.
import win32com.client
import pythoncom
def POINT(x,y,z):
return win32com.client.VARIANT(pythoncom.VT_ARRAY | pythoncom.VT_R8, (x,y,z))
acad = win32com.client.Dispatch("AutoCAD.Application")
doc = acad.ActiveDocument
ms = doc.ModelSpace
files = r"C:\Users\TOM\Desktop\02python\516.00-501.50.dwg"
doc.Utility.Prompt("hello World\n")
pt1= POINT(0.0,0.0,0.0)
ms.InsertBlock(pt1, files, 1.0,1.0,1.0, 0)
спасибо @Padraic Cunningham –
Вы пробовали глядя, какие COM ошибки -2147024809 средства? Похоже, это было бы важным ключом к тому, что не так ... – martineau
Извините, я не понимаю, как выделить код. –