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

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

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

Сообщение selenur »

2016-11-28_105412.jpg <a class='original' href='./download/file.php?id=96024&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (128.29 КБ)</a>

Программа позволяет генерировать G-код, для фрезерных, лазерных, гравировальных станков, с учетом их особенностей, согласно правилам синтаксиса: http://selenur.ru/?page_id=516 <
Источником данных могут быть:
[*]Текст введенный пользователем, файл шрифта может быть встроенным в ОС, так и внешний из файла.
[*]PLT файл получаемого из программы COREL DRAW
[*]Рисунок, выполняется анализ изображения, и вычисляется контур изображения (jpg, jpeg, gif, bmp, png).
[*]Рисунок, выполняется генерация G-кода для выжигания лазером (jpg, jpeg, gif, bmp, png).
[*]DXF файл.

Программа находится в процессе разработки, и конечно содержит не мало ошибок, но я её решил выложить, что-бы ещё на стадии разработки, совместно с пользователями сделать максимально простой, и интуитивно понятной.
Программа абсолютно бесплатная, и платной не станет, но любой кто имеет желание и возможность, поддержать финансово, может в справке "О программе", узнать как это сделать :-)


Более подробно под спойлером:
(для просмотра содержимого нажмите на ссылку)
Вот 2 видео примера создания G-кода из текста, и рисунков, с последующим открытием G-кода в программе Planet-CNC
https://www.youtube.com/watch?v=K_h2KEQm4ag

https://www.youtube.com/watch?v=sUMc9mvYs88

Обновление программы от 2016-10-30 версия 20 -->>
v20.rar
(469.97 КБ) 1730 скачиваний
Обновление программы от 2016-11-28 версия 21 -->>
v21.rar
(523.59 КБ) 886 скачиваний
Обновление программы от 2016-11-29 версия 22 -->>
v22.rar
(519.08 КБ) 812 скачиваний
Обновление программы от 2016-12-07 версия 24 -->>
v24.rar
(419.18 КБ) 3056 скачиваний
Обновление программы от 2016-12-30 версия 26 -->> https://github.com/selenur/ToolsGenGkod ... 26/v26.zip
Добавлена генерация изображения с градациями серого, для выжигания.

Интерфейс программы реализован, в виде набора страниц, которые отображаются в определенной последовательности, и только те страницы, которые необходимы, для получения результата.
Начальные данные могут быть 2-х вариантов, это рисунок, или некий набор отрезков, точек. В конце эти данные преобразуются в необходимые данные, для получения G-кода.
Порядок следования страниц следующий:
gPages.png <a class='original' href='./download/file.php?id=96028&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (65.87 КБ)</a>
Вот изображения возможных станиц:

!!! Лишь под некоторыми страницами будет описание элементов, т.к. остальное должно быть понятно и так ;-)
Страница 1
s1.jpg <a class='original' href='./download/file.php?id=96066&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (162.87 КБ)</a>
Страница 2
s2.jpg <a class='original' href='./download/file.php?id=96067&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (189.7 КБ)</a>
Страница 3
s3.jpg <a class='original' href='./download/file.php?id=96068&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (134.54 КБ)</a>
Страница 4
s4.jpg <a class='original' href='./download/file.php?id=96069&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (185.42 КБ)</a>
Для получения контуров, рисунок необходимо преобразовать в 2-х цветный рисунок, из цветного, для этого с помощью коэффициента подбирается желаемый результат, после подбора, можно поставив флажок, инвертировать получаемое 2-х цветное изображение. После этого можно запустить получение контура.
Страница 5
s5.jpg <a class='original' href='./download/file.php?id=96070&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (139.37 КБ)</a>
Страница 6
s6.jpg <a class='original' href='./download/file.php?id=96071&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (250.46 КБ)</a>
Первая кнопка с сбросом позволяет отменить все манипуляции, проведенные с отрезками и точками. Нажатие второй кнопки, или изменение числа, вызывает оптимизацию траектории.
Третья кнопка - замыкает каждый из отрезков, что-бы начальная и конечная точка совпадала.
Четвертая кнопка - выполняет поиск оптимальной последовательности движения.
Пятая кнопка - соединяет несколько отрезков в один, если точки одного отрезка начала/окончания совпадают с точками другого отрезка начала/окончания.
И последняя точка позволяет удалить выбранную точку или отрезок.
Страница 7
s7.jpg <a class='original' href='./download/file.php?id=96072&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (256.2 КБ)</a>
Первая кнопка сбрасывает все выполненные манипуляции на данной странице, вторая и третья кнопка, выполняют зеркальный переворот, следующее числовое поле, с кнопкой выполняет поворот на заданный угол, если угол поворота задан был неверно, то желательно выполнить сброс изменений, и повторно повернуть. Если в разделе "конвертирование размеров", ничего не трогать, то размер не измениться.
Флаг "Добавление отступов" приведет к переходу на 8-ю страницу, но она пока не готова, поэтому данным флагом пока не стоит пользоваться.
Страница 9
s9.jpg <a class='original' href='./download/file.php?id=96074&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (281.45 КБ)</a>
В разделе время прожига значение в данном поле, будет помещаться в параметр "P" при генерации G-кода
Так-же на данной странице обязательно необходимо вводит желаемый размер!!!
Страница 10
s10.jpg <a class='original' href='./download/file.php?id=96073&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (181.76 КБ)</a>

В связи с появившемся пожеланиями и задачами, сейчас ведется разработка новой 3-й версии программы, она будет содержать все прошлые наработки, и иметь новые:
1) Возможность при выборе изображения изменять яркость.
2) Возможность выборочного повторения траекторий, с возможностью изменения значения Z - с заданным шагом, в пределах указанных границ.
3) Возможность добавления рамок, обрамлений, контуров обрезки для сгенерированных траекторий.
4) Добавить возможность создания новой траектории относительно выбранной, с внешней/внутренней стороны с нужным отступом
5) Возможность использования нескольких источников данных одновременно, например рисунок для гравировки + введеный текст + рамка из DXF файла
6) Добавление окошка с выводом информации о процессе выполнения вычислений, с возможностью остановки выполнения.
7) Расчет предположительного времени выполнения сгенерированного G-кода.
8) Добавление источника данных "набор траекторий"
9) Добавление источника данных GERBER файлы
10) Добавление источника данных файлы DRL - сверловки.
11) Возможность на любом шаге формирования траекторий для G-кода сохранять в файл "набор траекторий"
12) Возможность настройки индивидуальной последовательности, нужных пользователю страниц.
13) Добавить получение скелетизации на основании траекторий.
Последний раз редактировалось selenur 23 май 2017, 00:40, всего редактировалось 33 раза.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4324
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1517
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

Поправил ещё кое какие ошибки, и записал видео получения G-кода из PLT файла.
Для примера я скачал герб России в формате CorelDraw и экспортировал в формате PLT:
https://www.youtube.com/watch?v=vc1hpwsle0k
Но пока есть проблема, заключается в том что если есть несколько замкнутых траекторий, которые закрашены внутри, и одна траектория находится над другой, то мой алгоритм пока не скрывает невидимые линии.

Пока делал видео заметил что корел может импортировать данные из кучи форматов, и я проверил на формате DXF, т.е. через корел прогнал DXF, и посредством PLT загрузил в свою программу, и вот что получилось:
https://www.youtube.com/watch?v=TZC_JyoQqLk

Ну и более свежая версия программы:
genGkode.zip
(199.78 КБ) 9220 скачиваний
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
mycnc
Мастер
Сообщения: 854
Зарегистрирован: 03 июл 2011, 02:01
Репутация: 583
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение mycnc »

Клиент спрашивал про фишку преобразованием TTF текста в g-код.
Если есть желание, можно обсудить варианты сотрудничества.
Аватара пользователя
xvovanx
Мастер
Сообщения: 2301
Зарегистрирован: 25 фев 2016, 12:27
Репутация: 608
Настоящее имя: Владимир
Откуда: Latvia
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение xvovanx »

Вот текст ошибки ""Out of memory" при загрузке картинки 160х160, правда вот ОС на рабочем компе XP :oops: . Может в этом все дело? Или каких длл-ок не хватает у ХР-ки? На 7-ке все путем.
(для просмотра содержимого нажмите на ссылку)
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.OutOfMemoryException: Out of memory.
at System.ComponentModel.ReflectPropertyDescriptor.SetValue(Object component, Object value)
at System.Windows.Forms.RadioButton.PerformAutoUpdates(Boolean tabbedInto)
at System.Windows.Forms.RadioButton.set_Checked(Boolean value)
at System.Windows.Forms.RadioButton.OnClick(EventArgs e)
at System.Windows.Forms.RadioButton.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3655 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
ToolsGenGkode
Assembly Version: 2.0.0.0
Win32 Version: 2.0.0.0
CodeBase: file:///D:/Torrent/Load/genGkode/ToolsGenGkode.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3645 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3644 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3644 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Cyotek.Windows.Forms.ImageBox
Assembly Version: 1.1.4.2
Win32 Version: 1.1.4.2
CodeBase: file:///D:/Torrent/Load/genGkode/Cyotek.Windows.Forms.ImageBox.DLL
----------------------------------------
Accessibility
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4324
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1517
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

xvovanx писал(а):Вот текст ошибки ""Out of memory" при загрузке картинки 160х160, правда вот ОС на рабочем компе XP :oops: . Может в этом все дело? Или каких длл-ок не хватает у ХР-ки? На 7-ке все путем.
Похоже косяк в Cyotek.Windows.Forms.ImageBox.DLL - это сторонняя библиотека, которая используется для предварительного просмотра, программы я все делаю с применением "microsoft framework 2", более свежие версии не использую, как раз для того что-бы в winXP работало, и похоже из майкрософта что-то не досмотрели, надо будет позже ХР в виртуалке запустить и проверить...
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4324
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1517
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

На 6-й странице работы с векторами добавил кнопку оптимизация холостых проходов.
2016-07-12_002721.jpg <a class='original' href='./download/file.php?id=84526&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (177.97 КБ)</a>
и вот парочка результатов:
2016-07-12_002950.jpg <a class='original' href='./download/file.php?id=84527&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (390.24 КБ)</a>
2016-07-12_003127.jpg <a class='original' href='./download/file.php?id=84528&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (289.28 КБ)</a>
И последняя версия:
genGkode.zip
(200.12 КБ) 2577 скачиваний
:-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4324
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1517
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

Ещё немного доработал программу:
Добавил информацию о количестве отрезков и точек, на странице №6 работы с отрезками
2016-07-16_234641.jpg <a class='original' href='./download/file.php?id=85012&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (202.55 КБ)</a>
Добавил выбор профайла настроек для генерации G-кода
2016-07-16_234837.jpg <a class='original' href='./download/file.php?id=85013&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (170.23 КБ)</a>
Для этого в каталоге с программой будет каталог "profiles", в котором можно располагать любое количество файлов, и с любым именем и расширением.
2016-07-16_234917.jpg <a class='original' href='./download/file.php?id=85014&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (54.31 КБ)</a>
Содержимое файла такое:

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

[NAME]                 // наименование которое выводится в программе
     Настройка для фрезерного ЧПУ станка

[CODE1]              // код который будет установлен в начале файла
     M3                   // включим шпиндель
     G0 F500          // настроим скорость   
     G1 F300          // настроим скорость
     G0 X0 Y0 Z10  // спозиционируемся в начальную точку

[CODE2]              // код который будет установлен в конце файла
     M5                   // выключим шпиндель
     G0 Z10            // поднимем на безопастную высоту
     G0 X0 Y0        // и вернем в начальную точку

[CODE3]             // код который выполнится после подхода к первой точке траектории
     G1 Z0             // опускаем шпиндель        

[CODE4]             // код который выполнится после подхода к последней точке траектории 
     G0 Z10           // поднимаем шпиндель 
После того как мы выбрали профайл, мы можем сразу посмотреть что будет подставляться в G-код:
2016-07-16_235352.jpg <a class='original' href='./download/file.php?id=85015&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (276.97 КБ)</a>
Если в окошке G-команд, изменить команды, то при генерации G-кода эти изменения будут использованы. Но в сам файл настроек эти изменения пока не заносятся.

И свежая версия программы:
genGcode.zip
(205.93 КБ) 2246 скачиваний
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
ALS
Опытный
Сообщения: 159
Зарегистрирован: 15 ноя 2013, 01:46
Репутация: 160
Откуда: Севастополь
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение ALS »

На WinXP 32bit выдает ту же ошибку :
Clipboard01.png <a class='original' href='./download/file.php?id=85017&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (18.05 КБ)</a>
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4324
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1517
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

ALS писал(а):На WinXP 32bit выдает ту же ошибку :
Clipboard01.png
Спасибо, посмотрю.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4324
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1517
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

Проблему связанную с winXP нашел, вопрос лишь в том, как много людей ещё применяют XP?
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4324
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1517
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

В зависимости от выбранных параметров, может меняться путь следования по страницам, и сейчас реализован путь получения контуров, с последующей генерацией G-кода. Сейчас я подошел к реализации шага который получает 2-х цветное, или 256 цветное (градации серого), получение этих данных происходит со страницы №5.
2016-07-18_085806.jpg <a class='original' href='./download/file.php?id=85098&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (106.81 КБ)</a>
И дальше нужно придумать как это превратить в G-код, который с помощью лазера, фрезера перенесет это на материал, но ранее я не встречался с такими программами, может кто подскажет какие есть программы, что-бы с них перенять опыт.
Так-же хочу добавить возможность когда изображение трансформируется в набор точек, например так:
2016-07-18_092801.jpg <a class='original' href='./download/file.php?id=85099&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (31.66 КБ)</a>
или некоторых пользовательских фигур, которые располагаются с различной плотностью, в зависимости от цвета на изображении, что-бы получилось примерно так:
2016-07-18_093548.jpg <a class='original' href='./download/file.php?id=85100&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (43.83 КБ)</a>
Но не знаю где посмотреть готовые реализации, что-бы самому не выдумывать :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4324
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1517
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

Нашел исходники программы:
2016-07-18_101902.jpg <a class='original' href='./download/file.php?id=85101&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (178.19 КБ)</a>
Такой эффект называется "Дизеринг" ;-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
ALS
Опытный
Сообщения: 159
Зарегистрирован: 15 ноя 2013, 01:46
Репутация: 160
Откуда: Севастополь
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение ALS »

selenur писал(а):Проблему связанную с winXP нашел, вопрос лишь в том, как много людей ещё применяют XP?
За всех, конечно, не скажу :)
Но если допиливание под ХР не займет много времени/сил, то почему бы не сделать ?
Да и некое противоречие возникает : на Вин7, как правило, установлен .Net v3 или 4, на ХР же, если он установлен, то v2.
Я бы и его не устанавливал, если бы не PICkit2, которому он тоже нужен.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4324
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1517
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

ALS писал(а):
selenur писал(а):Проблему связанную с winXP нашел, вопрос лишь в том, как много людей ещё применяют XP?
За всех, конечно, не скажу :)
Но если допиливание под ХР не займет много времени/сил, то почему бы не сделать ?
Да и некое противоречие возникает : на Вин7, как правило, установлен .Net v3 или 4, на ХР же, если он установлен, то v2.
Я бы и его не устанавливал, если бы не PICkit2, которому он тоже нужен.
3,4-й фрейворк обратно совместим, благодаря чему моя программа разработаная под 2-й, нормально работает.
Переделка в принципе не сложная (просто изображение я побайтно перевариваю, и всего немного для XP нужно переделать), просто будет потребление памяти под XP больше, на 5-м шаге (как это было в первой версии), сейчас я перед работой с изображением, перегоняю его в изображение у которого каждый пиксель занимает 1 байт, а раньше было по 3 байта на пиксель. Ну тогда добавлю параллельно конкретно для XP ряд функций.
Причина кому интересна под спойлером:
(для просмотра содержимого нажмите на ссылку)
Есть функция Bitmap.Clone() которая из текущего рисунка который может иметь разнообразный формат изображения, возвращает новое изображение с нужным форматом, в моем случае это PixelFormat.Format8bppIndexed, для удобства анализа изображения побайтно, так вот это должно нормально работать под любой ОС, но к сожалению под XP не работает :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
staltech
Почётный участник
Почётный участник
Сообщения: 544
Зарегистрирован: 01 июл 2016, 22:50
Репутация: 155
Настоящее имя: Сергей
Откуда: Пензенская обл., г. Никольск
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение staltech »

Использовали немного другой эффект для преобразования рисунка в одно-битовый растр: CorelDraw ->Растровые изображения->Режим->Черно-белый 1-бит -> метод преобразования Флойд-Штейнберг.
При гравировке на зеркале перед преобразованием в черно белый режим картинку нужно инверсировать.
Нашел старое фото с нашими экспериментами по печати на амальгаме зеркал (лазерный гравер VLS 3.60), в нем ПО позволяет работать как с векторной так и с растровой графикой.
about.png <a class='original' href='./download/file.php?id=85257&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (512.46 КБ)</a>
Все кроме бутылки сделано лазером, бутылка глубокий пескоструй по трафарету с последующей заливкой краски.
Встречал ролик с гравировкой по амальгаме с использованием фрезера, долго конечно но реально.
Еще образец растровой гравировки лазером по напылению нитрида титана.
IMG_0522.jpg <a class='original' href='./download/file.php?id=85258&sid=67fde91f23db4813d8bbd3a31d76cf8e&mode=view'>Загрузить оригинал (39.58 КБ)</a>
fercmann
Новичок
Сообщения: 31
Зарегистрирован: 12 дек 2015, 22:51
Репутация: 4
Настоящее имя: Александр
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение fercmann »

просто "пасте" в фотошопе на однобитный битмап
при прожиге лазером смотрится как качественный портрет, с 20 см.
кстати тоже писал прогу: черная точка по Z вниз и вверх, dir на вкл. лазера.
Вложения
de_niro_invert.bmp.zip
(80.23 КБ) 763 скачивания
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4324
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1517
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

fercmann писал(а):просто "пасте" в фотошопе на однобитный битмап
при прожиге лазером смотрится как качественный портрет, с 20 см.
кстати тоже писал прогу: черная точка по Z вниз и вверх, dir на вкл. лазера.
Хочется исключить промежуточные шаги, с платным ПО, ;-) а так да тоже выход, ну думаю чере 1-2 недельки уже получиться первый результат :-) а пока переписываю функции, что-бы под winXP нормально работало :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
mycnc
Мастер
Сообщения: 854
Зарегистрирован: 03 июл 2011, 02:01
Репутация: 583
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение mycnc »

selenur писал(а): И дальше нужно придумать как это превратить в G-код, который с помощью лазера, фрезера перенесет это на материал, но ранее я не встречался с такими программами, может кто подскажет какие есть программы, что-бы с них перенять опыт.
Под лазер у меня сделан импорт картинок, преобразование в grayscale, и дальше растровое движение на полной скорости вдоль одной оси с синхронным управлением ШИМ для регулировки мощности лазера, сделано все через спец. команды внутри контроллера без использования G-кода.
Для G-кода была идея мощность лазера передавать в дополнительной координате (типа Z или W), но ничего хорошего не придумалось.

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

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

mycnc писал(а):
selenur писал(а): И дальше нужно придумать как это превратить в G-код, который с помощью лазера, фрезера перенесет это на материал, но ранее я не встречался с такими программами, может кто подскажет какие есть программы, что-бы с них перенять опыт.
Под лазер у меня сделан импорт картинок, преобразование в grayscale, и дальше растровое движение на полной скорости вдоль одной оси с синхронным управлением ШИМ для регулировки мощности лазера, сделано все через спец. команды внутри контроллера без использования G-кода.
Для G-кода была идея мощность лазера передавать в дополнительной координате (типа Z или W), но ничего хорошего не придумалось.
Я вынашивал несколько идей по поводу реализации регулировки мощности лазера, но пока остановился на такой идее:
Собираю небольшой контроллер, которому на вход подаются STEP и DIR, от оси Z, для управления мощностью, если направление в одну сторону, то уменьшаем мощность, если в другую то увеличиваем мощность, относительно той которую изначально установил пользователь, перед выжиганием (для примера 70%).
Так-же на вход подается сигнал вкл/выкл. лазер.
И ещё на вход подаются импульсы STEP от осей X и Y. Пользователь в этом контроллере например настроил что 100% необходимой для выжигания мощности (под 100% подразумеваю 70%, которая заранее установлена пользователем, и регулировкой через ось Z), соответствует скорости 300 мм/мин (вычислил по STEP осей XY).
В те моменты когда на вход контроллера подается сигнал вкл. лазер, и скорость меньше 300 мм/мин то и мощность меняется в определенной пропорции, на уменьшение. Если скорость больше заданной то и мощность повышается, для получения равномерного контура.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4324
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1517
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Программа генерации G-кода, из текста, рисунка, PLT файл

Сообщение selenur »

mycnc писал(а):сделано все через спец. команды внутри контроллера без использования G-кода
На своем хобби станочке, я пробовал различные варианты с G-кодом, и так-же не добился вменяемого результата, что-бы равномерный прожиг контура получался :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Ответить

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