Веб-программист. Веб-сайт для чпу станка (Дистанционная работа)

Бюджет не указан

Задание: Веб-программист. Веб-сайт для чпу станка (Дистанционная работа)

# Техническое задание ## Общая информация Необходимо разработать веб-приложение для генерации G-code для ЧПУ-плоттера (станок с ручкой вместо лазера). Станок предназначен для письма по бумаге, поэтому главная задача проекта — максимально реалистичное воспроизведение человеческого почерка. Главное отличие проекта от существующих программ заключается в том, что пользователь сможет создать собственный рукописный шрифт, после чего сайт будет автоматически преобразовывать любой текст в этот почерк и генерировать G-code для станка. --- # Основной функционал ## 1. Рабочая область После открытия сайта пользователь попадает в редактор. Рабочая область должна представлять собой виртуальный лист бумаги. Желательно добавить возможность выбора формата: - Тетрадный лист - A4 - A5 - Пользовательский размер Также желательно добавить: - отображение полей; - отображение строк как в тетради; - масштабирование; - перемещение по листу. --- ## 2. Ввод текста Пользователь вводит обычный текст. Можно настроить: - размер текста; - расстояние между буквами; - расстояние между словами; - межстрочный интервал; - отступы; - положение текста на листе; - выравнивание. После изменения параметров пользователь сразу видит предварительный результат. --- # 3. Создание собственного почерка (главная функция) Необходимо реализовать отдельный раздел «Создать почерк». Работа должна происходить следующим образом. ### Шаг 1 Пользователь нажимает кнопку «Создать новый почерк». Затем вводит название своего шрифта. Например: - Почерк №1 - Школьный - Рабочий - Мой почерк --- ### Шаг 2 На экране появляется большая область для рисования. На фоне отображается полупрозрачная буква-образец (примерно 20–30% прозрачности). Эта буква служит только ориентиром по размеру и расположению. Пользователь должен обвести или написать свою букву поверх образца. После завершения нажимает «Далее». --- ### Шаг 3 Система по очереди предлагает написать: ### Русский алфавит - все прописные буквы (А–Я) - все строчные буквы (а–я) ### Английский алфавит - A–Z - a–z ### Цифры 0–9 ### Знаки Например: - . - , - : - ; - ! - ? - " - ' - ( - ) - [ - ] - - - — - + - = - / - - % - № - @ - & - * После написания каждого символа система автоматически сохраняет его. В любой момент можно вернуться назад и переписать любую букву. --- ### Шаг 4 После заполнения всех символов сайт автоматически создает персональный рукописный шрифт пользователя. В дальнейшем при вводе любого текста каждая буква будет заменяться соответствующей буквой из созданного пользователем набора. То есть сайт не использует готовые шрифты — он собирает текст из нарисованных пользователем символов. Это позволит получить максимально естественный почерк. В перспективе можно добавить небольшую случайную вариацию положения и наклона букв, чтобы текст выглядел ещё более живым и не создавалось впечатление, что каждая одинаковая буква полностью идентична. --- # 4. Генерация G-code После формирования страницы сайт должен: - преобразовать рукописный текст в векторные линии; - построить оптимальную траекторию движения ручки; - автоматически сгенерировать G-code; - предоставить возможность скачать готовый файл. G-code должен быть полностью совместим с используемым ЧПУ-плоттером. --- # 5. Подключение к станку Желательно реализовать возможность подключения станка напрямую через сайт. Функции подключения: - автоматическое определение доступных COM-портов; - ручной выбор COM-порта (например COM3, COM7, COM14 и т.д.); - выбор скорости соединения (Baud Rate), например: - 9600 - 19200 - 38400 - 57600 - 115200 - возможность указать свою скорость при необходимости; - кнопка «Подключиться»; - отображение статуса подключения; - кнопка «Отключиться». После успешного подключения желательно добавить возможность: - отправить G-code напрямую на станок без использования сторонних программ; - остановить выполнение; - поставить выполнение на паузу; - продолжить выполнение; - отображать процент выполнения задания; - отображать текущие координаты головки (X, Y, Z); - показывать сообщения контроллера и возможные ошибки. --- # 6. Предпросмотр Перед генерацией G-code пользователь должен видеть точный предварительный просмотр будущего результата. Необходимо отображать: - расположение текста; - масштаб; - перенос строк; - границы листа; - итоговый внешний вид перед печатью. --- # Интерфейс Интерфейс должен быть максимально простым и понятным даже для пользователя без опыта работы с ЧПУ. В настоящее время существует китайская программа с похожим функционалом, однако она имеет ряд недостатков: - полностью китайский интерфейс; - сложное управление; - неудобная навигация; - отсутствует современный и понятный дизайн. Цель проекта — создать современное веб-приложение на русском языке, которое позволит буквально за несколько минут создать собственный почерк, написать текст, получить G-code и при необходимости сразу отправить его на ЧПУ-плоттер.