在保持图层的同时,在Inkscape CLI中将DXF转换为SVG

时间:2016-04-19 13:25:13

标签: svg inkscape dxf

在Inkscape GUI中,有这个很棒的功能,让我 '另存为 - >文件类型 - >层作为单独的SVG'(最后一个在底部)。有没有办法从CLI做同样的事情?

到目前为止我所拥有的:

inkscape -z -l output.svg input.dxf

这会将'input.dxf'转换为'output.svg',但我找不到此SVG中的图层。

1 个答案:

答案 0 :(得分:2)

在Inkscape社区的帮助下(特别感谢@rindolf),我可以提出一个解决方案。

<强>先决条件

  • Python 2.7(它不适用于较新版本)
  • lxml(“pip install lxml”)

调整Inkscape

将“Inkscape \ share \ extensions”中“tar_layers.py”第36行的“GROUP =”{http://www.w3.org/2000/svg} g“'更改为”GROUP =“g”'。必须这样做,因为您的图层不具有该命名空间。

将DXF转换为多个SVG(每层一个)

  1. 从DXF创建一个Inkscape SVG:

    python share / extensions / dxf_input.py input.dxf&gt; output.svg

  2. 将图层导出为tar:

    中的单个SVG

    python share / extensions / tar_layers.py output.svg&gt; output.tar

  3. 现在,你应该有一个带有Inkscape SVG的'output.tar'文件。如果你需要常规SVG,你必须像这样导出它们:

    inkscape -z -l output.svg input.svg
    

    有关the Inkscape CLI的更多信息。