我正在制作显微镜滤镜生成器,首先绘制svg图像,然后将它们转换为3D以进行3D打印。
我用'svgwrite'
然而,这个librayry生成svg与形状(线,圆等),当时我不知道,但每个3D转换librayry /软件需要svg包含路径。
是否有一个librayry生成带路径的svg文件(但允许我在脚本中轻松绘制圆圈,线等?)
或者有没有办法将这些svg形状转换为svg路径?
我当前svg的形状示例:
谢谢。
PS:请注意我必须这样做,因为我打算生成很多过滤器。
我已经为自己的需要编写了一些东西,用SVG元素处理一些类似的任务,比如评估边界框,转换等等。因此,对于我来说,实现这样的转换似乎相对简单。你只需要了解"d"属性包含的路径 - 实际上有一个行列表,eliptical arcs和bezier曲线(你甚至不需要最复杂的latter)。如果您对此自定义感兴趣,请参阅此有用的教程 - http://tutorials.jenkov.com/svg/path-element.html
但是当我开始回答你时,我发现了一个最近可以使用的库,它看起来非常适合你的需求。
可以使用"pip install svgpathtools"(参见手册) - https://pypi.python.org/pypi/svgpathtools/
因此,您最初可能会创建高级对象,例如
Line(start, end)
Arc(start, radius, rotation, large_arc, sweep, end)