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

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

Добавлено: 28 ноя 2010, 13:50
Zolen
Снимок-gcode-burner.py.png (63307 просмотров) <a class='original' href='./download/file.php?id=4820&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 (65182 просмотра) <a class='original' href='./download/file.php?id=910&mode=view' target=_blank>Загрузить оригинал (34.53 КБ)</a>

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

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

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

Добавлено: 28 ноя 2010, 19:12
Zolen
Допустим исходная позиция - 3мм над заготовкой. Уровни серого надо распределить между 0мм (легкое касание доски) и 1мм (самая черная точка). Как-то примерно так.

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

Добавлено: 28 ноя 2010, 19:29
Nick
И еще вопросик, как определять ширину высоту картинки
1. через расстояние между пикселями
2. через общую ширину/высоту

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

Добавлено: 28 ноя 2010, 19:38
Zolen
Если я правильно понял - тебе нужно знать, как соотнести пиксели на картинке и координаты в g коде. Как мне кажется, достаточно будет 1 пиксель = 1мм2.
А вообще станок с выжигателем у меня под боком, могу хоть сейчас экспериментальным путем выяснить наиболее оптимальные значения.

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

Добавлено: 28 ноя 2010, 19:40
Nick
Просто хочется написать универсальный скрипт. Который будет переводить картинку в Gcode для выжигателя.

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

Добавлено: 28 ноя 2010, 19:56
Zolen
Я думаю, что всякие коэффициенты в любом случае будут зависеть от твердости материала, температуры иглы, её размеров и т.д. Так что, если возможно - то лучше всего сделать поля для ввода глубины, размера шагов и скорости.

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

Добавлено: 28 ноя 2010, 19:57
Nick
Ок, попробую сегодня набросать скриптик...

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

Добавлено: 28 ноя 2010, 20:05
Zolen
Скрипт ты собрался вот такого плана http://wiki.linuxcnc.org/emcinfo.pl?Sim ... Generators делать? Тоже попробую что-нть наваять ))

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

Добавлено: 28 ноя 2010, 20:08
Nick
Ага :).

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

Добавлено: 30 ноя 2010, 00:02
Nick
Написал интерфейс, и небольшой конфиг.
Осталось дописать генерацию Гкода и хелп :).

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

Добавлено: 30 ноя 2010, 15:58
Nick
Фух... вроде готово:
burner.tar.gz
(2.46 КБ) 1663 скачивания
Значит запускаем так:

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

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

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

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

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

Скрин:

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

Добавлено: 30 ноя 2010, 21:46
moha_ivan@mail.ru
root писал(а): Чтобы все работало как надо, нужно в конфиг EMC2 ...
И поместить burner.py и burner.ini в директорию с emc2.
Конфиг EMC2 это файл etc/emc2/rtapi.conf ?
Не могу поместить файлы в эту директорию, это потому, что я работаю с LiveCD?

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

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

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

Хм... А это идея, нужно будет к этому Бёрнеру нормальный интерфейс прикрутить.

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

Добавлено: 01 дек 2010, 01:11
Zolen
Хе, зачет. Завтра буду тестить.

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

Добавлено: 01 дек 2010, 13:22
Nick
Добавил интерфейс открытия файла и сохранения Gcode в файл.

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

Переименовал весь скрипт в gcode-burner, это название больше отражает назначение скрипта :D.

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

Добавлено: 01 дек 2010, 18:55
Zolen
В питоновском файле прописано неверное имя конфига, надо исправить burner.ini на gcode-burner.ini

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

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

Эх... Нужны полевые испытания :)

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

Добавлено: 03 дек 2010, 23:52
Nick
Zolen, с Днем рождения! :beer: :beer: :beer: :mrgreen:
Извини, что запоздало! :beer_blow:

Ты уже пробовал тестировать скрипт или еще нет?

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

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