Преобразование SVG в STL, чтобы сделать символы узнаваемыми для пользователей с нарушениями зрения
Я работаю над устройствами связи для людей с ограниченными возможностями, которые мешают им говорить. Это может быть что угодно-от таблички с символами до относительно сложного приложения.
У некоторых потенциальных пользователей также есть проблемы со зрением, и им приходится различать символы на ощупь (у этих конкретных пользователей когнитивные нарушения, поэтому брайль бесполезен) . В настоящее время решение состоит в том, чтобы вручную наклеивать предметы на кнопки. Вроде этого:
Это эффективно, но занимает очень много времени.
Существуют открытые библиотеки символов, подобные этой, которые включают в себя красивые svg-изображения, подобные этому (не загруженные, потому что SO не любит svg, но вот скриншот:
Друг преобразовал некоторые из этих изображений в 3d-принты, например:
Это было удивительно и полезно, но я понимаю, что для него это отнимает много времени-и таких символов тысячи.
Вот что я хочу знать: учитывая, что SVG является относительно простой структурой и символы очень удобно, каковы шаги, необходимые для написания сценария, который говорит: "Возьмите СВГ карте на самолет, поднять все, что черный на 2мм, все, что есть серого цвета по 1 мм и добавить высоту для остальных цветов в соответствии с этой таблицей" ?
Бонусные баллы за то, что я могу разумно использовать в наборе из 10000 svg-файлов и вернуться к ним позже...
@Joe, 👍6
Обсуждение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");
импорт даст мне
При толщине 3 мм - вы можете видеть, что модель нуждается в некотором масштабировании, но это кажется возможным, хотя - я не вижу возможности масштабирования на основе цвета -
Это выглядит солидно!, @Joe
Гораздо сложнее автоматически получать разные высоты на основе разных цветов , у меня есть алгоритм, как это сделать - получить файлы для каждого слоя на основе цветов - например, извлечь белый, Зеленый, Красный, синий и импортировать - все это, кажется, работает - но у меня нет способа автоматизировать извлечение слоя, @Ross
Ничто из того, что работает с помощью сценариев, не является действительно простым и легким.
- зарегистрируйтесь на tinkercad.com (Я знаю, что регистрация-это облом, но это отличный инструмент)
- откройте новый дизайн
- импорт файла *.svg
- отрегулируйте высоту или размер преобразованного объекта
- скачать .stl
Это займет некоторое время для 1000 файлов, но это так просто, печать материала займет целую вечность, так что у вас есть немного времени :P
Редактировать: Возможно, измените тему на что-то вроде "Преобразование SVG в STL", что повысит вероятность нахождения темы.
- Как конвертировать STL-файлы в PDF-чертежи?
- Файл слишком большой, чтобы открыть его в Tinkercad. Как уменьшить его?
- Преобразование САПР STL в STP
- Как вычислить поверхность и объем большого количества файлов STL?
- Эффективный способ создания "слепка" твердого объекта в мешмиксере?
- Черная поверхность в Meshmixer
- Как правильно экспортировать SVG для преобразования в STL?
- Как изменить 3D-модель тела?
Мои мысли были бы чем-то вроде того, что openscad мог бы упростить это. Он имеет базовую операцию многоугольника и выдавливание. Сначала сопоставьте svg с полигоном, затем вытяните полигон. Таким образом, возникает вопрос, как сопоставить svg с набором точек, достаточно близких для представления фигуры. Вы можете сделать это несколько раз для каждого цвета, а затем выдавливать на разную высоту., @Ross