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 раз.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
В файле ngcgui.tcl
ограничение на размер png здесь
ограничение на размер png здесь
Код: Выделить всё
# common to any instance items:
set ay(any,app) ngcgui
set ay(any,entrykeys,special) {x X y Y z Z a A b B c C u U v V w W d D}
set ay(any,dir,just) "/tmp/ngcgui_bak" ;# set to "" to disable
set ay(any,aspect) horiz
set ay(any,font) {Helvetica -10 normal}
set ay(any,width,comment) 12
set ay(any,width,varname) 12
set ay(any,img,width,max) 320 ;# subsample image to this max size
set ay(any,img,height,max) 240;# subsample image to this max size
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
Оптимально подходит размер изображения 850*700:
Можно использовать .png,.gif,.jpg,.pgm.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
Установил доп пакет шрифтов
Прописывая в ini
NGCGUI_FONT = Arial -10 normal
пробл не решил
Прописал непосредственно в ngcgui.tcl вместо
-font $::ngc(any,font)
-font Arial Результат:
Прописывая в ini
NGCGUI_FONT = Arial -10 normal
пробл не решил
Прописал непосредственно в ngcgui.tcl вместо
-font $::ngc(any,font)
-font Arial Результат:
Последний раз редактировалось nkp 15 янв 2012, 12:06, всего редактировалось 1 раз.
-
- Мастер
- Сообщения: 257
- Зарегистрирован: 31 мар 2011, 19:09
- Репутация: 19
- Откуда: Германия, Horb am Neckar
- Контактная информация:
Re: ngcgui
Очень интересно, потому что у меня как то с этим делом проблемы были...
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
Чтоб увеличить число используемых полей ввода:
1.Добавляем в o-код строки (у меня по высоте влезло 18 ) 2.В файле ngcgui.tcl подправляем: Получаем: Изменение цвета элементов:
1.Добавляем в o-код строки (у меня по высоте влезло 18 ) 2.В файле ngcgui.tcl подправляем: Получаем: Изменение цвета элементов:
-
- Новичок
- Сообщения: 17
- Зарегистрирован: 04 янв 2012, 17:14
- Репутация: 0
- Контактная информация:
Re: ngcgui
nkp, ты как на это наткнулся? есть какое-то описалово ngcgui.tcl -файла?
Последний раз редактировалось nautilus 15 янв 2012, 17:15, всего редактировалось 2 раза.
-
- Новичок
- Сообщения: 17
- Зарегистрирован: 04 янв 2012, 17:14
- Репутация: 0
- Контактная информация:
Re: ngcgui
Странно... Прописывая в ini
NGCGUI_FONT = Arial -14 normal
У меня получается менять шрифт на закладках ngcgui.
NGCGUI_FONT = Arial -14 normal
У меня получается менять шрифт на закладках ngcgui.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
Так и должно бытьnautilus писал(а):Странно... Прописывая в ini
NGCGUI_FONT = Arial -14 normal
У меня получается менять шрифт на закладках ngcgui.
У меня на домашнем компе пробл с радеоном
Поэтому решилось только так
Сейчас хочу сделать визуализацию закладок: ЗЫ Описания ngcgui.tcl нет,все НМТ-он самый.
-
- Новичок
- Сообщения: 17
- Зарегистрирован: 04 янв 2012, 17:14
- Репутация: 0
- Контактная информация:
Re: ngcgui
Еще вопрос: правка ngcgui.tcl для количества полей ввода - зачем?
Вроде они и так добавляются в закладке, или эти добавленные переменные потом не работают?
Вроде они и так добавляются в закладке, или эти добавленные переменные потом не работают?
Последний раз редактировалось nautilus 15 янв 2012, 19:28, всего редактировалось 2 раза.
-
- Новичок
- Сообщения: 17
- Зарегистрирован: 04 янв 2012, 17:14
- Репутация: 0
- Контактная информация:
Re: ngcgui
Вроде догнал
# fixed initializations
set ::ngc(any,pentries) 18 ;# number of entries in positional frame
это чтоб в одну колонку на закладке столько параметров входило.
# fixed initializations
set ::ngc(any,pentries) 18 ;# number of entries in positional frame
это чтоб в одну колонку на закладке столько параметров входило.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ngcgui
Хочу заметить, что Arial - не свободный шрифт, и его нет в стандартном дистрибутиве убунту. Его свободный аналог DejaVu Sans.nautilus писал(а):NGCGUI_FONT = Arial -14 normal
nkp, а у тебя ubuntu какая стоит, 8.04?
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
Да 8.4
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ngcgui
а чего не хочешь на 10.04 перейти - это сейчас актуальная версия, и имхо она более стабильная и более быстрая. Хотя со старым железом типа моего радеона не рабртает (только без 3д).
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
Хочу.Начал с 10.04
Ну не заработала она на моем компе нормально
Теперь точно придется - начал разбираться с тиклем и тк ,так не все работает
Думаю из-за 8.4
Ну не заработала она на моем компе нормально
Теперь точно придется - начал разбираться с тиклем и тк ,так не все работает
Думаю из-за 8.4
-
- Новичок
- Сообщения: 17
- Зарегистрирован: 04 янв 2012, 17:14
- Репутация: 0
- Контактная информация:
Re: ngcgui
А чего не работает, какой функционал?
На первый взгляд мне не хватает проверки вводимых значений, т.е. какой - никакой обратной связи с формой - закладкой ngcgui.
Я до встерчи с EMC2 хотел вообще написать стороннее приложение (типа конструктора для своих типовых задач) для создания простейшего G-кода, на Delphi или С++. До сих пор есть еще такое желание.
Интересно сколько вкладок можно подключить, nkp - не проверял?
На первый взгляд мне не хватает проверки вводимых значений, т.е. какой - никакой обратной связи с формой - закладкой ngcgui.
Я до встерчи с EMC2 хотел вообще написать стороннее приложение (типа конструктора для своих типовых задач) для создания простейшего G-кода, на Delphi или С++. До сих пор есть еще такое желание.
Интересно сколько вкладок можно подключить, nkp - не проверял?
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
Если вопрос про тикль/тк- то у меня не работает например вот это: Тест на максимум вкладок не проводил ,но вот у человека >15 :nautilus писал(а):А чего не работает, какой функционал?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ngcgui
В Gкоде есть возможность вызова внешнего файла через M100-M199. Правда есть ограничение - только 2 параметра на каждый вызов, но его можно просто обойти. Просто делаем Osub с 30 параметрами, который выполняет скрипт сохраняющий параметры 15 раз в отдельный файл, а затем вызывает нужный обработчик.nautilus писал(а):На первый взгляд мне не хватает проверки вводимых значений, т.е. какой - никакой обратной связи с формой - закладкой ngcgui.Я до встерчи с EMC2 хотел вообще написать стороннее приложение (типа конструктора для своих типовых задач) для создания простейшего G-кода, на Delphi или С++. До сих пор есть еще такое желание.
Что особенно приятно, внешняя программа может быть написана на чем угодно!
Неприятность: нет обратной связи с формой, т.е. найти ошибку и сообщить о ней можем, а вот исправить в форме - нет.
Какую ошибку выдает?nkp писал(а):Если вопрос про тикль/тк- то у меня не работает например вот это:
-
- Новичок
- Сообщения: 17
- Зарегистрирован: 04 янв 2012, 17:14
- Репутация: 0
- Контактная информация:
Re: ngcgui
Вот, вот - это интересно! Где про это можно прочитать подробнее?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ngcgui
Вот тут http://linuxcnc.org/docs/html/gcode_mai ... 00-to-M199:
В двух словах, все просто создаешь файлы с именами M100-M199, а при нахождении в Gкоде строки вида
M1XX Parg1 Qarg2
Выполняется такая строка M1XX arg1 arg2.
В двух словах, все просто создаешь файлы с именами M100-M199, а при нахождении в Gкоде строки вида
M1XX Parg1 Qarg2
Выполняется такая строка M1XX arg1 arg2.