Страница 25 из 38

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

Добавлено: 22 май 2013, 18:07
Nick
Снимок-features.ngc - AXIS 2.6.0-pre0-4385-g9c95855 on LinuxCNC-HAL-SIM-AXIS.png (215175 просмотров) <a class='original' href='./download/file.php?id=15468&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 (215464 просмотра) <a class='original' href='./download/file.php?id=14825&mode=view' target=_blank>Загрузить оригинал (158.39 КБ)</a>
LinuxCNC-Features.png (215464 просмотра) <a class='original' href='./download/file.php?id=14826&mode=view' target=_blank>Загрузить оригинал (166.41 КБ)</a>

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

Саме начало
LinuxCNC Features.png (215468 просмотров) <a class='original' href='./download/file.php?id=14824&mode=view' target=_blank>Загрузить оригинал (68.04 КБ)</a>
Описание обработок - features (для просмотра содержимого нажмите на ссылку)

Описание обработок - features


См в wiki: http://cnc-club.ru/wiki/index.php/Linux ... 0%BE%D0%BA

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

Добавлено: 11 июл 2014, 14:26
verser
Nick писал(а):Сейчас сделаю фичу G41/G42..
Лучше всего её как доп. параметр в mill/set-tool-params.ini сделать , со значениями например
0 - нет компенсации
1 - G41
2 - G42

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

Добавлено: 11 июл 2014, 14:50
Nick
сделал 41/42, но теперь зараза ругается на то что перемещение сдишком маленькое для такой компенсации... я так понимаю это в местах заглубления... там появляются короткие отрезки...

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

Добавлено: 11 июл 2014, 15:44
Lexxa
Nick писал(а):Мне кажется это надо делать отдельной фиче
Зачем плодить одинаковые фичи, когда нужно просто дать возможность включить или не включить корректор???

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

Добавлено: 11 июл 2014, 20:22
verser
Nick писал(а):сделал 41/42, но теперь зараза ругается на то что перемещение сдишком маленькое для такой компенсации... я так понимаю это в местах заглубления... там появляются короткие отрезки...
По этому поводу посмотрел в документации
The lead in move must be at least as long as the tool radius
Непонятное ограничение linuxcnc, убивающее весь смысл команд G41 G42, поскольку без коротких перемещений ну никак не обойтись.

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

Добавлено: 11 июл 2014, 20:37
Serg
Дайте посмотреть код вокруг этой 164-й строки?..

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

Добавлено: 11 июл 2014, 21:10
verser
Добавил компенсацию диаметра фрезы во все mill мастера кроме Draw и Chain. Теперь если параметр #<_global_tool_d> не 0, то будет выполняться зависящая от его величины компенсация. Для изменения направления обхода достаточно поставить "минус" перед значением #<_global_tool_d>. Обновил github https://github.com/verser-git/features

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 могут быть сколь угодно короткими.

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

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

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

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

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

Добавлено: 14 июл 2014, 14:52
Сергей Саныч
Nick писал(а):Если добавить холостое перемещение, то начинате работать...
дак ыть в букваре всё написано :)

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

Добавлено: 15 июл 2014, 11:07
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 (7282 просмотра) <a class='original' href='./download/file.php?id=30858&mode=view' target=_blank>Загрузить оригинал (113.15 КБ)</a>
компенсация "изнутри" #<_global_tool_d>=5
comp1.png (7282 просмотра) <a class='original' href='./download/file.php?id=30859&mode=view' target=_blank>Загрузить оригинал (110.84 КБ)</a>
компенсация "снаружи" #<_global_tool_d>=-5
Screenshot-3.png (7282 просмотра) <a class='original' href='./download/file.php?id=30860&mode=view' target=_blank>Загрузить оригинал (298.61 КБ)</a>
Исходники здесьhttps://github.com/verser-git/features

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

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

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

Добавлено: 15 июл 2014, 14:00
verser
Nick писал(а): А как он у тебя задается?
В параметрах группы LinkUP есть параметр угол "A" - это он. (На первой картинке стрелочкой показано). Может исправлю и назову его как-нить "Start angle" - угол наклона первого отрезка к оси X (если первая дуга - угол между касательной к дуге в начальной точке и осью X).

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

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

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

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


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

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

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

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

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

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

Предлагаю развивать Futures 2 взяв за основу принцип сименсовских или хайденхайновских циклов ибо они удачны.
Я прикреплю в архиве исходники циклов и описание от сименса.
Можно ли, а скорее всего можно транслировать эти циклы в linuxcnc?

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

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

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

Добавлено: 09 авг 2014, 08:36
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 (7040 просмотров) <a class='original' href='./download/file.php?id=31800&mode=view' target=_blank>Загрузить оригинал (119.4 КБ)</a>
compensZ.png (7039 просмотров) <a class='original' href='./download/file.php?id=31801&mode=view' target=_blank>Загрузить оригинал (581.71 КБ)</a>
Исходники: https://github.com/verser-git/features

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

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

Закрепил дрель со шлифовальным(полировальным) камнем на шпинделе, так чтобы ось вращения камня = Y (или = X, или можно любой угол между X и Y) - готов плоскошлифовальный станок.
polish.png (6936 просмотров) <a class='original' href='./download/file.php?id=32079&mode=view' target=_blank>Загрузить оригинал (111.74 КБ)</a>
Использовать совместно с "Set cutting parameters".
Исходники https://github.com/verser-git/features

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

Добавлено: 18 авг 2014, 09:47
Nick
:good:
Покажи фото приспособы и фото результата шлифования!

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

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