Преобразование SVG в STL, чтобы сделать символы узнаваемыми для пользователей с нарушениями зрения

Я работаю над устройствами связи для людей с ограниченными возможностями, которые мешают им говорить. Это может быть что угодно-от таблички с символами до относительно сложного приложения.

У некоторых потенциальных пользователей также есть проблемы со зрением, и им приходится различать символы на ощупь (у этих конкретных пользователей когнитивные нарушения, поэтому брайль бесполезен) . В настоящее время решение состоит в том, чтобы вручную наклеивать предметы на кнопки. Вроде этого:

Это эффективно, но занимает очень много времени.

Существуют открытые библиотеки символов, подобные этой, которые включают в себя красивые svg-изображения, подобные этому (не загруженные, потому что SO не любит svg, но вот скриншот:

Друг преобразовал некоторые из этих изображений в 3d-принты, например:

Это было удивительно и полезно, но я понимаю, что для него это отнимает много времени-и таких символов тысячи.

Вот что я хочу знать: учитывая, что SVG является относительно простой структурой и символы очень удобно, каковы шаги, необходимые для написания сценария, который говорит: "Возьмите СВГ карте на самолет, поднять все, что черный на 2мм, все, что есть серого цвета по 1 мм и добавить высоту для остальных цветов в соответствии с этой таблицей" ?

Бонусные баллы за то, что я могу разумно использовать в наборе из 10000 svg-файлов и вернуться к ним позже...

, 👍6

Обсуждение

Мои мысли были бы чем-то вроде того, что openscad мог бы упростить это. Он имеет базовую операцию многоугольника и выдавливание. Сначала сопоставьте svg с полигоном, затем вытяните полигон. Таким образом, возникает вопрос, как сопоставить svg с набором точек, достаточно близких для представления фигуры. Вы можете сделать это несколько раз для каждого цвета, а затем выдавливать на разную высоту., @Ross


2 ответа


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

импорт даст мне

openscad

При толщине 3 мм - вы можете видеть, что модель нуждается в некотором масштабировании, но это кажется возможным, хотя - я не вижу возможности масштабирования на основе цвета -


,

Это выглядит солидно!, @Joe

Гораздо сложнее автоматически получать разные высоты на основе разных цветов , у меня есть алгоритм, как это сделать - получить файлы для каждого слоя на основе цветов - например, извлечь белый, Зеленый, Красный, синий и импортировать - все это, кажется, работает - но у меня нет способа автоматизировать извлечение слоя, @Ross


0

Ничто из того, что работает с помощью сценариев, не является действительно простым и легким.

  1. зарегистрируйтесь на tinkercad.com (Я знаю, что регистрация-это облом, но это отличный инструмент)
  2. откройте новый дизайн
  3. импорт файла *.svg
  4. отрегулируйте высоту или размер преобразованного объекта
  5. скачать .stl

Это займет некоторое время для 1000 файлов, но это так просто, печать материала займет целую вечность, так что у вас есть немного времени :P

Редактировать: Возможно, измените тему на что-то вроде "Преобразование SVG в STL", что повысит вероятность нахождения темы.

,