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

Обсуждение аспектов работы с CAМ программами, подготовка моделей, настройка постпроцессоров, настройка параметров инструментов, обсуждение стратегий обработки, симуляция обработки. Вопросы по G-коду.
zav
Новичок
Сообщения: 37
Зарегистрирован: 09 апр 2014, 21:32
Репутация: 11
Контактная информация:

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

Сообщение 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. Программу пишу в свободное время в свое удовольствие, поэтому окончательный релиз может затянуться.
Вложения
Интерфейс (5097 просмотров) <a class='original' href='./download/file.php?id=87318&sid=0f9b9ff90930ad819a92ea84cf794f53&mode=view' target=_blank>Загрузить оригинал (64.68 КБ)</a>
Интерфейс
JuggerNC Free v.0.1.5.rar
Файл программы
(578.24 КБ) 596 скачиваний
Последний раз редактировалось zav 22 авг 2016, 08:37, всего редактировалось 1 раз.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Ну прям готовых аналогов твоей программе, вероятнее нет, т.к. обычно траектория изначально готовиться, с нужным расположением повторяющихся элементов, и лишь потом генерируется g-код, редко конечно, но на данном форуме возникают такие задачи, но думаю стоит тебе и дальше продолжать.
Так-же посмотри вот это: http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=3124
Я сам сейчас заново переделываю по неспеша вот это: http://www.cnc-club.ru/forum/viewtopic. ... 80#p196580 так-же с добавлением элементов, внутрь которых можно помещать произвольный g-код.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Практически все функции программы можно реализовать просто используя "параметрическое программирование" прямо на станке, без использования Win32 и всяких прочих ОС...
Но идея полезная, её б реализовать просто в виде набора программ на G-коде...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
zav
Новичок
Сообщения: 37
Зарегистрирован: 09 апр 2014, 21:32
Репутация: 11
Контактная информация:

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

Сообщение zav »

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

Данная программа будет полезна, например, в том случае, когда есть готовый г-код, но нет исходников для его построения. У меня было несколько раз подобное, когда надо было повернуть готовую траекторию на 90 градусов или построить массив, а контура, по которому она строилась, нет.
zav
Новичок
Сообщения: 37
Зарегистрирован: 09 апр 2014, 21:32
Репутация: 11
Контактная информация:

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

Сообщение zav »

Добавил простой визуализатор с возможностью прокрутки при помощи ползунка.
Пока он не отображает дуги, заменяя их на прямые отрезки, к следующей версии доработаю. Автоматического обновления изображения пока тоже нет, для обновления надо щелкнуть по экрану.
Поворот и круговой массив пока откладывается, не могу решить проблемы с геометрией, откуда-то вылазит непонятная ошибка. Поэтому поработаю над визуализатором.
Вложения
Интерфейс_v.0.1.5.png (5097 просмотров) <a class='original' href='./download/file.php?id=87317&sid=0f9b9ff90930ad819a92ea84cf794f53&mode=view' target=_blank>Загрузить оригинал (64.68 КБ)</a>
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

zav писал(а):У меня было несколько раз подобное, когда надо было повернуть готовую траекторию на 90 градусов или построить массив, а контура, по которому она строилась, нет.
есть несколько простых готовых решений(и консольных ,и с графикой)
одно из:
https://code.google.com/archive/p/grecode/
grecode.rar
(254.5 КБ) 360 скачиваний
zav
Новичок
Сообщения: 37
Зарегистрирован: 09 апр 2014, 21:32
Репутация: 11
Контактная информация:

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

Сообщение zav »

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

Во всех программах, которые мне попадались, можно работать только с одной траекторией за раз, мне же надо возможноть манипулировать несколькими УП, причем, при помощи мыши.
У меня потребность в таком инструменте возникла, когда я работал с сувениркой - вырезал надписи из пластика. И было бы гораздо проще разместить на заготовке уже готовые УП, чем строить их заново. А в консольных приложениях делать такое одно мучение.
На фото пример того, что должно получаться.
Вложения
JugglerNC.png (5088 просмотров) <a class='original' href='./download/file.php?id=87321&sid=0f9b9ff90930ad819a92ea84cf794f53&mode=view' target=_blank>Загрузить оригинал (46.63 КБ)</a>
zav
Новичок
Сообщения: 37
Зарегистрирован: 09 апр 2014, 21:32
Репутация: 11
Контактная информация:

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

Сообщение zav »

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

В общем, продолжаю создавать инструмент под себя)
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

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

В общем, продолжаю создавать инструмент под себя)
Правильно!
А заодно и сюда выкладывай программу, что-бы другие могли пользоваться, и советовать чего дельного, т.к. часто бывает нужно сделать что-то по быстрому, а простых утилит под рукой и нет :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
zav
Новичок
Сообщения: 37
Зарегистрирован: 09 апр 2014, 21:32
Репутация: 11
Контактная информация:

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

Сообщение zav »

selenur писал(а):Правильно!
А заодно и сюда выкладывай программу, что-бы другие могли пользоваться, и советовать чего дельного, т.к. часто бывает нужно сделать что-то по быстрому, а простых утилит под рукой и нет
:good:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

zav писал(а):Думаю, большинство пользователей не знают, что такое параметрическое моделирование.
Я вообще-то не про моделирование, а про программирование. :)
zav писал(а):Да и не все программы для управления станком поддерживают параметрию.
Если программа не поддерживает основной стандарт, то не стоит ей пользоваться... :)
zav писал(а):Данная программа будет полезна, например, в том случае, когда есть готовый г-код, но нет исходников для его построения.
Ну да, берём готовый G-код "без исходника", при необходимости сверху и снизу дописываем пару строчек, превращающих его подпрограмму, далее из набора программок на G-коде выбираем например программку, которая формирует нужный массив и на каждой его итерации вызывает нашу подпрограммку...
Именно так многие годы работают операторы профессиональных стоек. Да у них и win32 как правило нет на рабочем месте... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
zav
Новичок
Сообщения: 37
Зарегистрирован: 09 апр 2014, 21:32
Репутация: 11
Контактная информация:

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

Сообщение zav »

UAVpilot писал(а):Я вообще-то не про моделирование, а про программирование.
Да) Опечатался
UAVpilot писал(а):Если программа не поддерживает основной стандарт, то не стоит ей пользоваться...
UAVpilot писал(а):Именно так многие годы работают операторы профессиональных стоек. Да у них и win32 как правило нет на рабочем месте...
Моя целевая аудитория все же не профессиональные чпу-шники с дорогими станками, а любители вроде меня, у которых есть простенький станок с дешевым контроллером. Да что там говорить, моя целевая аудитория - это я) Просто решил выложить программу в свободный доступ. Ну и проверить себя в области программирования.
UAVpilot писал(а):при необходимости сверху и снизу дописываем пару строчек, превращающих его подпрограмму
Наверное, добавлю в программу модуль параметрического программирования.
Опять же, попробуйте при помощи параметрии разместить УП так, как на фото в 7 посте. Думаю, не с первой попытки получится подобрать нужный угол поворота и сдвиг. Причем, это простой пример из моей практики. В большинстве случаев при раскрое пластика приходилось внутрь одной УП на свободный участок запихивать другую, чтобы впустую не расходовать материал.
А визуально мышкой такое сделать запросто.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

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

Вернуться в «CAM пакеты»