Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
- 
				MAX3000
 - Опытный
 - Сообщения: 107
 - Зарегистрирован: 17 дек 2015, 11:12
 - Репутация: 18
 - Настоящее имя: MaX
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
selenur, а ты можешь сделать так чтоб программа открывала растровые рисунки без каких-либо конвертаций?
Дело в том что лишние строки в коде появляются из-за конвертации файла в программе и на границе цветов появляются переходные пиксели, которые размазывают границы (так называемая елочка). Во внешнем графическом редакторе можно подготовить полностью конечный файл для выжигания лазером - установить размер точки, задать нужные размеры, подвигать, покрутить (ну в общем все что угодно), отконвертировать в оттенки серого, сохранить в нужном формате (24 или 8 битный) сохранить с нужным расширением. Затем в программе остается установить такой же размер точки и получим рисунок 1 к 1 как и в редакторе. И не будут появлятся лишние строки в коде, как показывал выше.
			
			
									
									
						Дело в том что лишние строки в коде появляются из-за конвертации файла в программе и на границе цветов появляются переходные пиксели, которые размазывают границы (так называемая елочка). Во внешнем графическом редакторе можно подготовить полностью конечный файл для выжигания лазером - установить размер точки, задать нужные размеры, подвигать, покрутить (ну в общем все что угодно), отконвертировать в оттенки серого, сохранить в нужном формате (24 или 8 битный) сохранить с нужным расширением. Затем в программе остается установить такой же размер точки и получим рисунок 1 к 1 как и в редакторе. И не будут появлятся лишние строки в коде, как показывал выше.
- selenur
 - Почётный участник

 - Сообщения: 4605
 - Зарегистрирован: 21 авг 2013, 19:44
 - Репутация: 1622
 - Настоящее имя: Сергей
 - Откуда: Новый Уренгой
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Такую возможность сделать могу, нужно будет некоторые функции манипуляции с изображением переделать, поэтому по возможности сделаю.MAX3000 писал(а):selenur, а ты можешь сделать так чтоб программа открывала растровые рисунки без каких-либо конвертаций?
Дело в том что лишние строки в коде появляются из-за конвертации файла в программе и на границе цветов появляются переходные пиксели, которые размазывают границы (так называемая елочка). Во внешнем графическом редакторе можно подготовить полностью конечный файл для выжигания лазером - установить размер точки, задать нужные размеры, подвигать, покрутить (ну в общем все что угодно), отконвертировать в оттенки серого, сохранить в нужном формате (24 или 8 битный) сохранить с нужным расширением. Затем в программе остается установить такой же размер точки и получим рисунок 1 к 1 как и в редакторе. И не будут появлятся лишние строки в коде, как показывал выше.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
						Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- 
				MAX3000
 - Опытный
 - Сообщения: 107
 - Зарегистрирован: 17 дек 2015, 11:12
 - Репутация: 18
 - Настоящее имя: MaX
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Сделай пожалуйста, чем быстрее тем лучшеselenur писал(а):Такую возможность сделать могу, нужно будет некоторые функции манипуляции с изображением переделать, поэтому по возможности сделаю.MAX3000 писал(а):selenur, а ты можешь сделать так чтоб программа открывала растровые рисунки без каких-либо конвертаций?
Дело в том что лишние строки в коде появляются из-за конвертации файла в программе и на границе цветов появляются переходные пиксели, которые размазывают границы (так называемая елочка). Во внешнем графическом редакторе можно подготовить полностью конечный файл для выжигания лазером - установить размер точки, задать нужные размеры, подвигать, покрутить (ну в общем все что угодно), отконвертировать в оттенки серого, сохранить в нужном формате (24 или 8 битный) сохранить с нужным расширением. Затем в программе остается установить такой же размер точки и получим рисунок 1 к 1 как и в редакторе. И не будут появлятся лишние строки в коде, как показывал выше.
Есть еще одна идея. Если есть трудности с разработкой функционала преобразования ЯркостиПикселя в S, то может для начала проще сделать следующее:
1. Генерация файла на основе [255-bright] - это остается как оно и есть на данный момент;
2. А дополнительно сделать программу груповой замены символов вида S255, S100, S50 и т.д. в полученном файле, символами S1000, S500, S250 и т.д. по принципу как ты сделал переменные - @param1|Z гравировки|-1,7@, только средний параметр можно убрать и оставить:
@S255|S1000@;
@S100|S500@;
@S50|S250@.
Т.е. для каждой S-ки создать свою замену и прогнать файл, заменив S от 0 до 255 соответствующими значениями S от 0 до 1000.
- 
				LOGicBBS
 - Новичок
 - Сообщения: 5
 - Зарегистрирован: 26 июл 2016, 13:07
 - Репутация: 1
 - Настоящее имя: Олег
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
День добрый,
в версии 32 если в системе нет шрифта Aharoni программа падает с ошибкой, продолжить не дает
			
							
			
									
									
						в версии 32 если в системе нет шрифта Aharoni программа падает с ошибкой, продолжить не дает
- 
				MAX3000
 - Опытный
 - Сообщения: 107
 - Зарегистрирован: 17 дек 2015, 11:12
 - Репутация: 18
 - Настоящее имя: MaX
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Да, проблемаLOGicBBS писал(а):День добрый,
в версии 32 если в системе нет шрифта Aharoni программа падает с ошибкой, продолжить не дает
- selenur
 - Почётный участник

 - Сообщения: 4605
 - Зарегистрирован: 21 авг 2013, 19:44
 - Репутация: 1622
 - Настоящее имя: Сергей
 - Откуда: Новый Уренгой
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Вечером исправлю проблему.LOGicBBS писал(а):День добрый,
в версии 32 если в системе нет шрифта Aharoni программа падает с ошибкой, продолжить не дает
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
						Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- selenur
 - Почётный участник

 - Сообщения: 4605
 - Зарегистрирован: 21 авг 2013, 19:44
 - Репутация: 1622
 - Настоящее имя: Сергей
 - Откуда: Новый Уренгой
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Релиз 33: https://github.com/selenur/ToolsGenGkod ... 33/v33.zip
Поправил работу с пользовательским вводом текста, если установленный в операционную систему шрифт имеет ошибку, то переход на страницу с вводом текста будет происходить, но текст не будет отображаться, пока не будет выбран иной шрифт.
Что касается настройки пересчета зависимостей, типа S от brigth, то делаю следующим образом (ещё не готово, в процессе):
Будут собраны файлы в отдельном каталоге, вот с таким содержимым:
Где описывается имя переменной от куда брать значение, и имя переменной куда помещать результат.
А далее то самое что настраивается на графике, изменению яркости от 0-10 пропорционально вычисляется мощность от 0 до 30, далее при яркости от 11 до 100, вычисляется мощность от 31 до 200, и т.д.
Т.к. у меня данные хранятся условно, примерно так: То я добавлю новую страницу, на которую можно переходить с 9-й страницы, в ней можно будет в список добавлять 1 или несколько файлов, которые будут прогоняться по данным.
Т.е. первым файлом на основании яркости вычисляем значение S, а вторым например от значения S вычисляем значение F, или вообще значение Z.
			
			
									
									Поправил работу с пользовательским вводом текста, если установленный в операционную систему шрифт имеет ошибку, то переход на страницу с вводом текста будет происходить, но текст не будет отображаться, пока не будет выбран иной шрифт.
Что касается настройки пересчета зависимостей, типа S от brigth, то делаю следующим образом (ещё не готово, в процессе):
Будут собраны файлы в отдельном каталоге, вот с таким содержимым:
Код: Выделить всё
#зависимость S от brigth#
%source:bright%
%destination:S%
0;0
10;30
100;200
200;500
255;800
А далее то самое что настраивается на графике, изменению яркости от 0-10 пропорционально вычисляется мощность от 0 до 30, далее при яркости от 11 до 100, вычисляется мощность от 31 до 200, и т.д.
Т.к. у меня данные хранятся условно, примерно так: То я добавлю новую страницу, на которую можно переходить с 9-й страницы, в ней можно будет в список добавлять 1 или несколько файлов, которые будут прогоняться по данным.
Т.е. первым файлом на основании яркости вычисляем значение S, а вторым например от значения S вычисляем значение F, или вообще значение Z.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
						Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- 
				MAX3000
 - Опытный
 - Сообщения: 107
 - Зарегистрирован: 17 дек 2015, 11:12
 - Репутация: 18
 - Настоящее имя: MaX
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
А конвертация еще не готова?selenur писал(а):Релиз 33: https://github.com/selenur/ToolsGenGkod ... 33/v33.zip
Поправил работу с пользовательским вводом текста, если установленный в операционную систему шрифт имеет ошибку, то переход на страницу с вводом текста будет происходить, но текст не будет отображаться, пока не будет выбран иной шрифт.
- selenur
 - Почётный участник

 - Сообщения: 4605
 - Зарегистрирован: 21 авг 2013, 19:44
 - Репутация: 1622
 - Настоящее имя: Сергей
 - Откуда: Новый Уренгой
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
У меня в последние дни аврал на работе, в связи с чем приходя домой я ещё до 2-х ночи сижу доделываю работу, и на эту программу уже не хватает сил...MAX3000 писал(а):А конвертация еще не готова?selenur писал(а):Релиз 33: https://github.com/selenur/ToolsGenGkod ... 33/v33.zip
Поправил работу с пользовательским вводом текста, если установленный в операционную систему шрифт имеет ошибку, то переход на страницу с вводом текста будет происходить, но текст не будет отображаться, пока не будет выбран иной шрифт.
Пока только продумываю что как сделать, в промежутках ходьбы из дома на работу, и обратно...
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
						Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- 
				ASPtr
 - Кандидат
 - Сообщения: 47
 - Зарегистрирован: 19 янв 2017, 08:31
 - Репутация: 49
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добрый день! Спасибо за Вашу полезную и весьма перспективную программу.
Мучаю крайнюю версию (33). Из того, что заметил:
1. При применении фильтра "получение оттенков серого" вылазят небольшие артефакты на изображении. Проще показать (вверху исходник) на границах градиента появляются дополнительные переходы. Такое впечатление, что при конвертации используются значения соседних пикселей. Хотя, по идее, яркость можно получить просто из RGB.
На всякий случай исходный градиент 2. Какая-то путаница при генерации кода по профилю "лазер Bright - S". При движении в прямом и обратном направлении (змейкой) соседние строки выжигаются с разной яркостью (значении S). На примере приложенного градиента первый черный столбец слева направо S247, а справа налево S255. И так на всех столбцах кроме последнего ))
3. Вертикальный переход между строками, можно сделать по G0 или, допустим G1 S0 ?
PS Сочувствую Вашему авралу. Надеюсь разберетесь, когда появится время.
			
			
									
									
						Мучаю крайнюю версию (33). Из того, что заметил:
1. При применении фильтра "получение оттенков серого" вылазят небольшие артефакты на изображении. Проще показать (вверху исходник) на границах градиента появляются дополнительные переходы. Такое впечатление, что при конвертации используются значения соседних пикселей. Хотя, по идее, яркость можно получить просто из RGB.
На всякий случай исходный градиент 2. Какая-то путаница при генерации кода по профилю "лазер Bright - S". При движении в прямом и обратном направлении (змейкой) соседние строки выжигаются с разной яркостью (значении S). На примере приложенного градиента первый черный столбец слева направо S247, а справа налево S255. И так на всех столбцах кроме последнего ))
3. Вертикальный переход между строками, можно сделать по G0 или, допустим G1 S0 ?
PS Сочувствую Вашему авралу. Надеюсь разберетесь, когда появится время.
- selenur
 - Почётный участник

 - Сообщения: 4605
 - Зарегистрирован: 21 авг 2013, 19:44
 - Репутация: 1622
 - Настоящее имя: Сергей
 - Откуда: Новый Уренгой
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Спасибо за отзыв, и комментарий, все эти нюансы, я уже знаю, и поправлюASPtr писал(а):Добрый день! Спасибо за Вашу полезную и весьма перспективную программу.
Мучаю крайнюю версию (33). Из того, что заметил:
1. При применении фильтра "получение оттенков серого" вылазят небольшие артефакты на изображении. Проще показать (вверху исходник) на границах градиента появляются дополнительные переходы. Такое впечатление, что при конвертации используются значения соседних пикселей. Хотя, по идее, яркость можно получить просто из RGB.
На всякий случай исходный градиент 2. Какая-то путаница при генерации кода по профилю "лазер Bright - S". При движении в прямом и обратном направлении (змейкой) соседние строки выжигаются с разной яркостью (значении S). На примере приложенного градиента первый черный столбец слева направо S247, а справа налево S255. И так на всех столбцах кроме последнего ))
3. Вертикальный переход между строками, можно сделать по G0 или, допустим G1 S0 ?
PS Сочувствую Вашему авралу. Надеюсь разберетесь, когда появится время.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
						Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- 
				test3210
 - Опытный
 - Сообщения: 105
 - Зарегистрирован: 24 дек 2016, 22:16
 - Репутация: 31
 - Настоящее имя: Денис
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
это реализуется на уровне профиля посмотрите мой там это реализовано http://www.cnc-club.ru/forum/viewtopic. ... 20#p329627ASPtr писал(а): 3. Вертикальный переход между строками, можно сделать по G0 или, допустим G1 S0 ?
- 
				ASPtr
 - Кандидат
 - Сообщения: 47
 - Зарегистрирован: 19 янв 2017, 08:31
 - Репутация: 49
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Спасибо. С этим разобрался, нашел доку с описанием синтаксиса скриптов.test3210 писал(а):это реализуется на уровне профиля посмотрите мой там это реализовано
Больше интересует второй вопрос. Насколько я могу судить, проблема сейчас в следующем. Допустим есть фрейм:
G1 X10 Y10 S100
т.е. мы рисуем отрезок из текущей точки до точки (10;10) с яркостью 100, но при этом точка (10;10) это координаты начала следующего отрезка, и яркость "100" это, соответственно, яркость СЛЕДУЮЩЕГО отрезка. Таким образом, мы выжигаем текущий отрезок с яркостью последующего. Если я ничего не путаю )) Надо, как бы, сдвинутся на одну ступень.
Можно это исправить на уровне профиля? Пользовательские переменные поддерживаются?
- selenur
 - Почётный участник

 - Сообщения: 4605
 - Зарегистрирован: 21 авг 2013, 19:44
 - Репутация: 1622
 - Настоящее имя: Сергей
 - Откуда: Новый Уренгой
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Версия 43: https://github.com/selenur/ToolsGenGkod ... 34/v34.zip
На странице №9 поменял алгоритмы изменения изображения, проверяйте
			
			
									
									На странице №9 поменял алгоритмы изменения изображения, проверяйте
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
						Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- 
				ASPtr
 - Кандидат
 - Сообщения: 47
 - Зарегистрирован: 19 янв 2017, 08:31
 - Репутация: 49
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Да как-то не очень ((selenur писал(а):На странице №9 поменял алгоритмы изменения изображения, проверяйте
Первые два фильтра вообще вылетают с "эксэпшеном", а в третьем путаница с пикселями и миллиметрами. В результате изображение уменьшается. И лишние 30 пикселей откуда-то.
- 
				MAX3000
 - Опытный
 - Сообщения: 107
 - Зарегистрирован: 17 дек 2015, 11:12
 - Репутация: 18
 - Настоящее имя: MaX
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
selenur, чето не то, чето при изменении диаметра точки меняется количество точек и код генерируется кривой, но есть и положительный результат - картинка в программе получается, вроде, нормальная.selenur писал(а):Версия 43: https://github.com/selenur/ToolsGenGkod ... 34/v34.zip
На странице №9 поменял алгоритмы изменения изображения, проверяйте
Вобщем все на скринах.
- selenur
 - Почётный участник

 - Сообщения: 4605
 - Зарегистрирован: 21 авг 2013, 19:44
 - Репутация: 1622
 - Настоящее имя: Сергей
 - Откуда: Новый Уренгой
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Что-то при отправке сообщения, последнее предложение не сохранилось, в итоге всех ввел в заблуждение, извиняюсь.  
 
В последнем релизе, я математику расчета итогового размера не успел сделать, релиз выложил что-бы проверили что при изменении масштаба, не меняется цвет у точек которые находятся рядом с точками другого цвета, т.е. вроде больше нет артефактов.
			
			
									
									В последнем релизе, я математику расчета итогового размера не успел сделать, релиз выложил что-бы проверили что при изменении масштаба, не меняется цвет у точек которые находятся рядом с точками другого цвета, т.е. вроде больше нет артефактов.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
						Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- 
				MAX3000
 - Опытный
 - Сообщения: 107
 - Зарегистрирован: 17 дек 2015, 11:12
 - Репутация: 18
 - Настоящее имя: MaX
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Рисунки, вроде, нормально масштабируются, переходы чистые, ровные и без цветовых искаженийselenur писал(а):Что-то при отправке сообщения, последнее предложение не сохранилось, в итоге всех ввел в заблуждение, извиняюсь.![]()
В последнем релизе, я математику расчета итогового размера не успел сделать, релиз выложил что-бы проверили что при изменении масштаба, не меняется цвет у точек которые находятся рядом с точками другого цвета, т.е. вроде больше нет артефактов.
Есть некоторая непонятка с пересчетом размеров, но с этим со временем разберемся.
А вот генерацию кода посмотри пожалуйста, а то она стала полностью кривая, а раньше вроде было нормально.
- selenur
 - Почётный участник

 - Сообщения: 4605
 - Зарегистрирован: 21 авг 2013, 19:44
 - Репутация: 1622
 - Настоящее имя: Сергей
 - Откуда: Новый Уренгой
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
На гитхабе пока новый релиз не размещал, т.к. в последнее время из-за больших переделок, много глюков наловил, поэтому для тестов есть 35 релиз: https://drive.google.com/open?id=0B-Hkc ... lBBNHFuQ1E
Что сделано:
1) Поддерживаются как и раньше BMP, JPG, GIF, PNG изображения, но теперь не только 24-х и 32-х битные, но и 8-ми битные изображения. (Перепробовал все имеющиеся рисунки, вроде не нашел ни одного, которое могло вызвать ошибку, но если найдете поделитесь файлом).
2) Переработан алгоритм 3-го фильта на 9-й странице, убраны некоторые недочеты, раньше было так: теперь так: И результат в Candle стал нормально отображаться: Пересчет размеров вроде поправил, как было в 33 версии, но если что пишите
			
			
									
									Что сделано:
1) Поддерживаются как и раньше BMP, JPG, GIF, PNG изображения, но теперь не только 24-х и 32-х битные, но и 8-ми битные изображения. (Перепробовал все имеющиеся рисунки, вроде не нашел ни одного, которое могло вызвать ошибку, но если найдете поделитесь файлом).
2) Переработан алгоритм 3-го фильта на 9-й странице, убраны некоторые недочеты, раньше было так: теперь так: И результат в Candle стал нормально отображаться: Пересчет размеров вроде поправил, как было в 33 версии, но если что пишите
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
						Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- selenur
 - Почётный участник

 - Сообщения: 4605
 - Зарегистрирован: 21 авг 2013, 19:44
 - Репутация: 1622
 - Настоящее имя: Сергей
 - Откуда: Новый Уренгой
 - Контактная информация:
 
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Скопировал рисунок с заголовка форума, и выбрал профиль яркости + Z, получилось так-же вроде ничё, с заглублением по Z:
			
			
									
									Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
						Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/