Страница 18 из 130
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 31 дек 2016, 13:34
y-u-r
Спасибо за разьяснения , понял - надо "врукопашную" удалять контура....
Главное я не ошибся - есть два прохода , которые сильно "мажут" мелкие картинки и буквы.
Пользовался еще одной известной программой - так же делает двойной контур.
С праздником !
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 01 янв 2017, 18:22
test3210
попробовал, результаты следующие
мой лазер, гад, имеет крайне узкую грань между еще не оставляю точки и уже режу на несколько десяток в глубь, + еще скорость
кстати и правда скорость намного лучше влияет на яркость точки, короче профиль получился такой лазер от 170 до 186 и + скорость от 1424 до 400 (чем сильнее прожиг тем ниже скорость и выше скорость)
Код: Выделить всё
# Настройка для лазерного выжигателя S - Bright #
$.$
"G1 F3000 X0 Y0 Z0"
"S0"
"M3"
LINES
{
"G1 X"[X] "Y"[Y] " F5000 S0"
POINTS
{
"G1 X"[X] "Y"[Y] " F"[400+((bright)*4)'#0.']" S"[170+((255-bright)/16)'#0.']
}
}
"S0"
"M05"
"G0 X0 Y0"
Есть еще момент, в разных программах отправляющих g-код получается разный результат, я отправлял в Candle причем в свернутом состоянии, тогда получается приличный результат и высокая скорость
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 01 янв 2017, 18:37
selenur
К стати классная идея в зависимости от яркости, менять не только мощность, но и скорость!!!!
А я всё думал как сделать так что-бы толщина линии не менялась, при изменении мощности, а все куда проще.
Только как придумать возможность подбора оптимального режима работы?
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 01 янв 2017, 18:39
selenur
А вот что в разных программах, один и тот-же g-код дает разный результат, это очень странно......
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 01 янв 2017, 19:07
staltech
selenur писал(а):А вот что в разных программах, один и тот-же g-код дает разный результат, это очень странно......
Когда обмен по COM порту находится в одном потоке с GUI основного окна, он дико тормозит. Особенно если напихать всяких графических плюшек. Попробуй потяни за заголовок окна во время передачи g-кода и посмотри что будет... Или с размерами поиграйся. И это не на слабом компе.
Передачу файла нужно переносить в отдельный поток и увеличивать его приоритет.
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 01 янв 2017, 19:20
selenur
надо будет своим не доделанным до конца сендером попробовать, т.к. у меня не только в отдельном потоке, но еще через события работа с ком портом, и посмотреть на результат.
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 01 янв 2017, 19:24
staltech
selenur писал(а):надо будет своим не доделанным до конца сендером попробовать, т.к. у меня не только в отдельном потоке, но еще через события работа с ком портом, и посмотреть на результат.
В этом случае все должно работать стабильно. В QT это делается через сигнал-слоты и этого хватает чтобы отгородить GUI от работы с портом, даже когда окно полностью фризится файл передается без проблем.
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 01 янв 2017, 19:31
staltech
Кстати я в прошлый раз добил проблему с ошибкой ID25. Пришлось добавить специальный режим в котором запросы о текущих координатах передавались только в кадрах с командами. Проводил тесты с файлами в 1.5 суток. Если использовать версию на ARM этой проблемы просто нет, так что у Arduino просто не хватает производительности для некоторых файлов растровой гравировки.
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 01 янв 2017, 19:40
test3210
есть туча точек, и разные программы по разному грузят буфер контроллера, если режим m03 то при работе с лазером после g1 x2 y3 s127 лазер не отключится и мощность такой и останется до следующей команды,так что время которое проходит между командами играет большую роль, по сути пока ведется линия с определенной скоростью например от 1 до 10 и 10 точек на этой линии с одинаковыми скоростью и мощностью дадут разные результаты
я свой сендер написал на эвентах, по принципу отправил кадр получил ок отправил следующий , не загружая буфер grbl до упора как это делает Candle, у меня скорость ниже чем в свернутом Candle но выше чем в развернутом
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 01 янв 2017, 20:31
staltech
test3210 писал(а):я свой сендер написал на эвентах, по принципу отправил кадр получил ок отправил следующий , не загружая буфер grbl до упора как это делает Candle, у меня скорость ниже чем в свернутом Candle но выше чем в развернутом
Нужно просто избавится от этой зависимости "свернутый" "развернутый". В целом программа замечательная и постоянно развивается и если бы не построчная гравировка на эту проблему можно было бы и забить.
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 02 янв 2017, 01:04
selenur
Вот новая версия 27:
https://github.com/selenur/ToolsGenGkod ... 27/v27.zip
Добавлен новый алгоритм, преобразования изображения, в контуры (получение скелета) по алгоритму Zhang-Suen, данный алгоритм вот такой рисунок:
превращает в такой:
Т.е. получает скелет изображения, на текущий момент алгоритм достаточно не оптимизирован, поэтому обработка изображения елки, размером 2500*3500 пикселей у меня на ноутбуке занимает 20-30 секунд, пока оптимизировать не хватает времени.....
Ну и собственно как это делается:
Если нужно получить именно скелет, а не просто контуры, нужно установить указанный флажок:
Что позволит получить скелет:
Так-же не забываем, об оптимизации:
И собственно результат:
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 02 янв 2017, 06:16
y-u-r
Так и хочется прямо сейчас попробовать !
А то ползаю всю ночь без дела (спину скрутило

)
Домашние не оценят такой прыти - включить ночью "Ёлку" на ЧПУ.
Проснутся все , сделаю ёлку , выложу фото , как вышло........
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 02 янв 2017, 11:48
y-u-r
Ай-Ай , то ли туплю

, то ли реально отсутствуют в программе два пункта, то ли не нашел....
Установки по Z высота подхода и глубина фрезы.......
"Ткните" пожалуйста..
Кстати про полоски так сказать "занятости" или часы песочные повесить , когда программа обсчитывает результаты.
Иногда не ясно ,закончила обсчет программа или нет , нажимаешь кнопку далее и "висим" сразу сообщение ПРОГРАММА НЕ ОТВЕЧАЕТ...
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 02 янв 2017, 12:17
test3210
y-u-r писал(а):Ай-Ай , то ли туплю

, то ли реально отсутствуют в программе два пункта, то ли не нашел....
Установки по Z высота подхода и глубина фрезы.......
"Ткните" пожалуйста..
с z придется править профиль самостоятельно, хотя согласен, добавить пару окошек и передавать их значениия в профиль было бы правильнее, тогда формула в профиле по яркости будет типа
Код: Выделить всё
"G1 X"[X] "Y"[Y] " S"[Zmin+((255-bright)/255*Zmax)'#0.#']
либо если обычный профиль то это будет просто глубина вреза и ее задать можно будет при генерации
Кстати про полоски так сказать "занятости" или часы песочные повесить , когда программа обсчитывает результаты.
Иногда не ясно ,закончила обсчет программа или нет , нажимаешь кнопку далее и "висим" сразу сообщение ПРОГРАММА НЕ ОТВЕЧАЕТ...
лучше прогресс бар по кол-ву линий максимум, текущий прогрес обрабатываемая линия
в новой версии тоже только вариант 1 работает, раскладки вариант 2 3 4 по осям так и не работают
еще пожелание , для ч/б растровых изображений давать яркость тоже, тогда будет возможность использовать один профиль для всего
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 02 янв 2017, 13:33
MAX3000
Всех с Новым Годом!
test3210 писал(а):В принципе алгоритм как таковой не нужен, если в профиле будет доступна яркость пусть к примеру это будет параметр RGB с диапазоном 0-255 , и задаваемые через окна перед генерацией кода в последнем окне пара параметров (например скорость задать или паузу на точку для разных материалов чтобы профиля не плодить если по быстрому) то больше ничего и не надо, все будет решено внутри профиля с огромной гибкостью. Т-е есть профиль фрезер в профиле яркость преобразуем в глубину реза и получаем к примеру строку типа "Z"[10-(RGB/25)] тогда при яркой точке режем на 10 мм и не режем при черной точке , надо наоборот ? не вопрос "Z"[(RGB/25)]
Лазер ? меняем Z на S , сколько у нас максимум ? 1000 тогда "S"[RGB*3.92)] не 1000 а 255 ? еще проще ... надо резать не от нуля ? тоже решается добавлением константы на сдвиг Не регулируется мощность лазера или это нихром , меняем скорость, либо добавляем паузу перед перемещением на время пропорциональное полутону, математика уже сейчас работает , и все что я написал выше можно сделать на данной программе + якрость
Откатать в таком виде на нескольких станках, нас много , каждый даст тот профиль который получился, дальше можно их встроить в программу, либо в виде алгоритмов либо еще как-то но делать решение в виде алгоритма не имея уверенности что поможет нет смысла
А если добавить прожиг на реверсном ходу то можно сократить лишние перемещения , но такая функция не всем станкам подходит, так что это должна быть опция
Так можно было бы сделать если бы была линейная
зависимость мощности лазера от яркости, но это не так. И поэтому намного проще добавить вышеописанную таблицу (или эквалайзер), чем подобрать супер-формулу.
selenur, по поводу профилей - это второстепенная задача, но хорошо было бы её реализовать. Для чего? Кроме режимов работы станка - это фрезер, выжыгатель и лазер есть еще различные материалы, для которых нужно будет подбирать для каждого индивидуально
зависимость мощности лазера S (и/или скорости F) от яркости, так вот эти зависимости и желательно сохранять в отдельный профиль.
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 02 янв 2017, 13:53
MAX3000
test3210 писал(а):с z придется править профиль самостоятельно, хотя согласен, добавить пару окошек и передавать их значениия в профиль было бы правильнее, тогда формула в профиле по яркости будет типа
Код: Выделить всё
"G1 X"[X] "Y"[Y] " S"[Zmin+((255-bright)/255*Zmax)'#0.#']
Полностью согласен, без дополнительной страницы никак не обойтись поскольку зависимость мощность-яркость нелинейная.
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 02 янв 2017, 14:15
test3210
я супер формулу подбирал почти день на фанеру рисуя эту картинку с разными настройкам , потом мне уже будет проще с другим материалом
а пара окошек желательно чтобы была на последней стадии, рядом с профилем, чтобы динамически менять для разных материалов, или в меню впихнуть
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 02 янв 2017, 14:31
selenur
test3210 писал(а):я супер формулу подбирал почти день на фанеру рисуя эту картинку с разными настройкам , потом мне уже будет проще с другим материалом
а пара окошек желательно чтобы была на последней стадии, рядом с профилем, чтобы динамически менять для разных материалов, или в меню впихнуть
Наверное нужно сделать что-то типа такого:
где будет пара графиков, на первом графике:
указываем какую мощность применять в зависимости от яркости, например на яркости от 255 до 250 мощность равна нулю, а дальше по необходимости...
на втором графике настраиваем зависимость скорости от мощности.
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 02 янв 2017, 14:34
selenur
И в этом окне настройки, отдельно будут профили для материала.
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 02 янв 2017, 15:50
MAX3000
selenur писал(а):test3210 писал(а):я супер формулу подбирал почти день на фанеру рисуя эту картинку с разными настройкам , потом мне уже будет проще с другим материалом
а пара окошек желательно чтобы была на последней стадии, рядом с профилем, чтобы динамически менять для разных материалов, или в меню впихнуть
Наверное нужно сделать что-то типа такого:
1381492905_monitor_ruchnoj.jpg
где будет пара графиков, на первом графике:
указываем какую мощность применять в зависимости от яркости, например на яркости от 255 до 250 мощность равна нулю, а дальше по необходимости...
на втором графике настраиваем зависимость скорости от мощности.
Совершенно верно, только не "зависимость скорости от мощности", а зависимость скорости от яркости.
И варианты генерации кода:
1. Мощность с графика, скорость постоянная;
2. Скорость с графика, мощность постоянная;
3. Мощность и скорость с графика (тут конечно возни много, но если долго мучиться - что-нибудь получится).
И все.