Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

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

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

MAX3000 писал(а):selenur, алгоритм немножко другой должен быть. Зона торможения-разгона прибавляется/вычитается к крайним Х-точкам линии перед и после G0. Но тут надо учитывать координату Х начала следующей линии, если она больше, то прибавлять к ней, если меньше, то не прибавлять - это если движение происходит по контуру картинки, пропуская белые места. А если перемещение осуществлять по ширине картинки, то тут проще - перед G0 лазер движется G0 Xmax+dx (G0 Xmin-dX), затем идет команда G0 X dY, дальше G0 X-dX и код отрисовки следующей линии, крайние положения лазера по координате Х всегда будут одинаковы, но при таком методе лишние движения будут.
Если данные будут начинаться, заканчиваться раньше, типа такого:
2016-11-21_150238.jpg (2903 просмотра) <a class='original' href='./download/file.php?id=95413&mode=view' target=_blank>Загрузить оригинал (32.39 КБ)</a>
То можно будет как прогонять до конца, так и не прогонять.
Предварительно это я сделал так:
Если это векторные данные, то они состоят из линий, и точек в каждой линии.
Если это траектория для выжигания, то она состоит из линий где первая линия направлена слева-направо, вторая справа налево.
В самом профиле сделал так:

Код: Выделить всё


// тут если нужно вставляем одну или несколько строк с командами
// которые нужно в начале документа

LINES
{
   // тут команды которые можно выполнить до начала движения по точкам линии
   // доступные переменные: X,Y,S,P,F первой точки, Xmin, Xmax,Ymin,Ymax всех данных

  //!!!!!!!! только Для ВЫЖИГАНИЯ
   TOLEFT
   {
      // команды выполняемые при начале движения влево
   }

   TORIGHT
   {
      // команды выполняемые при начале движения в право
   }
  //!!!!!!!! только Для ВЫЖИГАНИЯ

   POINTS
   {
     // если нужно пропустить первую точку можно воспользоваться командой  [SKIP_FIRST_POINT]

      //тут команды выполняемые для позиционирования в точке 
   }

//!!!!!!!! только Для ВЫЖИГАНИЯ
   FROMLEFT
   {
      // команды выполняемые после движения влево
   }

   FROMRIGHT
   {
      // команды выполняемые после движения в право
   }
  //!!!!!!!! только Для ВЫЖИГАНИЯ

 // тут команды, выполняемые после движения
}

//тут команды в конце документа
Если в профиле команды обрамлены кавычками, то это вставляется как текст, в генерируемый файл.
Если в квадратные скобки, то это вывод данных.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
MAX3000
Опытный
Сообщения: 107
Зарегистрирован: 17 дек 2015, 11:12
Репутация: 18
Настоящее имя: MaX
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение MAX3000 »

Есть 2 варианта реализации:
SFP-1.jpg (2879 просмотров) <a class='original' href='./download/file.php?id=95471&mode=view' target=_blank>Загрузить оригинал (99.02 КБ)</a>
1 вариант в реализации сложней, но экономия времени на печать может быть значительной.
2 вариант попроще, но и времени печать займет подольше.
В 1 варианте берутся нечетные крайние точки (X1, X3, X5 и т.д.), к ним +/-dX - получаем координаты Х концов линий.
Во 2 варианте находятся максимальные и минимальные координаты X к ним +/-dX - получаем координаты Х концов линий.
arkhnchul
Мастер
Сообщения: 1773
Зарегистрирован: 01 фев 2016, 13:56
Репутация: 339
Откуда: москва
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение arkhnchul »

собственно в тм расширении для инкскейпа - первый вариант. Экономия времени - от весьма заметнй до гигантской.
MAX3000
Опытный
Сообщения: 107
Зарегистрирован: 17 дек 2015, 11:12
Репутация: 18
Настоящее имя: MaX
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение MAX3000 »

MAX3000 писал(а):Есть 2 варианта реализации:
SFP-1.jpg
1 вариант в реализации сложней, но экономия времени на печать может быть значительной.
2 вариант попроще, но и времени печать займет подольше.
В 1 варианте берутся нечетные крайние точки (X1, X3, X5 и т.д.), к ним +/-dX - получаем координаты Х концов линий.
Во 2 варианте находятся максимальные и минимальные координаты X к ним +/-dX - получаем координаты Х концов линий.
selenur, в любом случае данная операция производится над уже готовым линейным G-кодом.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

MAX3000 писал(а): selenur, в любом случае данная операция производится над уже готовым линейным G-кодом.
Да всё именно так, и должно будет получится. :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

После значительных переделок некоторых алгоритмов, выкладываю новую версию для тестов, инструкцию написания профиля, пока пишу тут: http://selenur.ru/?page_id=516 дистрибутив выложил в первом посте.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Rom327
Почётный участник
Почётный участник
Сообщения: 2989
Зарегистрирован: 03 апр 2015, 13:23
Репутация: 437
Настоящее имя: Роман
Откуда: Подольск
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение Rom327 »

Приветствую! А можно сократить количество знаков после запятой до 2-х? А то числа длинные получаются. а проку от этого никакого.
Вложения
G-код.PNG (2767 просмотров) <a class='original' href='./download/file.php?id=96052&mode=view' target=_blank>Загрузить оригинал (37.68 КБ)</a>
Это сугубо мое мнение, могу и ошибаться...
https://vk.com/rom327
GRBL настройки: http://blogandbux.blogspot.com/2018/07/ ... revod.html
G коды: http://3d-stanki.ru/spravochnik/program ... stankov-2/
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

Rom327 писал(а):Приветствую! А можно сократить количество знаков после запятой до 2-х? А то числа длинные получаются. а проку от этого никакого.
Запросто ;-)
Если в профиле написать так: [X’#0.##’]

Вот пример того как получается на входе, и как на выходе

23.5567 -> 23.56
0.456 -> 0.46
34.0000 -> 34

Вот тут в конце страницы http://selenur.ru/?page_id=516 описал форматирование немного.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

Добавил 22 версию, добавлена поддержка PNG изображений.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Rom327
Почётный участник
Почётный участник
Сообщения: 2989
Зарегистрирован: 03 апр 2015, 13:23
Репутация: 437
Настоящее имя: Роман
Откуда: Подольск
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение Rom327 »

Приветствую! Немного оффтоп, но настроение поднимает! Интересно в какой программе пишется УП? https://youtu.be/cR0-QJ603Tw :D
Это сугубо мое мнение, могу и ошибаться...
https://vk.com/rom327
GRBL настройки: http://blogandbux.blogspot.com/2018/07/ ... revod.html
G коды: http://3d-stanki.ru/spravochnik/program ... stankov-2/
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

Rom327 писал(а):Приветствую! Немного оффтоп, но настроение поднимает! Интересно в какой программе пишется УП? https://youtu.be/cR0-QJ603Tw :D
Вот тут можно сгенерировать: https://www.ultimatesolver.com/en/midi2gcode
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Rom327
Почётный участник
Почётный участник
Сообщения: 2989
Зарегистрирован: 03 апр 2015, 13:23
Репутация: 437
Настоящее имя: Роман
Откуда: Подольск
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение Rom327 »

selenur писал(а):Запросто
Если в профиле написать так: [X’#0.##’]
Может это и здорово и круто, но, на мой взгляд, программа должна быть больше для рядовых пользователей, чем для программистов. Для меня, как для пользователя, было бы удобнее в окошке программы просто проставить количество цифр после запятой. Как это сделано для "символа разделения целой и дробной части". Можно, конечно попытаться запомнить "синтаксис данных в профиле", но если им пользоваться раз в месяц или реже, то он скоро забудется. Пользователь будет вынужден опять искать нужную информацию, терять время, или писать себе памятки. Программа просто начнет напрягать, имхо...
Это сугубо мое мнение, могу и ошибаться...
https://vk.com/rom327
GRBL настройки: http://blogandbux.blogspot.com/2018/07/ ... revod.html
G коды: http://3d-stanki.ru/spravochnik/program ... stankov-2/
Аватара пользователя
yurayerz
Опытный
Сообщения: 132
Зарегистрирован: 04 янв 2015, 02:46
Репутация: 33
Настоящее имя: Юрий
Откуда: Ярославль
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение yurayerz »

Rom327 писал(а):Приветствую! Немного оффтоп, но настроение поднимает! Интересно в какой программе пишется УП? :D
selenur писал(а):Вот тут можно сгенерировать: https://www.ultimatesolver.com/en/midi2gcode
Да-да, оттуда я и брал - Scott_Joplin_-_The_Entertainer
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

Rom327 писал(а):
selenur писал(а):Запросто
Если в профиле написать так: [X’#0.##’]
Может это и здорово и круто, но, на мой взгляд, программа должна быть больше для рядовых пользователей, чем для программистов. Для меня, как для пользователя, было бы удобнее в окошке программы просто проставить количество цифр после запятой. Как это сделано для "символа разделения целой и дробной части". Можно, конечно попытаться запомнить "синтаксис данных в профиле", но если им пользоваться раз в месяц или реже, то он скоро забудется. Пользователь будет вынужден опять искать нужную информацию, терять время, или писать себе памятки. Программа просто начнет напрягать, имхо...
С учетом пожеланий сделаю несколько готовых профилей, для фрезеровки, выжигания, с нужным количеством символов, и большинству пользователей этого должно хватить. Если что я могу легко добавить ещё нужные профили, если пользователю сложно самому сделать. Делать в самой программе отдельные настройки для этого, с учетом универсальности шаблонов, мне кажется излишне... возможно... :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
xvovanx
Мастер
Сообщения: 3772
Зарегистрирован: 25 фев 2016, 12:27
Репутация: 920
Настоящее имя: Владимир
Откуда: Latvia
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение xvovanx »

Убедительная просьба к автору программы: оставить как было в версии v20 кнопки для фрезировки. Работа только с профилями очень не удобна при обработке не плоских деталей (где подъем Z нужно гораздо больше 10). Фрезировка фрезировке - рознь. А городить кучу профилей тоже не выход.

P.S. и при работе с кнопками как было - "перед началом траектории" и "после", плохо понятно куда добавлять z+, куда z-. Я 5 раз составлял УП для станка и все 5 раз искал ваше сообщение с пояснениями для этих кнопок. Все время перед началом хочется поднять шпиндель, а получается, что надо наоборот-опускать. Чтоб не было путаницы лучше кнопки переделать на - глубина фрезеровки и безопасный подъем Z
Вложения
V20.jpg (2667 просмотров) <a class='original' href='./download/file.php?id=96208&mode=view' target=_blank>Загрузить оригинал (100.99 КБ)</a>
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

xvovanx писал(а):Убедительная просьба к автору программы: оставить как было в версии v20 кнопки для фрезировки. Работа только с профилями очень не удобна при обработке не плоских деталей (где подъем Z нужно гораздо больше 10). Фрезировка фрезировке - рознь. А городить кучу профилей тоже не выход.

P.S. и при работе с кнопками как было - "перед началом траектории" и "после", плохо понятно куда добавлять z+, куда z-. Я 5 раз составлял УП для станка и все 5 раз искал ваше сообщение с пояснениями для этих кнопок. Все время перед началом хочется поднять шпиндель, а получается, что надо наоборот-опускать. Чтоб не было путаницы лучше кнопки переделать на - глубина фрезеровки и безопасный подъем Z
Хорошо добавлю кнопки, с визуальным оформлением, что-бы было легче понимать, какая за что отвечает. ;-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Rom327
Почётный участник
Почётный участник
Сообщения: 2989
Зарегистрирован: 03 апр 2015, 13:23
Репутация: 437
Настоящее имя: Роман
Откуда: Подольск
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение Rom327 »

selenur писал(а):Добавил 22 версию, добавлена поддержка PNG изображений.
А поддержка DXF? :wik:
Это сугубо мое мнение, могу и ошибаться...
https://vk.com/rom327
GRBL настройки: http://blogandbux.blogspot.com/2018/07/ ... revod.html
G коды: http://3d-stanki.ru/spravochnik/program ... stankov-2/
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

Rom327 писал(а):
selenur писал(а):Добавил 22 версию, добавлена поддержка PNG изображений.
А поддержка DXF? :wik:
Изучаю ещё структуру файла........ если с PNG просто забыл добавить расширение, в диалоге выбора файла :-) то с DXF так не получится, но сейчас этот формат в приоритете для добавления.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Rom327
Почётный участник
Почётный участник
Сообщения: 2989
Зарегистрирован: 03 апр 2015, 13:23
Репутация: 437
Настоящее имя: Роман
Откуда: Подольск
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение Rom327 »

selenur писал(а):но сейчас этот формат в приоритете для добавления.
Ура! :good:
Это сугубо мое мнение, могу и ошибаться...
https://vk.com/rom327
GRBL настройки: http://blogandbux.blogspot.com/2018/07/ ... revod.html
G коды: http://3d-stanki.ru/spravochnik/program ... stankov-2/
MAX3000
Опытный
Сообщения: 107
Зарегистрирован: 17 дек 2015, 11:12
Репутация: 18
Настоящее имя: MaX
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение MAX3000 »

selenur, выскакивает ошибка на пятой странице:
2016-11-29_1-24-34.jpg (2564 просмотра) <a class='original' href='./download/file.php?id=96444&mode=view' target=_blank>Загрузить оригинал (169.76 КБ)</a>
она не критичная - после нажатия кнопки "Продолжить" работа программы продолжается, но может сможешь поправить.
Ответить

Вернуться в «Windows / Mach»