gpt4 book ai didi

python - .svg 到 .dxf(使用 Inkscape?)

转载 作者:行者123 更新时间:2023-11-28 18:19:12 29 4
gpt4 key购买 nike

对于一个项目,我需要将大量 .svg 文件自动转换为 .dxf 文件以进行进一步处理。

情况:一个目录有很多.svg文件,应该转换成.dxf(不管.dxf文件是不是在同一目录或子文件夹中,dxf 名称应为 svg 名称)

我可以使用 Inkscape GUI 来做到这一点,它也适用于在 CAD 程序中导入 .dxf 文件,但如前所述,我需要将其自动化。 (到目前为止,我只用 Python 编写过)。

我的想法:我通过命令行在 Inkscape 中打开文件。可以通过带有以下代码的命令以 png 格式导出:

from subprocess import call
import os

svg_dir = "C:\\temp\\layers\\"
files = [svg_dir + i for i in os.listdir(svg_dir) if ".svg" in i]

dir = r"C:\Program Files\Inkscape"
for i in files:

cmdline = "Inkscape -z -f "+ i +" -e "+ i + ".png"
rc = call("start cmd /K " + cmdline, cwd=dir, shell=True)

但我并不真正理解 Inkscape 扩展。我只知道我需要扩展目录中的dxf_outlines.py/.inx。我总是需要相同的导出选项,那么我是否可以为此重写 Python 代码并通过 Inkscape 中的命令运行它?

或者如果没有像 Python 中的 Inkscape 这样的额外软件,会有什么解决方案吗?据我所知,没有。

最佳答案

我提出了一个略有不同的解决方案,但仍然找到了所需的 .dxf 文件。我在 Python 中将我的图形保存为 .eps 文件,并且可以使用 pstoedit 仅通过一个命令行来转换它们。

def eps_to_dxf():
eps_list = [i for i in os.listdir(eps_directory) if ".eps" in i]
work_directory = "C:\Program Files\pstoedit"

for i in eps_list:
input_file = i.split(".")[0]
output_file = input_file + ".dxf"
cmdline = "pstoedit -f dxf_s " + eps_directory + i + " " + eps_directory + output_file
subprocess.check_call(cmdline, cwd=work_directory, shell=True)

关于python - .svg 到 .dxf(使用 Inkscape?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46330122/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com