LinuxCNC Features - набор мастеров для LinuxCNC

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Nick »

Снимок-features.ngc - AXIS 2.6.0-pre0-4385-g9c95855 on LinuxCNC-HAL-SIM-AXIS.png (132046 просмотров) <a class='original' href='./download/file.php?id=15468&sid=c5073683536f11efbb33156e9daa68ae&mode=view' target=_blank>Загрузить оригинал (153.61 КБ)</a>
Как некоторые уже заметили я пропал на недельку. И пропадал я не зря. Наконец-то решил сделать достойную замену ngcgui.
LinuxCNC Features это тулкит для создания "мастеров". Точнее это тулкит самих "мастеров". В общем и целом LinuxCNC Features работает схоже с ngcgui, но с некоторыми отличиями. Честно говоря, с ngcgui я до конца так и не разобрался, поэтому это я считаю, что он работает схоже :freak:. (Название Features взято от кнопки в ngcgui - add feature.)
В wiki cnc-club добавлена страница о LinuxCNC Features, давайте вместе ее наполнять документацией, видео и прочими полезными материалами.
http://cnc-club.ru/wiki/index.php/LinuxCNC_Features

Текущий статус разработки

  • Дописать обработки.
  • Отловить баги :freak: .
Возможности (для просмотра содержимого нажмите на ссылку)
Что может LinuxCNC Features:
  1. Добавлять features - простые обработки
  2. Менять их порядок
  3. Группировать обработки
  4. Делать линейные и круговые массивы
  5. Встраиваться в axis LinuxCNC или работать как отдельной приложение
  6. Просматривать резултьтат в axis в редиме реального времени
  7. Сохранять шаблоны обработок
Это только пока :).
Скриншоты (для просмотра содержимого нажмите на ссылку)
Пара примеров обработки, созданной за 20 сек:
LinuxCNC-Features1.png (132335 просмотров) <a class='original' href='./download/file.php?id=14825&sid=c5073683536f11efbb33156e9daa68ae&mode=view' target=_blank>Загрузить оригинал (158.39 КБ)</a>
LinuxCNC-Features.png (132335 просмотров) <a class='original' href='./download/file.php?id=14826&sid=c5073683536f11efbb33156e9daa68ae&mode=view' target=_blank>Загрузить оригинал (166.41 КБ)</a>

Скрины предыдущих версий

Саме начало
LinuxCNC Features.png (132339 просмотров) <a class='original' href='./download/file.php?id=14824&sid=c5073683536f11efbb33156e9daa68ae&mode=view' target=_blank>Загрузить оригинал (68.04 КБ)</a>
Аватара пользователя
going
Мастер
Сообщения: 501
Зарегистрирован: 29 сен 2013, 20:55
Репутация: 127
Откуда: г.Киров
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение going »

UAVpilot писал(а): Вроде такая ошибка бывает если попытаться открыть файл (open()) с пустым именем
Все ошибки которые features.py --File "/usr/lib/pymodules/python2.6/gladevcp/features.py", line 913, in refresh и далее,
это одно действие. Нажал на кнопку "Обновить".
Не могу найти причину.
Ошибка -- ...../usr/bin/gladevcp:290: GtkWarning.... Это пробовал менять сигнал на кнопке сохранить. Вернул к исходному виду. Ошибка ушла.

Прикрутил к версии linuxcnc-2.5.3. "Обновить" получается только с hexagon как в ремарке чуть выше #357 Сообщение going » 26 мар 2014, 10:18
При попытке "обновить" с кругом эллипсом и др. выдаёт одни и те же ошибки.
Не могу понять, то ли значения не корректные ввожу, то ли имеется некоторая несовместимость версий, или попытка запустить linuxcnc+features на реальной
конфигурации станка в отсутствии оного обуславливают такое поведение?

Эх, руководство бы какое нить. Хоть вольным стилем. Хоть стихами.
Да и задумку автора - как это должно быть и работать. Что где должно лежать и что к чему должно обращаться которое должно содержать то-то в таком-то формате.

Пока медитирую на Python+Glade. Стараюсь набрать критическую массу.

Благодарствую за советы.
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
Serg
Мастер
Сообщения: 21016
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 4985
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Serg »

Я там выше патч давал - с ним работает если запускать как отдельное приложение из любого каталога, где оно лежит нужно только указать путь конфигурации станка.
Ну в смысле пытается работать, во всяком случае все файлы (кроме одного находит).
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
going
Мастер
Сообщения: 501
Зарегистрирован: 29 сен 2013, 20:55
Репутация: 127
Откуда: г.Киров
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение going »

UAVpilot писал(а):Я там выше патч давал
Да да. именно этим патчем и воспользовался. Перекрутил его несколько раз, менял расположение файлов, возвращал на место и менял места их прописки в файлах mill.xml и lathe.xml . В фас в профиль. Папки находит, а экспорт в linuxcnc (кнопка "обновить") никак. Точнее только с hexagon 001 получается. Видно картинку в linuxcnc? получается сохранить как file.ngc

Спасибо!
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
Serg
Мастер
Сообщения: 21016
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 4985
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Serg »

going писал(а):Точнее только с hexagon 001 получается.
Ну да, есть ещё глюки...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Nick »

Вернемся в строй :).
  1. Что вы там без меня успели понаизменять? Сделайте кто-нибудь последний diff! :)
  2. Начал переделывать Draw, чтобы можно было сделать внешнюю обработку с заглублением по спирали.


    Суть такая... ммм... лучше сразу в вики :) http://cnc-club.ru/wiki/index.php/Linux ... subroutine
    в двух сдловах остановился на том, что сначала копим все элементы во внешнем скрипте с предварительной обработкой параметров через:

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

    	#<draw_tmp_x> = [[#param_x]+#<_draw_x>]
    	#<draw_tmp_y> = [[#param_y]+#<_draw_y>]
    	;py,milldraw.line_to(interpreter.this.params['draw_tmp_x'],interpreter.this.params['draw_tmp_y'])
    
    И потом получаем из скрипта результирующий Gкод и парсим его на месте.
    Глобальную замену делать не стал - она не сработает, если один и тот же код вызывается несколько раз. А так на начало выполнения draw мы можем получить все свежие актуальные состояния параметров.
ЗЫ с линиями это уже работает :cheesy: ! Ну как работает, тупо получается отрисовать линии :).
Аватара пользователя
Serg
Мастер
Сообщения: 21016
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 4985
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Serg »

После того как я наткнулся на глюки с разными фрезерными операциями (нехватка файлов и т.п.) отложил пока в сторонку.
Просто попробуй все операции - оно и повылезает.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Nick »

Я вот думаю на счет сторонней утилитки, из которой будем брать gкод ...
  • есть утилитка от aaleksander, но он зараза так и не сделал заглубление по спирале и она не работает с дугами. Идея небольшой утилитки #1
  • есть еще вот такая http://www.vagrearg.org/content/gcmc кто-нибудь с ней разбирался?
  • может что-то еще есть такое удобное?
надо:
  • заглубление по спирале
  • обработка площадей?
  • ...?
Аватара пользователя
Serg
Мастер
Сообщения: 21016
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 4985
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Serg »

Надо сначала сделать, чтоб все операции в "меню" работали, хотябы без спиралей и площадей! :pssdoff:
А то получается: запустил, попробовал, забыл.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
aaleksander
Мастер
Сообщения: 576
Зарегистрирован: 23 авг 2013, 18:04
Репутация: 118
Откуда: г. Ухта
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение aaleksander »

Nick писал(а):есть утилитка от aaleksander, но он зараза так и не сделал заглубление по спирале и она не работает с дугами. Идея небольшой утилитки #1
Слово "зараза" нужно выделять запятыми :beer_blow:
У меня тут все закрутилось, повышение светит. Предлагают с десктопов на ПЛК перейти со всеми вытекающими. В голове места вообще не осталось.

P.S. Дуги постараюсь на этой неделе сделать, так-то там не сложно.
Аватара пользователя
going
Мастер
Сообщения: 501
Зарегистрирован: 29 сен 2013, 20:55
Репутация: 127
Откуда: г.Киров
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение going »

Nick писал(а):Вернемся в строй :).[/quote
Nick писал(а):Вернемся в строй :).
Ух!!! Движуха пошла.

С удовольствием вернусь.

На неделе закончим очередное испытание на работе и тогда ..... Надо память освежить.
На следующей неделе обязательно выложу результаты медитации.
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
verser
Мастер
Сообщения: 1792
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1200
Настоящее имя: Сергей
Откуда: Минск
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение verser »

Подключил Features к интерфейсу gmoccapy. Сам графический интерфейс работает супер. G-code пока не генерируется. Пробовал пока только line-to. Выдает ошибки, связанные с inline Python ( типа неопределено имя milldraw) и генерит такой g-code для параметров X=10 Y=20 (default.ngc тоже есть, но тут не показываю)

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

	#<draw_tmp_x> = [10]
	#<draw_tmp_y> = [20]
	;py,milldraw.line_to(interpreter.this.params['draw_tmp_x'],interpreter.this.params['draw_tmp_y'])
	#<_draw_x> = [[10]]
	#<_draw_y> = [[20]]
Насколько сильно Features "привязан" к Axis ?
И еще, отличная работа, Nick!
Изображение- центроискатели
Аватара пользователя
Serg
Мастер
Сообщения: 21016
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 4985
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Serg »

verser писал(а):Насколько сильно Features "привязан" к Axis ?
Никак не привязан. Во всяком случае без него вполне себе работает.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Nick »

verser писал(а):Насколько сильно Features "привязан" к Axis ?
В основном только через axis-remote. Нужна функция обновления картинки в предпросмотре, она выполняется за счет axis-remote +имя файла...
Аватара пользователя
verser
Мастер
Сообщения: 1792
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1200
Настоящее имя: Сергей
Откуда: Минск
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение verser »

Nick писал(а): Основной смысл - хочется сделать стороннюю утилиту для создания обрабокти контура или площади контура с заглублением по спирале и с перемычками.
Есть уже интерфейс, который может выдать сторонней утилите кучу параметров и принять от нее Gкод. Собственно нужна сторонняя утилита :).
Раньше я пытался написать все на чистом Gкоде, но заглубление по спирале меня доканало.
А в ngcgui получается нет заглубления по спирали?
Изображение- центроискатели
nkp
Мастер
Сообщения: 8264
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1546
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение nkp »

verser писал(а):А в ngcgui получается нет заглубления по спирали?
в ngcgui вообще 'ничего' нет )))
это голый интерфейс для "программ-мастеров"...
пишем подпрограмму заглубления - будет заглубление...
или я не о том??
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Nick »

Ага, так же как и в features на данный момент :)
Оболочка есть, программ - почти нет. точнее совсем нет...
Аватара пользователя
verser
Мастер
Сообщения: 1792
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1200
Настоящее имя: Сергей
Откуда: Минск
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение verser »

Nick писал(а):Ага, так же как и в features на данный момент :)
Оболочка есть, программ - почти нет. точнее совсем нет...
Не преуменьшай, то что есть уже тянет на релиз (и на медаль :) )(можно line-in и draw сделать пока обычными). Для себя нашел во Features очень много пользы. Принцип размещения операций в виде дерева - супер удобно и наглядно. И очень стильно получилось.
Изображение- центроискатели
Аватара пользователя
verser
Мастер
Сообщения: 1792
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1200
Настоящее имя: Сергей
Откуда: Минск
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение verser »

Я так понял, что line-to - это фрезеровка линии с пошаговым заглублением. И работающего варианта (который без inline python и без "спирали") пока нет. Нашел в файле draw.ngc частично сделанную O<draw-line-to>. Полагаю ее нужно дописать? Я не против это сделать. Nick, в двух словах, какова задумка уже сделанного в O<draw-line-to>? что б быстрее вникнуть.
Изображение- центроискатели
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Nick »

Да, примерно суть такая.
Нужна внешняя утилитка... которая по произвольным данным будет выдавать Gкод. Дальше их могу даже сам соединить.

Вообще были для фрезеровки готовые прямоугольник, и заполненый прямоугольник, были всякие овалы, круги из центра и по различным точкам. Но все было без фишки заглубления по спирале, а его сильно хочется, поэтому сейчас хочется написать draw, и потом на нем сделать отдельные фичи для стандартных фигур - кругов, квадратов, многоугольников и т.д.

Это читал: http://cnc-club.ru/wiki/index.php/Linux ... _обработок ?
Вот стратегия развития draw: http://cnc-club.ru/wiki/index.php/Linux ... subroutine
Аватара пользователя
verser
Мастер
Сообщения: 1792
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1200
Настоящее имя: Сергей
Откуда: Минск
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение verser »

Про эти перспективы я понял. Но пока что имхо надо логически завершить то что уже наработано. Всего-то дописать line-to и будет рабочая ver 1.0.0 :) , вот я о чем.
Изображение- центроискатели
Ответить

Вернуться в «LinuxCNC»