Exceção: matriz de objetos inválida com comtypes

Eu tento implementar uma operação de cópia simples entre dois documentos do Autocad via COM em Python.

from pyautocad import Autocad, APoint
from comtypes.client import GetBestInterface
# Get acad application
acad = Autocad(create_if_not_exists=True)
# Create a new document
doc1 = GetBestInterface(acad.Application.Documents.Add())
# add a circle in this document and make it visible
circle = GetBestInterface(doc1.ModelSpace.AddCircle(APoint(0.0, 0.0), 1.0))
doc1.Application.ZoomExtents()
# create another document
doc2 = GetBestInterface(acad.Application.Documents.Add())
# and copy the circle to the new document
doc1.CopyObjects([circle], doc2.ModelSpace)

Isso lança:

Traceback (most recent call last):
  File "copy_bug.py", line 13, in <module>
    doc1.CopyObjects([circle], doc2.ModelSpace)
  File "Anaconda2\lib\site-packages\comtypes\__init__.py", line 655, in call_with_inout
    rescode = func(self_, *args, **kw)
_ctypes.COMError: (-2145320837, None, (u'Invalid object array', u'AutoCAD.Application', u'C:\\Program Files\\Autodesk\\AutoCAD 2015\\HELP\\OLE_ERR.CHM', -2145320837, None))

O mesmo pode ser feito no VBA com:

Dim doc1 As AcadDocument
Set doc1 = ThisDrawing.Application.Documents.add
Dim pt(0 To 2) As Double
pt(0) = 0#: pt(1) = 0#: pt(2) = 0#
Dim circ As AcadCircle
Set circ = doc1.ModelSpace.AddCircle(pt, 1)

ThisDrawing.Application.ZoomExtents

Dim doc2 As AcadDocument
Set doc2 = ThisDrawing.Application.Documents.add

Dim arry(0 To 0) As AcadEntity
Set arry(0) = circ
doc1.CopyObjects arry, doc2.ModelSpace

Tentei matrizes numpy, tentei transmitir para oIDispatch interface, oIAcadEntity interface eIAcadObject sem sucesso (provavelmente uma tentativa boba).

circle = circle.QueryInterface(IAcadEntity)

Eu também tentei olhar para dentrosite-packages\comtypes\automation.py mas isso está acima da minha nota de pagamento. Configurando oself.vt paraVT_ARRAY | VT_DISPATCH no_set_value não adianta, mas desconfio que o problema esteja nesse sentido porque, se mudarmosDim arry(0 To 0) As AcadEntity paraDim arry(0 To 0) As Variant o exemplo do VBA também lançaráInvalid object array.

Devo mencionar que não comentei duas linhas nosite-packages\comtypes\automation.py:

# These are not yet implemented:
POINTER(IUnknown): VT_UNKNOWN,
POINTER(IDispatch): VT_DISPATCH,

Então .... ajuda ?!

questionAnswers(1)

yourAnswerToTheQuestion