Nomar记录一段历史
SVG 到 STL 的转换,使视觉障碍用户可以识别符号

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

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

在此处输入图片说明

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

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

在此处输入图片说明

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

在此处输入图片说明

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

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

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

我的想法是像 openscad 这样的东西可能会简化这个。它具有多边形基本操作和拉伸。首先将 svg 映射到多边形,然后挤出多边形。那么问题就变成了如何将 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 转换”之类的内容,这将使该线程更有可能被找到。

随机文章