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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

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

Сообщение Nick » 22 май 2013, 18:07

LinuxCNC Features - набор мастеров для LinuxCNC Снимок-features.ngc - AXIS 2.6.0-pre0-4385-g9c95855 on LinuxCNC-HAL-SIM-AXIS.png

Как некоторые уже заметили я пропал на недельку. И пропадал я не зря. Наконец-то решил сделать достойную замену 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. Сохранять шаблоны обработок
Это только пока :).

Установка (для просмотра содержимого нажмите на ссылку)
http://cnc-club.ru/wiki/index.php/LinuxCNC_Features#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0

Где взять

Тут --> https://github.com/cnc-club/linuxcnc-features/

Скриншоты (для просмотра содержимого нажмите на ссылку)
Пара примеров обработки, созданной за 20 сек:
LinuxCNC Features - набор мастеров для LinuxCNC LinuxCNC-Features1.png
LinuxCNC Features - набор мастеров для LinuxCNC LinuxCNC-Features.png

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

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

Аватара пользователя
Nick
Мастер
 
Сообщения: 22527
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1576
Заслуга: Developer
Медальки:

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

Сообщение verser » 11 июл 2014, 14:26

Nick писал(а):Сейчас сделаю фичу G41/G42..
Лучше всего её как доп. параметр в mill/set-tool-params.ini сделать , со значениями например
0 - нет компенсации
1 - G41
2 - G42
Изображение- центроискатели
Аватара пользователя
verser
Мастер
 
Сообщения: 1768
Зарегистрирован: 21 июл 2013, 22:28
Откуда: Минск
Репутация: 1180
Медальки:
Настоящее имя: Сергей

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

Сообщение Nick » 11 июл 2014, 14:50

сделал 41/42, но теперь зараза ругается на то что перемещение сдишком маленькое для такой компенсации... я так понимаю это в местах заглубления... там появляются короткие отрезки...
Вложения
LinuxCNC Features - набор мастеров для LinuxCNC Снимок-features.ngc - AXIS 2.6.0-pre0-4385-g9c95855 on LinuxCNC-HAL-SIM-AXIS.png
Аватара пользователя
Nick
Мастер
 
Сообщения: 22527
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1576
Заслуга: Developer
Медальки:

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

Сообщение Lexxa » 11 июл 2014, 15:44

Nick писал(а):Мне кажется это надо делать отдельной фиче

Зачем плодить одинаковые фичи, когда нужно просто дать возможность включить или не включить корректор???
Комната залита кровью, я занимаюсь любовью!
Аватара пользователя
Lexxa
Мастер
 
Сообщения: 2651
Зарегистрирован: 16 дек 2011, 16:48
Откуда: ryazan
Репутация: 306
Медальки:
Настоящее имя: Алексей

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

Сообщение verser » 11 июл 2014, 20:22

Nick писал(а):сделал 41/42, но теперь зараза ругается на то что перемещение сдишком маленькое для такой компенсации... я так понимаю это в местах заглубления... там появляются короткие отрезки...
По этому поводу посмотрел в документации
The lead in move must be at least as long as the tool radius
Непонятное ограничение linuxcnc, убивающее весь смысл команд G41 G42, поскольку без коротких перемещений ну никак не обойтись.
Изображение- центроискатели
Аватара пользователя
verser
Мастер
 
Сообщения: 1768
Зарегистрирован: 21 июл 2013, 22:28
Откуда: Минск
Репутация: 1180
Медальки:
Настоящее имя: Сергей

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

Сообщение UAVpilot » 11 июл 2014, 20:37

Дайте посмотреть код вокруг этой 164-й строки?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 20125
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4840
Заслуга: !!!
Медальки:
Настоящее имя: Сергей

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

Сообщение verser » 11 июл 2014, 21:10

Добавил компенсацию диаметра фрезы во все mill мастера кроме Draw и Chain. Теперь если параметр #<_global_tool_d> не 0, то будет выполняться зависящая от его величины компенсация. Для изменения направления обхода достаточно поставить "минус" перед значением #<_global_tool_d>. Обновил github https://github.com/verser-git/features
Изображение- центроискатели
Аватара пользователя
verser
Мастер
 
Сообщения: 1768
Зарегистрирован: 21 июл 2013, 22:28
Откуда: Минск
Репутация: 1180
Медальки:
Настоящее имя: Сергей

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

Сообщение Сергей Саныч » 11 июл 2014, 21:26

verser писал(а):The lead in move must be at least as long as the tool radius
Читаем дальше
The lead in move can be a rapid move.
Речь про подвод инструмента по команде G0. Компенсацию надо включить заранее, и после включения выполнить G0 на расстояние не меньше радиуса инструмента. Что логично, иначе при включении компенсации мы оказываемся неизвестно где, может даже в толще материала. А после этого перемещения (которое будет завершено в точке, уже с учетом компенсации, отрезки по G1/G2/G3 могут быть сколь угодно короткими.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 8834
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2764
Медальки:

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

Сообщение NightV » 12 июл 2014, 10:37

Сергей Саныч писал(а): Компенсацию надо включить заранее, и после включения выполнить G0 на расстояние не меньше радиуса инструмента.

солидкам так делает, но на G1
Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
 
Сообщения: 6547
Зарегистрирован: 30 дек 2011, 09:14
Откуда: Israel
Репутация: 2269
Медальки:
Настоящее имя: Владимир Айрапетян

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

Сообщение Nick » 14 июл 2014, 14:43

UAVpilot писал(а):Дайте посмотреть код вокруг этой 164-й строки?..

Там все очень не просто :freak: :
LinuxCNC Features - набор мастеров для LinuxCNC Снимок-features.ngc - AXIS 2.6.0-pre0-4385-g9c95855 on LinuxCNC-HAL-SIM-AXIS-1.png


Если добавить холостое перемещение, то начинате работать.... Т.е. получается в G42 надо добавить доп поля для задания перемещения в нужную сторону? :roll:
Аватара пользователя
Nick
Мастер
 
Сообщения: 22527
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1576
Заслуга: Developer
Медальки:

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

Сообщение Сергей Саныч » 14 июл 2014, 14:52

Nick писал(а):Если добавить холостое перемещение, то начинате работать...
дак ыть в букваре всё написано :)
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 8834
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2764
Медальки:

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

Сообщение verser » 15 июл 2014, 11:07

Добавил компенсацию диаметра инструмента с помощью G41.1 G42.1 в группу Chain, группу здесь описывал http://cnc-club.ru/forum/viewtopic.php?f=15&t=3124&start=380#p125236(теперь концы смежных элементов обязательно должны совпадать), в качестве параметра диаметра используется все та же глобальная переменная #<_global_tool_d>. Для крорректной отработки G41.1 G42.1 требуется задать вручную угол наклона касательной к первому отрезку или дуге (на рисунках первый отрезок - тот что под фрезой). Вот исходный рисунок без компенсации #<_global_tool_d>=0
LinuxCNC Features - набор мастеров для LinuxCNC comp0.png
компенсация "изнутри" #<_global_tool_d>=5
LinuxCNC Features - набор мастеров для LinuxCNC comp1.png
компенсация "снаружи" #<_global_tool_d>=-5
LinuxCNC Features - набор мастеров для LinuxCNC Screenshot-3.png

Исходники здесьhttps://github.com/verser-git/features
Последний раз редактировалось verser 15 июл 2014, 22:56, всего редактировалось 2 раз(а).
Изображение- центроискатели
Аватара пользователя
verser
Мастер
 
Сообщения: 1768
Зарегистрирован: 21 июл 2013, 22:28
Откуда: Минск
Репутация: 1180
Медальки:
Настоящее имя: Сергей

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

Сообщение Nick » 15 июл 2014, 11:23

verser писал(а):Для крорректной отработки G41.1 G42.2 требуется задать вручную угол наклона касательной к первому отрезку или дуге (на рисунках первый отрезок - тот что под фрезой).

А как он у тебя задается?
Аватара пользователя
Nick
Мастер
 
Сообщения: 22527
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1576
Заслуга: Developer
Медальки:

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

Сообщение verser » 15 июл 2014, 14:00

Nick писал(а):А как он у тебя задается?

В параметрах группы LinkUP есть параметр угол "A" - это он. (На первой картинке стрелочкой показано). Может исправлю и назову его как-нить "Start angle" - угол наклона первого отрезка к оси X (если первая дуга - угол между касательной к дуге в начальной точке и осью X).
Изображение- центроискатели
Аватара пользователя
verser
Мастер
 
Сообщения: 1768
Зарегистрирован: 21 июл 2013, 22:28
Откуда: Минск
Репутация: 1180
Медальки:
Настоящее имя: Сергей

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

Сообщение Lexxa » 02 авг 2014, 20:57

verser писал(а):компенсация "изнутри" #<_global_tool_d>=5
компенсация "внутри" #<_global_tool_d>=-5

Неправильно это.
точнее не это, а то, что в Фичах вообще нужно прописывать диаметр инструмента.
Все сведения об инструментах должны браться ТОЛЬКО из таблицы инструментов и никак иначе быть не должно ибо возникает путаница.

Т.е. как быть если инструмент сел.
Предлагаю переименовать параметр #<_global_tool_d> в название Компенсация радиуса и использовать там хайденхайновские обозначения:
RR - Включить коррекцию слева
RL - включить коррекцию справа
R0 - не включать коррекцию.
Или же G41, G42, 0.

Но обязательно делать исходя из данных таблицы инструментов

Комната залита кровью, я занимаюсь любовью!
Аватара пользователя
Lexxa
Мастер
 
Сообщения: 2651
Зарегистрирован: 16 дек 2011, 16:48
Откуда: ryazan
Репутация: 306
Медальки:
Настоящее имя: Алексей

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

Сообщение Lexxa » 02 авг 2014, 23:27

И еще критика по фичам в целом.
Сейчас я специально посмотрел, как реализовано диалоговое программирование в сименсе 808d, чтобы сравнить с Features.
Для тех кто не в курсе скажу что на 808d не устанавливается ShopMill и ShopTurn, а используется programGUIDE BASIC, нечто очень напоминающее фичи и называются циклы.
Так вот, идея фичи великолепная, а вот сами обработки на практике использовать лучше не стоит.
Во-первых этих самых фич через чур много. Да возможно для лазера, плоттера, и прочих станков не имеющих требований к компенсации инструмента фич достаточно, но... любой фрезерный - проблема.
Я приведу все циклы из 808d фрезерной версии.

1) Циклы сверления
Сверление, центрирование
Сверление, рассверливание
Глубокое сверление
Жесткое нарезание резьбы метчиком
Нарезание резьбы метчиком с компенсирующим патроном
Развертывание 1
Сверление
Сверление с остановом 1
Сверление с остановом 2
Развертывание 2

2) Циклы сверления по шаблону
Ряд отверстий
Круг отверстий
Произвольные положения

3) Циклы фрезерования
Торцевое фрезерование в т.ч. по замкнутому контуру
Прямоугольный выступ
Цилиндрический выступ
Пазы на круге
Круговой паз
Фрезерование прямоугольной выемки
Фрезерование круглой выемки

Этого достаточно, чтобы в трех осях запрограммировать весьма сложные детали прямо на станке. Все циклы при программировании отображаются с пояснениями и картинками. Я понимаю, что сименс это сименс, но что мешает стремиться, и там все весьма интуитивно понятно.

Предлагаю развивать Futures 2 взяв за основу принцип сименсовских или хайденхайновских циклов ибо они удачны.
Я прикреплю в архиве исходники циклов и описание от сименса.
Можно ли, а скорее всего можно транслировать эти циклы в linuxcnc?
Вложения
циклы.zip
(27.28 Мб) Скачиваний: 319
Комната залита кровью, я занимаюсь любовью!
Аватара пользователя
Lexxa
Мастер
 
Сообщения: 2651
Зарегистрирован: 16 дек 2011, 16:48
Откуда: ryazan
Репутация: 306
Медальки:
Настоящее имя: Алексей

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

Сообщение verser » 03 авг 2014, 09:59

Lexxa писал(а):
verser писал(а):компенсация "изнутри" #<_global_tool_d>=5
компенсация "внутри" #<_global_tool_d>=-5

Неправильно это.
точнее не это, а то, что в Фичах вообще нужно прописывать диаметр инструмента.
Все сведения об инструментах должны браться ТОЛЬКО из таблицы инструментов и никак иначе быть не должно ибо возникает путаница.

И всё же полно людей, которые не пользуются таблицей инструментов, пусть возможность "компенсировать" будет у всех.
Lexxa писал(а):Так вот, идея фичи великолепная, а вот сами обработки на практике использовать лучше не стоит.

Использую обработки на практике и очень рекомендую Features - экономит массу времени при несложных обработках (заменяет трудоемкий процесс подготовки g-code).
Lexxa писал(а):Предлагаю развивать Futures 2 взяв за основу принцип сименсовских или хайденхайновских циклов ибо они удачны.

Сверловку, нарезание резьбы и "карманы" понятное дело еще предстоит добавить, можно без объявления Features 2.
(Кстати, пока сверловку вполне можно выполнять с помощью circle, надо только диаметр ставить типа 0.0001мм. Присутствуют также линейный и круговой массивы для любой обработки - аналог цикла.)
Изображение- центроискатели
Аватара пользователя
verser
Мастер
 
Сообщения: 1768
Зарегистрирован: 21 июл 2013, 22:28
Откуда: Минск
Репутация: 1180
Медальки:
Настоящее имя: Сергей

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

Сообщение verser » 09 авг 2014, 08:36

Немного расширил сделанную Nick-ом группу "мастеров" Probe.
Теперь группа выглядит так
-Probe down
-Probe hole
-Probe cylinder
-Probe cube
-Compensation Z map

Использовать "мастера" необходимо совместно с "Global probing params" (как на картинках).
Также задействован текущий диаметр инструмента (конкретнее - внутренний linuxcnc параметр #5410), поэтому на картинках присутствует "Tool change", он задает текущий инструмент(у меня probe прописана в таблице под №1)
Код: Выделить всёРазвернуть
   M61 Q#param_n 
   G43H#param_n

Результаты можно отображать в виде сообщений (параметр Output = 0) или в файл filename.txt (параметр Output != 0).
(Для Compensation Z map результат только в файл)
LinuxCNC Features - набор мастеров для LinuxCNC probe.png
LinuxCNC Features - набор мастеров для LinuxCNC compensZ.png

Исходники: https://github.com/verser-git/features
Изображение- центроискатели
Аватара пользователя
verser
Мастер
 
Сообщения: 1768
Зарегистрирован: 21 июл 2013, 22:28
Откуда: Минск
Репутация: 1180
Медальки:
Настоящее имя: Сергей

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

Сообщение verser » 15 авг 2014, 20:37

Понадобилось шлифануть детальки - сделал "мастер" Polish - плоское шлифование(полирование) прямоугольной области.
Возможности:
- поворот прямоугольной области на любой угол,
- можно задавать количество повторных "полетов" шлифовального круга без смещений,
- мультипроходы боковые и вглубь,
- если repeat_=1, а в шпиндель установлена фреза, получаем традиционную операцию Face mill (фрезеровка лицевой поверхности).

Закрепил дрель со шлифовальным(полировальным) камнем на шпинделе, так чтобы ось вращения камня = Y (или = X, или можно любой угол между X и Y) - готов плоскошлифовальный станок.
LinuxCNC Features - набор мастеров для LinuxCNC polish.png
Использовать совместно с "Set cutting parameters".
Исходники https://github.com/verser-git/features
Изображение- центроискатели
Аватара пользователя
verser
Мастер
 
Сообщения: 1768
Зарегистрирован: 21 июл 2013, 22:28
Откуда: Минск
Репутация: 1180
Медальки:
Настоящее имя: Сергей

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

Сообщение Nick » 18 авг 2014, 09:47

:good:
Покажи фото приспособы и фото результата шлифования!
Аватара пользователя
Nick
Мастер
 
Сообщения: 22527
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1576
Заслуга: Developer
Медальки:

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

Сообщение verser » 18 авг 2014, 10:32

Приспособа:
LinuxCNC Features - набор мастеров для LinuxCNC default3.jpeg

Первый результат(деталь - сталь D=25мм, зерно камня 130 резино-алмазный, качество планирую улучшить :) уменьшив зерно до 60 ):
LinuxCNC Features - набор мастеров для LinuxCNC default4.jpeg
Изображение- центроискатели
Аватара пользователя
verser
Мастер
 
Сообщения: 1768
Зарегистрирован: 21 июл 2013, 22:28
Откуда: Минск
Репутация: 1180
Медальки:
Настоящее имя: Сергей

Пред.След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: agcom, Bing [Bot], calabr, Cvazist, CybSys, dpss-2, Евжений, Google [Bot], inFamous, johanslota, Kachik, Kupfershcmidt, Majestic-12 [Bot], MGG, michalych, orio55, SDAMASK, sereja, Slukka, Umnik, Yandex [bot], ДмитрийП

Reputation System ©'