【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)

你可能感兴趣的:(python,开发语言)