0
私は以下のAutoCADのdocument.Theコードにブロックを挿入するためのPythonを使用しています:AutoCADの文書にブロックを挿入するためのpythonを使用して、失敗した
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)
ブロックを文書に挿入しますが、モデル空間」はdoesnのさ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カニンガム –
は、あなたがどのようなCOMエラー-2147024809手段を探してみましたがありますか?それは間違っているものとして重要な手がかりになると思われる... – martineau
申し訳ありませんが、私はコードを強調する方法はありません。 –