Конструктор G-кода 3.3

Оглавление

  1. Введение
  2. История версий
  3. Модули программы
  4. Пожелания пользователей (что реализовать в программе)

1.Введение

Данная программа разработана для возможности генерации G-кода, для различных ЧПУ станков. Имеющийся функционал позволяет программу адаптировать именно под ваш ЧПУ станок, что-бы получаемый G-код можно было сразу использовать на станке. На текущий момент версия 3.3 программы находится в процессе доработки, и некоторый функционал в программе может не работать, или работать с ошибками, но всегда можно мне сообщить о выявленных ошибках, и я обязательно постараюсь их исправить, для этого достаточно написать мне на почту:

На моём youtube канале можно посмотреть примеры работы с программой.

Вы можете так-же поддержать развитие данного проекта, воспользовавшись формой ниже:

Клиенты сбербанка, могут напрямую поддержать:

Программа представляет собой подобие конструктора, состоящего из набора блоков, которые можно собрать в определенную последовательность, которая идеально подойдет именно вам, под вашу задачу, но это требует некоторое время на освоение программы. А можно запустив программу, подгрузить из интернета готовый набор “профилей” которые уже содержат все необходимые настройки, для быстрого получения G-кода, из различных файлов, типа: bmp, jpg, png, gif, DXF, PLT, Drill, Gerber.

В связи с тем что ЧПУ станки бывают разных видов, и управляются различными системами, контроллерами, формируемый G-код для станка, должен иметь соответствующий вид, и для этого в программе реализована возможность индивидуально настроить то, как должен выглядеть G-код именно для вашего станка, для этого применяется специальный язык “Lua”, вот по этой ссылке я описал базовые возможности языка: “Ссылка на описание Lua языка” а информация о том как применять язык Lua в моей программе, описал тут: “Ссылка на методику использования”

Скачать актуальную версию программы можно вот по этой ссылке:

Скачать: Конструктор G-кода 3.3.0.43 от 05.04.2020
Скачано: 3129, размер: 1.2 Мб, дата: 05.Апр.2020

! Версия 3.3 значительно поменялась, и некоторые вещи стали отличаться от того что было в версии 3.2, а так-же старые файлы профилей, и правил в новой версии к сожалению не работают!!!

36 комментариев

  • Данила

    Добрый день. хорошее приложение, правда с новой версией не разобрался.
    Жалко только что ( I,J,K Параметры дуги при круговой интерполяции G03 X10 Y10 I0 J0 F10) не конвертирует из DXF. Для маркера рисовальщика это очень критично.
    Подскажите можно как то решить этот вопрос?

  • День добрый! В версии 3.3 нет правила для сверловки. Напишите его пожалуйста…

  • Andrei Cherniaev

    Здравствуйте! Работаю в eremex TopoR.

    Экспортирую сверловку в файл NC DRILL (.drl) Увы конвертер его не читает, приходится через экспорт DXF делать…

    • Василий

      Нужно исправить “шапку”!!!
      Должно быть так:
      ; Format: 3.2 (000.00)
      T1C0.8
      T2C0.7
      T3C1.1
      T4C0.9
      %
      T1
      X09743Y-11195
      X09553Y-11195
      X09553Y-11195
      X10706Y-11198
      X10706Y-11198

      А TopoR делает так:
      M48
      ;FILE_FORMAT=3:3
      INCH,LZ
      T1C0.0314961
      T2C0.0275591
      T3C0.0433071
      T4C0.0354331
      ;TYPE=PLATED
      %
      T1
      X003836Y-004407
      X003761Y-004407
      X003761Y-004407

  • Andrei Cherniaev

    Планируется ли публикация исходных кодов?

  • Добрый день можно будет запустить данное ПО на 3д принтере Anet A6 (процессор ATMEGA1284P) ?

    • Нет, не получится, т.к. программа запускается только под операционной системой windows, у 3д принтера нет достаточных ресурсов для такого.
      Можно лишь генерацию теста G-кода для принтера сделать.

  • Александр

    Доброго дня Сергей.
    Очень понравилась идея и реализация. Однако с столкнулся с некоторыми проблемами, которые не позволяют мне использовать программу по назначению (видимо по незнанию тонкостей процесса). Суть проблемы: пресет -засветка фоторезиста – при попытке открыть гербер файл созданный в SprintLayout 6.0 при плотной трассировке происходит наложение дорожек друг на друга (особенно перекрытие с полигонами ). При объединении это перекрытие дает общий контур. Дальнейший ход программы становится бессмысленным. Как выйти из положения – для меня головоломка. Для плат с менее плотной трассировкой (с большим расстоянием между дорожками) такого нет. Пробовал и в 3.2.0.21 и 3.3.0.43.

  • Сергей, прошу Вас связаться со мной. Контакты на сайте rostintech.ru

  • Сергей

    Сергей, добрый вечер!
    Не могли бы, пожалуйста, связаться со мной, более подробно описал бы свой вопрос.
    Может, Вы сможете помочь мне) В долгу не останусь.

  • Попытался сгенерировать код для вырезания детали из плоского листа методом фрезерования.
    Всё бы хорошо, но почему-то сненерированный G-код сначала вырезает деталь по контуру, и только после этого начинает вырезание отверстий в самой детали. На практике это приведет к тому, что вырезанная деталь просто упадет вниз (или будет болтаться внутри заготовки), а отверстия фреза уже либо будет вырезать “в воздухе”, либо портить незакрепленную деталь.
    Логичнее было бы при генерации кода сначала вырезать внутренние отверстия детали, и лишь после этого обрабатывать внешний контур.

    • В будущем я добавлю алгоритм автоматической сортировки траекторий, что-бы избегать такой проблемы, а пока в какой последовательности были выгружены, в такой последовательности я и загружаю, в меню табличной части, есть возможность менять вручную последовательность, конечно не так удобно, но пока это единственный вариант.

  • В последней версии (.43) некорректно работает модуль 500. Объединяю модули 102 и 104. При этом в 102 я удаляю некоторые траектории, некоторые объединяю… но 500ый объединяет необработанные данные 102го (т.е. до редактирования).
    В предыдущей версии (.34) такой проблемы нет

    • Хотя был не прав. В .34 версии менее явно это проявляется. Удаленные траектории и окружности не появляются в 500-ом. А объединенные траектории, какие-то переносятся объединенными, а какие-то до объединения.

  • Потрясающий проект. Жаль только не мультипоточное приложение (платы с большими полигонами очень долго трассирует, хотя используется одно из восьми ядер).
    Но, скорей всего, алгоритм не реально распараллелить.
    Еще, я думаю, зря введено ограничение на 100 повторов в 300ом модуле.
    Я конечно понимаю, что это приведет к еще большему времени трассировки, но…
    Я засвечиваю лазером жидкий фоторезист, и мало того, что мощность лазера ставлю на минимум (1/255), так еще и напряжение на нем понижаю (с номинальных 12В до 9В). При этом луч получается несколько сотых миллиметра. Можно было бы повысить напряжение и увеличить диаметр луча, но при этом надо будет и скорость движения увеличивать (иначе фоторезист намертво закрепится на плате). А скорость итак 900 мм/мин… Боюсь, на большее не способен Ender3.

  • Спасибо за замечательное приложение!
    Автору на пиво заслал )))
    Небольшой комментарий по поводу правил формирования кода.
    Работаю на самодельном “тракторе” на базе прошивки “Marlin”.
    Выбор странный, но оно мне просто нравится.
    Так вот, Марлина предпочитает, чтобы в каждой строке присутствовали или отдельно М-инструкции, или G0/G1 с последующими X и Y (опционально F).
    Лепить всё это в одной строке Марлин не одобряет, лазер живет своей жизнью.
    Внести коррективы в правила оказалось несложным, спасибо за такую возможность!
    Из пожеланий на будущее – добавить алгоритмы обработки изображений для отрисовки построчно, как делает LaserGRBL, например. Он меня не устраивает вообще, ибо собираемый им код приходится перепахивать почти вручную.

  • Анатолий

    Сергей, отличная программа, спасибо за труд)
    один момент – в модуле 301 версии 3.2.0.21, даже при всех убранных галочках, он полностью обнуляет вектора win7 x64,
    из пожеланий – хотелось бы сохранять вектор, на каждом этапе как мы видим его в окне просмотра, это реально?)

  • ОГРОМНОЕ СПАСИБО СЕРГЕЙ….. у программы очень большой потенциал. нет слов…. (вер 3,3) кое с чем не разобрался. может я что то делаю не правильно. выбрал фрезерование. (нач.глуб.фр. 0 конеч -0.4 шаг. загл. -0.1)

    нужно было аккуратно зарыться в алюминий… при расчете программа зависает. а (вер 3.2) ниже целого числа вообще не считает (то есть 0.1 0.2) помоги разобраться.

  • День добрый, у меня на 300м модуле ничего не происходит, как бы не менял данные картинка не меняется, а дальше в 301м совсем пусто (

  • Разобрался сам, извиняюсь.

  • Добрый день. У меня лазерный гравер NEJE 20W. При формировании GCode программа NEJE выдает такое. “Unsupported file, File content must Start with G90 and G21”. В программировании я профан. Вопрос к вам. Значит ваша программа не подходит, или эту ошибку можно исправить? Прошу совета.

  • Еще раз здравствуй. Никак не выходит у меня с AddLine(“G90”) AddLine(“G21”). Как только не изощрялся и не тыкал 2 этих файла. Пишет при запуске программы NEJE “No G code found”. Видать не сподобил меня всевышний мозгами до такой степени. Вот что выходит.

    FORMAT:SetFormat(“#0.00″,”.”)
    FILE: Create()

    FILE: AddLine(“G90”)
    FILE: AddLine(“G21″)
    FILE: AddLine(” “)
    FILE: AddLine(“G0 M5 X0 Y0”)

    for indx = 0, DATA.Items.Count – 1, 1 do
    primitiv = DATA.Items[indx]
    –получили первую точку примитива
    startPoint = primitiv.Items[0];

    –к первой точке быстро подойдем
    FILE: AddLine(“G0 X”..FORMAT:Fd(startPoint.X).. ” Y”..FORMAT:Fd(startPoint.Y))
    –установим скорость и мощность
    FILE: AddLine(“G1 F”..Fvalue ..” M3 S” .. Svalue)

    — иначнем двигаться по траектории
    for indxP = 0, primitiv.Items.Count – 1, 1 do
    point = primitiv.Items[indxP]
    FILE:AddLine(“X”..FORMAT:Fd(point.X).. ” Y”..FORMAT:Fd(point.Y))
    end

    — траектория завершена поднимаемся
    FILE:AddLine(“G90”)
    FILE: AddLine(“G21”)
    FILE: AddLine(“”)

    end

    FILE: AddLine(“G0 M5 X0 Y0”)
    FILE: Save()
    Может пропишите как правильно. А я в свою очередь поддержу проект.

  • Дуги (полуэллипсы, была построена из них синусоида) при конвертации из DXF интерпретирует в окружности? Как бороться?

  • Доброго дня! Спасибо вам за вашу работу! Подскажите, может ли ваша программа генерировать g-код для лазерной резки из файлов dxf? Мне необходимо абсолютно точно вырезать детали по чертежам

  • Сергей. Огромное спасибо за помощь.

  • В новой версии появилась возможность выстраивать последовательность траекторий, а так же есть кнопка “Изменить направление у траекторий с установленным флажком” Эта кнопка работает только с прямыми траекториями? Можно менять направление траектории дуги?

  • Александр

    Сергей, добрый день!
    Попробовал вашу программу, она намного интересней подобных, но есть одна мелочь. Повторюсь с пожеланиями насчёт автоматического порядка вырезаний отверстий и наружного контура. Было бы ещё интересней. Спасибо Вам за Ваши старания!
    Также прошу помочь разобраться с одной проблемой. При загрузке DXF файла траектории прерываются, для поднятия на безопасную высоту, хотя при этом контур замкнут. Если преобразовать линии в сплайн, то не прерываются и идёт как нужно, но в этом случае искажается геометрия контура (вместо окружности квадраты, вместо дуг с равным радиусом- элипсы) Почему так происходит? Заранее спасибо.

  • Василий

    Можно добавить произвольное смещение от начала координат?

  • Евгений

    Добрый день, Сергей! С большим энтузиазмом взялся за изучения Вашей программы, но тут меня ждало разочарование. Как и во всех других программах при генерации G-кода из DXF файла не отображаются шрифты при просмотре векторного изображения. Нельзя ли ввести просмотр шрифтов?

  • Евгений

    И еще, при просмотре выполненных действий, где появляются красные и зеленые квадратики от нажатия стрелки вверх, при наличии красного квадрата программа виснет.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Protected with IP Blacklist CloudIP Blacklist Cloud