我正在try 将对象从多个AutoCAD图形中的特定层复制到一个AutoCAD图形中(基本上是try 将它们组合在一起).但我得到了一个错误.我同时导入了pyaucad和comtyes.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方法来说是一个‘无效的对象数组’...怎么修??

推荐答案

实际上,我用sendCommand来实现:

# if you get the best interface, you can investigate its properties with 'dir()'
m = comtypes.client.GetBestInterface(source_model_space)
handle_string = 'COPYBASE\n'
handle_string += '0,0,0\n'
for entity in m:
  time.sleep(0.1)
  if entity.Layer in target_layers:
    time.sleep(0.1)
    handle_string += '(handent "' + entity.Handle + '")\n'
handle_string += '\n'
acad.ActiveDocument.SendCommand(handle_string)
time.sleep(1)
# Paste the objects at the same location in the target drawing
acad.ActiveDocument = destination_drawing
handle_string = 'PASTECLIP\n'
handle_string += '0,0,0\n'
acad.ActiveDocument.SendCommand(handle_string)
time.sleep(1)

Python相关问答推荐

Python会扔掉未使用的表情吗?

在Google Colab中设置Llama-2出现问题-加载判断点碎片时Cell-run失败

如何更改分组条形图中条形图的 colored颜色 ?

OR—Tools CP SAT条件约束

基于索引值的Pandas DataFrame条件填充

如何将多进程池声明为变量并将其导入到另一个Python文件

迭代嵌套字典的值

用渐近模计算含符号的矩阵乘法

如何在Python中使用另一个数据框更改列值(列表)

如何在TensorFlow中分类多个类

* 动态地 * 修饰Python中的递归函数

(Python/Pandas)基于列中非缺失值的子集DataFrame

OpenCV轮廓.很难找到给定图像的所需轮廓

为什么调用函数的值和次数不同,递归在代码中是如何工作的?

Pandas—堆栈多索引头,但不包括第一列

如果有2个或3个,则从pandas列中删除空格

有没有办法让Re.Sub报告它所做的每一次替换?

FileNotFoundError:[WinError 2]系统找不到指定的文件:在os.listdir中查找扩展名

try 在单个WITH_COLUMNS_SEQ操作中链接表达式时,使用Polars数据帧时出现ComputeError

为什么这个正则表达式没有捕获最后一次输入?