用于合并DXF文件的Python模块
我正在寻找一个python模块,将合并dxf文件。我已经找到了dxfgrabber和ezdxf,但是它们似乎用于不同的应用程序,然后我所追求的 我使用的是ExpressPCB,它分别输出PCB的每一层、孔和丝网。对于我的应用程序,我想将所有这些单独的DXF组合成一个单独的DXF。见图 据我所知,起源等都是一样的,所以应该像在现实生活中一样 目前,这两个模块都没有此类应用程序的教程。一些psudo代码以pythonic的方式传达想法:用于合并DXF文件的Python模块,python,dxf,ezdxf,Python,Dxf,Ezdxf,我正在寻找一个python模块,将合并dxf文件。我已经找到了dxfgrabber和ezdxf,但是它们似乎用于不同的应用程序,然后我所追求的 我使用的是ExpressPCB,它分别输出PCB的每一层、孔和丝网。对于我的应用程序,我想将所有这些单独的DXF组合成一个单独的DXF。见图 据我所知,起源等都是一样的,所以应该像在现实生活中一样 目前,这两个模块都没有此类应用程序的教程。一些psudo代码以pythonic的方式传达想法: dxf_file1 = read(file1) dxf_fi
dxf_file1 = read(file1)
dxf_file2 = read(file2)
dxf_file3 = read(file3)
out_file.append(dxf_file1)
out_file.append(dxf_file2)
out_file.append(dxf_file3)
outfile.save()
在我的应用程序中,所有文件都具有相同的原点,并且永远不会重叠,因此您应该能够以某种方式轻松合并文件。提前感谢您的帮助 您可以在ezdxf v0.10中使用重写的导入程序加载项:
import ezdxf
from ezdxf.addons import Importer
def merge(source, target):
importer = Importer(source, target)
# import all entities from source modelspace into target modelspace
importer.import_modelspace()
# import all required resources and dependencies
importer.finalize()
base_dxf = ezdxf.readfile('file1.dxf')
for filename in ('file2.dxf', 'file3.dxf'):
merge_dxf = ezdxf.readfile(filename)
merge(merge_dxf, base_dxf)
# base_dxf.save() # to save as file1.dxf
base_dxf.saveas('merged.dxf')
此导入器仅支持基本图形,如直线、圆、圆弧和标注(无标注样式替代)等
所有扩展数据和第三方数据都将被忽略,但您的文件似乎足够简单,可以正常工作
可以找到导入器附加组件的文档。使用上述代码正在合并dxf文件,但文件正在重叠,是否有办法在一个文件中创建多个带有偏移量的dxf?这超出了ezdxf的能力--您需要一个CAD应用程序。