1. About
  2. Features
  3. Explore

I work on communication devices for people with disabilities that prevent them from speaking. This can be anything from a board with symbols on, to a relatively sophisticated app.

Some potential users also have sight issues and have to distinguish symbols by feel (these particular users have cognitive disabilities and so braile isn't useful) . Currently the solution is to, by hand, stick items onto the buttons. Like this:

enter image description here

This is effective, but takes a very long time.

There exists open symbol libraries like this, that include nice svg images like this one (not uploaded, because SO doesn't like svg, but here's the screenshot:

enter image description here

A friend converted some of these images into 3d prints like so:

enter image description here

This was amazing, and useful, but I understand quite time-intensive for him - and there are thousands of these symbols.

Here's what I want to know: given that SVG is a relatively simple structure and the symbols are very simple, what are the steps for writing the script that says: "Take the svg, map it to a plane, raise everything that is black by 2mm, everything that is gray by 1mm and add height for the rest of the colours according to this table" ?

Bonus points for something that I can reasonable get going on a set of 10000 svg files and come back to later...

1 Answer 1

If you install inkscape, pstoedit and ghostscript version 9.21 (not the latest as pstoedit is incompatible) you can get the file into a format that openscad can import using two commands in a cmd file

"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" 

then in openscad

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

will import gives me

openscad

With a thickness of 3mm - you can see the model needs some scaling but its seems possible although - I can't see an option to scale based on color -