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

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Сейчас сделал небольшой прототип настройки:
2017-01-03_155318.jpg (2668 просмотров) <a class='original' href='./download/file.php?id=99045&mode=view' target=_blank>Загрузить оригинал (60.45 КБ)</a>
Где в таблице указывается какое значение яркости, будет соответствовать значению S, количество точек можно делать от 2-х до 255.
Думал по поводу ползунков (эквалайзера) тоже вариант, но как реализовать интерфейс даже не знаю....
Что думаете? :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
staltech
Почётный участник
Почётный участник
Сообщения: 544
Зарегистрирован: 01 июл 2016, 22:50
Репутация: 155
Настоящее имя: Сергей
Откуда: Пензенская обл., г. Никольск
Контактная информация:

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

Сообщение staltech »

selenur писал(а):количество точек можно делать от 2-х до 255.
Количество точек скорее всего должно соответствовать какой то градуировочной шкале, которую нужно будет отгравировать перед заполнением таблицы.
y-u-r
Кандидат
Сообщения: 68
Зарегистрирован: 18 дек 2016, 06:43
Репутация: 4
Настоящее имя: Юрий
Контактная информация:

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

Сообщение y-u-r »

Я так понял , что нужно переписать файл и указать Z1 - безопасная Z0 глубина(-)
Пусть Z1 = 22
Z0= -33
я хоть в тексте их найду , буду знать, пока вы не доработаете программу (надеюсь :))
Но где что ....................... :wik:

К тому же вываливается такое окно при некоторых наверное больших файлах ..... :wik: :wik:
Вложения
Безымянный.jpg (2661 просмотр) <a class='original' href='./download/file.php?id=99048&mode=view' target=_blank>Загрузить оригинал (129.01 КБ)</a>
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

y-u-r писал(а):Я так понял , что нужно переписать файл и указать Z1 - безопасная Z0 глубина(-)
Пусть Z1 = 22
Z0= -33
я хоть в тексте их найду , буду знать, пока вы не доработаете программу (надеюсь :))
Но где что ....................... :wik:

К тому же вываливается такое окно при некоторых наверное больших файлах ..... :wik: :wik:
С ошибкой, это версия программы которую я сделал года полтора назад......
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
y-u-r
Кандидат
Сообщения: 68
Зарегистрирован: 18 дек 2016, 06:43
Репутация: 4
Настоящее имя: Юрий
Контактная информация:

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

Сообщение y-u-r »

Не все так просто, как кажется. Двойной проход получается часто нужен..
Попросил знакомый в их народное творчество гравировку сделать.
Эскиз он сотворил в Layout6 - там удобно в линиях всё набросал и ОК. (Кому интересно файл представил в архиве.)
Преобразовал из Layout6 в БМП и на всякий случай в JPG/
С БМП послали меня сразу :hehehe:
JPG вроде заглотила....
Попытался включить преобразование в одну линию - исчезли в результате тонкие линии балалайки :hehehe:
:shock:
Отказался от преобразований. Начал заново....
Думал повисла программа - уж очень долго вектора делает. А индикатора процессов нету. :wik: , они как бы и есть но работают жутко некорректно.
Может я и не так все этапы готовлю потому и долго...
Масштабирование работает нормально.
Ну в общем минут за 20 прошел все шаги сформировался код . Снова без высоты гравировки. Пока как файл текстовый с высотами готовить не знаю....

Укажите мне пожалуйста где в файле Профиль/фрезьеровка/тхт
указать например
Z1 - безопасная
Z0 - глубина фрезьерования (-)

Пусть Z1 = 22
Z0= -33
Я хоть дальше испытания продолжу......
Вложения
Безымянный1.jpg (2650 просмотров) <a class='original' href='./download/file.php?id=99051&mode=view' target=_blank>Загрузить оригинал (158.34 КБ)</a>
ОРНИ звезда.rar
(11.13 КБ) 276 скачиваний
фрезер.txt
(269 байт) 994 скачивания
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Что-бы бмп проглотил достаточно его сохранить, в том-же паинте как 24-разрядный рисунок.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
y-u-r
Кандидат
Сообщения: 68
Зарегистрирован: 18 дек 2016, 06:43
Репутация: 4
Настоящее имя: Юрий
Контактная информация:

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

Сообщение y-u-r »

Спасибо!
Так про фрезьер .тхт подскажите , испытания тормозятся :)
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

вот файл
фрезер.txt
(271 байт) 938 скачиваний
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Как вам такая идея:
В файле профиля станка, добавляем параметры которые нужно спросить у пользователя, например добавляем 2 параметра param1 и param2, каждый параметр так-же будет иметь строковое описание "Z гравировки" и "Z безопасная", и значение по умолчанию -1 и 10 соответственно.
В итоге при нажатии на кнопку сформировать, появляется окошко:
2017-01-03_202438.jpg (2625 просмотров) <a class='original' href='./download/file.php?id=99059&mode=view' target=_blank>Загрузить оригинал (135.05 КБ)</a>
В котором можно в случае необходимости скорректировать значение, и нажать кнопку ОК, после чего генерируется G-код, формат профиля например будет выглядеть так:

Код: Выделить всё

# Фрезер / гравер #
$.$
@param1|Z гравировки|-1@
@param2|Z безопасная|10@
"%"
"M3"
"G0 F400"
"G1 F400"
"Z"[param2]
"X0 Y0"

LINES
{
   "G0 X"[X'#0.##'] "Y"[Y'#0.##']
   "G1 Z"[param1]

   POINTS
   {
		[SKIP_FIRST_POINT]
      	"X"[X'#0.##'] "Y"[Y'#0.##']
   }

   "G0 Z"[param2]
}

"M5"
"G0 X0 Y0 Z"[param2]
"M30"
"%"
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
test3210
Опытный
Сообщения: 105
Зарегистрирован: 24 дек 2016, 22:16
Репутация: 31
Настоящее имя: Денис
Контактная информация:

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

Сообщение test3210 »

Только за, причем куда применить решать пользавателю, кто-то напишет @param1|Скорость обработки|2000@ кто-то @param1|S максимум|10000@ и т д, гибкость выше
y-u-r
Кандидат
Сообщения: 68
Зарегистрирован: 18 дек 2016, 06:43
Репутация: 4
Настоящее имя: Юрий
Контактная информация:

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

Сообщение y-u-r »

В принципе хорошо.
Но я в конец запутался еще и с преобразованиями :hehehe:
Новая программа вообще взбрыкнула,( когда пошли выборы каких то фильтров обработки изображения ) делал в старой программе "звезду".
При преобразованиях потерял балалайки ... :hehehe:
Поскольку был переход с большого разрешения на малое потерялись тонкие линии в центре !!!
(Я про преобразования двух контуров в один молчу. Думаю это возможно только в векторном варианте рисунка.Так как только при этом можно задать минимальную толщину линии, и не потерять её совсем !!! )

Исходный векторный файл Layout6 может экспортироваться в *.PLT , может новая программа работать с PLT ?
На всякий случай представил его, только нужно как то уменьшить примерно в 2-3 раза (примерно квадрат с 300мм до 110мм)

Короче вечер впустую и кусок оргстекла в помойку , слишком поздно заметил , что балалайки пропали...... :cry:
Вложения
xxx_2_.JPG (2608 просмотров) <a class='original' href='./download/file.php?id=99093&mode=view' target=_blank>Загрузить оригинал (199.94 КБ)</a>
IMGP6227.JPG (2608 просмотров) <a class='original' href='./download/file.php?id=99102&mode=view' target=_blank>Загрузить оригинал (29.17 КБ)</a>
ОРНИ звезда.rar
(11.13 КБ) 236 скачиваний
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Алгоритм утоньшения, работает только для растровых изображений, принцип заключается в удалении контуров, послойно, до получения полоски толщиной в 1 пиксель:
2017-01-03_231616.jpg (2597 просмотров) <a class='original' href='./download/file.php?id=99104&mode=view' target=_blank>Загрузить оригинал (58.84 КБ)</a>
В связи с чем некоторые детали могут теряться.
А файл из спринт-а посмотрю....

Все векторные данные, в мою программу, изначально попадают в виде набора точек, которые образуют данные, в которых потерь тех или иных данных не должно быть, если что-то не получается, или результат получается не такой, как ты ожидаешь, пиши, выкладывай файлы, и я постараюсь помочь, по возможности, :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
MAX3000
Опытный
Сообщения: 107
Зарегистрирован: 17 дек 2015, 11:12
Репутация: 18
Настоящее имя: MaX
Контактная информация:

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

Сообщение MAX3000 »

selenur писал(а):Сейчас сделал небольшой прототип настройки:
2017-01-03_155318.jpg
Где в таблице указывается какое значение яркости, будет соответствовать значению S, количество точек можно делать от 2-х до 255.
Думал по поводу ползунков (эквалайзера) тоже вариант, но как реализовать интерфейс даже не знаю....
Что думаете? :-)
selenur, ОТЛИЧНО :good: Можно в принципе и так оставить, а можно сразу добавить две переменные - Smin и Smax. Значение S-power должно быть между этими значениями. Сразу отпадает вопрос с разными пределами S в разных программах от 0 до 255 или от 0 до 1000 (да хоть от 100 до 10000) - какие нужны пределы (от Smin до Smax) такие и задавай. И график наглядней будет - пустые области снизу и сверху отсекутся.
А с эквалайзером можешь не спешить - со временем придумаешь. Для начала и таблицы достаточно :good:
Последний раз редактировалось MAX3000 04 янв 2017, 11:20, всего редактировалось 1 раз.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

MAX3000 писал(а):
selenur писал(а):Сейчас сделал небольшой прототип настройки:
2017-01-03_155318.jpg
Где в таблице указывается какое значение яркости, будет соответствовать значению S, количество точек можно делать от 2-х до 255.
Думал по поводу ползунков (эквалайзера) тоже вариант, но как реализовать интерфейс даже не знаю....
Что думаете? :-)
selenur, ОТЛИЧНО :good: Можно в принципе и так оставить, о можно сразу добавить две переменные - Smin и Smax. Значение S-power должно быть между этими значениями. Сразу отпадает вопрос с разными пределами S в разных программах от 0 до 255 или от 0 до 1000 (да хоть от 100 до 10000) - какие нужны пределы (от Smin до Smax) такие и задавай. И график наглядней будет - пустые области снизу и сверху отсекутся.
А с эквалайзером можешь не спешить - со временем придумаешь. Для начала и таблицы достаточно :good:
Ну тогда на этом решении и остановимся. :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Predator писал(а):А, кривую в таблице, можно мышкой таскать?
Позже реализую, когда основной функционал будет отлажен, тогда и займусь бантиками :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Predator
Мастер
Сообщения: 9583
Зарегистрирован: 18 июл 2013, 18:26
Репутация: 2531
Контактная информация:

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

Сообщение Predator »

selenur, Ну вот, тогда и бегунки примастыришь, можно будет и ими и за кривую таскать. ;)
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

Сейчас внутренности программы немного переделываю, поэтому могут появиться некоторые ошибки....
А так постарался поправить ошибки с вариант расположения осей, и добавил поддержку параметров в профиле станка.
Вот новая версия программы: https://github.com/selenur/ToolsGenGkod ... 28/v28.zip

Теперь если в профиле, есть:
2017-01-04_185928.jpg (2549 просмотров) <a class='original' href='./download/file.php?id=99154&mode=view' target=_blank>Загрузить оригинал (58.69 КБ)</a>
То при нажатии на кнопку генерации, будет появляться вот такое окошко:
2017-01-04_190017.jpg (2549 просмотров) <a class='original' href='./download/file.php?id=99155&mode=view' target=_blank>Загрузить оригинал (153.32 КБ)</a>
После закрытия окна будет сгенерирован G-код, в котором параметры будут вставлены в следующие места:
2017-01-04_190047.jpg (2549 просмотров) <a class='original' href='./download/file.php?id=99156&mode=view' target=_blank>Загрузить оригинал (119.82 КБ)</a>
В файле профиля у параметра, где задается число подставляемое по умолчанию, нужно использовать тот символ разделителя дробной части, что задан в вашей ОС. Иначе при парсинге значение будет равно нулю!!!
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
xvovanx
Мастер
Сообщения: 3772
Зарегистрирован: 25 фев 2016, 12:27
Репутация: 920
Настоящее имя: Владимир
Откуда: Latvia
Контактная информация:

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

Сообщение xvovanx »

selenur писал(а):Как вам такая идея...
:good: то что надо
test3210
Опытный
Сообщения: 105
Зарегистрирован: 24 дек 2016, 22:16
Репутация: 31
Настоящее имя: Денис
Контактная информация:

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

Сообщение test3210 »

не поленился проверить, и как ожидал параметров больше 2 :D
может кому-то пригодится мой файлик под лазер
# Настройка для лазерного выжигателя test3210 - Bright #
$.$
@param1|S min|160@
@param2|S max|180@
@param3|F min|300@

"G1 F3000 X0 Y0 Z0"
"S0"
"M3"

LINES
{
"G1 X"[X] "Y"[Y] " F5000 S0"
POINTS
{
"G1 X"[X] "Y"[Y] " S"[param1+((255-bright)/255*(param2-param1))'#0.']" F"[param3+((bright)*4)'#0.']
}

}
"M5"
и появляется 3 переменных, задавай что хочется , умолчания под свой станок правятся в профиле
Вложения
Image2.gif (2527 просмотров) <a class='original' href='./download/file.php?id=99173&mode=view' target=_blank>Загрузить оригинал (48.45 КБ)</a>
Ответить

Вернуться в «Windows / Mach»