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

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

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

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

Добавлено: 07 дек 2012, 18:20
Nick
Попробуй запустить не через LinuxCNC, а просто из консоли и скопируй сюда текст ошибки.

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

Добавлено: 07 дек 2012, 18:31
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'

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

Добавлено: 07 дек 2012, 19:06
Nick
Скачай заново последнюю версию, причем целиком, такое ощущение, что ты ini от gcode-burner не скачал...

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

Добавлено: 07 дек 2012, 19:34
Rafiq
Скачал zip, распаковал туда, где конфиги лежат в моем home (там же, где ini станка), ini станка подправил как указано было в первом сообщении (с корректировками, чтобы система находила скрипт), ini скрипта просто лежит там (нигде путь к нему не прописывал). Затыкается посередине конвертации. Причем независимо от входного файла, затык со 2 ошибкой после сообщения FILTER_PROGRESS=99

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

Добавлено: 07 дек 2012, 19:41
Rafiq
Кстати, старая версия с глюком, описанным в посте #159, работала, не выдавая сообщений об ошибках, но несла ахинею и у меня.

Добавлено: 07 дек 2012, 19:48
Nick
хмм... скинь свой файл gcode-burner.ini ...

Вообще странно, нафига он в __init__ лезет, если уже практически все сделал......

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

Добавлено: 07 дек 2012, 20:14
Nick
А output.ngc появляется?
что-то я вообще не понимаю...
скинь вообще всю папку с конфигом (в tar)

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

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

Но есть вопрос, имею индексированное изображение с двумя цветами (черный и белый), задача выгравировать на оргстекле с торцевой подсветкой, как kernel уже делал, как надо задавать zmin, zmax, может другие параметры в формуле глубины, чтобы на черной точке не было ничего, на белой - углубление.

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

Добавлено: 07 дек 2012, 20:41
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 из формы.

зы скинь на всякий случай папку конфига, интересно понять, в чем дело...

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

Добавлено: 07 дек 2012, 21:03
Rafiq
Вроде и так как надо точки ставит, на черном - ничего. Завтра опробую, сейчас уже поздно шуметь :( И еще, чтобы на чистку не ездить, задать в этом параметре число бОльшее, чем количество пикселей, или же 0?

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

Добавлено: 07 дек 2012, 21:37
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")

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

Добавлено: 07 дек 2012, 22:10
Rafiq
А вообще реально бурнером сделать так, как kernel сделал портрет с подсветкой?

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

Добавлено: 08 дек 2012, 17:22
Rafiq
В принципе, все получилось, но!
Бурнер из прямоугольной картинки сделал квадратную, а я не заметил! 6 часов работы впустую :( Как сделать так, чтоб пиксели были квадратными, но и пропорции не искажались?

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

Добавлено: 08 дек 2012, 19:28
Rafiq
Выкрутился, скормил ему доведенную до квадрата картинку - пришлось добавить поля :D

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

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

Сказывается, что программой мало пользуются - нет тестеров :(

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

Добавлено: 09 дек 2012, 01:57
Rafiq
Скоро заканчивается гравировка, 12 часов! Это просто ПЗДЦ, да еще и ночью. Плюс еще 6 часов днем на первый блин, прежде чем я понял, что что-то не то с ним :D

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

Добавлено: 09 дек 2012, 12:34
sandman
Rafiq, покажеш что получилось?

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

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

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

Кстати, есть два вопроса:
1) Как удалить приплавившуюся стружку на сплошных белых полях?
2) Как избежать следов от капель воды после того, как помоешь?

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

Добавлено: 09 дек 2012, 19:47
sandman
Классно получилось... Как фотку обработал?
По поводу стружки сам голову ломаю, а воду надо стирать мягкой салфеткой, можно мягкой туалетной бумагой, сразу после мытья, и не тереть, а только промакивать. :)
Стружку частично можно сдуть сжатым воздухом 6-9 бар...

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

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

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

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

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

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

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