Калькулятор стоимости 3D-печати
Привет, %username%! Сегодня я хочу рассказать тебе историю о том, как я, обычный любитель 3D-печати, создал калькулятор для расчета стоимости печати. Это не просто история о программировании, но и о том, как друзья, соседи и даже дальние родственники узнали, что у меня есть 3D-принтер, и начали просить помочь с их "миллионом проблем". От ручек для холодильника до держателей для проводов — всё это стало частью моей жизни. Но главное — это история о том, как я решил автоматизировать расчет стоимости печати и поделился этим с тобой.
Как всё началось
Я никогда не планировал зарабатывать на 3D-печати. Моя история началась с того, что я просто печатал корпуса для своих проектов на Arduino и других поделок. Но, как это часто бывает, информация о моем принтере быстро распространилась среди друзей и знакомых. Вскоре ко мне начали обращаться с просьбами напечатать что-то: от сломанных ручек для мебели до запчастей для автомобилей. Однажды сосед попросил напечатать ручку для холодильника. Старый холодильник, менять который он не планировал, но ручка сломалась. И тут я задумался: сколько с него брать?
Первая версия калькулятора

После небольшого исследования в интернете я нашел несколько способов расчета стоимости печати. Выбрав наиболее подходящий, я вывел простую формулу:
\[ S = \left( \frac{p}{1000} \times \frac{t}{60} \times h + \frac{md \times d \times st}{mk} + a + post \right) \times x + mod \]
Где:
- \( S \) — стоимость печати,
- \( p \) — мощность принтера,
- \( t \) — время печати,
- \( h \) — тариф на электроэнергию,
- \( md \) — вес детали,
- \( d \) — коэффициент отбраковки,
- \( st \) — стоимость катушки пластика,
- \( mk \) — вес катушки,
- \( a \) — амортизация принтера,
- \( post \) — стоимость постобработки,
- \( x \) — количество деталей,
- \( mod \) — стоимость моделирования.
Эта формула легла в основу моего калькулятора, который я написал за пару вечеров. Программа получилась максимально простой, но функциональной. Я даже упаковал её в exe-файл, чтобы она запускалась без установки Python.
Обновления и улучшения
После первой версии я получил много отзывов и предложений. Вторая версия калькулятора стала более удобной: я убрал редко изменяемые параметры в настройки, добавил сохранение введенных данных и улучшил интерфейс. Также я добавил возможность установки программы, чтобы она работала на компьютерах без Python.
Одним из ключевых изменений стало добавление расчета амортизации принтера. Я решил, что это важный параметр, который нужно учитывать. Амортизация — это износ принтера, выраженный в деньгах. Я использовал линейный метод расчета, но позже понял, что он не совсем подходит для наших целей. В итоге я перешел на метод пропорциональный объему продукции, что более точно отражает реальный износ принтера.
Философия расчета амортизации
Амортизация — это сложный параметр, который зависит от множества факторов: стоимости принтера, срока его службы, интенсивности использования и т.д. Я решил, что для домашнего использования лучше считать амортизацию пропорционально времени печати. Это позволяет более гибко учитывать износ принтера и не перекладывать всю стоимость амортизации на один заказ.
Наценка и себестоимость
В одной из последних версий я добавил возможность указать процент наценки. Теперь калькулятор показывает не только себестоимость печати, но и итоговую цену с учетом наценки. Это особенно полезно, если ты печатаешь на заказ и хочешь заработать немного сверху. После этого калькулятор вышел из беты и стал стабильной версией. Я добавил поддержку мультиязычности, чтобы программа могла использоваться не только в России, но и за рубежом. Также я исправил несколько багов, которые были обнаружены пользователями.
Жадная библиотека
В 2024 году библиотека, которую я использовал для отрисовки интерфейса калькулятора стала платной. Да у нее есть лицензия для разработчиков открытого программного обеспечения, но она выдается всего на год и доставляет дискомфорт конечным пользователям из-за того, что приходится регистрироваться на сайте авторов библиотеки. К тому же это не удобно, так как приходится обновлять ключ раз в год. По этому я решил отказаться от нее и переписать калькулятор на другом языке и с другими библиотеками.
Новые версии
В данный момент калькулятор переделывается на С++, так как этот язык удобнее для оконных приложений. К тому же, ко мне присоединилась однокашница Юлия и взяла на себя часть работы по переписыванию GUI и добавлению новых, интересных функций (подробнее об этих функциях напишу, когда подготовим всё к новому релизу).
Заключение
Этот калькулятор — результат моих экспериментов с 3D-печатью и программированием. Он не идеален, но я продолжаю его улучшать. Если у тебя есть идеи или предложения, пиши в комментариях или в телеграм. Я всегда открыт для обратной связи и готов дорабатывать программу.
Спасибо за внимание, и до новых релизов!