Страница 1 из 1

JugglerNC - программка для трансформаций g-кода

Добавлено: 21 авг 2016, 09:40
zav
Всем привет.

Для своих нужд написал программку для построения массива 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, они будут вставляться в каждом элементе массива. Пока следует редактировать это вручную. То же самое касается команд включения-выключения шпинделя, а также других технологических кодов.

Знак разделения дробной части чисел - точка ".".
Защиты от дурака и обработчика ошибок пока нет, поэтому не следует вводить вместо чисел символьную информацию и вместо целых чисел дробные.
Ну и самый важный вопрос :thinking: Есть интерес к программе, стоит ее дальше развивать?

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

Re: JugglerNC - программка для трансформаций g-кода

Добавлено: 21 авг 2016, 11:03
selenur
Ну прям готовых аналогов твоей программе, вероятнее нет, т.к. обычно траектория изначально готовиться, с нужным расположением повторяющихся элементов, и лишь потом генерируется g-код, редко конечно, но на данном форуме возникают такие задачи, но думаю стоит тебе и дальше продолжать.
Так-же посмотри вот это: http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=3124
Я сам сейчас заново переделываю по неспеша вот это: http://www.cnc-club.ru/forum/viewtopic. ... 80#p196580 так-же с добавлением элементов, внутрь которых можно помещать произвольный g-код.

Re: JugglerNC - программка для трансформаций g-кода

Добавлено: 21 авг 2016, 16:48
Serg
Практически все функции программы можно реализовать просто используя "параметрическое программирование" прямо на станке, без использования Win32 и всяких прочих ОС...
Но идея полезная, её б реализовать просто в виде набора программ на G-коде...

Re: JugglerNC - программка для трансформаций g-кода

Добавлено: 22 авг 2016, 08:23
zav
UAVpilot писал(а):Практически все функции программы можно реализовать просто используя "параметрическое программирование" прямо на станке, без использования Win32 и всяких прочих ОС...
Думаю, большинство пользователей не знают, что такое параметрическое моделирование. Да и не все программы для управления станком поддерживают параметрию.

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

Re: JugglerNC - программка для трансформаций g-кода

Добавлено: 22 авг 2016, 08:29
zav
Добавил простой визуализатор с возможностью прокрутки при помощи ползунка.
Пока он не отображает дуги, заменяя их на прямые отрезки, к следующей версии доработаю. Автоматического обновления изображения пока тоже нет, для обновления надо щелкнуть по экрану.
Поворот и круговой массив пока откладывается, не могу решить проблемы с геометрией, откуда-то вылазит непонятная ошибка. Поэтому поработаю над визуализатором.

Re: JugglerNC - программка для трансформаций g-кода

Добавлено: 22 авг 2016, 08:36
nkp
zav писал(а):У меня было несколько раз подобное, когда надо было повернуть готовую траекторию на 90 градусов или построить массив, а контура, по которому она строилась, нет.
есть несколько простых готовых решений(и консольных ,и с графикой)
одно из:
https://code.google.com/archive/p/grecode/
grecode.rar
(254.5 КБ) 382 скачивания

Re: JugglerNC - программка для трансформаций g-кода

Добавлено: 22 авг 2016, 08:51
zav
nkp писал(а):есть несколько простых готовых решений(и консольных ,и с графикой)
если есть возможность, напишите ссылки на графические программы.

Во всех программах, которые мне попадались, можно работать только с одной траекторией за раз, мне же надо возможноть манипулировать несколькими УП, причем, при помощи мыши.
У меня потребность в таком инструменте возникла, когда я работал с сувениркой - вырезал надписи из пластика. И было бы гораздо проще разместить на заготовке уже готовые УП, чем строить их заново. А в консольных приложениях делать такое одно мучение.
На фото пример того, что должно получаться.

Re: JugglerNC - программка для трансформаций g-кода

Добавлено: 22 авг 2016, 08:56
nkp

Re: JugglerNC - программка для трансформаций g-кода

Добавлено: 22 авг 2016, 09:00
zav
nkp писал(а):http://www.scorchworks.com/
Ага, в свое время работал с этими программами, но функционала не хватает. Нет поддержки нескольких УП и построения массивов. Да и мышь тоже не используется.

В общем, продолжаю создавать инструмент под себя)

Re: JugglerNC - программка для трансформаций g-кода

Добавлено: 22 авг 2016, 09:12
selenur
zav писал(а):
nkp писал(а):http://www.scorchworks.com/
Ага, в свое время работал с этими программами, но функционала не хватает. Нет поддержки нескольких УП и построения массивов. Да и мышь тоже не используется.

В общем, продолжаю создавать инструмент под себя)
Правильно!
А заодно и сюда выкладывай программу, что-бы другие могли пользоваться, и советовать чего дельного, т.к. часто бывает нужно сделать что-то по быстрому, а простых утилит под рукой и нет :-)

Re: JugglerNC - программка для трансформаций g-кода

Добавлено: 22 авг 2016, 09:27
zav
selenur писал(а):Правильно!
А заодно и сюда выкладывай программу, что-бы другие могли пользоваться, и советовать чего дельного, т.к. часто бывает нужно сделать что-то по быстрому, а простых утилит под рукой и нет
:good:

Re: JugglerNC - программка для трансформаций g-кода

Добавлено: 22 авг 2016, 13:43
Serg
zav писал(а):Думаю, большинство пользователей не знают, что такое параметрическое моделирование.
Я вообще-то не про моделирование, а про программирование. :)
zav писал(а):Да и не все программы для управления станком поддерживают параметрию.
Если программа не поддерживает основной стандарт, то не стоит ей пользоваться... :)
zav писал(а):Данная программа будет полезна, например, в том случае, когда есть готовый г-код, но нет исходников для его построения.
Ну да, берём готовый G-код "без исходника", при необходимости сверху и снизу дописываем пару строчек, превращающих его подпрограмму, далее из набора программок на G-коде выбираем например программку, которая формирует нужный массив и на каждой его итерации вызывает нашу подпрограммку...
Именно так многие годы работают операторы профессиональных стоек. Да у них и win32 как правило нет на рабочем месте... :)

Re: JugglerNC - программка для трансформаций g-кода

Добавлено: 22 авг 2016, 14:08
zav
UAVpilot писал(а):Я вообще-то не про моделирование, а про программирование.
Да) Опечатался
UAVpilot писал(а):Если программа не поддерживает основной стандарт, то не стоит ей пользоваться...
UAVpilot писал(а):Именно так многие годы работают операторы профессиональных стоек. Да у них и win32 как правило нет на рабочем месте...
Моя целевая аудитория все же не профессиональные чпу-шники с дорогими станками, а любители вроде меня, у которых есть простенький станок с дешевым контроллером. Да что там говорить, моя целевая аудитория - это я) Просто решил выложить программу в свободный доступ. Ну и проверить себя в области программирования.
UAVpilot писал(а):при необходимости сверху и снизу дописываем пару строчек, превращающих его подпрограмму
Наверное, добавлю в программу модуль параметрического программирования.
Опять же, попробуйте при помощи параметрии разместить УП так, как на фото в 7 посте. Думаю, не с первой попытки получится подобрать нужный угол поворота и сдвиг. Причем, это простой пример из моей практики. В большинстве случаев при раскрое пластика приходилось внутрь одной УП на свободный участок запихивать другую, чтобы впустую не расходовать материал.
А визуально мышкой такое сделать запросто.

Re: JugglerNC - программка для трансформаций g-кода

Добавлено: 22 авг 2016, 14:41
Serg
zav писал(а):Моя целевая аудитория все же не профессиональные чпу-шники с дорогими станками, а любители вроде меня, у которых есть простенький станок с дешевым контроллером.
Mach3 всё это умеет.
zav писал(а):Да что там говорить, моя целевая аудитория - это я)
Даже в этом случае надо стремиться пользоваться профессиональными приёмами, хотя-бы чтобы можно было разговаривать с профессионалами на одном языке. Ну и гляшь, сам станешь профессионалом. :)