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

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

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

Сообщение Zolen »

Снимок-gcode-burner.py.png (64185 просмотров) <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 (66060 просмотров) <a class='original' href='./download/file.php?id=910&mode=view' target=_blank>Загрузить оригинал (34.53 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Попробуй запустить не через LinuxCNC, а просто из консоли и скопируй сюда текст ошибки.
Аватара пользователя
Rafiq
Мастер
Сообщения: 1053
Зарегистрирован: 28 сен 2012, 18:11
Репутация: 6
Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
Контактная информация:

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

Сообщение Rafiq »

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

rafiq@home:~/linuxcnc/configs$ python gcode-burner.py kreiss.png
Traceback (most recent call last):
  File "gcode-burner.py", line 384, in <module>
    Burner()
  File "gcode-burner.py", line 234, in __init__
    spinners = dict(self.config.items('Spinners'))
  File "/usr/lib/python2.6/ConfigParser.py", line 328, in items
    raise NoSectionError(section)
ConfigParser.NoSectionError: No section: 'Spinners'
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Скачай заново последнюю версию, причем целиком, такое ощущение, что ты ini от gcode-burner не скачал...
Аватара пользователя
Rafiq
Мастер
Сообщения: 1053
Зарегистрирован: 28 сен 2012, 18:11
Репутация: 6
Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
Контактная информация:

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

Сообщение Rafiq »

Скачал zip, распаковал туда, где конфиги лежат в моем home (там же, где ini станка), ini станка подправил как указано было в первом сообщении (с корректировками, чтобы система находила скрипт), ini скрипта просто лежит там (нигде путь к нему не прописывал). Затыкается посередине конвертации. Причем независимо от входного файла, затык со 2 ошибкой после сообщения FILTER_PROGRESS=99
Аватара пользователя
Rafiq
Мастер
Сообщения: 1053
Зарегистрирован: 28 сен 2012, 18:11
Репутация: 6
Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
Контактная информация:

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

Сообщение Rafiq »

Кстати, старая версия с глюком, описанным в посте #159, работала, не выдавая сообщений об ошибках, но несла ахинею и у меня.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Сообщение Nick »

хмм... скинь свой файл gcode-burner.ini ...

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

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

Сообщение Nick »

А output.ngc появляется?
что-то я вообще не понимаю...
скинь вообще всю папку с конфигом (в tar)
Аватара пользователя
Rafiq
Мастер
Сообщения: 1053
Зарегистрирован: 28 сен 2012, 18:11
Репутация: 6
Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
Контактная информация:

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

Сообщение Rafiq »

output.ngc действительно появляется, в том же каталоге где лежат конфиги, причем он хороший, единственно есть из-за ошибки неудобство, что его потом специально открывать надо. А так вроде нормально :)

Но есть вопрос, имею индексированное изображение с двумя цветами (черный и белый), задача выгравировать на оргстекле с торцевой подсветкой, как kernel уже делал, как надо задавать zmin, zmax, может другие параметры в формуле глубины, чтобы на черной точке не было ничего, на белой - углубление.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Ну так тупо поменяй их местами.
Или напиши в функции: zmin*(v)+zmax*(1-v) if v<0.9 else None
или
zmin*(v)+zmax*(1-v) if v>0.1 else None
Главная мысль - эта функция должна выдавать заглубление или None если вообще точки не надо.
параметры v - светимость точки от 0 до 1, zmin,zmax из формы.

зы скинь на всякий случай папку конфига, интересно понять, в чем дело...
Аватара пользователя
Rafiq
Мастер
Сообщения: 1053
Зарегистрирован: 28 сен 2012, 18:11
Репутация: 6
Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
Контактная информация:

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

Сообщение Rafiq »

Вроде и так как надо точки ставит, на черном - ничего. Завтра опробую, сейчас уже поздно шуметь :( И еще, чтобы на чистку не ездить, задать в этом параметре число бОльшее, чем количество пикселей, или же 0?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Rafiq писал(а):И еще, чтобы на чистку не ездить, задать в этом параметре число бОльшее, чем количество пикселей, или же 0?
Не помню :)

---------

Можешь не парится, если не напишешь спец Gкод в окно кода для чистки - то он ездить и не будет, там будет только:

(Add here Gcode to clean the head)
(Something like G00 X... Y...)
(Machine will go cleaning each "row", or after reaching some "sum")
Аватара пользователя
Rafiq
Мастер
Сообщения: 1053
Зарегистрирован: 28 сен 2012, 18:11
Репутация: 6
Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
Контактная информация:

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

Сообщение Rafiq »

А вообще реально бурнером сделать так, как kernel сделал портрет с подсветкой?
Аватара пользователя
Rafiq
Мастер
Сообщения: 1053
Зарегистрирован: 28 сен 2012, 18:11
Репутация: 6
Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
Контактная информация:

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

Сообщение Rafiq »

В принципе, все получилось, но!
Бурнер из прямоугольной картинки сделал квадратную, а я не заметил! 6 часов работы впустую :( Как сделать так, чтоб пиксели были квадратными, но и пропорции не искажались?
Аватара пользователя
Rafiq
Мастер
Сообщения: 1053
Зарегистрирован: 28 сен 2012, 18:11
Репутация: 6
Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
Контактная информация:

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

Сообщение Rafiq »

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

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

Сообщение Nick »

Там есть настройка размеров пикселя.
У меня он генерировал и прямоугольные рисунки... Может просто при сохранении и повторной загрузке настроек основной остается размер картинки, а не пикселя и поэтому при последующих запусках размер пикселя меняется.

Сказывается, что программой мало пользуются - нет тестеров :(
Аватара пользователя
Rafiq
Мастер
Сообщения: 1053
Зарегистрирован: 28 сен 2012, 18:11
Репутация: 6
Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
Контактная информация:

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

Сообщение Rafiq »

Скоро заканчивается гравировка, 12 часов! Это просто ПЗДЦ, да еще и ночью. Плюс еще 6 часов днем на первый блин, прежде чем я понял, что что-то не то с ним :D
sandman
Мастер
Сообщения: 257
Зарегистрирован: 31 мар 2011, 19:09
Репутация: 19
Откуда: Германия, Horb am Neckar
Контактная информация:

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

Сообщение sandman »

Rafiq, покажеш что получилось?
Аватара пользователя
Rafiq
Мастер
Сообщения: 1053
Зарегистрирован: 28 сен 2012, 18:11
Репутация: 6
Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
Контактная информация:

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

Сообщение Rafiq »

Аха :) Правда, подсветку пока не сделал. Поэтому просто на черном фоне. Причем, с обратной стороны выглядит лучше, я это знал, но забыл отзеркалить :( Хотя тут это и не так уж важно.

Фото обратной стороны.

Кстати, есть два вопроса:
1) Как удалить приплавившуюся стружку на сплошных белых полях?
2) Как избежать следов от капель воды после того, как помоешь?
Вложения
Портрет на оргстекле для торцевой подсветки. Powered by gcode-burner :) Спасибо тебе, Nick :) (2666 просмотров) <a class='original' href='./download/file.php?id=10005&mode=view' target=_blank>Загрузить оригинал (845.75 КБ)</a>
Портрет на оргстекле для торцевой подсветки. Powered by gcode-burner :) Спасибо тебе, Nick :)
sandman
Мастер
Сообщения: 257
Зарегистрирован: 31 мар 2011, 19:09
Репутация: 19
Откуда: Германия, Horb am Neckar
Контактная информация:

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

Сообщение sandman »

Классно получилось... Как фотку обработал?
По поводу стружки сам голову ломаю, а воду надо стирать мягкой салфеткой, можно мягкой туалетной бумагой, сразу после мытья, и не тереть, а только промакивать. :)
Стружку частично можно сдуть сжатым воздухом 6-9 бар...
Аватара пользователя
Rafiq
Мастер
Сообщения: 1053
Зарегистрирован: 28 сен 2012, 18:11
Репутация: 6
Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
Контактная информация:

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

Сообщение Rafiq »

sandman писал(а):Классно получилось... Как фотку обработал?
По поводу стружки сам голову ломаю, а воду надо стирать мягкой салфеткой, можно мягкой туалетной бумагой, сразу после мытья, и не тереть, а только промакивать. :)
Стружку частично можно сдуть сжатым воздухом 6-9 бар...
Знаешь, честно говоря, сам не ожидал, что так здорово получится :) :) Nick, ты гений! :) Спасибо за скрипт :) Я уж, когда предпоследняя версия глючная была, хотел было сам писать попроще скрипт, время поджимало.

Фотку обработал в GIMP, ну естественно, вырезал только лицо, вычистил фон вокруг, поиграл с яркостью и контрастностью (хотя теперь понял, получив изделие так сказать 'в металле', что скорее всего выглядело бы хорошо на родной яркости и контрастности), перевел в индексированное (меню Image | Mode | Indexed) черно-белое однобитное (Color Dithering надо выбирать normal), остались только черные и белые пиксели, ну и скормил скрипту.

Юзал конусный гравер, радиус пятки не знаю, но получилось хорошо с заглублением 0.1, размер пикселя 0.5x0.5 обороты не знаю точно, но небольшие, что то около 2000 rpm. Подача 200.

Но как же это было долго!

Со стружкой не все так просто, она слегка приплавляется :( там где это случается, просто так ее не удалишь.

И да, еще момент - фото лучше отзеркалить перед скармливанием скрипту, с обратной стороны (где поверхность оргстекла осталась нетронутой) изделие выглядит лучше.
Последний раз редактировалось Rafiq 10 дек 2012, 08:15, всего редактировалось 1 раз.
Ответить

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