Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Программа позволяет генерировать G-код, для фрезерных, лазерных, гравировальных станков, с учетом их особенностей, согласно правилам синтаксиса: http://selenur.ru/?page_id=516 <
Источником данных могут быть:
[*]Текст введенный пользователем, файл шрифта может быть встроенным в ОС, так и внешний из файла.
[*]PLT файл получаемого из программы COREL DRAW
[*]Рисунок, выполняется анализ изображения, и вычисляется контур изображения (jpg, jpeg, gif, bmp, png).
[*]Рисунок, выполняется генерация G-кода для выжигания лазером (jpg, jpeg, gif, bmp, png).
[*]DXF файл.
Программа находится в процессе разработки, и конечно содержит не мало ошибок, но я её решил выложить, что-бы ещё на стадии разработки, совместно с пользователями сделать максимально простой, и интуитивно понятной.
Программа абсолютно бесплатная, и платной не станет, но любой кто имеет желание и возможность, поддержать финансово, может в справке "О программе", узнать как это сделать
Более подробно под спойлером:
В связи с появившемся пожеланиями и задачами, сейчас ведется разработка новой 3-й версии программы, она будет содержать все прошлые наработки, и иметь новые:
1) Возможность при выборе изображения изменять яркость.
2) Возможность выборочного повторения траекторий, с возможностью изменения значения Z - с заданным шагом, в пределах указанных границ.
3) Возможность добавления рамок, обрамлений, контуров обрезки для сгенерированных траекторий.
4) Добавить возможность создания новой траектории относительно выбранной, с внешней/внутренней стороны с нужным отступом
5) Возможность использования нескольких источников данных одновременно, например рисунок для гравировки + введеный текст + рамка из DXF файла
6) Добавление окошка с выводом информации о процессе выполнения вычислений, с возможностью остановки выполнения.
7) Расчет предположительного времени выполнения сгенерированного G-кода.
8) Добавление источника данных "набор траекторий"
9) Добавление источника данных GERBER файлы
10) Добавление источника данных файлы DRL - сверловки.
11) Возможность на любом шаге формирования траекторий для G-кода сохранять в файл "набор траекторий"
12) Возможность настройки индивидуальной последовательности, нужных пользователю страниц.
13) Добавить получение скелетизации на основании траекторий.
Последний раз редактировалось selenur 23 май 2017, 00:40, всего редактировалось 33 раза.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Поправил ещё кое какие ошибки, и записал видео получения G-кода из PLT файла.
Для примера я скачал герб России в формате CorelDraw и экспортировал в формате PLT:
https://www.youtube.com/watch?v=vc1hpwsle0k
Но пока есть проблема, заключается в том что если есть несколько замкнутых траекторий, которые закрашены внутри, и одна траектория находится над другой, то мой алгоритм пока не скрывает невидимые линии.
Пока делал видео заметил что корел может импортировать данные из кучи форматов, и я проверил на формате DXF, т.е. через корел прогнал DXF, и посредством PLT загрузил в свою программу, и вот что получилось:
https://www.youtube.com/watch?v=TZC_JyoQqLk
Ну и более свежая версия программы:
Для примера я скачал герб России в формате CorelDraw и экспортировал в формате PLT:
https://www.youtube.com/watch?v=vc1hpwsle0k
Но пока есть проблема, заключается в том что если есть несколько замкнутых траекторий, которые закрашены внутри, и одна траектория находится над другой, то мой алгоритм пока не скрывает невидимые линии.
Пока делал видео заметил что корел может импортировать данные из кучи форматов, и я проверил на формате DXF, т.е. через корел прогнал DXF, и посредством PLT загрузил в свою программу, и вот что получилось:
https://www.youtube.com/watch?v=TZC_JyoQqLk
Ну и более свежая версия программы:
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- mycnc
- Мастер
- Сообщения: 913
- Зарегистрирован: 03 июл 2011, 02:01
- Репутация: 623
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Клиент спрашивал про фишку преобразованием TTF текста в g-код.
Если есть желание, можно обсудить варианты сотрудничества.
Если есть желание, можно обсудить варианты сотрудничества.
- xvovanx
- Мастер
- Сообщения: 3655
- Зарегистрирован: 25 фев 2016, 12:27
- Репутация: 899
- Настоящее имя: Владимир
- Откуда: Latvia
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Вот текст ошибки ""Out of memory" при загрузке картинки 160х160, правда вот ОС на рабочем компе XP . Может в этом все дело? Или каких длл-ок не хватает у ХР-ки? На 7-ке все путем.
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Похоже косяк в Cyotek.Windows.Forms.ImageBox.DLL - это сторонняя библиотека, которая используется для предварительного просмотра, программы я все делаю с применением "microsoft framework 2", более свежие версии не использую, как раз для того что-бы в winXP работало, и похоже из майкрософта что-то не досмотрели, надо будет позже ХР в виртуалке запустить и проверить...xvovanx писал(а):Вот текст ошибки ""Out of memory" при загрузке картинки 160х160, правда вот ОС на рабочем компе XP . Может в этом все дело? Или каких длл-ок не хватает у ХР-ки? На 7-ке все путем.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
На 6-й странице работы с векторами добавил кнопку оптимизация холостых проходов.
и вот парочка результатов:
И последняя версия: Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Ещё немного доработал программу:
Добавил информацию о количестве отрезков и точек, на странице №6 работы с отрезками Добавил выбор профайла настроек для генерации G-кода Для этого в каталоге с программой будет каталог "profiles", в котором можно располагать любое количество файлов, и с любым именем и расширением. Содержимое файла такое:
После того как мы выбрали профайл, мы можем сразу посмотреть что будет подставляться в G-код:
Если в окошке G-команд, изменить команды, то при генерации G-кода эти изменения будут использованы. Но в сам файл настроек эти изменения пока не заносятся.
И свежая версия программы:
Добавил информацию о количестве отрезков и точек, на странице №6 работы с отрезками Добавил выбор профайла настроек для генерации G-кода Для этого в каталоге с программой будет каталог "profiles", в котором можно располагать любое количество файлов, и с любым именем и расширением. Содержимое файла такое:
Код: Выделить всё
[NAME] // наименование которое выводится в программе
Настройка для фрезерного ЧПУ станка
[CODE1] // код который будет установлен в начале файла
M3 // включим шпиндель
G0 F500 // настроим скорость
G1 F300 // настроим скорость
G0 X0 Y0 Z10 // спозиционируемся в начальную точку
[CODE2] // код который будет установлен в конце файла
M5 // выключим шпиндель
G0 Z10 // поднимем на безопастную высоту
G0 X0 Y0 // и вернем в начальную точку
[CODE3] // код который выполнится после подхода к первой точке траектории
G1 Z0 // опускаем шпиндель
[CODE4] // код который выполнится после подхода к последней точке траектории
G0 Z10 // поднимаем шпиндель
И свежая версия программы:
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- ALS
- Опытный
- Сообщения: 159
- Зарегистрирован: 15 ноя 2013, 01:46
- Репутация: 161
- Откуда: Севастополь
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
На WinXP 32bit выдает ту же ошибку :
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Спасибо, посмотрю.ALS писал(а):На WinXP 32bit выдает ту же ошибку :
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Проблему связанную с winXP нашел, вопрос лишь в том, как много людей ещё применяют XP?
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
В зависимости от выбранных параметров, может меняться путь следования по страницам, и сейчас реализован путь получения контуров, с последующей генерацией G-кода. Сейчас я подошел к реализации шага который получает 2-х цветное, или 256 цветное (градации серого), получение этих данных происходит со страницы №5.
Так-же хочу добавить возможность когда изображение трансформируется в набор точек, например так: или некоторых пользовательских фигур, которые располагаются с различной плотностью, в зависимости от цвета на изображении, что-бы получилось примерно так: Но не знаю где посмотреть готовые реализации, что-бы самому не выдумывать
И дальше нужно придумать как это превратить в G-код, который с помощью лазера, фрезера перенесет это на материал, но ранее я не встречался с такими программами, может кто подскажет какие есть программы, что-бы с них перенять опыт.Так-же хочу добавить возможность когда изображение трансформируется в набор точек, например так: или некоторых пользовательских фигур, которые располагаются с различной плотностью, в зависимости от цвета на изображении, что-бы получилось примерно так: Но не знаю где посмотреть готовые реализации, что-бы самому не выдумывать
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Нашел исходники программы:
Такой эффект называется "Дизеринг" Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- ALS
- Опытный
- Сообщения: 159
- Зарегистрирован: 15 ноя 2013, 01:46
- Репутация: 161
- Откуда: Севастополь
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
За всех, конечно, не скажу :)selenur писал(а):Проблему связанную с winXP нашел, вопрос лишь в том, как много людей ещё применяют XP?
Но если допиливание под ХР не займет много времени/сил, то почему бы не сделать ?
Да и некое противоречие возникает : на Вин7, как правило, установлен .Net v3 или 4, на ХР же, если он установлен, то v2.
Я бы и его не устанавливал, если бы не PICkit2, которому он тоже нужен.
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
3,4-й фрейворк обратно совместим, благодаря чему моя программа разработаная под 2-й, нормально работает.ALS писал(а):За всех, конечно, не скажуselenur писал(а):Проблему связанную с winXP нашел, вопрос лишь в том, как много людей ещё применяют XP?
Но если допиливание под ХР не займет много времени/сил, то почему бы не сделать ?
Да и некое противоречие возникает : на Вин7, как правило, установлен .Net v3 или 4, на ХР же, если он установлен, то v2.
Я бы и его не устанавливал, если бы не PICkit2, которому он тоже нужен.
Переделка в принципе не сложная (просто изображение я побайтно перевариваю, и всего немного для XP нужно переделать), просто будет потребление памяти под XP больше, на 5-м шаге (как это было в первой версии), сейчас я перед работой с изображением, перегоняю его в изображение у которого каждый пиксель занимает 1 байт, а раньше было по 3 байта на пиксель. Ну тогда добавлю параллельно конкретно для XP ряд функций.
Причина кому интересна под спойлером:
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- staltech
- Почётный участник
- Сообщения: 544
- Зарегистрирован: 01 июл 2016, 22:50
- Репутация: 155
- Настоящее имя: Сергей
- Откуда: Пензенская обл., г. Никольск
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Использовали немного другой эффект для преобразования рисунка в одно-битовый растр: CorelDraw ->Растровые изображения->Режим->Черно-белый 1-бит -> метод преобразования Флойд-Штейнберг.
При гравировке на зеркале перед преобразованием в черно белый режим картинку нужно инверсировать.
Нашел старое фото с нашими экспериментами по печати на амальгаме зеркал (лазерный гравер VLS 3.60), в нем ПО позволяет работать как с векторной так и с растровой графикой. Все кроме бутылки сделано лазером, бутылка глубокий пескоструй по трафарету с последующей заливкой краски.
Встречал ролик с гравировкой по амальгаме с использованием фрезера, долго конечно но реально.
Еще образец растровой гравировки лазером по напылению нитрида титана.
При гравировке на зеркале перед преобразованием в черно белый режим картинку нужно инверсировать.
Нашел старое фото с нашими экспериментами по печати на амальгаме зеркал (лазерный гравер VLS 3.60), в нем ПО позволяет работать как с векторной так и с растровой графикой. Все кроме бутылки сделано лазером, бутылка глубокий пескоструй по трафарету с последующей заливкой краски.
Встречал ролик с гравировкой по амальгаме с использованием фрезера, долго конечно но реально.
Еще образец растровой гравировки лазером по напылению нитрида титана.
-
- Кандидат
- Сообщения: 81
- Зарегистрирован: 12 дек 2015, 22:51
- Репутация: 8
- Настоящее имя: Александр
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
просто "пасте" в фотошопе на однобитный битмап
при прожиге лазером смотрится как качественный портрет, с 20 см.
кстати тоже писал прогу: черная точка по Z вниз и вверх, dir на вкл. лазера.
при прожиге лазером смотрится как качественный портрет, с 20 см.
кстати тоже писал прогу: черная точка по Z вниз и вверх, dir на вкл. лазера.
- Вложения
-
- de_niro_invert.bmp.zip
- (80.23 КБ) 1231 скачивание
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Хочется исключить промежуточные шаги, с платным ПО, а так да тоже выход, ну думаю чере 1-2 недельки уже получиться первый результат а пока переписываю функции, что-бы под winXP нормально работалоfercmann писал(а):просто "пасте" в фотошопе на однобитный битмап
при прожиге лазером смотрится как качественный портрет, с 20 см.
кстати тоже писал прогу: черная точка по Z вниз и вверх, dir на вкл. лазера.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- mycnc
- Мастер
- Сообщения: 913
- Зарегистрирован: 03 июл 2011, 02:01
- Репутация: 623
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Под лазер у меня сделан импорт картинок, преобразование в grayscale, и дальше растровое движение на полной скорости вдоль одной оси с синхронным управлением ШИМ для регулировки мощности лазера, сделано все через спец. команды внутри контроллера без использования G-кода.selenur писал(а): И дальше нужно придумать как это превратить в G-код, который с помощью лазера, фрезера перенесет это на материал, но ранее я не встречался с такими программами, может кто подскажет какие есть программы, что-бы с них перенять опыт.
Для G-кода была идея мощность лазера передавать в дополнительной координате (типа Z или W), но ничего хорошего не придумалось.
.
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Я вынашивал несколько идей по поводу реализации регулировки мощности лазера, но пока остановился на такой идее:mycnc писал(а):Под лазер у меня сделан импорт картинок, преобразование в grayscale, и дальше растровое движение на полной скорости вдоль одной оси с синхронным управлением ШИМ для регулировки мощности лазера, сделано все через спец. команды внутри контроллера без использования G-кода.selenur писал(а): И дальше нужно придумать как это превратить в G-код, который с помощью лазера, фрезера перенесет это на материал, но ранее я не встречался с такими программами, может кто подскажет какие есть программы, что-бы с них перенять опыт.
Для G-кода была идея мощность лазера передавать в дополнительной координате (типа Z или W), но ничего хорошего не придумалось.
Собираю небольшой контроллер, которому на вход подаются STEP и DIR, от оси Z, для управления мощностью, если направление в одну сторону, то уменьшаем мощность, если в другую то увеличиваем мощность, относительно той которую изначально установил пользователь, перед выжиганием (для примера 70%).
Так-же на вход подается сигнал вкл/выкл. лазер.
И ещё на вход подаются импульсы STEP от осей X и Y. Пользователь в этом контроллере например настроил что 100% необходимой для выжигания мощности (под 100% подразумеваю 70%, которая заранее установлена пользователем, и регулировкой через ось Z), соответствует скорости 300 мм/мин (вычислил по STEP осей XY).
В те моменты когда на вход контроллера подается сигнал вкл. лазер, и скорость меньше 300 мм/мин то и мощность меняется в определенной пропорции, на уменьшение. Если скорость больше заданной то и мощность повышается, для получения равномерного контура.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
На своем хобби станочке, я пробовал различные варианты с G-кодом, и так-же не добился вменяемого результата, что-бы равномерный прожиг контура получалсяmycnc писал(а):сделано все через спец. команды внутри контроллера без использования G-кода
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/