Всем привет.
Для своих нужд написал программку для построения массива NxM элементов из произвольного g-code. Надо было вырезать несколько одинаковых фигурок по уже готовому коду, но подходящей программы для построения массивов не нашел.
Теперь хочется ее развить до полноценной программы, позволяющей выполнять с g-code такие операции, как перемещение, вращение, масштабирование, отражение, создание линейных и круговых массивов.
Т.к. сам пользуюсь бесплатными программами типа Inkscape+gcodetools, BlenderCAM, NC-Corrector, решил не жадничать и выложить программу в свободный доступ.
Название: JugglerNC Free
Текущее состояние: в разработке
Последняя версия: 0.1.5 (от 22.08.2016)
OC: Win32. Планируется кроссплатформенность.
Лицензия: Freeware (бесплатная, в т.ч. и для коммерческого использования). Вы используете ее на свой страх и риск, автор не несет никакой ответственности за причиненный данной программой ущерб.
Возможности:
(для просмотра содержимого нажмите на ссылку)- Чтение-сохранение g-code (тестируется)
- Сдвиг g-code (тестируется)
- Линейный массив (тестируется)
- Визуализация при помощи OpenGL (требует доработки)
В разработке:
- Вращение g-code вокруг собственной системы координат
- Вращение g-code вокруг выбранной точки
- Кроссплатформенность
Планируется:
- Круговой массив
- Отражение g-code
- Масштабирование g-code
- Работа с несколькими g-code одновременно
- Копирование, вставка, удаление
- Горячие клавиши
- Представление списка g-code в виде дерева с указанием выполненных преобразований
- Работа с g-code при помощи мыши
Что мне необходимо на данное время:
(для просмотра содержимого нажмите на ссылку)- Если кто-то знает подобную бесплатную программу со схожим функционалом, напишите, чтобы я не изобретал велосипед.
- Необходимо с вашей помощью протестировать на различных вариантах g-code следующее:
- - чтение-сохранение gcode
- - перемещение gcode
- - построение линейного массива .
- При обнаружении ошибки отправьте мне на почту
anazemsoft@gmail.com исходный g-code и скриншот ошибки.
Так же можете отправить мне для тестирования коды, сохраненные в разных пост-процессорах с указанием названия пост-процессора.
На данный момент она протестирована на следующих программах:
- - Inkscape + gcodetools
- - ArtCAM
- - HeeksCNC (LinuxCNC)
Инструкция
(для просмотра содержимого нажмите на ссылку)Кнопка "Загрузить NC" - открывает исходный файл g-code и записывает его в верхнее текстовое поле "Исходный код".
Кнопка "Сохранить NC" - сохраняет преобразованный gcode из текстового поля "Результат", который получается после выполнения преобразований над кодом из поля "Исходный код".
Кнопка "^ Переместить для редактирования ^" - перемещает код из нижнего поля в верхнее. Нижнее поле при этом очищается.
Все операции производятся только над кодом, который записан в верхнее текстовое поле "Исходный код". Если вам необходимо проделать несколько операций, то перед каждой из них следует перемещать код из нижнего поля в верхнее. Исходный файл при это не изменяется.
Вкладка "Положение"
Панель "Перемещение". При нажатии на кнопку "Переместить" происходит свиг g-code на величины, указанные в полях dX, dY, dZ.
Панель "Вращение". В разработке.
Вкладка "Массивы"
Панель "Линейный массив". При нажатии на кнопку "Создать" строится массив nX на nY элементов с интервалами dX и dY соответственно.
Направление построения XY - массив строится по строкам снизу вверх.
Направление построения YX - массив строится по столбцам слева направо.
Панель "Круговой массив". В разработке.
На данный момент не распознаются коды начала-завершения программы станка, поэтому, если в исходном коде присутствуют % или M02, они будут вставляться в каждом элементе массива. Пока следует редактировать это вручную. То же самое касается команд включения-выключения шпинделя, а также других технологических кодов.
Знак разделения дробной части чисел - точка ".".
Защиты от дурака и обработчика ошибок пока нет, поэтому не следует вводить вместо чисел символьную информацию и вместо целых чисел дробные.
Ну и самый важный вопрос

Есть интерес к программе, стоит ее дальше развивать?
P.S. Программу пишу в свободное время в свое удовольствие, поэтому окончательный релиз может затянуться.