【python】【cad】将中一个图层的内容,从一个cad文件,粘贴到另一个cad文件,保持坐标不变

from pyautocad import Autocad, APoint

def copy_layer_contents(source_file, target_file, layer_name):
    acad = Autocad(create_if_not_exists=True)

    # 打开源文件
    acad.Documents.Open(source_file)

    # 选择指定图层的所有对象
    source_doc = acad.ActiveDocument
    source_objects = []
    for obj in source_doc.ModelSpace:
        if obj.Layer == layer_name:
            source_objects.append(obj)

    # 复制指定图层的对象
    source_doc.SelectionSets.Add('source_objects')
    source_objects_ss = source_doc.SelectionSets.Item('source_objects')
    source_objects_ss.Clear()
    for obj in source_objects:
        source_objects_ss.SelectByObject(obj)

    source_doc.CopyObjects(source_objects_ss)

    # 打开目标文件
    acad.Documents.Open(target_file)

    # 将复制的对象粘贴到目标文件
    target_doc = acad.ActiveDocument
    target_doc.ModelSpace.Paste()

    # 保存目标文件并关闭源文件
    target_doc.Close(SaveChanges=True)
    source_doc.Close(SaveChanges=False)

source_file = r"C:\path\to\source.dwg"
target_file = r"C:\path\to\target.dwg"
layer_name = "LayerName"  # 要复制的图层名称

copy_layer_contents(source_file, target_file, layer_name)
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hmywillstronger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值