image image image
Для центра детейлинга автомобилей требовалось разработать программу, которая бы эмулировала режущий плоттер Graphtec FC8600 и сохраняла чертежи в формате DXF. На плоттере вырезались лекала. Существует два режима работы плоттеров: HP-GL и GP-GL. Первый – универсальный, второй используется только для плоттеров Graphtec. Проблема при работе с плоттером заключалась в том, что при обрезке лекал возникали ошибки, но посмотреть и исправить чертёж не представлялось возможным. Современные программы были полностью закрытыми и позволяли выполнять подготовку лекал только своими-неудобными средствами, либо импортировать готовый чертёж. Подготовленные программой лекала нельзя было отредактировать в распространённых и функциональных графических редакторах на подобии CorelDraw. Изначальным заданием заказчика была разработка usb-эмулятора, который бы принимал команды от оригинальной программы плоттера и составлял чертёж. Однако, такие работы были очень объёмными и не соответствовали бюджету заказчика. Поэтому я предложил использовать для коммуникации COM-порт. В отличие от USB его реализация гораздо проще. Это просто последовательный интерфейс передачи информации. К тому же работа с COM-портом не обязательно требует написания драйверов. В ходе снифферинга пакетов, выяснилось, что программа отправляет HP-GL команды в текстовом виде, иногда добавляя свои спец-символы. Дальше оставалось только написать программу, которая «слушает» COM-порт и интерпретирует полученные команды в DXF.