ПОЛЕЗНО GGEasy (Grber2GCode)(фрезеровка печатных плат на ЧПУ, засветка лазером), изучаем, делимся опытом и достижениями.

  • Последнее редактирование:
Последнее редактирование:
а как быть, когда линия ломается под 90 градусов,
Только траектории, сколько видел, идут через радиусы. И получается более равномерное движение. Нежели реальная смена направления на 90 градусов.
Совершенно другая электроника, механика и софт управляющий. Не всякий сделает.

А в случае использования GRBL достаточно лазер за 500 рублей прикрутить.
 
  • Последнее редактирование:
Последнее редактирование:
Не могу создать тему в соответствующем разделе, напишу тут.

Пару месяцев назад купил CNC 3018. Пробовал работать в Арткаме. Но так как я занимаюсь сборкой электронных схем, эта программа не особо подошла. Потом мне попалась GGEasy GitHub - XRay3D/GERBER_X3: Program for preparing G-code for milling of printed circuit boards on CNC. You can use it as a converter to a PDF file. и эта программа подошла намного лучше. Но хотелось дополнительных функций. Которые я добавил в исходный код и отправил на добавление. Но так как это всё было достаточно медленно и печально, то я решил написать свою версию подобной программы и более детально разобраться со всем процессом создания УП из гербер файлов.

GiCad 0.0.1.0 - GitHub - mikelsv/GiCad . Имеет 10 версий, за которые я создавал базовый функционал. И один релиз.
Функционал первого релиза: Release GiCad 0.0.1.0 · mikelsv/GiCad . Если коротко, программа открывает файл сверловки и позволяет создать программу для сверления отверстий. А так же отображает Gerber файлы.

Из текущих проблем, о которых я хотел бы спросить у знающих людей:
1. Каким образом код G02 и G03 транслировать в точки как G01, для отображения на экране. Моя реализация работает с ошибками. Возможно есть готовые функции.
2. Каким образом сортируются точки для сверловки? Если брать их из файла, то движение между ними не является оптимальным.

Мне хотелось рассказать о программе, чтобы получить полезную активность, а вместе с ней мотивацию развивать проект.
Нет смысла писать об ошибках. Их довольно много. И можно найти ещё больше.
Есть смысл говорить об улучшениях. То есть, какой функционал наращивать и куда расти, чтобы программой можно было пользоваться.
Программа сможет всё. Но есть нюанс, это всё нужно написать. Своими руками. Функцию за функцией.
Всё и сразу. И прочая магия это не сюда. Тут только терпение и труд. И работа головой.

Из моих, самых далёких ожиданий к программе, это прямая работа с ЧПУ. Сверление отверстий не выходя из программы.
А так же, идея из OpenSCAD - возможность писать кодом.

PS. Программа, которой можно будет пользоваться ожидается версий через 10. К версии 0.0.2.0.
Скопировано из темы GiCad 0.0.1.0...

SeninWorld, скорее всего, ответов об алгоритмах математических (готовых функциях) вы от кого-то, кроме X-Ray, не получите. Возможно, на сайте автора GGEasy вы сможете обсудить с ним многие вопросы.
Ваши сообщения автоматически объединены:

Только траектории, сколько видел, идут через радиусы. И получается более равномерное движение.
Да вот пример.
Углы.jpg
Хоть и не прямые углы, но радиусы микроскопичные, так что неравномерность есть и причём в алгоритме FlatCAM даже таких случаев больше, исходя из вашего же примера...
 
Хоть и не прямые углы, но радиусы микроскопичные, так что неравномерность есть и причём в алгоритме FlatCAM даже таких случаев больше, исходя из вашего же примера...
Какой размер этого скачка?
1711914907072.png
 
  • Последнее редактирование:
Последнее редактирование:
Какой размер этого скачка?
1711914907072.png
Это файл и картинка Alexmit. Но судя по расстояниям между траекториями, точка лазера там будет тормозиться в 3 раза дольше, так как три излома почти в одном месте. Но есть вариант траектории лазера вот так даже без HLDI... Не знаю, что и как там будет с засветкой, наверное, зависит от установленного ускорения (лучше на максимум возможного).
Раст_внутри.jpg
 

Вложения

  • Раст_внутри.jpg
    Раст_внутри.jpg
    100.1 KB · Просмотры: 6
Хоть и не прямые углы, но радиусы микроскопичные, так что неравномерность есть и причём в алгоритме FlatCAM даже таких случаев больше, исходя из вашего же примера...
Я насчитал только два острых угла и они логичны исходя из рисунка дорожки.

Но вот зигзаги на ровном месте это перебор.
s2.png
 
Но вот зигзаги на ровном месте это перебор.

Ошибка суммирования накопилась, размер меньше мин. сглаживания, и т.д. Придет Дамир - скажет, в чем дело.
Еще можно поэкспериментировать с этими опциями.
1711924049962.png
 
И получается более равномерное движение.
Я насчитал только два острых угла и они логичны исходя из рисунка дорожки.
Более, менее - это не точные параметры (плюс-минус километр). По специфике g-кода мощность лазера может быть одинакова на любом отрезке траектории. Если мы хотим изменять мощность лазера в зависимости от скорости перемещения (торможения или ускорения), то придётся даже любой прямолинейный участок дробить на несколько, чтобы на каждом новом отрезке в g-коде была другая мощность свечения лазера. А это увеличение во много раз самого файла g-кода, а значит, и времени выполнения его на станке. Всё остальное - это приближения, которые должны как-то постоянно выбирать между лишней засветкой или длиной кода. Это довольно сложно, как и любые другие алгоритмы, применяемые в подобных CAM-ах. Простых решений нет. HLDI тоже не простой выход, надо дорабатывать станок.
А острый угол кроме изменения скорости в вершине угла и связанной с этим лишней засветкой, ещё и приводит к тому, что часть траектории засвечивается дважды (как бы при возврате частичном назад). То есть кроме скорости движения накладывается траектория (а по вашему это логично и никуда не денешься). То есть два фактора сразу работают на доп. засветку.
Но вот зигзаги на ровном месте это перебор.
Как меня научил в таких случаях разработчик одного устройства, в котором тоже так же используется программное обеспечение, которое несколько лет дорабатывается, "...предложите математику для решения вашего предложения и я посмотрю, как это вписать в программное обеспечение..." (программисту нужны четкие правила и формулы, а остальное он сделает, если железо позволяет). И пришлось же так реально и помогать математикой, чтобы заполучить те функции, которые хотелось бы получить от устройства, а ещё доказывать, что там ошибок нет или, если есть, снова предлагать уже немного другое...:) Или предложите решение по схеме и обоснуйте, как оно исправит проблемы, или соберите устройство модернизированное сами и покажите всем, что стало лучше - и такое бывает, если речь об устройстве.
 
Как меня научил в таких случаях разработчик одного устройства, в котором тоже так же используется программное обеспечение, которое несколько лет дорабатывается, "...предложите математику для решения вашего предложения и я посмотрю, как это вписать в программное обеспечение..."
Вам и показываю, что существует математика (причём с открытым кодом и уже существовавшая 8 лет назад) которая удовлетворяет потребности.
 
Вам и показываю, что существует математика (причём с открытым кодом и уже существовавшая 8 лет назад) которая удовлетворяет потребности.
Не 8, гораздо больше. Синусы-косинусы давно научились использовать. В 90е, на "спеки", писал процедурку рисования окружности через син-кос. По Х синус, по У косинус. В зависимости от расстояния до центра (радиус) и угла (0-360). На бейсике долго рисовалось, около 20 секунд:).
СБ (старческое брюзжание). Неужто современные программисты математику совсем не знают?
 
В 90е, на "спеки", писал процедурку рисования окружности через син-кос. По Х синус, по У косинус. В зависимости от расстояния до центра (радиус) и угла (0-360). На бейсике долго рисовалось, около 20 секунд:).
Тоже рисовал и не только окружности, но и спирали и овалы, в цикле окружности масштабировал радиус по условиям с проверкой на максимум.
 
  • Последнее редактирование:
Последнее редактирование:
По поводу GGEasy:
Есть параметр "Минимальное количество точек апроксимации круга"

M40.jpgD40.jpg

M50.jpgD50.jpg
 
Тоже рисовал и не только окружности, но и спирали и овалы, в цикле окружности масштабировал радиус по условиям с проверкой на максимум.
Значит тебе понятна разница между спиралью и окружностью. А вот аспир вместо спирали окружности рисует, неоднократно обращал на это внимание. Казалось бы, серьезная программа, команда программистов, не бесплатный продукт,...а такой косяк. Относительно к ГаГаСи, можно списать на то, что написана одним человеком. Пока набирал, дядька Roger, про настройки напомнил. Тоже большую роль играют.
 
Вам и показываю, что существует математика
Математика математикой, но пытаться использовать траектории для фрезы для лазера при засветке - это тоже надо захотеть.
Простой пример невозможности равномерного движения при резкой смене направления, когда радиус смены меньше хотя бы двух диаметров пятна сфокусированного лазера: движение по траектории прямоугольного угла, когда линии угла параллельны координатным осям.
До вершины угла работает только один шаговый двигатель, поэтому движение идёт с торможением вплоть останова в вершине угла, далее этот шаговый двигатель выключен, идёт ускоренное движение с нуля до крейсерской скорости из-за начала работы другого шагового двигателя.
Острые и тупые углы - это уже в % от угла отклонения от 90 градусов в ту или иную сторону, но тот же случай "только вид сбоку".
Вывод какой можно сделать: для засветки лазером (не прожиг-выжиг) подходит только растровый формат траектории луча.
Ваши сообщения автоматически объединены:

писал процедурку рисования окружности через син-кос

Тоже рисовал и не только окружности, но и спирали и овалы

Не, если бы речь шла о квадратах, то я бы назвал как Малевичи вы наши, а так просто художники...:)

оффтоп
 
Как указать порядок УП при объединении "Сохранить УП ..."?

Создаю макет ПП с технологическим отверстием внутри ПП.
Создал УП обрезания ПП по контуру, указав размещение мостов. Далее, создал УП вырезания технологического отверстия.
Выделяю обе УП и жму "Сохранить УП ...". Открываю полученный код в NC Ceorrector. В начале идет обрезка ПП, потом, вырезание отверстия.
Логичнее было бы вырезать отверстие и потом, обрезка ПП по контуру.

И да, не совсем разобрался, как управлять мостами. Хочу убрать мост, случайно поставленный не на то место. Пока, удаляю УП и создаю ее заново. Не понял как так получилось, мост развернулся на 90 градусов и ни убрать его, ни повернуть.
Пост перенесён из Темы GGEasy. Вопросы новичков.
Логичнее было бы вырезать отверстие и потом, обрезка ПП по контуру.
GGEasy повторила вашу логику. Если бы вы сначала создали УП вырезания технологического отверстия, а только в конце УП обрезки контура ПП, то объединённая управляющая программа тоже сначала бы вырезала отверстия, а в самом конце обрезала контур. То есть последовательность выполнения УП совпадает с последовательностью действий по их созданию.

Хочу убрать мост, случайно поставленный не на то место.
Отката действий как такового пока в GGEasy нет, но в данном случае удаления мостов, если ещё УП не сохранена, можно просто нажать кнопку Close в нижней части подменю Профиль и мосты удалятся вместе с окошком подменю, правда :). Чтобы меньше проблем было с расстановкой мостов рекомендую использовать масштабирование (Ctrl + Колесико мышки) и устанавливать мост после того, как точка установки моста станет зеленого цвета.
Close.jpg
 
А вот аспир вместо спирали окружности рисует, неоднократно обращал на это внимание. Казалось бы, серьезная программа, команда программистов, не бесплатный продукт,...а такой косяк.

Здесь

оффтоп

.
1711988790539.png1711988706225.png

оффтоп
 

Вложения

  • Spiral_Gadget_Install.zip
    28.1 KB · Просмотры: 1
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать