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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: 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 (206415 просмотров) <a class='original' href='./download/file.php?id=15468&sid=e84aa509ed02291f350713f301087678&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 (206704 просмотра) <a class='original' href='./download/file.php?id=14825&sid=e84aa509ed02291f350713f301087678&mode=view' target=_blank>Загрузить оригинал (158.39 КБ)</a>
LinuxCNC-Features.png (206704 просмотра) <a class='original' href='./download/file.php?id=14826&sid=e84aa509ed02291f350713f301087678&mode=view' target=_blank>Загрузить оригинал (166.41 КБ)</a>

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

Саме начало
LinuxCNC Features.png (206708 просмотров) <a class='original' href='./download/file.php?id=14824&sid=e84aa509ed02291f350713f301087678&mode=view' target=_blank>Загрузить оригинал (68.04 КБ)</a>
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

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

Сообщение verser »

Nick писал(а):Сейчас сделаю фичу G41/G42..
Лучше всего её как доп. параметр в mill/set-tool-params.ini сделать , со значениями например
0 - нет компенсации
1 - G41
2 - G42
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

сделал 41/42, но теперь зараза ругается на то что перемещение сдишком маленькое для такой компенсации... я так понимаю это в местах заглубления... там появляются короткие отрезки...
Вложения
Снимок-features.ngc - AXIS 2.6.0-pre0-4385-g9c95855 on LinuxCNC-HAL-SIM-AXIS.png (7206 просмотров) <a class='original' href='./download/file.php?id=30774&sid=e84aa509ed02291f350713f301087678&mode=view' target=_blank>Загрузить оригинал (155.85 КБ)</a>
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

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

Сообщение Lexxa »

Nick писал(а):Мне кажется это надо делать отдельной фиче
Зачем плодить одинаковые фичи, когда нужно просто дать возможность включить или не включить корректор???
:bender:
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

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

Сообщение verser »

Nick писал(а):сделал 41/42, но теперь зараза ругается на то что перемещение сдишком маленькое для такой компенсации... я так понимаю это в местах заглубления... там появляются короткие отрезки...
По этому поводу посмотрел в документации
The lead in move must be at least as long as the tool radius
Непонятное ограничение linuxcnc, убивающее весь смысл команд G41 G42, поскольку без коротких перемещений ну никак не обойтись.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Дайте посмотреть код вокруг этой 164-й строки?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

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

Сообщение verser »

Добавил компенсацию диаметра фрезы во все mill мастера кроме Draw и Chain. Теперь если параметр #<_global_tool_d> не 0, то будет выполняться зависящая от его величины компенсация. Для изменения направления обхода достаточно поставить "минус" перед значением #<_global_tool_d>. Обновил github https://github.com/verser-git/features
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

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

Сообщение Сергей Саныч »

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 могут быть сколь угодно короткими.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6602
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

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

Сообщение NightV »

Сергей Саныч писал(а): Компенсацию надо включить заранее, и после включения выполнить G0 на расстояние не меньше радиуса инструмента.
солидкам так делает, но на G1
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

UAVpilot писал(а):Дайте посмотреть код вокруг этой 164-й строки?..
Там все очень не просто :freak: :
Снимок-features.ngc - AXIS 2.6.0-pre0-4385-g9c95855 on LinuxCNC-HAL-SIM-AXIS-1.png (7062 просмотра) <a class='original' href='./download/file.php?id=30841&sid=e84aa509ed02291f350713f301087678&mode=view' target=_blank>Загрузить оригинал (279.7 КБ)</a>
Если добавить холостое перемещение, то начинате работать.... Т.е. получается в G42 надо добавить доп поля для задания перемещения в нужную сторону? :roll:
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

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

Сообщение Сергей Саныч »

Nick писал(а):Если добавить холостое перемещение, то начинате работать...
дак ыть в букваре всё написано :)
Чудес не бывает. Бывают фокусы.
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

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

Сообщение verser »

Добавил компенсацию диаметра инструмента с помощью G41.1 G42.1 в группу Chain, группу здесь описывал http://cnc-club.ru/forum/viewtopic.php? ... 80#p125236(теперь концы смежных элементов обязательно должны совпадать), в качестве параметра диаметра используется все та же глобальная переменная #<_global_tool_d>. Для крорректной отработки G41.1 G42.1 требуется задать вручную угол наклона касательной к первому отрезку или дуге (на рисунках первый отрезок - тот что под фрезой). Вот исходный рисунок без компенсации #<_global_tool_d>=0
comp0.png (7040 просмотров) <a class='original' href='./download/file.php?id=30858&sid=e84aa509ed02291f350713f301087678&mode=view' target=_blank>Загрузить оригинал (113.15 КБ)</a>
компенсация "изнутри" #<_global_tool_d>=5
comp1.png (7040 просмотров) <a class='original' href='./download/file.php?id=30859&sid=e84aa509ed02291f350713f301087678&mode=view' target=_blank>Загрузить оригинал (110.84 КБ)</a>
компенсация "снаружи" #<_global_tool_d>=-5
Screenshot-3.png (7040 просмотров) <a class='original' href='./download/file.php?id=30860&sid=e84aa509ed02291f350713f301087678&mode=view' target=_blank>Загрузить оригинал (298.61 КБ)</a>
Исходники здесьhttps://github.com/verser-git/features
Последний раз редактировалось verser 15 июл 2014, 22:56, всего редактировалось 2 раза.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

verser писал(а):Для крорректной отработки G41.1 G42.2 требуется задать вручную угол наклона касательной к первому отрезку или дуге (на рисунках первый отрезок - тот что под фрезой).
А как он у тебя задается?
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

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

Сообщение verser »

Nick писал(а): А как он у тебя задается?
В параметрах группы LinkUP есть параметр угол "A" - это он. (На первой картинке стрелочкой показано). Может исправлю и назову его как-нить "Start angle" - угол наклона первого отрезка к оси X (если первая дуга - угол между касательной к дуге в начальной точке и осью X).
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

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

Сообщение Lexxa »

verser писал(а):компенсация "изнутри" #<_global_tool_d>=5
компенсация "внутри" #<_global_tool_d>=-5
Неправильно это.
точнее не это, а то, что в Фичах вообще нужно прописывать диаметр инструмента.
Все сведения об инструментах должны браться ТОЛЬКО из таблицы инструментов и никак иначе быть не должно ибо возникает путаница.

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

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

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

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

Сообщение Lexxa »

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

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

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

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

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

Предлагаю развивать Futures 2 взяв за основу принцип сименсовских или хайденхайновских циклов ибо они удачны.
Я прикреплю в архиве исходники циклов и описание от сименса.
Можно ли, а скорее всего можно транслировать эти циклы в linuxcnc?
Вложения
циклы.zip
(27.28 МБ) 493 скачивания
:bender:
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

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

Сообщение verser »

Lexxa писал(а):
verser писал(а):компенсация "изнутри" #<_global_tool_d>=5
компенсация "внутри" #<_global_tool_d>=-5
Неправильно это.
точнее не это, а то, что в Фичах вообще нужно прописывать диаметр инструмента.
Все сведения об инструментах должны браться ТОЛЬКО из таблицы инструментов и никак иначе быть не должно ибо возникает путаница.
И всё же полно людей, которые не пользуются таблицей инструментов, пусть возможность "компенсировать" будет у всех.
Lexxa писал(а):Так вот, идея фичи великолепная, а вот сами обработки на практике использовать лучше не стоит.
Использую обработки на практике и очень рекомендую Features - экономит массу времени при несложных обработках (заменяет трудоемкий процесс подготовки g-code).
Lexxa писал(а):Предлагаю развивать Futures 2 взяв за основу принцип сименсовских или хайденхайновских циклов ибо они удачны.
Сверловку, нарезание резьбы и "карманы" понятное дело еще предстоит добавить, можно без объявления Features 2.
(Кстати, пока сверловку вполне можно выполнять с помощью circle, надо только диаметр ставить типа 0.0001мм. Присутствуют также линейный и круговой массивы для любой обработки - аналог цикла.)
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

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

Сообщение verser »

Немного расширил сделанную 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 результат только в файл)
probe.png (6798 просмотров) <a class='original' href='./download/file.php?id=31800&sid=e84aa509ed02291f350713f301087678&mode=view' target=_blank>Загрузить оригинал (119.4 КБ)</a>
compensZ.png (6797 просмотров) <a class='original' href='./download/file.php?id=31801&sid=e84aa509ed02291f350713f301087678&mode=view' target=_blank>Загрузить оригинал (581.71 КБ)</a>
Исходники: https://github.com/verser-git/features
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

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

Сообщение verser »

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

Закрепил дрель со шлифовальным(полировальным) камнем на шпинделе, так чтобы ось вращения камня = Y (или = X, или можно любой угол между X и Y) - готов плоскошлифовальный станок.
polish.png (6694 просмотра) <a class='original' href='./download/file.php?id=32079&sid=e84aa509ed02291f350713f301087678&mode=view' target=_blank>Загрузить оригинал (111.74 КБ)</a>
Использовать совместно с "Set cutting parameters".
Исходники https://github.com/verser-git/features
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

:good:
Покажи фото приспособы и фото результата шлифования!
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

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

Сообщение verser »

Приспособа:
default3.jpeg (6648 просмотров) <a class='original' href='./download/file.php?id=32127&sid=e84aa509ed02291f350713f301087678&mode=view' target=_blank>Загрузить оригинал (1.43 МБ)</a>
Первый результат(деталь - сталь D=25мм, зерно камня 130 резино-алмазный, качество планирую улучшить :) уменьшив зерно до 60 ):
default4.jpeg (6648 просмотров) <a class='original' href='./download/file.php?id=32128&sid=e84aa509ed02291f350713f301087678&mode=view' target=_blank>Загрузить оригинал (1.83 МБ)</a>
Ответить

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