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:
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:
A friend converted some of these images into 3d prints like so:
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
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
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 -