Точечное выжигание - gcode-burner

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Zolen
Новичок
Сообщения: 11
Зарегистрирован: 23 ноя 2010, 16:32
Репутация: 2
Откуда: СПб
Контактная информация:

Точечное выжигание - gcode-burner

Сообщение Zolen »

Снимок-gcode-burner.py.png (47772 просмотра) <a class='original' href='./download/file.php?id=4820&sid=91d90b19b2661028e07a3964181f4b8c&mode=view' target=_blank>Загрузить оригинал (288.63 КБ)</a>
ТипСкрипт
РазработчикКоманда разработчиков cnc-club.ru
Написана наPython
ОСКроссплатформенное программное
обеспечение (Windows, Linux,
MacOS)
Версия1.0
ЛицензияGNU GPL
Gcode-burner - программа для создания Gкода для выжигания на станке с ЧПУ из изображения.

Возможности

  • интерполяция цвета, глубиной прожига
  • масштабирование и перемещение рисунка
  • задание ширины "точки"
  • дополнительные заголовки или окончания файла
  • возможность подключения к EMC2, как препроцессор
  • задание общей длинны или ширины рисунка

Подключение к EMC2

Скрипт разрабатывался таким образом, чтобы его можно было подключить к EMC2 как препроцессор. Т.е. при открытии в EMC2 картинки автоматически запустится gcode-burner, а его вывод откроется в EMC2.
Для того, чтобы подключить gcode-burner к EMC2 нужно в ini файле в разделе фильтр написать что-то вроде:

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

PROGRAM_EXTENSION = .png,.gif,.jpg,.jpeg images for gcode-burner
       png = gcode-burner
       gif = gcode-burner
       jpg = gcode-burner
       jpeg = gcode-burner
Подробнее см. инструкцию к EMC2, раздел: 4.2.3 Раздел [FILTER]

Последняя версия

Последняя версия доступна в репозитории git: https://github.com/cnc-club/gcode-burner
Прямая ссылка на архив: https://github.com/cnc-club/gcode-burne ... master.zip
Нам нужны фотографии готовых работ! А также приветствуются любые замечания и пожелания :)!

С этого сообщения началась разработка gcode-burner. Все что сверху добавлено потом.
--Nick

Доброго времени суток.
Подскажите, какие есть способы из фотографии получить g код, который будет на каждый темный пиксель погружать иглу выжигателя в зготовку(как на картинке)?
Насколько я понял, для начала нужно сделать картинку Ч/Б с минимумом уровней серого. А вот дальше я ничего не придумал =(
Буду рад, если кто расскажет свой рецепт или название софта для этого.
ptp00000.jpg (49647 просмотров) <a class='original' href='./download/file.php?id=910&sid=91d90b19b2661028e07a3964181f4b8c&mode=view' target=_blank>Загрузить оригинал (34.53 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Точечное выжигание

Сообщение Nick »

С картинкой просто, в Gimp нужно выбрать Изображение - Режим - Индексированное. Выбираем двух цветный ч/б рисунок .
Там есть еще параметры по аппроксимации цветов.
Итак берем фото:
выжигание на чпу станке.png (14077 просмотров) <a class='original' href='./download/file.php?id=911&sid=91d90b19b2661028e07a3964181f4b8c&mode=view' target=_blank>Загрузить оригинал (830.16 КБ)</a>
Преобразуем в ч/б с разными вариантами:
выжигание на чпу станке подготовкк программы.png (14077 просмотров) <a class='original' href='./download/file.php?id=912&sid=91d90b19b2661028e07a3964181f4b8c&mode=view' target=_blank>Загрузить оригинал (237.55 КБ)</a>
подготовка рисунка к выжиганию.png (14077 просмотров) <a class='original' href='./download/file.php?id=913&sid=91d90b19b2661028e07a3964181f4b8c&mode=view' target=_blank>Загрузить оригинал (119.62 КБ)</a>
gcode для выжигания на чпу станке.png (14077 просмотров) <a class='original' href='./download/file.php?id=914&sid=91d90b19b2661028e07a3964181f4b8c&mode=view' target=_blank>Загрузить оригинал (134.71 КБ)</a>
Если работать с EMC2 то можно прописать, чтобы при открытии картинок запускался скрипт который будет генерировать Gcode и сразу его открывать. Мне нужно знать параметры: как опускать и поднимать ось Z.
Аватара пользователя
Zolen
Новичок
Сообщения: 11
Зарегистрирован: 23 ноя 2010, 16:32
Репутация: 2
Откуда: СПб
Контактная информация:

Re: Точечное выжигание

Сообщение Zolen »

Допустим исходная позиция - 3мм над заготовкой. Уровни серого надо распределить между 0мм (легкое касание доски) и 1мм (самая черная точка). Как-то примерно так.
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Точечное выжигание

Сообщение Nick »

И еще вопросик, как определять ширину высоту картинки
1. через расстояние между пикселями
2. через общую ширину/высоту
Аватара пользователя
Zolen
Новичок
Сообщения: 11
Зарегистрирован: 23 ноя 2010, 16:32
Репутация: 2
Откуда: СПб
Контактная информация:

Re: Точечное выжигание

Сообщение Zolen »

Если я правильно понял - тебе нужно знать, как соотнести пиксели на картинке и координаты в g коде. Как мне кажется, достаточно будет 1 пиксель = 1мм2.
А вообще станок с выжигателем у меня под боком, могу хоть сейчас экспериментальным путем выяснить наиболее оптимальные значения.
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Точечное выжигание

Сообщение Nick »

Просто хочется написать универсальный скрипт. Который будет переводить картинку в Gcode для выжигателя.
Аватара пользователя
Zolen
Новичок
Сообщения: 11
Зарегистрирован: 23 ноя 2010, 16:32
Репутация: 2
Откуда: СПб
Контактная информация:

Re: Точечное выжигание

Сообщение Zolen »

Я думаю, что всякие коэффициенты в любом случае будут зависеть от твердости материала, температуры иглы, её размеров и т.д. Так что, если возможно - то лучше всего сделать поля для ввода глубины, размера шагов и скорости.
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Точечное выжигание

Сообщение Nick »

Ок, попробую сегодня набросать скриптик...
Аватара пользователя
Zolen
Новичок
Сообщения: 11
Зарегистрирован: 23 ноя 2010, 16:32
Репутация: 2
Откуда: СПб
Контактная информация:

Re: Точечное выжигание

Сообщение Zolen »

Скрипт ты собрался вот такого плана http://wiki.linuxcnc.org/emcinfo.pl?Sim ... Generators делать? Тоже попробую что-нть наваять ))
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Точечное выжигание

Сообщение Nick »

Ага :).
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Точечное выжигание

Сообщение Nick »

Написал интерфейс, и небольшой конфиг.
Осталось дописать генерацию Гкода и хелп :).
Вложения
burner.tar.gz
(1.86 КБ) 1383 скачивания
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Точечное выжигание

Сообщение Nick »

Фух... вроде готово:
burner.tar.gz
(2.46 КБ) 1464 скачивания
Значит запускаем так:

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

python burner.py имя_файла.png
Дальше вводим параметры и жмем Сгенерировать код.

Чтобы все работало как надо, нужно в конфиг EMC2 добавить:

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

PROGRAM_EXTENSION = .png,.gif
png = python burner.py 
И поместить burner.py и burner.ini в директорию с emc2.

Скрин:
Вложения
программа для ЧПУ выжигателя.png (14041 просмотр) <a class='original' href='./download/file.php?id=922&sid=91d90b19b2661028e07a3964181f4b8c&mode=view' target=_blank>Загрузить оригинал (268.07 КБ)</a>
Аватара пользователя
moha_ivan@mail.ru
Почётный участник
Почётный участник
Сообщения: 222
Зарегистрирован: 27 ноя 2010, 11:10
Репутация: 0
Откуда: Москва
Контактная информация:

Re: Точечное выжигание

Сообщение moha_ivan@mail.ru »

root писал(а): Чтобы все работало как надо, нужно в конфиг EMC2 ...
И поместить burner.py и burner.ini в директорию с emc2.
Конфиг EMC2 это файл etc/emc2/rtapi.conf ?
Не могу поместить файлы в эту директорию, это потому, что я работаю с LiveCD?
Трехмерная печать объектов из любых материалов.
Аренда 3D-принтеров, 3D-сканеров, лазерного резака/гравера и фрезера.
https://lab3dprint.ru/
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Точечное выжигание

Сообщение Nick »

Вообще можно запустить с параметрами burner.py картинка.png > output.ngc
Тогда весь вывод будет сохранен в файл output.ngc.
С liveCD сложно конфиги хранить. Но поместить файл, имхо, можно в любое место, только он при следующем старте сотрется вместе с конфигами.

Править нужно в папке с конфигурацией нужного станка, там будет файл название станка.ini. Там отыскать секцию [FILTER] и в нее внести изменения.

Хм... А это идея, нужно будет к этому Бёрнеру нормальный интерфейс прикрутить.
Аватара пользователя
Zolen
Новичок
Сообщения: 11
Зарегистрирован: 23 ноя 2010, 16:32
Репутация: 2
Откуда: СПб
Контактная информация:

Re: Точечное выжигание

Сообщение Zolen »

Хе, зачет. Завтра буду тестить.
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Точечное выжигание

Сообщение Nick »

Добавил интерфейс открытия файла и сохранения Gcode в файл.

Также изменил пределы по оси Z раньше белый пиксель прожигался на Zmax, а черный на Zmin. Теперь наоборот, т.к. белый пиксель не должен прожигаться. (Серые пиксели где-то между Zmin и Zmax).

Переименовал весь скрипт в gcode-burner, это название больше отражает назначение скрипта :D.
Вложения
gcode-burner.tar.gz
(3.13 КБ) 1278 скачиваний
Аватара пользователя
Zolen
Новичок
Сообщения: 11
Зарегистрирован: 23 ноя 2010, 16:32
Репутация: 2
Откуда: СПб
Контактная информация:

Re: Точечное выжигание

Сообщение Zolen »

В питоновском файле прописано неверное имя конфига, надо исправить burner.ini на gcode-burner.ini
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Точечное выжигание

Сообщение Nick »

Точно, я в одном месте исправил, а в другом забыл.
Я вот думаю, достаточно ли будет прямо пропорциональной зависимости заглубления от цвета или нужно что-то хитрее?

Эх... Нужны полевые испытания :)
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Точечное выжигание

Сообщение Nick »

Zolen, с Днем рождения! :beer: :beer: :beer: :mrgreen:
Извини, что запоздало! :beer_blow:

Ты уже пробовал тестировать скрипт или еще нет?
Аватара пользователя
Zolen
Новичок
Сообщения: 11
Зарегистрирован: 23 ноя 2010, 16:32
Репутация: 2
Откуда: СПб
Контактная информация:

Re: Точечное выжигание

Сообщение Zolen »

Таки я добрался до форума, сорь, что долго не появлялся. ) Наконец я приобрел фрезер, ща вырежу деревянное кольцо-переходник с 43мм на диаметр выжигателя и мона заняться тестированием =)
ЗЫ пасиб за поздравление)
Ответить

Вернуться в «LinuxCNC»