Страница 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, данный алгоритм вот такой рисунок:
2017-01-02_025642.jpg (11577 просмотров) <a class='original' href='./download/file.php?id=98980&mode=view' target=_blank>Загрузить оригинал (39.59 КБ)</a>
превращает в такой:
2017-01-02_025722.jpg (11577 просмотров) <a class='original' href='./download/file.php?id=98981&mode=view' target=_blank>Загрузить оригинал (23.28 КБ)</a>
Т.е. получает скелет изображения, на текущий момент алгоритм достаточно не оптимизирован, поэтому обработка изображения елки, размером 2500*3500 пикселей у меня на ноутбуке занимает 20-30 секунд, пока оптимизировать не хватает времени.....

Ну и собственно как это делается:
Если нужно получить именно скелет, а не просто контуры, нужно установить указанный флажок:
2017-01-02_024749.jpg (11577 просмотров) <a class='original' href='./download/file.php?id=98982&mode=view' target=_blank>Загрузить оригинал (280.53 КБ)</a>
Что позволит получить скелет:
2017-01-02_024522.jpg (11577 просмотров) <a class='original' href='./download/file.php?id=98983&mode=view' target=_blank>Загрузить оригинал (1.38 МБ)</a>
Так-же не забываем, об оптимизации:
2017-01-02_024551.jpg (11577 просмотров) <a class='original' href='./download/file.php?id=98984&mode=view' target=_blank>Загрузить оригинал (176.25 КБ)</a>
И собственно результат:
2017-01-02_024500.jpg (11577 просмотров) <a class='original' href='./download/file.php?id=98985&mode=view' target=_blank>Загрузить оригинал (223.91 КБ)</a>

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Добавлено: 02 янв 2017, 06:16
y-u-r
Так и хочется прямо сейчас попробовать ! :D
А то ползаю всю ночь без дела (спину скрутило :cry: )
Домашние не оценят такой прыти - включить ночью "Ёлку" на ЧПУ. :idiot:
Проснутся все , сделаю ёлку , выложу фото , как вышло........

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Добавлено: 02 янв 2017, 11:48
y-u-r
Ай-Ай , то ли туплю :wik: , то ли реально отсутствуют в программе два пункта, то ли не нашел....
Установки по Z высота подхода и глубина фрезы.......
"Ткните" пожалуйста.. :)

Кстати про полоски так сказать "занятости" или часы песочные повесить , когда программа обсчитывает результаты.
Иногда не ясно ,закончила обсчет программа или нет , нажимаешь кнопку далее и "висим" сразу сообщение ПРОГРАММА НЕ ОТВЕЧАЕТ...

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF

Добавлено: 02 янв 2017, 12:17
test3210
y-u-r писал(а):Ай-Ай , то ли туплю :wik: , то ли реально отсутствуют в программе два пункта, то ли не нашел....
Установки по 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 писал(а):я супер формулу подбирал почти день на фанеру рисуя эту картинку с разными настройкам , потом мне уже будет проще с другим материалом
а пара окошек желательно чтобы была на последней стадии, рядом с профилем, чтобы динамически менять для разных материалов, или в меню впихнуть
Наверное нужно сделать что-то типа такого:
1381492905_monitor_ruchnoj.jpg (11514 просмотров) <a class='original' href='./download/file.php?id=98992&mode=view' target=_blank>Загрузить оригинал (13.72 КБ)</a>
где будет пара графиков, на первом графике:
указываем какую мощность применять в зависимости от яркости, например на яркости от 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. Мощность и скорость с графика (тут конечно возни много, но если долго мучиться - что-нибудь получится).
И все.