Страница 1 из 1

Редактор G-codа с поддержкой высокоуровневого языка GCMC

Добавлено: 18 ноя 2019, 13:52
bberkhin
Хочу поделиться и услышать критику.
Предыстория:
Первым полезным изделием которое я захотел сделать на самодельном ЧПУ фрезерном была подставка под сверла - прямоугольник с большим количеством отверстий разного диаметра.
Про G-Code на тот момент ничего не знал и думал что УП будет выглядеть как-то так:

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

for( x = startx, i =min_diameter; i < max_diameter; x+= stepx,i++)
{
   for( y = starty, j = 0; j < 10; y+= stepy, j++)
   {
      cut_hole( x,  y, i +j/10 );  //  i +j/10 - diameter
  } 
}
В реальности оказалось, что нужно сначала нарисовать 100 окружностей разного диаметра в CAD, потом выбирать их и задавать вручную кучу параметров в САМ. (Я знаю что в G-Code есть подпрограммы и возможность передавать параметры через регистры, но все это выглядело очень неудобно). Кроме того, не нашел удобного и недорогого, а лучше бесплатного редактора G-code.

Здесь на форуме наткнулся на упоминание о GCMC(http://www.vagrearg.org/content/gcmc), связался с автором и через полгода родился редактор для создания, редактирования и эмуляции выполнения УП на G-Code и GCMC
Работает под Windows, денег не просит, выглядит так:
1.png (3506 просмотров) <a class='original' href='./download/file.php?id=172097&mode=view' target=_blank>Загрузить оригинал (96.35 КБ)</a>
12.png (3506 просмотров) <a class='original' href='./download/file.php?id=172098&mode=view' target=_blank>Загрузить оригинал (76.08 КБ)</a>
Почитать подробнее и скачать здесь https://matildacnc.com/ru

Re: Редактор G-codа с поддержкой высокоуровневого языка GCMC

Добавлено: 18 ноя 2019, 18:10
SVP
По-моему враги украли они сделали кибер-технолога...
Надо попробовать, возможно и вполне юзабельная весчь.

Re: Редактор G-codа с поддержкой высокоуровневого языка GCMC

Добавлено: 18 ноя 2019, 18:16
selenur
Предварительный просмотр может работать в такой ситуации?
2019-11-18_201337.png (3488 просмотров) <a class='original' href='./download/file.php?id=172115&mode=view' target=_blank>Загрузить оригинал (37.89 КБ)</a>
Или программа как я понял накладывает свои ограничения, которые нужно выполнить.

Re: Редактор G-codа с поддержкой высокоуровневого языка GCMC

Добавлено: 18 ноя 2019, 19:38
bberkhin
Предварительный просмотр может работать в такой ситуации?
Не очень понял в какой ситуации.
В 3 и 4 строке, насколько я знаю G-code, у вас ошибки. Не задан ни один код перемещения(G0, G1, G2.. ) для координат в этих строках. Но остальная часть должна работать.

Каких-то специальных ограничений я не устанавливал. Теоретически должно работать для фалов LinuxCNC, Match и точно работает на китайском контроллере который на моем станке :) Все файлы из дистрибутива kflop тоже работают. Для промышленных стоек у меня нет возможности проверить, там наверняка будут проблемы

Но программа наверняка очень сырая, поэтому я буду благодарен за любые найденные проблемы и постараюсь их оперативно устранять.
Если вышлите этот файл (на bberkhin@matildacnc.com) я посмотрю.

Re: Редактор G-codа с поддержкой высокоуровневого языка GCMC

Добавлено: 18 ноя 2019, 19:44
MaksSavchuk
навскидку она в g2/g3 параметр p вообще игнорирует, проверку проходит программа в которой есть перемещения и нет указания feed rate, в linuxcnc это вывалит ошибку например

Re: Редактор G-codа с поддержкой высокоуровневого языка GCMC

Добавлено: 19 ноя 2019, 08:18
selenur
bberkhin писал(а):Не очень понял в какой ситуации.
Программа при проверке ругается на отсутствие завещающих команд.
Некоторые контроллеры требуют например что-бы в начале и в конце G- код начинался и заканчивался символом "%", некоторым нужно M2 указывать а некоторым ненужно.
И в случае ошибки у тебя программа всё равно будет показывать траекторию, или только если будут устранены все ошибки, вот про это я имел в виду ;-)
bberkhin писал(а):В 3 и 4 строке, насколько я знаю G-code, у вас ошибки. Не задан ни один код перемещения(G0, G1, G2.. ) для координат в этих строках. Но остальная часть должна работать.
В используемом контроллере, считается что если не указано G0, G1, G2, то подразумевается применение G0, в нем примерно так-же как и в GRBL контролере есть значения режимов по умолчанию, вот пример от GRBL:
2019-11-19_101644.png (3441 просмотр) <a class='original' href='./download/file.php?id=172144&mode=view' target=_blank>Загрузить оригинал (19.9 КБ)</a>

Re: Редактор G-codа с поддержкой высокоуровневого языка GCMC

Добавлено: 19 ноя 2019, 13:36
Serg
selenur писал(а):В используемом контроллере, считается что если не указано G0, G1, G2, то подразумевается применение G0
Это плохой, негодный контроллер. :)

Re: Редактор G-codа с поддержкой высокоуровневого языка GCMC

Добавлено: 19 ноя 2019, 13:44
bberkhin
selenur писал(а):Программа при проверке ругается на отсутствие завещающих команд.
Для этого случая она нежно ругается (желтым): то есть выдает предупреждение и траекторию будет показывать
Если ругается грубо(красным) то ошибка и рисоваться не будет
selenur писал(а): Некоторые контроллеры требуют например что-бы в начале и в конце G- код начинался и заканчивался символом "%", некоторым нужно M2 указывать а некоторым ненужно.
Нет таких ограничений нет. Минимальная программа выглядит так:
1.png (3416 просмотров) <a class='original' href='./download/file.php?id=172167&mode=view' target=_blank>Загрузить оригинал (24.54 КБ)</a>
selenur писал(а): В используемом контроллере, считается что если не указано G0, G1, G2, то подразумевается применение G0, в нем примерно так-же как и в GRBL контролере есть значения режимов по умолчанию, вот пример от GRBL:
Нет G0 по умолчанию не ставится ( как и в LinuxCNC ) . Все остальные значения по умолчанию ставятся.

Я обновил версию. Исправил несколько досадных моментов. Скачать можно там же

Re: Редактор G-codа с поддержкой высокоуровневого языка GCMC

Добавлено: 19 ноя 2019, 13:55
bberkhin
MaksSavchuk писал(а): проверку проходит программа в которой есть перемещения и нет указания feed rate, в linuxcnc это вывалит ошибку например
Спасибо, за замечания.
Исправил отсутствие проверки на установленный feed rate g2/g3. Для g1 проверка была
MaksSavchuk писал(а):навскидку она в g2/g3 параметр p вообще игнорирует
Не очень понял. Параметра p для g2/g3 я не знаю. Что это? Есть IJK метод задания дуги и R метод - оба поддерживаются см https://www.cnccookbook.com/cnc-g-code- ... e-g02-g03/
Matilda 2019-11-19 15.35.32.png (3415 просмотров) <a class='original' href='./download/file.php?id=172169&mode=view' target=_blank>Загрузить оригинал (45.49 КБ)</a>

Re: Редактор G-codа с поддержкой высокоуровневого языка GCMC

Добавлено: 19 ноя 2019, 15:39
MaksSavchuk
bberkhin писал(а):Не очень понял. Параметра p для g2/g3 я не знаю
стандартный по крайней мере в linuxcnc параметр, для задания спиральной траектории
вот например результат выполнения двух команд
g2 i20 z-10 p10
g2 i-20 z-20 p3
Безымянный.png (3401 просмотр) <a class='original' href='./download/file.php?id=172187&mode=view' target=_blank>Загрузить оригинал (30.95 КБ)</a>

Re: Редактор G-codа с поддержкой высокоуровневого языка GCMC

Добавлено: 19 ноя 2019, 19:59
bberkhin
MaksSavchuk писал(а):стандартный по крайней мере в linuxcnc параметр, для задания спиральной траектории
вот например результат выполнения двух команд
Действительно, спасибо, почему-то не обратил на это внимания
Исправил.
bb.png (3384 просмотра) <a class='original' href='./download/file.php?id=172196&mode=view' target=_blank>Загрузить оригинал (29.22 КБ)</a>
Пока не обновлял, может еще что-нибудь всплывет.