Очередные программы для выжигания

Обсуждение софта, программ, постпроцессоров...

Модератор: life

NikRoman
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 26 фев 2012, 10:41
Имя: Роман
Откуда: Печора
Контактная информация:

Re: Очередные программы для выжигания

Сообщение NikRoman »

звездатрон писал(а):программа куда развивается? в сторону выжигалки?
Про какую из программ речь?
Ещё раз прочитайте название темы.

Если речь о BitmapCam, то программа может развиваться куда угодно. Только добавьте Скрипт. Напомню, что её назначение конвертировать растровые изображения в GCode и подобные форматы. При этом максимально оптимизировать траекторию обработки.
Так как в программе ведётся обработка поточечно, то логично, что её используют для выжигания лазером, гравировки с помощью mach3 подобных систем, аэрографии, выкладывания бисера и в других вещах где нужно сделать по растру. Можно 3d принтер заставить распечатать цветное фото заказчика, только никому это не нужно.
Фреза же по вектору эффективнее работает, но тут и без меня программ хватает)
звездатрон
Станкостроитель
Станкостроитель
Сообщения: 149
Зарегистрирован: 29 янв 2012, 03:37
Откуда: RЭПУБЛiК оф БелаRUS

Re: Очередные программы для выжигания

Сообщение звездатрон »

меня интересует только программа для ударной гравировки на камне без ничего лишнего под доступный контроллер.
dadlick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 30 май 2013, 16:33
Имя: Дмитрий
Откуда: Москва

Re: Очередные программы для выжигания

Сообщение dadlick »

Здравствуйте Роман!
Если Вам интересно дальнейшее развитие конвертера Bmp в GCode, хочу предложить Вам добавить в программу алгоритм обработки с движением по диагонали.
Алгоритм получения координат диагональных пикселей я накидал на VB.NET, собственно вот он тык
Я думаю не только мне одному будет интересен данный функционал.
Аватара пользователя
buglak
Станкостроитель
Станкостроитель
Сообщения: 46
Зарегистрирован: 30 янв 2011, 01:00
Имя: Александр
Откуда: Беларусь

Re: Очередные программы для выжигания

Сообщение buglak »

Хочу спросить, только сильно не ругайте, я в этом деле начинающий. Практически собрал выжигатель, жду контроллер (ТВ6560 синий). Пока разбираюсь с программой. Если я правильно понял, в программе пины настраиваются только на Х и У, где то читал, что если третью ось не отключить или не поставить на нее ЩД сгорит контроллер, исходя из этого вопрос - как это сделать в данной программе?
NikRoman
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 26 фев 2012, 10:41
Имя: Роман
Откуда: Печора
Контактная информация:

Re: Очередные программы для выжигания

Сообщение NikRoman »

dadlick писал(а):Здравствуйте Роман!
Если Вам интересно дальнейшее развитие конвертера Bmp в GCode, хочу предложить Вам добавить в программу алгоритм обработки с движением по диагонали.
Здравствуйте, dadlick!
Если Вам интересно, развивайте. Вот исходики https://yadi.sk/d/YwBtZCXdmCcRD. Код ужасный, комментариев мало, но уж извиняйте-не думал что так сильно разрастётся.
dadlick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 30 май 2013, 16:33
Имя: Дмитрий
Откуда: Москва

Re: Очередные программы для выжигания

Сообщение dadlick »

NikRoman писал(а):Если Вам интересно, развивайте. Вот исходики https://yadi.sk/d/YwBtZCXdmCcRD. Код ужасный, комментариев мало, но уж извиняйте-не думал что так сильно разрастётся.
Спасибо, в проекте "CHPU" есть ссылка на проект "ImageFilters", самого проекта нет, подключил одноименную DLL из ранее выложенных программ. Ошибок нет, проект собирается, буду разбираться дальше.
NikRoman
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 26 фев 2012, 10:41
Имя: Роман
Откуда: Печора
Контактная информация:

Re: Очередные программы для выжигания

Сообщение NikRoman »

dadlick, Это для кнопки "Джарвис" Возможно яркость и контраст в этой библиотеке регулируются. Писал её на C# думая, что будет быстрее работать, но потерял совместимость CHPU с Linux так как там не работают DLL-ки.

Вот перечень её функций:
Показать/Спрятать
class BmpTo1BitClass{
enum CBitMode { None = 0, FloydStainberg = 1, Jarvice = 2, Stuckie = 3, porog = 4};
Bitmap ConvertToBit(Bitmap Inpbmp, float porog, CBitMode mode)
Bitmap PorogConvertQ(Bitmap Inpbmp)//Q-значит побыстрее
Bitmap PorogConvert(Bitmap Inpbmp,float porog = 0.5f)
Bitmap FloidStanbergConvert(Bitmap Inpbmp, float porog)
Bitmap DitheringConvert(Bitmap Inpbmp, float porog)
Bitmap DitheringConvertQ(Bitmap Inpbmp)
Bitmap JarvisConvert(Bitmap Inpbmp, float porog)
Bitmap JarvisConvertQ(Bitmap Inpbmp)
Bitmap StuckiConvert(Bitmap Inpbmp, float porog)
Bitmap StuckiConvertQ(Bitmap Inpbmp)
Bitmap FloidStanbergSnakeConvert(Bitmap Inpbmp, float porog)
void FloidStanbergFullConvert(Bitmap Inpbmp, float porog, out Bitmap FloidStanbergBitmap, out Bitmap FloidStanbergSnakeBitmap)//расчитать 2 картинки (1-у змейкой)
Bitmap CutBlack(Bitmap Inpbmp, float porog)//сделать чёрными те пиксели, чья яркость ниже порога
Bitmap FloidStanbergOnBlack(Bitmap Inpbmp, float porog)//дизеринг на чёрном
Bitmap Combine(Bitmap bmp1, Bitmap bmp2, Bitmap mask, float porog//если яркость выже порога, то пиксель берётся из bmp2 иначе из bmp1
}

public class BmpFilters
{
Bitmap Brightness(Bitmap Inpbmp, float value)
Bitmap Brightness2(Bitmap Inpbmp, float value)
Bitmap BrightnessContrast(Bitmap Inpbmp, float BrightnessValue, float ContrastValue)
Bitmap Contrast(Bitmap Inpbmp, float value)
Bitmap Contrast2(Bitmap Inpbmp, float value)
Bitmap Negative(Bitmap Inpbmp)
Bitmap Negative2(Bitmap Inpbmp)
Bitmap Grayscale(Bitmap Inpbmp)
Bitmap ApplyAlfaMask(Bitmap Inpbmp, Bitmap mask)//копирует значение Color.A из маски
}
dadlick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 30 май 2013, 16:33
Имя: Дмитрий
Откуда: Москва

Re: Очередные программы для выжигания

Сообщение dadlick »

Вроде осилил.
Добавил для методов выжигания "P2" и "М", возможность выбора разверток по "X","Y","Диагонали"; "движение змейкой" и "чересстрочную обработку"
ИзображениеИзображениеИзображение
Версия 1.05 лежит тут
Роман, если не трудно, подыми в шапку.
NikRoman
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 26 фев 2012, 10:41
Имя: Роман
Откуда: Печора
Контактная информация:

Re: Очередные программы для выжигания

Сообщение NikRoman »

dadlick, что-то у меня ошибка выскочила.
Изображение
dadlick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 30 май 2013, 16:33
Имя: Дмитрий
Откуда: Москва

Re: Очередные программы для выжигания

Сообщение dadlick »

NikRoman писал(а):dadlick, что-то у меня ошибка выскочила.
Изображение
Хм, где-то алгоритм диагональных координат дает сбой.
Выложи картинку с совой, буду смотреть.
Тут правленые мною исходники
George164
Станкостроитель
Станкостроитель
Сообщения: 1892
Зарегистрирован: 23 окт 2011, 00:21
Откуда: Москва-Люберцы

Re: Очередные программы для выжигания

Сообщение George164 »

dadlick писал(а):Выложи картинку с совой, буду смотреть.
Поддерживаю предложение использовать сову как тест-эталон для выжигания. Собака хороша, но не годится у нее не оригинальная картинка и очень низкое разрешение.
Мечта станкостроителя: приезжаешь в Сочи, а там на пляже станки, станки. станки...
dadlick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 30 май 2013, 16:33
Имя: Дмитрий
Откуда: Москва

Re: Очередные программы для выжигания

Сообщение dadlick »

dadlick писал(а): Хм, где-то алгоритм диагональных координат дает сбой.
Нашел ошибку, когда картинка по высоте больше, чем по длине вместо того что бы координаты "x" c "y" местами поменять, я стал велосипед изобретать...
BMB
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 04 дек 2009, 01:00
Имя: Виктор
Откуда: Московская обл.

Re: Очередные программы для выжигания

Сообщение BMB »

Тоже когда- то пробовал выжигать по диагонали http://cncmasterkit.ru/viewtopic.php?p=20376#p20376.Та ссылка на файл не работает, для желающих поломать моск залил заново Скачать файл diagonal_2.rar (93.47 kB)
Изображение
Программа работала с специфическим не степдир контроллером, поэтому приведена её часть,которая выводит картинку на экран.Чтобы она выжигала надо скрестить её с прогой из темы "Ретровыжигатель на бейсике"
NikRoman
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 26 фев 2012, 10:41
Имя: Роман
Откуда: Печора
Контактная информация:

Re: Очередные программы для выжигания

Сообщение NikRoman »

сова с оттенками: https://yadi.sk/i/a3TzmZTYmQaqt (файлообменник форума не работает сегодня)
Загрузил и нажал "Джарвис" для перевода в ч/б
George164
Станкостроитель
Станкостроитель
Сообщения: 1892
Зарегистрирован: 23 окт 2011, 00:21
Откуда: Москва-Люберцы

Re: Очередные программы для выжигания

Сообщение George164 »

И сохранил в JPEG. :(
Мечта станкостроителя: приезжаешь в Сочи, а там на пляже станки, станки. станки...
NikRoman
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 26 фев 2012, 10:41
Имя: Роман
Откуда: Печора
Контактная информация:

Re: Очередные программы для выжигания

Сообщение NikRoman »

Это оригинал, который был скачан с google поиска. Поэтому не уверен, что картинка не защищена авторскими правами.
George164
Станкостроитель
Станкостроитель
Сообщения: 1892
Зарегистрирован: 23 окт 2011, 00:21
Откуда: Москва-Люберцы

Re: Очередные программы для выжигания

Сообщение George164 »

Она имеет такие ровные уровни по всему спектру, что выглядит как специально подготовленная для контрастной печати-выжигания.

GRBL это тупик. Кольцевой буфер для выжигания при лазерных скоростях совершенно не нужен. Либо напрямую по типу МАЧа, либо с SD карты. Давайте разработаем унифицированный бинарный код и софт для него: конверторы, вьюеры. Посмотрите мой проект такого кода и выскажитесь.
Мечта станкостроителя: приезжаешь в Сочи, а там на пляже станки, станки. станки...
NikRoman
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 26 фев 2012, 10:41
Имя: Роман
Откуда: Печора
Контактная информация:

Re: Очередные программы для выжигания

Сообщение NikRoman »

George164, мне кажется в arduino ide код получается большой и медленный. Я-то уже почти закончил свой проект. По USB работает стабильно. Осваиваю SD карточку.
ribs работает так. По USB приходят данные и записываются в кольцевой буфер. В основном цикле программа считывает байт из буфера и выполняет операцию, связанную с этим байтом.
Например если передать [X50 Y10 \r\n], то
1)Команда X (забрать из буфера десятичное число и запомнить в переменной X)
с буфера считаются все числа до пробела
2)Команда Y (ну похожая ситуация)

3)Команда \r\n (Мы получили строку с gcode, смотрим переменные XYZGMPUVWABCFE и выполняем работу согласно стандартам gcode)

У меня используется вот такой формат данных:
[w20 ] (задать ширину картинки равную 20) (в начале выжигания задаётся или в процессе, если траектория не стандартная)
[m{nextline}{change direction}{carret return}{nop}{nop}{nop}{nop}{nop}] (установить байт флагов действий после выжигания строки) (тоже один раз обычно)
[b00000000000000000000] (выжечь строку (0-байты яркости), затем выполнить действия, указанные флагом m)
ну и понеслось
[b00000000000000000000] [b00000000000000000000] [b00000000000000000000] [b00000000000000000000] без пробелов и разрывов.

Команд много. Настройки скоростей, ручные перемещения, на расстояние, выжигание с оттенками, без оттенков, установка мощности лазера, запрос настроек.
Последний раз редактировалось NikRoman 23 дек 2015, 14:35, всего редактировалось 2 раза.
George164
Станкостроитель
Станкостроитель
Сообщения: 1892
Зарегистрирован: 23 окт 2011, 00:21
Откуда: Москва-Люберцы

Re: Очередные программы для выжигания

Сообщение George164 »

Зачем нам Г-коды, если у нас попиксельная обработка?
А чисто белый проходить с той же скоростью, что и черный это не вызывает вопросы медицинского характера?
Кстати, на чем код написан? Какой-то вижуал бейсик?
Мечта станкостроителя: приезжаешь в Сочи, а там на пляже станки, станки. станки...
NikRoman
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 26 фев 2012, 10:41
Имя: Роман
Откуда: Печора
Контактная информация:

Re: Очередные программы для выжигания

Сообщение NikRoman »

George164 писал(а):Кстати, на чем код написан? Какой-то вижуал бейсик?
Клиент на Visual Basic.net
Прошивка на C.

Зная настройки мин. и макс. скоростей и видя на несколько пикселей вперёд не сложно рассчитать переменную скорость передвижения.
dadlick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 30 май 2013, 16:33
Имя: Дмитрий
Откуда: Москва

Re: Очередные программы для выжигания

Сообщение dadlick »

George164 писал(а):Кольцевой буфер для выжигания при лазерных скоростях совершенно не нужен.
Не уверен, USB работает по прерываниям системы и если не будет кольцевого буфера у контроллера, может случится, так что прошлую порцию команд контроллер выполнил, а новые еще не пришли. Если в этот момент будет включен лазер....
По личному опыту, использования контроллеров МК1 и МК2 от Planet CNC, пока резал фанерку по контуру MK1 c буфером на 11 команд всем устраивал, когда попробовал фрезеровать в 3D буфера перестало хватать, станок начел отрабатывать программу рывками.
dadlick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 30 май 2013, 16:33
Имя: Дмитрий
Откуда: Москва

Re: Очередные программы для выжигания

Сообщение dadlick »

George164 писал(а):Зачем нам Г-коды, если у нас попиксельная обработка?
Вектор же не логично попиксельно обрабатывать.
NikRoman
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 26 фев 2012, 10:41
Имя: Роман
Откуда: Печора
Контактная информация:

Re: Очередные программы для выжигания

Сообщение NikRoman »

Я хотел сказать что ribs формат совместим с GCode, но я этого ещё не реализовал.
Мне нужно было сделать такой контроллёрчик, чтобы и по вектору выжигал и по растру, так что вот.

Работает сейчас лишь относительное перемещение по x и y (не по диагонали)- обойти прямоугольником по контуру перед выжиганием можно.
NikRoman
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 26 фев 2012, 10:41
Имя: Роман
Откуда: Печора
Контактная информация:

Re: Очередные программы для выжигания

Сообщение NikRoman »

dadlick писал(а):может случится, так что прошлую порцию команд контроллер выполнил, а новые еще не пришли. Если в этот момент будет включен лазер....
в ribs при задержке данных лазер выключается
dadlick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 30 май 2013, 16:33
Имя: Дмитрий
Откуда: Москва

Re: Очередные программы для выжигания

Сообщение dadlick »

диагональная развертка из нижнего левого угла, диагональная развертка из верхнего левого угла, развертка по X
Изображение Изображение Изображение
G-Code и dxf
dadlick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 30 май 2013, 16:33
Имя: Дмитрий
Откуда: Москва

Re: Очередные программы для выжигания

Сообщение dadlick »

Исправленная версия
Программа тут
Исходники тут
SADOVNIKde
Станкостроитель
Станкостроитель
Сообщения: 45
Зарегистрирован: 05 фев 2015, 01:21
Имя: Дмитрий
Откуда: Германия

Re: Очередные программы для выжигания

Сообщение SADOVNIKde »

NikRoman писал(а):Скрипт: https://yadi.sk/d/Qt6umyxadmWUs приобретайте)
раскажите пожалуйста как им пользоваться.
скачал файл, и что дальше делать? как его запустить?
NikRoman
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 26 фев 2012, 10:41
Имя: Роман
Откуда: Печора
Контактная информация:

Re: Очередные программы для выжигания

Сообщение NikRoman »

SADOVNIKde писал(а):
NikRoman писал(а):Скрипт: https://yadi.sk/d/Qt6umyxadmWUs приобретайте)
раскажите пожалуйста как им пользоваться.
скачал файл, и что дальше делать? как его запустить?
Это скрипт экспорта для этой программы https://sites.google.com/site/nikromsof ... bmp-2-hpgl

Чтобы можно было из картинки получить GCode для GRBL.

Нужно скопировать в папку Scripts/Export и выбрать его в программе.
HAM
Станкостроитель
Станкостроитель
Сообщения: 44
Зарегистрирован: 28 ноя 2015, 00:58
Имя: Андрей
Откуда: Чехов

Re: Очередные программы для выжигания

Сообщение HAM »

NikRoman, Роман, а где в версии 1.9 настройка хода на мм? Что-то не нашёл. Пробовал выжигать, идут полосы светлого, непрожённого дерева, как будто через строчку шагает.
NikRoman
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 26 фев 2012, 10:41
Имя: Роман
Откуда: Печора
Контактная информация:

Re: Очередные программы для выжигания

Сообщение NikRoman »

Там в меню сверху настройки оси X.
Ответить