Страница 9 из 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
Добавлено: 04 дек 2012, 18:37
Nick
Хммм... а какой формат изображения?
Надо попробовать разные - png, jpg...
Скинь свой рисунок, или пример на котором не работает.
Re: Точечное выжигание - gcode-burner
Добавлено: 04 дек 2012, 19:45
sandman
Да всё перепробовал, вон viktars тоже жалуется...
И всё равно, что с примитивным рисунком, что посложнее...
Re: Точечное выжигание - gcode-burner
Добавлено: 05 дек 2012, 20:02
Nick
Вроде исправил...
Pаодно код переехал на github:
https://github.com/cnc-club/gcode-burner
Re: Точечное выжигание - gcode-burner
Добавлено: 05 дек 2012, 20:59
sandman
Даёт ошибку :
Код: Выделить всё
File "./gcode-burner.py", line 28
def destroy(self, widget, data=None):
^
Re: Точечное выжигание - gcode-burner
Добавлено: 05 дек 2012, 21:10
Nick
А целиком что говорит???
Re: Точечное выжигание - gcode-burner
Добавлено: 05 дек 2012, 21:12
Nick
И ты точно последнюю версию скачал? Сейчас проверил все вроде ок.
Re: Точечное выжигание - gcode-burner
Добавлено: 05 дек 2012, 21:21
sandman
Проверил на десятке, вроде пошло, но негативом... Буду пробовать, спасибо!
Re: Точечное выжигание - gcode-burner
Добавлено: 06 дек 2012, 11:21
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 махни местами.
Re: Точечное выжигание - gcode-burner
Добавлено: 06 дек 2012, 19:47
viktars
И у меня выкинуло такую ошибку
Код: Выделить всё
File "gcode-burner.py", line 28
def destroy (self, widget, data=None):
^
IndentationError: expected an indented block
на 10.04
Re: Точечное выжигание - gcode-burner
Добавлено: 06 дек 2012, 19:58
Nick
А как ты файл сохранял???
Лучше всего возми файлы архивом по ссылке
https://github.com/cnc-club/gcode-burne ... master.zip (там в git такое облако с надписью zip)
Re: Точечное выжигание - gcode-burner
Добавлено: 06 дек 2012, 20:26
viktars
Запустилась! Спасибо! На выходных постараюсь испытать

Re: Точечное выжигание - gcode-burner
Добавлено: 07 дек 2012, 13:43
Rafiq
А в какой каталог надо положить сам файл скрипта? Чтобы LCNC мог его подхватить.
Re: Точечное выжигание - gcode-burner
Добавлено: 07 дек 2012, 14:39
Nick
Вроде, в дир с конфигом.
Re: Точечное выжигание - gcode-burner
Добавлено: 07 дек 2012, 15:37
Rafiq
Клал в
/home/*/linuxcnc/configs/3020T
/home/*/linuxcnc/configs
/usr/bin (там лежит дефолтный image-to-gcode)
права назначал на выполнение, не помогло

Re: Точечное выжигание - gcode-burner
Добавлено: 07 дек 2012, 15:41
Алексс
покажи конфиг к машине и как открываешь картинку.
Re: Точечное выжигание - gcode-burner
Добавлено: 07 дек 2012, 15:50
Nick
Да, ini покаж
Re: Точечное выжигание - gcode-burner
Добавлено: 07 дек 2012, 15:54
Алексс
как вариант
Код: Выделить всё
[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
Re: Точечное выжигание - gcode-burner
Добавлено: 07 дек 2012, 17:42
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.
Скрипт очень нужен, к НГ надо сделать презент
Re: Точечное выжигание - gcode-burner
Добавлено: 07 дек 2012, 17:46
Nick
попробуй так:
png = python gcode-burner.py
(либо переименовать gcode-burner.py в gcode-burner и добавить ему флаг на исполнение)
Re: Точечное выжигание - gcode-burner
Добавлено: 07 дек 2012, 17:50
Rafiq
Nick писал(а):попробуй так:
png = python gcode-burner.py
(либо переименовать gcode-burner.py в gcode-burner и добавить ему флаг на исполнение)
Работает. Но это впрочем уже и не проблема, хотя указывать полный путь и не по фэншую. Теперь проблема с ошибкой 2
