【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)
更多推荐
所有评论(0)