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

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

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

Сообщение Zolen »

Снимок-gcode-burner.py.png (63314 просмотров) <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 (65189 просмотров) <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 »

Хммм... а какой формат изображения?
Надо попробовать разные - png, jpg...
Скинь свой рисунок, или пример на котором не работает.
sandman
Мастер
Сообщения: 257
Зарегистрирован: 31 мар 2011, 19:09
Репутация: 19
Откуда: Германия, Horb am Neckar
Контактная информация:

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

Сообщение sandman »

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

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

Сообщение Nick »

Вроде исправил...
Pаодно код переехал на github: https://github.com/cnc-club/gcode-burner
sandman
Мастер
Сообщения: 257
Зарегистрирован: 31 мар 2011, 19:09
Репутация: 19
Откуда: Германия, Horb am Neckar
Контактная информация:

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

Сообщение sandman »

Даёт ошибку :

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

  File "./gcode-burner.py", line 28
    def destroy(self, widget, data=None):
      ^
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

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

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

Сообщение Nick »

И ты точно последнюю версию скачал? Сейчас проверил все вроде ок.
sandman
Мастер
Сообщения: 257
Зарегистрирован: 31 мар 2011, 19:09
Репутация: 19
Откуда: Германия, Horb am Neckar
Контактная информация:

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

Сообщение sandman »

Проверил на десятке, вроде пошло, но негативом... Буду пробовать, спасибо!
Вложения
Bildschirmfoto-3.png (2490 просмотров) <a class='original' href='./download/file.php?id=9904&mode=view' target=_blank>Загрузить оригинал (151.92 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

поменяй значение Z function
вместо
zmin*(1-v)+zmax*v if v<0.9 else None
поставь
zmin*(v)+zmax*(1-v) if v<0.9 else None

Или тупо Zmax и Zmin махни местами.
Аватара пользователя
viktars
Почётный участник
Почётный участник
Сообщения: 67
Зарегистрирован: 25 мар 2012, 21:54
Репутация: 0
Откуда: Latvia, Vangazi
Контактная информация:

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

Сообщение viktars »

И у меня выкинуло такую ошибку

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

    File "gcode-burner.py", line 28
         def destroy (self, widget, data=None):
           ^
IndentationError: expected an indented block
на 10.04
Я мастер хреновый, но дорогой.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

А как ты файл сохранял???
Лучше всего возми файлы архивом по ссылке https://github.com/cnc-club/gcode-burne ... master.zip (там в git такое облако с надписью zip)
Аватара пользователя
viktars
Почётный участник
Почётный участник
Сообщения: 67
Зарегистрирован: 25 мар 2012, 21:54
Репутация: 0
Откуда: Latvia, Vangazi
Контактная информация:

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

Сообщение viktars »

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

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

Сообщение Rafiq »

А в какой каталог надо положить сам файл скрипта? Чтобы LCNC мог его подхватить.
Аватара пользователя
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 »

Клал в
/home/*/linuxcnc/configs/3020T
/home/*/linuxcnc/configs
/usr/bin (там лежит дефолтный image-to-gcode)
права назначал на выполнение, не помогло :(
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

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

Сообщение Алексс »

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

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

Сообщение Nick »

Да, ini покаж
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

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

Сообщение Алексс »

как вариант

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

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = <путь где лежит image-to-gcode>image-to-gcode
gif = <путь где лежит image-to-gcode>image-to-gcode
jpg = <путь где лежит image-to-gcode>image-to-gcode
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Аватара пользователя
Rafiq
Мастер
Сообщения: 1053
Зарегистрирован: 28 сен 2012, 18:11
Репутация: 6
Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
Контактная информация:

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

Сообщение Rafiq »

Nick писал(а):Да, ini покаж

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

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg,.jpeg images for gcode-burner
PROGRAM_EXTENSION = .py Python Script
png = gcode-burner
gif = gcode-burner
jpg = gcode-burner
jpeg = gcode-burner
py = python
Прописывание полного пути к скрипту решило проблему с ненахождением, но при попытке обработать простую черную окружность на белом фоне (уже выкладывали тут в качестве простого теста), вывалилось сообщение "Около строки 2 в /tmp/tmpkBFBFi/kreiss.png: Неизвестное слово после унарной операции".

Останавливается процесс после FILTER_PROCESS=99.

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

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

Сообщение Nick »

попробуй так:
png = python gcode-burner.py

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

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

Сообщение Rafiq »

Nick писал(а):попробуй так:
png = python gcode-burner.py

(либо переименовать gcode-burner.py в gcode-burner и добавить ему флаг на исполнение)
Работает. Но это впрочем уже и не проблема, хотя указывать полный путь и не по фэншую. Теперь проблема с ошибкой 2 :(
Ответить

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