Найти тему
Сергей Жейгуров

ЧПУ программа Конструктор G-кода

Данная программа была разработана достаточно давно, для возможности упростить выполнение однотипных операций, для конкретного станка. За те годы как существовала 2-я версия программы, потом 3-я версия, я попытался сделать её максимально гибкой, для возможности адаптации под конкретные операции и станки, но эта универсальность конечно привела к тому что для понимания как работает программа, требуется небольшое описание, которое далее должно позволить понять, как работать с программой.

Но прежде чем начать необходимо определиться со значениями нескольких понятий:

1) ЧПУ - это комплекс программ, устройств, и механических элементов, которые выполняют обработку материала неким инструментом, согласно специально подготовленной программе в виде списка команд для данного станка.

2) G-команда - это строка содержащая инструкцию для ЧПУ станка.

3) G-код - это список команд, которые сохраняются в текстовый файл, у которого устанавливается расширение: cnc, nc, и др.... в зависимости от того для какого станка это делается.

4) Векторные данные - это файлы содержащие информацию о различных фигурах, типа квадрат, прямоугольник, круг овал, их размерах. В таком формате работает например Corel Draw, который может свои файлы сохранять в различные форматы типа DXF, PLT, SVG и т.д.

5) Растровые данные (рисунок) - это файлы содержащие информацию, о рисунке попиксельно.

Источником данных для моей программы могут являться как векторные так и растровые данные, которые в последствии преобразуются в файл с G-кодом, согласно правил, которые описывают как должен внутри выглядеть файл с G-кодом.

Программа представляет собой конструктор состоящий из множества различных блоков, которые можно скомпоновать между собой, причем используя только те блоки которые нужны, если векторные данные можно сразу конвертировать в G-код, то "цепочка действий" получается такой:

-2

Если нужно например векторные данные увеличить, или уменьшить, то можно составить вот такую "цепочку действий":

-3

Если векторные данные рисовались хаотично, то можно сделать так, что в конструкторе G-кода, специальный модуль отсортирует порядок обхода всех траекторий, так что холостого перехода от фигуры к фигуре станет меньше, т.е. каждый раз завершая двигаться по одной фигуре, программа будет переходить на фигуру которая располагается максимально близко. Тогда цепочка действий получается такой:

-4

тут дальше буду описывать логику работы программы, по тем вопросам которые у вас возникнут, если что-то будет непонятно в программе.