Комментарии 21
Потрясающе крутой проект!
Ещё не все мидишки одинаковые. Я тоже делал конвертер на питоне, и там есть свои подводные камни. Но ваш проект прям очень классный!
Да, я тоже столкнулся с некоторыми отличиями при экспорте одной и той же мелодии из разных редакторов. В моём случае изначально был затык с тем, что одна и та же последовательность в момент "отпускания" одних "клавиш" и "нажатия" других одновременно, оно может кодироваться в разной последовательности. Ну то есть, note 1 on | note 1 off, note 2 on | note 2 off
и note 1 on | note 2 on, note 1 off | note 2 off
— одно и то же (при одинаковых таймингах) и нужно это учитывать.
Восторг и упоение! Кстати, механическая часть продается на озоне за меньше 1000₽.
А что, если сделать выступы в виде прямоугольного треугольника? Плавный взвод, резкое отпускание.
И для гашения длительности - треугольник с плавным спуском.
А для большей длительности последовательность бинов.
Да, выступы нужно дорабатывать и это один из вариантов того, что с ними можно сделать. Хочется как минимум сделать их такой формы, которая максимизирует качество печати без поддержек (потому что поддержки в таком масштабе будет невозможно адекватно удалить, а без них получается неидеально).
Можно растянуть цилиндрики вдоль барабана (уменьшит угол нависания при вертикальной печати барабана). Если надо при этом сохранить круглое навершие можно натянуть поверхность на эллиптический цилиндр у снования и круглый цилиндрик сверху. Хотя с точки зрения износа острых углов сверху бы лучше подошла сфера (возможно сплюснутая).
Предложение:
делать основной барабан как шпульку у катушки, т.е. сплошной цилиндр с сквозным отверстием под болт, для жёсткости.
Музыкальную часть делать дополнительно, тонкостенным цилиндром, поверх основного. Это позволит менять мелодии и создавать взамен изношенных новые.
... Пока умных мыслей, вдобавок к тому что в другом посте указал, о прерывании длительности звучания и более длительного, не приходит в голову.
Музыкальную часть делать дополнительно, тонкостенным цилиндром, поверх основного
Не имеет смсла. Цилиндр не большой. Тонкий цилиндр - лишние проблемы с прочностью. Да и распечатать плотно стыкуемые и при этом разъемные цилиндры не так просто даже на фотополимернике (нужно играться с индивидуальной настройкой печати под смолу и принтер).
Да, работа первоначальная потребуется, а так для детей делал типа квеста, когда ставится картонка , с дырочками, а номер вопроса в поворотном селекторе.
А в селекторе основа цилиндр с прорезью, там фотодиоды, в параллель, а внешний цилиндр с отверстиями.
Брал 0.5 мм зазора, имхо, на pla.
Здесь всё же допуски другие. Отклонение даже в 0,1–0,2 мм в длине штырьков, например, может губительно влиять на качество звука (они либо не достают до гребёнки, либо слишком жёстко её дёргают, в результате чего возникает дребезг). На видео попал момент: слышно, что в отдельном промежутке музыка играет тише — это результат незначительной, незаметной глазу деформации цилиндра.
К слову, пока модерировалась статья, я уже добавил в скрипт генерацию рёбер жёсткости, но пока руки не дошли протестировать новую модель "в бою".
Можно и полную заливку сделать (не тот объем чобы экономить). Плюс это даст возможность сделать барабан с дырками под проволочки по образу из часов Наири. .
Да, про такой вариант (с проволочками) тоже думал, но на практике буду рассматривать его, наверное, только если печатные пины будут быстро изнашиваться. Всё-таки добавляет ручной работы, требующей кропотливости и высокой точности. Есть мысль попробовать для увеличения прочности покрытия применить гальванику.
Если вы уже пишите на питоне, то рекомендую посмотреть на библиотеку Build123d
Её подход мне больше понравился по сравнению с openSCAD тем что создание модели гораздо ближе к тому как это происходит в CAD редакторе (ну и VSCode в качестве редактора это огромный плюс).
Вот пример параметрической модели для коробки которую я делал когда я пробовал с ней работать

Больше примеров можно глянуть в документации
Вот в этом ролике можно посмотреть пример использования библиотеки в соревновании по 3Д моделированию
Блин, а это офигенно! Изначально мой выбор OpenSCAD был обоснован двумя причинами:
Я нашёл готовый скрипт, который надо было только немного доработать, писать с нуля я бы не факт, что решился (потому что уже видел код для параметрических моделей и казалось муторным разбираться в этом, хоть и такие ожидания не оправдались)
Я не задумывался об аналогах и не стал их искать из-за пункта 1.
При этом я знаком с CAD (часто пользуюсь Fusion 360) и код на скриншоте выглядит приятно и понятно. Хотел закинуть плюсик в карму, но Хабр говорит, что нельзя пользователю дать кармы >4, если у него нет публикаций (хотя текущая карма отображается равной девяти).
А что насчёт VSCode — так у меня и в PyCharm с OpenSCAD такое есть :)

Творчество в OpenSCAD: своя мелодия для музыкальной шкатулки