Страница 14 из 130
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Добавлено: 04 дек 2016, 10:38
selenur
MAX3000 писал(а):selenur, огромная просьба - сделай полутона, чтобы можно было приступить к тестированию, а затем за .dxf возьмешься. Скорее всего будет достаточно даже какого-то одного формата, например .bmp (или .jpg, или .png - какой проще реализуется) - Photoshop у всех есть, а у кого нет - поставят.
Я уже блоки данных линии, круги сделал, осталось дуги, и большая часть dxf файлов на которых я тестировал будут нормально открываться

На странице где выбирается рисунок, происходит преобразование разноформатных изображений, в изображение одного формата, которое и передается дальше. как-то bmp файлы попадались, с там форматом который не реализован, но пока не могу их найти, что-бы разобраться с косяком.
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Добавлено: 04 дек 2016, 10:52
selenur
Master2608 писал(а):selenur писал(а):Master2608 писал(а):нужно чертеж нарисовать карандашом вместо шпинделя

. Походу программа для фрезера нужна.
Нет разницы, для лазера или фрезера, получаемые контуры, в любом случае будут такими.
Файл содержит различные блоки данных, это линии, поли-линии, дуги, окружности, текст, как доберусь до парсинга текстовых блоков, надо будет посмотреть можно ли повлиять на размер текста.
Фрезеру нужна ось Z, а лазеру нет, для карандаша тоже нужна Z, (поднять-опустить).
В постах выше я писал, что данные из которых формируется G-код, состоят из наборов отрезков, и набора точек в каждом из отрезков.
На 10-й странице перед формированием G-кода выбирается профиль, в котором содержится информация, что нужно сделать до начала отрезка, и после.
Для фрезера, гравера и карандаша, там выполняются команды поднятия опускания по оси Z, для лазера m3 m5.
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Добавлено: 04 дек 2016, 16:05
Rom327
selenur писал(а):
Тут такой вопрос возник, сейчас пока только объекты с типом линия отображаются (дуги пока ещё не сделал), получается имеем контуры, но фрезой ведь нужно проходить не по этим контурам, а по внешней или внутренней стороне, так? в зависимости от толщины фрезы?
Все правильно! И это должно указываться в профиле. Для начала надо сделать для лазера: там все просто следовать по линии. Попробовать, доработать...
Что касается фрезерования, то тут 2 обязательных параметра: диаметр фрезы и сторона от линии, где происходит обработка... Ну еще можно направление добавить... Если с первым все понятно: забил диаметр фрезы в профиль и все, то со стороной сложнее. Если один контур, тут все ясно и можно сторону определить. А если контуров несколько, то придется выбирать каждый и для каждого указывать сторону. Так сделано в SheetCam-e.
selenur! Прими файлик, может пригодится...
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Добавлено: 04 дек 2016, 16:55
selenur
Rom327 писал(а):selenur писал(а):
Тут такой вопрос возник, сейчас пока только объекты с типом линия отображаются (дуги пока ещё не сделал), получается имеем контуры, но фрезой ведь нужно проходить не по этим контурам, а по внешней или внутренней стороне, так? в зависимости от толщины фрезы?
Все правильно! И это должно указываться в профиле. Для начала надо сделать для лазера: там все просто следовать по линии. Попробовать, доработать...
Что касается фрезерования, то тут 2 обязательных параметра: диаметр фрезы и сторона от линии, где происходит обработка... Ну еще можно направление добавить... Если с первым все понятно: забил диаметр фрезы в профиль и все, то со стороной сложнее. Если один контур, тут все ясно и можно сторону определить. А если контуров несколько, то придется выбирать каждый и для каждого указывать сторону. Так сделано в SheetCam-e.
selenur! Прими файлик, может пригодится...
Тест.DXF
Вот тут:
Re: Программа генерации G-кода, из текста, рисунка, PLT файл #37 я показывал одну из страниц (после недавней переделки внутренностей программы пока не заполняется). Буду использовать эту страницу, где можно будет задать для каждого замкнутого отрезка, отступ, и направление движения.
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Добавлено: 04 дек 2016, 21:39
selenur
MAX3000 писал(а):selenur, огромная просьба - сделай полутона, чтобы можно было приступить к тестированию, а затем за .dxf возьмешься.
С полутонами не всё так просто, и по быстрому мне такое не сделать, я обычно ставлю себе задачу которую нужно реализовать в коде, после этого на протяжении некоторого количества дней хожу продумываю реализацию, и когда в голове складывается логика сажусь и пишу код, таким образом, время потраченное на эту программу в плане написания кода исчисляется одной сотней часов, а вот обдумывание даже не знаю.....
Плюс вот из-за этого:
Я даже попытавшись переключиться на другую задачу, буду думать только как доделать эту....
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Добавлено: 04 дек 2016, 22:06
selenur
Rom327 писал(а):selenur писал(а):
Тут такой вопрос возник, сейчас пока только объекты с типом линия отображаются (дуги пока ещё не сделал), получается имеем контуры, но фрезой ведь нужно проходить не по этим контурам, а по внешней или внутренней стороне, так? в зависимости от толщины фрезы?
Все правильно! И это должно указываться в профиле. Для начала надо сделать для лазера: там все просто следовать по линии. Попробовать, доработать...
Что касается фрезерования, то тут 2 обязательных параметра: диаметр фрезы и сторона от линии, где происходит обработка... Ну еще можно направление добавить... Если с первым все понятно: забил диаметр фрезы в профиль и все, то со стороной сложнее. Если один контур, тут все ясно и можно сторону определить. А если контуров несколько, то придется выбирать каждый и для каждого указывать сторону. Так сделано в SheetCam-e.
selenur! Прими файлик, может пригодится...
Вложение Тест.DXF больше недоступно
Почти загружается
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Добавлено: 05 дек 2016, 07:58
Rom327
selenur писал(а):
Почти загружается
Здорово!
Сразу вопрос: шестиугольник нарисован 6-ю отрезками или кучей отрезков?
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Добавлено: 05 дек 2016, 08:17
selenur
Rom327 писал(а):selenur писал(а):
Почти загружается
Здорово!
Сразу вопрос: шестиугольник нарисован 6-ю отрезками или кучей отрезков?
В DXF файле это набор из 6-ти отдельных отрезков, которые потом при нажатии кнопки, можно будет объединить в один отрезок.
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Добавлено: 05 дек 2016, 10:47
Rom327
selenur писал(а):
В DXF файле это набор из 6-ти отдельных отрезков
Вот это здорово! Скорость будет ого-го!
selenur писал(а):...которые потом при нажатии кнопки, можно будет объединить в один отрезок.
Не совсем ясно как? Если бы отрезки лежали на одной прямой, тогда их можно объединить в один отрезок...

Наверное ты хотел сказать, что их можно объединить по одинаковым координатам?
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Добавлено: 05 дек 2016, 12:58
MAX3000
selenur писал(а):MAX3000 писал(а):selenur, огромная просьба - сделай полутона, чтобы можно было приступить к тестированию, а затем за .dxf возьмешься.
С полутонами не всё так просто, и по быстрому мне такое не сделать...
selenur, может чем-то будет полезна данная статья -
Чтение bmp в C++.
В ней о преобразовании bmp изображения в двумерный массив.
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Добавлено: 05 дек 2016, 13:50
selenur
Rom327 писал(а):selenur писал(а):
В DXF файле это набор из 6-ти отдельных отрезков
Вот это здорово! Скорость будет ого-го!
selenur писал(а):...которые потом при нажатии кнопки, можно будет объединить в один отрезок.
Не совсем ясно как? Если бы отрезки лежали на одной прямой, тогда их можно объединить в один отрезок...

Наверное ты хотел сказать, что их можно объединить по одинаковым координатам?
У 6 отрезков есть 6 общих точек, в связи с чем их объединить не проблема.
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Добавлено: 05 дек 2016, 14:01
selenur
MAX3000 писал(а):selenur писал(а):MAX3000 писал(а):selenur, огромная просьба - сделай полутона, чтобы можно было приступить к тестированию, а затем за .dxf возьмешься.
С полутонами не всё так просто, и по быстрому мне такое не сделать...
selenur, может чем-то будет полезна данная статья -
Чтение bmp в C++.
В ней о преобразовании bmp изображения в двумерный массив.
То что описано в примере у меня тоже поддерживается.
Для возможности, работы программы в winXP, и более быстро преобразовывать любое входящее изображение, я читаю содержимое побайтно, в в зависимости от разных параметров, меняется количество байт на 1 пиксель.
Например у некоторых изображений с градациями серого, есть специальная таблица в которой храниться код и 2-х битное значение возможного цвета, (т.е. код цвета от нуля до 56000) а в описании каждого пикселя, код из таблицы (который занимает 1 байт), в результате чего размер черно-белого рисунка сокращается в двое. Т.к. каждый пиксел содержит 1 байт, а не два.
И таких фишек не мало

Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Добавлено: 05 дек 2016, 15:14
MAX3000
selenur писал(а):То что описано в примере у меня тоже поддерживается.

Это хорошо - значит львиная доля уже сделана

Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Добавлено: 06 дек 2016, 08:08
Rom327
selenur писал(а):
У 6 отрезков есть 6 общих точек, в связи с чем их объединить не проблема.
Объединить то не проблема, но не
selenur писал(а):в один отрезок
Отрезок это часть прямой, ограниченная двумя точками...
https://ru.wikipedia.org/wiki/Отрезок 
Re: Программа генерации G-кода, из текста, рисунка, PLT файл
Добавлено: 06 дек 2016, 16:40
selenur
Rom327 писал(а):selenur писал(а):
У 6 отрезков есть 6 общих точек, в связи с чем их объединить не проблема.
Объединить то не проблема, но не
selenur писал(а):в один отрезок
Отрезок это часть прямой, ограниченная двумя точками...
https://ru.wikipedia.org/wiki/Отрезок 
Неправильно выразился....

В одну ломанную линию.
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 06 дек 2016, 23:22
selenur
Выложил 24-ю версию, с поддержкой DXF, есть конечно ещё типы данных, которые не обрабатываю это: DXFPointEntity, DXFSolid, DXFInsert, возможно у вас найдутся файлы содержащие и другие типы данных
В данную программу я планировал добавлять поддержку формата, Gerber, но случайно обнаружил что программа в которой выполняю разработку радио-устройств "DIPTRACE", умеет формировать DXF файлы с учетом размера гравера, и прочего....
При экспорте там есть поле обводка:
И в результате получаем:
И результат в программе для GRBL контроллера:
А так-же для одного будущего проекта, засветки дорожек на фоторезисте лазером, получается получать необходимую информацию (пока это просто отрезки, не доделано ещё):
Новый релиз в первом посте.
Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 07 дек 2016, 00:13
xvovanx
selenur писал(а):Выложил 24-ю версию..
Новый релиз в первом посте.
Так и не нашел, того чего хотел найти
http://www.cnc-club.ru/forum/viewtopic. ... 20#p317592
Сижу пилю 20 версию...

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 07 дек 2016, 06:22
selenur
Скоро сделаю

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 07 дек 2016, 06:24
Predator
selenur, Когда уже, на github будешь выкладывать, а не в топик?

Re: Генерация G-кода, из текста, рисунка, и файлов PLT, DXF
Добавлено: 07 дек 2016, 07:10
selenur
Predator писал(а):selenur, Когда уже, на github будешь выкладывать, а не в топик?

Пока не разобрался как выложить, т.к. у меня используется в проекте, ещё несколько отдельных проектов (dxf, поддержка множества языков), которые расположены совсем в других каталогах, т.к. эти доп. проекты так-же используются ещё в других проектах.
В связи с чем сгруппировать в одну папку не могу, а если выложу только проект данной программы, то он в принципе не соберется.
А т.к. в день позаниматься данной тематикой у меня доступен всего 1 час перед сном, просто не хватает времени разобраться как сделать
