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

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
bberkhin
Новичок
Сообщения: 7
Зарегистрирован: 21 янв 2019, 13:48
Репутация: 3
Настоящее имя: Борис
Контактная информация:

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

Сообщение 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 (3237 просмотров) <a class='original' href='./download/file.php?id=172097&sid=bc0137cc1aaeca198c79043a11ead971&mode=view' target=_blank>Загрузить оригинал (96.35 КБ)</a>
12.png (3237 просмотров) <a class='original' href='./download/file.php?id=172098&sid=bc0137cc1aaeca198c79043a11ead971&mode=view' target=_blank>Загрузить оригинал (76.08 КБ)</a>
Почитать подробнее и скачать здесь https://matildacnc.com/ru
SVP
Мастер
Сообщения: 6135
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

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

Сообщение SVP »

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

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

Сообщение selenur »

Предварительный просмотр может работать в такой ситуации?
2019-11-18_201337.png (3219 просмотров) <a class='original' href='./download/file.php?id=172115&sid=bc0137cc1aaeca198c79043a11ead971&mode=view' target=_blank>Загрузить оригинал (37.89 КБ)</a>
Или программа как я понял накладывает свои ограничения, которые нужно выполнить.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
bberkhin
Новичок
Сообщения: 7
Зарегистрирован: 21 янв 2019, 13:48
Репутация: 3
Настоящее имя: Борис
Контактная информация:

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

Сообщение bberkhin »

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

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

Но программа наверняка очень сырая, поэтому я буду благодарен за любые найденные проблемы и постараюсь их оперативно устранять.
Если вышлите этот файл (на bberkhin@matildacnc.com) я посмотрю.
MaksSavchuk
Опытный
Сообщения: 156
Зарегистрирован: 17 май 2019, 09:56
Репутация: 13
Настоящее имя: Максим Савчук
Контактная информация:

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

Сообщение MaksSavchuk »

навскидку она в g2/g3 параметр p вообще игнорирует, проверку проходит программа в которой есть перемещения и нет указания feed rate, в linuxcnc это вывалит ошибку например
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

bberkhin писал(а):Не очень понял в какой ситуации.
Программа при проверке ругается на отсутствие завещающих команд.
Некоторые контроллеры требуют например что-бы в начале и в конце G- код начинался и заканчивался символом "%", некоторым нужно M2 указывать а некоторым ненужно.
И в случае ошибки у тебя программа всё равно будет показывать траекторию, или только если будут устранены все ошибки, вот про это я имел в виду ;-)
bberkhin писал(а):В 3 и 4 строке, насколько я знаю G-code, у вас ошибки. Не задан ни один код перемещения(G0, G1, G2.. ) для координат в этих строках. Но остальная часть должна работать.
В используемом контроллере, считается что если не указано G0, G1, G2, то подразумевается применение G0, в нем примерно так-же как и в GRBL контролере есть значения режимов по умолчанию, вот пример от GRBL:
2019-11-19_101644.png (3172 просмотра) <a class='original' href='./download/file.php?id=172144&sid=bc0137cc1aaeca198c79043a11ead971&mode=view' target=_blank>Загрузить оригинал (19.9 КБ)</a>
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

selenur писал(а):В используемом контроллере, считается что если не указано G0, G1, G2, то подразумевается применение G0
Это плохой, негодный контроллер. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
bberkhin
Новичок
Сообщения: 7
Зарегистрирован: 21 янв 2019, 13:48
Репутация: 3
Настоящее имя: Борис
Контактная информация:

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

Сообщение bberkhin »

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

Я обновил версию. Исправил несколько досадных моментов. Скачать можно там же
bberkhin
Новичок
Сообщения: 7
Зарегистрирован: 21 янв 2019, 13:48
Репутация: 3
Настоящее имя: Борис
Контактная информация:

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

Сообщение 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 (3146 просмотров) <a class='original' href='./download/file.php?id=172169&sid=bc0137cc1aaeca198c79043a11ead971&mode=view' target=_blank>Загрузить оригинал (45.49 КБ)</a>
MaksSavchuk
Опытный
Сообщения: 156
Зарегистрирован: 17 май 2019, 09:56
Репутация: 13
Настоящее имя: Максим Савчук
Контактная информация:

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

Сообщение MaksSavchuk »

bberkhin писал(а):Не очень понял. Параметра p для g2/g3 я не знаю
стандартный по крайней мере в linuxcnc параметр, для задания спиральной траектории
вот например результат выполнения двух команд
g2 i20 z-10 p10
g2 i-20 z-20 p3
Безымянный.png (3132 просмотра) <a class='original' href='./download/file.php?id=172187&sid=bc0137cc1aaeca198c79043a11ead971&mode=view' target=_blank>Загрузить оригинал (30.95 КБ)</a>
bberkhin
Новичок
Сообщения: 7
Зарегистрирован: 21 янв 2019, 13:48
Репутация: 3
Настоящее имя: Борис
Контактная информация:

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

Сообщение bberkhin »

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

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