Страница 5 из 15
Точечное выжигание - gcode-burner
Добавлено: 28 ноя 2010, 13:50
Zolen
| Тип | Скрипт |
| Разработчик | Команда разработчиков 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 код, который будет на каждый темный пиксель погружать иглу выжигателя в зготовку(как на картинке)?
Насколько я понял, для начала нужно сделать картинку Ч/Б с минимумом уровней серого. А вот дальше я ничего не придумал =(
Буду рад, если кто расскажет свой рецепт или название софта для этого.
Re: Точечное выжигание - gcode-burner
Добавлено: 26 мар 2012, 21:35
Nick
Да не, у меня просто всегда так, с первого раза не заводится, сначала надо пофиксить несколько багов

!
Ждем отчет. А то у нас еще полноценных испытаний не было. Может что-то поправить надо, чтобы лучше работало

.
Re: Точечное выжигание - gcode-burner
Добавлено: 29 мар 2012, 11:33
viktars
Что-то у меня всё наоборот получается. Картинка в axis вверх ногами и ещё зеркальная и выжигает не чёрные точки, а белые. Пришлось картинку сделать негативом. У меня ну очень долго выжигает. Примерно 5 секунд точка.

Re: Точечное выжигание - gcode-burner
Добавлено: 29 мар 2012, 13:14
Nick
viktars писал(а):Картинка в axis вверх ногами
.... интересно, это от станка зависит или у нас косяк....
viktars писал(а):выжигает не чёрные точки, а белые
В настройках можно поменять цвет. Точнее если поменять значения Zmin и Zmax то должно стать все наоборот. Сейчас вообще туда вставлю функцию eval, можно будет все что угодно делать

.
viktars писал(а):У меня ну очень долго выжигает. Примерно 5 секунд точка.
Сделай по-меньше Ztraverse - тогда выжигатель будет не так высоко подниматься = меньше времени на точку. Может есть предложения по улучшению?
Re: Точечное выжигание - gcode-burner
Добавлено: 29 мар 2012, 13:29
viktars
Nick писал(а):.... интересно, это от станка зависит или у нас косяк....
мой станочек выжигал контуры рисунков и буквы в правильном расположении.
Nick писал(а):Точнее если поменять значения Zmin и Zmax то должно стать все наоборот.
только мне кажется , что по фанере проведёт полосу, а точки будет делать вверх.
Nick писал(а):Сделай по-меньше Ztraverse
я до этого уже догодался, но и стоночек ещё не идеал.
Re: Точечное выжигание - gcode-burner
Добавлено: 29 мар 2012, 15:12
Nick
Добавил Z function. Этот параметр прогоняется через питоновский eval. По умолчанию он выглядит так
zmin*(1-v)+zmax*v if v<0.9 else None , v - значение интенсивности цвета от 0-1 (черный=0, белый = 1). В данном случае все пиксели светлее 0.9 не будут в Gкоде - должно значительно сократить время обработки.
Также исправил несколько косяков. Новая версия в шапке темы. (Теперь она показывается на каждой странице)
Re: Точечное выжигание - gcode-burner
Добавлено: 29 мар 2012, 20:08
viktars
на станке не пробывал, а в axis вижу ,что стало намного лудше

,но изображение вверх ногами (не зеркальное).
Re: Точечное выжигание - gcode-burner
Добавлено: 29 мар 2012, 20:17
Nick
Сейчас сделаю параметры, ими можно будет многое поменять.
Re: Точечное выжигание - gcode-burner
Добавлено: 29 мар 2012, 20:38
Nick
Сделал, теперь есть галка Add parameterisation, и вверху Gкода будут параметры, которые можно менять. Отразить по Y будет <y-scale> = -1
Хотя, это можно и в настройках сделать, также отрицательное значение поставить и все

Re: Точечное выжигание - gcode-burner
Добавлено: 29 мар 2012, 21:30
viktars
я от перевёрнутого изображения не страдаю. А с галочкой на Add parameterisation выкидывает ошибку:
около строки 16 в/tmp/tmpBsrEUN/adolf.png
незавершенное выражение
буду без галки
Re: Точечное выжигание - gcode-burner
Добавлено: 29 мар 2012, 21:48
Nick
А с галочкой на Add parameterisation выкидывает ошибку:
Упс... Забыл скобочку ] добавить, вроде исправил...
Re: Точечное выжигание - gcode-burner
Добавлено: 01 апр 2012, 11:21
viktars
провозился 4 часа с фотографией (не целой). Пошли полосы. Почему не понял надо разбираться. Толи пропуск шагов по оси z , толи на иглу налипает нагар или ещё чтото. вот видео моей работы
http://www.youtube.com/watch?v=J4c5HDfq ... AAAAAAAAAA
Игла , как я понял, должна быть очень острой. Кто-нибудь кроме меня пробовал выжигать? Захотел изменить параметры в step conf в файле мой станок.ini всё вернулось обратно. пришлось переписать фильтр. В шапке темы написано:
PROGRAM_EXTENSION = .png,.gif,.jpg,.jpeg images for gcode-burner
png = gcode-burner
gif = gcode-burner
jpg = gcode-burner
jpeg = gcode-burner
У меня это не работает. У меня так:
PROGRAM_EXTENSION = .png,.gif,.jpg,.jpeg images for python gcode-burner.py
png = python gcode-burner.py
gif = python gcode-burner.py
jpg = python gcode-burner.py
jpeg = python gcode-burner.py
А вообще спасибо за ваши труды, здорово работаете

Re: Точечное выжигание - gcode-burner
Добавлено: 01 апр 2012, 13:59
Nick
А можешь сделать отдельное фото, что бы было видно отдельные точки?
С полутонами не пробовал работать?
Также попробуй сделать по-больше расстояние между точками, получится слегка другое изображение, но оно может оказаться более интересным.
Чтобы получилось так, как на фото в первом сообщении.
Re: Точечное выжигание - gcode-burner
Добавлено: 01 апр 2012, 14:20
viktars
сейчас сижу дома и эксперементирую с фотографиями. кажется начинает мешать zmin*(1-v)+zmax*v if v<0.9 else None. Готовлю изображение, гружу, в аксис показывает какието другие точки. меняю 0.9 на другие значения. с какимито фото лудше , а скакимито хуже. на станке час потеряешь и увидишь, что нето, меняешь 0.9 на другое значение и ещё часочек

. Свою работу я вчера испортил (хотел улудшить), но какой нибудь фрагмент сфотаю, или новое побыстрому

выжгу
Re: Точечное выжигание - gcode-burner
Добавлено: 01 апр 2012, 14:35
viktars
если я меняю z min z max это влияет на глубину погружения иглы?
Re: Точечное выжигание - gcode-burner
Добавлено: 01 апр 2012, 15:13
Nick
Сейчас объясню как это работает:
zmin*(1-v)+zmax*v if v<0.9 else None
Сначала проверяется:
zmin*(1-v)+zmax*v
if v<0.9 else None
Если V, т.е. интенсивоность цвета меньше 0.9 (0.9 - это почти белый = 10%gray), тогда вычисляем первую часть выражения:
zmin*(1-v)+zmax*v if v<0.9 else None
Эта часть, это прямая интерполяция значений Zmin и Zmax, т.е. при v=0 заглубление будет zmin, при v=1 Zmax.
zmin*(1-v)+zmax*vif v<0.9
else None
Если первое условие не сработало, - цвет почти белый, просто игнорируем эту точку
Лучше всего проведи несколько тестов с разными параметрами V<0.9, потом попробуй разные заглубления. Для теста возьми простенькую картинку 15х15 (смайлик например). И еще попробуй разные расстояния между точками.
ЗЫ раньше программа работала с такой функцией zmin*(1-v)+zmax*v
if v<1 else None, только она была не видна

.
Re: Точечное выжигание - gcode-burner
Добавлено: 01 апр 2012, 21:11
viktars
фрагмент того , что получилось
Re: Точечное выжигание - gcode-burner
Добавлено: 02 апр 2012, 15:01
Nick
Как тебе кажется, стоит что-то менять или нет?
может попробовать изменить "квантование" цветов, т.е. пределать изображение в 2-5 цветное?
Мне кажется или все точки выглядят не одинаково?
Re: Точечное выжигание - gcode-burner
Добавлено: 02 апр 2012, 18:30
sandman
Когда я пробовал, то пришёл к выводу, что на качество выжигаемой картинки влияет ещё скорость погружения иглы, дерево то разное. Чем глубже и темнее точка, тем медленнее должна погружаться игла.
В идеале наверное был бы какой нибудь токовый контроль температуры иглы... У меня не было тогда времени довести дело до конца, попробую как будет время.
Re: Точечное выжигание - gcode-burner
Добавлено: 02 апр 2012, 20:19
viktars
Nick писал(а):может попробовать изменить "квантование" цветов, т.е. пределать изображение в 2-5 цветное?
Этот фрагмент примерно 25х19мм. Я может переколдовал с картинкой. Хотел чтобы размер получился поменьше, поэтому глаз это 4 точки
На неделе попробую провести эксперементы с другими изображениями.
sandman писал(а):на качество выжигаемой картинки влияет ещё скорость погружения иглы
я думаю скорость может быть одинаковой. Темнота точки зависит от глубины погружения иглы. Игла глубже - дольше в дереве -точка черней. Игла должна быть острой, чтобы самый светлый из тёмных пикселей стабильно выжигал. Сделал иглу из серебряной серьги, чтобы макушка не отгарала
Осталось придумать как чистить от нагара. он тоже мешает.
Re: Точечное выжигание - gcode-burner
Добавлено: 02 апр 2012, 20:43
sandman
Осталось придумать как чистить от нагара. он тоже мешает
Наверное ввести в код периодический проезд где нибудь по куску наждачки, там надо то чуть чуть, что бы нагоревшая шапочка отвалилась.