我正在尝试将对象从特定图层从多个 AutoCAD 图形复制到一个 AutoCAD 图形(基本上是尝试将它们组合起来)。但我收到错误。我导入了 pyautocad 和 comtypes.client。这是我的代码:
# Copy model space of other drawings
for drawing in drawingslist[1:]:
drawing.Activate()
main_drawing = acad.ActiveDocument
print(drawing)
print(main_drawing)
#Select all entities in the drawing
source_model_space = main_drawing.ModelSpace
destination_model_space = destination_drawing.ModelSpace
objs = []
for obj in source_model_space:
if obj.Layer in target_layers:
objs.append(obj)
retObjects = main_drawing.CopyObjects(objs)
# Close the drawing
我在 retObjects = main_drawing.CopyObjects(objs) 处收到错误,指出 objs 是 CopyObjects 方法的“无效对象数组”...如何修复?
COM 包装器希望将其作为变体/安全数组,尝试将 obj 列表转换为安全数组,例如:
win32com.client.VARIANT(pythoncom.VT_ARRAY | pythoncom.VT_DISPATCH, objs)