Autocad 使用 pyautocad / comtypes 将对象从一张图纸复制到另一张图纸

问题描述 投票:0回答:1

我正在尝试将对象从特定图层从多个 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 方法的“无效对象数组”...如何修复?

python python-3.x autocad ff
1个回答
0
投票

COM 包装器希望将其作为变体/安全数组,尝试将 obj 列表转换为安全数组,例如:

win32com.client.VARIANT(pythoncom.VT_ARRAY | pythoncom.VT_DISPATCH, objs)
© www.soinside.com 2019 - 2024. All rights reserved.