ngcgui
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
ngcgui
NGCGUI - установка, настройка, описание, примеры.
Примеры
Файлы подпрограмм
NGCGUI это утилита для использования в EMC2 подпрограмм,т.н. мастеров.
Ссылки
http://www.youtube.com/watch?v=Bn8T5Fw0ISs
http://www.linuxcnc.org/docs/2.5/html/g ... ha:O-Codes - О-коды
Установка
Для установки в EMC2 версии 2.4 нужны 4 файла: Положить файлы в папку с конфигурацией станка.
Более удобным будет поместить в отдельную папку,тогда можно их использовать для разных кофигураций.
Прописать в ini файле в секции [DISPLAY] пути к этим файлам:
(пример из моего ini файла) Обратите внимание: : ngcgui_app.tcl должен предшествовать ngcgui_ttt.tcl
Теперь создаем нашу первую вкладку следующей строкой - пока без названия: Запускаем,проверяем: Настройка
Теперь создаем сам файл подпрограммы для нашей вкладки.
Он должен быть такого вида: имя- имя подпрограммы,имя файла и название нашей вкладки.
тело подпрогр- g-код, который мы напишем.
Назовем файл lathe (пример будет из токарной обработки): Окончание файлов должно быть .ngc
Помещаем наш файл lathe.ngc в папку прописанную в ini [DISPLAY]PROGRAM_PREFIX и прописываем путь к ней там же: Проверяем: Кстати,загружаемый по умолчанию EMC файл можно изменить в ini [DISPLAY]
если прописать так
не загр. ничего.(как на скриншоте выше.)
Напишем тело нашей подпрограммы.
Его надо начинать с набора инструкций, которые определяют параметры : Смотрим: Каждая строка появилась во вкладке с возможностью редактировать данные.
Теперь мы в нашей подпрограмме (в g-коде) можем (и будем) использовать переменные.
Например,вмето T1M6 пишем T#<RToolNumber> M6
После набора инструкций (их может быть до 30) непосредственно сам G-код: Сам файл: Запускаем,на вкладке нажимаем "Create feature" ,потом "Finalize"
Получаем запрограммированную траекторию: Описание
Примеры
Как объеденить несколько подпрограмм
В программу могут быть объеденены несколько копий как одной подпрограммы, так и разные подпрограммы.
Как это выглядит на практике:
у нас есть 6 вкладок с подпрограммами для фрезерной обработки: Объеденим их все в одну программу. Открываем первую вкладку,корректируем ,если нужно параметры,нажимаем "CreateFeature".
Этим мы передали наши параметры в создаваемый ngcgui файл auto.ngc. Изменим некоторые параметры(например координаты начала обработки) Нажмем еще раз "CreateFeature".В файл auto.ngc передались также и новые параметры.Нажимаем "Finalize"-загружаем готовый файл с двумя подпрограммами: Чтобы объеденить подпрограммы с разных вкладок :
1.Открываем первую вкладку,корректируем ,если нужно параметры,нажимаем "CreateFeature".
2.Переходим на нужную вкладку,корректируем ,если нужно параметры,нажимаем "CreateFeature".
3.Повторяем,если необходимо.
4.Нажимаем "Finalize".
5. Соглашаемся создать из всех вкладок. Удобней объеденять несколько одинаковых контуров так:
1.создаем из требуемой вкладки копию нажатием кнопки "new"
2.нажимаем "Subfile" ,открываем файл(в нашем случае тот же,что и на первой вкладке)
3.повторяем необходимое число раз
4.корректируем параметры для каждой копии
5.объеденяем все,соблюдая нужную нам последовательность обработки. 5. Соглашаемся создать из всех вкладок. Файлы подпрoграмм
для токарной обработки шаблон цикла
сфера
конус по его длине
обработка наружной цилиндрической поверхности
расточка для фрезерной обработки цилиндрический карман
Примеры
Файлы подпрограмм
NGCGUI это утилита для использования в EMC2 подпрограмм,т.н. мастеров.
Ссылки
http://www.youtube.com/watch?v=Bn8T5Fw0ISs
http://www.linuxcnc.org/docs/2.5/html/g ... ha:O-Codes - О-коды
Установка
Для установки в EMC2 версии 2.4 нужны 4 файла: Положить файлы в папку с конфигурацией станка.
Более удобным будет поместить в отдельную папку,тогда можно их использовать для разных кофигураций.
Прописать в ini файле в секции [DISPLAY] пути к этим файлам:
(пример из моего ini файла) Обратите внимание: : ngcgui_app.tcl должен предшествовать ngcgui_ttt.tcl
Теперь создаем нашу первую вкладку следующей строкой - пока без названия: Запускаем,проверяем: Настройка
Теперь создаем сам файл подпрограммы для нашей вкладки.
Он должен быть такого вида: имя- имя подпрограммы,имя файла и название нашей вкладки.
тело подпрогр- g-код, который мы напишем.
Назовем файл lathe (пример будет из токарной обработки): Окончание файлов должно быть .ngc
Помещаем наш файл lathe.ngc в папку прописанную в ini [DISPLAY]PROGRAM_PREFIX и прописываем путь к ней там же: Проверяем: Кстати,загружаемый по умолчанию EMC файл можно изменить в ini [DISPLAY]
если прописать так
не загр. ничего.(как на скриншоте выше.)
Напишем тело нашей подпрограммы.
Его надо начинать с набора инструкций, которые определяют параметры : Смотрим: Каждая строка появилась во вкладке с возможностью редактировать данные.
Теперь мы в нашей подпрограмме (в g-коде) можем (и будем) использовать переменные.
Например,вмето T1M6 пишем T#<RToolNumber> M6
После набора инструкций (их может быть до 30) непосредственно сам G-код: Сам файл: Запускаем,на вкладке нажимаем "Create feature" ,потом "Finalize"
Получаем запрограммированную траекторию: Описание
Примеры
Как объеденить несколько подпрограмм
В программу могут быть объеденены несколько копий как одной подпрограммы, так и разные подпрограммы.
Как это выглядит на практике:
у нас есть 6 вкладок с подпрограммами для фрезерной обработки: Объеденим их все в одну программу. Открываем первую вкладку,корректируем ,если нужно параметры,нажимаем "CreateFeature".
Этим мы передали наши параметры в создаваемый ngcgui файл auto.ngc. Изменим некоторые параметры(например координаты начала обработки) Нажмем еще раз "CreateFeature".В файл auto.ngc передались также и новые параметры.Нажимаем "Finalize"-загружаем готовый файл с двумя подпрограммами: Чтобы объеденить подпрограммы с разных вкладок :
1.Открываем первую вкладку,корректируем ,если нужно параметры,нажимаем "CreateFeature".
2.Переходим на нужную вкладку,корректируем ,если нужно параметры,нажимаем "CreateFeature".
3.Повторяем,если необходимо.
4.Нажимаем "Finalize".
5. Соглашаемся создать из всех вкладок. Удобней объеденять несколько одинаковых контуров так:
1.создаем из требуемой вкладки копию нажатием кнопки "new"
2.нажимаем "Subfile" ,открываем файл(в нашем случае тот же,что и на первой вкладке)
3.повторяем необходимое число раз
4.корректируем параметры для каждой копии
5.объеденяем все,соблюдая нужную нам последовательность обработки. 5. Соглашаемся создать из всех вкладок. Файлы подпрoграмм
для токарной обработки шаблон цикла
сфера
конус по его длине
обработка наружной цилиндрической поверхности
расточка для фрезерной обработки цилиндрический карман
Последний раз редактировалось nkp 20 июл 2012, 06:57, всего редактировалось 45 раз.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ngcgui
Круто!!! Это все тупо Gкодом и 4-ой осью делается?nkp писал(а):Вот сделал поворот по 2 точкам,пока не кнопками ,а ngcgui:
http://www.youtube.com/watch?v=MI2GS6m3hzo
Ролучается что вторая точка должна лежать на оси Y?
А если там есть еще g92, g17 или еще какие-нибудь хитрые коды? Все не так просто. Для частного случая с G01-03 решаемо, но для общего похоже вообще не решаемо. Т.к. тот же G92 необратим...nkp писал(а):Вот эти варианты: G1-G1 , G1-G2 , G2-G1 , G2-G2 (первая команда из Nx, вторая- из N(x-1) )
ЗЫ надо тебе еще одну медальку выписать !
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
Ну хоть с чего то начатьNick писал(а): А если там есть еще g92, g17 или еще какие-нибудь хитрые коды? Все не так просто. Для частного случая с G01-03 решаемо, но для общего похоже вообще не решаемо. Т.к. тот же G92 необратим...
В тот же маче писали вообще только линейные перемещения
Обратная обработка нужна сравнительно редко - вот упоминали эрозию проволочную,там этого достаточно будет.
Последний раз редактировалось nkp 11 май 2012, 10:10, всего редактировалось 1 раз.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ngcgui
Ок, как тебе помочь? Могу написать скрипт для инвертирования Gкода содержащего G01-G03.
Единственный нюанс, надо либо знать текущую точку, либо незаконченное движение кодов G02, G03 придется писать через R.
Единственный нюанс, надо либо знать текущую точку, либо незаконченное движение кодов G02, G03 придется писать через R.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
А зачем нам текущая тчк?
Мы хоть при ж1 хоть при ж2 возвращаемся в конечную тчк из Nx-1
Мы хоть при ж1 хоть при ж2 возвращаемся в конечную тчк из Nx-1
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ngcgui
Для определения параметров I J K нужна текущая точка.
Блин, не плохо бы еще знать модальные кода G90-91.1
Блин, не плохо бы еще знать модальные кода G90-91.1
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
То есть (x;y) при ж2 мы берем из Nx-1 ,а (I;J) или R из N. ж2 меняем на ж3
вечером попробую на практике
вечером попробую на практике
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
I;J у нас указаны в кадре (или я )Nick писал(а):Для определения параметров I J K нужна текущая точка.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ngcgui
i,j по умолчанию пишутся относительно начальной точки. а если мы не знаем начальной точки, то облом . придется через R пересчитывать.
А если включен абсолютный режим через g90 или g91, то надо вообще по другому считать...
А если включен абсолютный режим через g90 или g91, то надо вообще по другому считать...
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
точно
Но как то же во взрослых стойках это реализованно?
Но как то же во взрослых стойках это реализованно?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ngcgui
Я и говорю, надо либо точку текущую знать, либо в формат R все переписывать. Либо в абсолютные координаты переходить.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
Ну с текущей точкой не проблема-ее мы всегда знаемNick писал(а):Я и говорю, надо либо точку текущую знать, либо в формат R все переписывать. Либо в абсолютные координаты переходить.
5420-5428 - Current Position
А про остальные моменты-думаю что пользователь сией опцией должен изначально генерировать свой код по определенным правилам( а куда ж без них )
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ngcgui
А как вообще все это реализовывать, через ngcgui? Как подменять Gкод? И как узнать текущую строку и gкод перед ней?
Re: ngcgui
Еже ли я правильно понял ход мысли то :
про 3 точки - ИМХО их на самом деле должно быть 4 как минимум.
3 точки это когда сам по себе кусок (заготовка) типа ровная ровнее не бываит.
а ведь ее могут отрезать как нибудь.
так что в идеале 4 точки "оббежать" и нарисовать векторами замкнутый прямоугольник который потом
вращать на экране или привязывать к крайним точкам G кода ( чтоб гарантированно "вписаться" в деталь или чтоб с минимумом заморочек
кроить, ну т.е заморочки типа - отрезать 3,175мм от края )
про 3 точки - ИМХО их на самом деле должно быть 4 как минимум.
3 точки это когда сам по себе кусок (заготовка) типа ровная ровнее не бываит.
а ведь ее могут отрезать как нибудь.
так что в идеале 4 точки "оббежать" и нарисовать векторами замкнутый прямоугольник который потом
вращать на экране или привязывать к крайним точкам G кода ( чтоб гарантированно "вписаться" в деталь или чтоб с минимумом заморочек
кроить, ну т.е заморочки типа - отрезать 3,175мм от края )
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: ngcgui
А это смотря что считать точкой. Если места одиночного касания щупом, то надо 4 точки (по две на соседних краях), а если точка - это координаты угла заготовки, то достаточно трёх: два противоположных по диагонали и один между ними.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
тут сделали поворот координат для плазмы: http://www.linuxcnc.org/index.php/engli ... 0&id=20912
попробовал повторить-как то работает неадекватно.
Может кто то попробует запустить: похоже делал выше -но с ngcgui
тут удобней -кнопками , но не пойму - в чем затык?
попробовал повторить-как то работает неадекватно.
Может кто то попробует запустить: похоже делал выше -но с ngcgui
тут удобней -кнопками , но не пойму - в чем затык?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ngcgui
А что именно не адекватно?nkp писал(а):опробовал повторить-как то работает неадекватно.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ngcgui
Мда, как-то странненько , завтра гляну, может там с формулами косяк... На первый взгляд все просто.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
немного о полярной системе координат.
Общие определения
примеры использования : Вот здесь об этой системе в linuxcnc
маленький мастер использующий полярную систему:
Общие определения
примеры использования : Вот здесь об этой системе в linuxcnc
маленький мастер использующий полярную систему:
Последний раз редактировалось nkp 11 июл 2012, 18:25, всего редактировалось 1 раз.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ngcgui
WOW! Крутейшая штука! А она давно есть, или только в новых версиях появилась?
Мне кажется, что spiral.ngc у тебя не правильный - очень похоже на тот же polar, там надо изменить строку перемещения на что-то вроде
g91 G1 @#2 ^#1
Мне кажется, что spiral.ngc у тебя не правильный - очень похоже на тот же polar, там надо изменить строку перемещения на что-то вроде
g91 G1 @#2 ^#1