SVG 到 STL 的转换,使视觉障碍用户可以识别符号

3D打印 3d 设计 stl
2021-05-10 10:38:15

我致力于为残障人士设计阻止他们说话的通信设备。这可以是任何东西,从带有符号的板到相对复杂的应用程序。

一些潜在用户也有视力问题并且必须通过感觉来区分符号(这些特定用户有认知障碍,因此盲文没有用)。目前的解决方案是手动将项目粘贴到按钮上。像这样:

在此处输入图片说明

这是有效的,但需要很长时间。

存在开放的符号库这样的,包括漂亮的SVG图像像这个(没有上传,因为这么不喜欢SVG,但这里的截图:

在此处输入图片说明

一位朋友将其中一些图像转换为 3D 打印,如下所示:

在此处输入图片说明

这太神奇了,也很有用,但我理解他很费时间——而且有成千上万个这样的符号。

这是我想知道的:鉴于SVG是一个相对简单的结构并且符号非常简单,编写脚本的步骤是什么:“以svg,将其映射到平面,将所有黑色提升2 毫米,所有灰色 1 毫米,并根据此表为其余颜色添加高度”?

我可以合理地处理一组 10000 个 svg 文件并稍后再回来的东西的奖励积分......

2个回答

如果您安装inkscape、pstoedit 和ghostscript 版本9.21(不是最新的,因为pstoedit 不兼容)您可以将文件转换为openscad 可以使用cmd 文件中的两个命令导入的格式

"C:\Program Files\Inkscape\inkscape" -E "traffic lights.eps" "traffic lights.svg"
"C:\Program Files\pstoedit\pstoedit" -dt -f dxf:-polyaslines "traffic lights.eps" "traffic lights.dxf"

然后在openscad

linear_extrude(3) import ("traffic lights.dxf");

将进口给我

opencad

厚度为 3 毫米 - 你可以看到模型需要一些缩放,但它似乎是可能的 - 我看不到基于颜色缩放的选项 -

没有什么可以通过脚本编写但非常简单易行。

  1. 在 tinkercad.com 上注册(我知道注册很糟糕,但它是一个很棒的工具)
  2. 打开一个新的设计
  3. 导入 *.svg 文件
  4. 调整转换对象的高度或大小
  5. 下载.stl

1000个文件需要一段时间,但它很简单,打印这些东西需要永远,所以你有一些时间:P

编辑:也许将主题编辑为“SVG 到 STL 转换”之类的内容,这将使该线程更有可能被找到。