Страница 1 из 2

Сглаживание траектории холостых перемещений.

Добавлено: 04 мар 2013, 15:26
billsmith
Можно ли заставить LinuxCNC скруглять углы G0 с заданным радиусом? Такая возможность есть например в PowerMill при составлении УП. Я пользуюсь JDPaint. Там нет такой функции. А на сложных траекториях это значительно повысит скорость обработки и облегчит жизнь станку.
Суть задачи проста. LinuxCNC должен находить подъём, проезд и опускание по GO, и углы заменять указанным радиусом. Если расстояние между подъёмом и опусканием меньше чем 2R, радиус соответственно уменьшается.
Сглаживание G0.png
Сглаживание G0.png (3.08 КБ) 3031 просмотр
Либо кто из местных программистов сможет написать макрос для Notepad++ для такой конвертации готового g-code?

Re: Сглаживание траектории холостых перемещений.

Добавлено: 04 мар 2013, 15:44
nkp
billsmith писал(а): LinuxCNC скруглять углы G0 с заданным радиусом?
а G64 не распространяется на G0 ?
можно было бы прописывать для G1 один коэфициент ,а для G0 другой - позволяющий обработку с максимальной скоростью.

Re: Сглаживание траектории холостых перемещений.

Добавлено: 04 мар 2013, 16:01
billsmith
Была мысля макросом перед каждым G0 ставить G64 с большим допуском (например G64 P2), а перед G1 с маленьким(G64 P 0.1). Но это как то неправильно и самое главное, G64 Не просто срежет угол но и искривит всю траекторию G0, что может быть недопустимым например при подъёме.

Re: Сглаживание траектории холостых перемещений.

Добавлено: 04 мар 2013, 17:46
Serg
Не помню, чтобы стандарт требовал соблюдения того или иного поведения G0 на G64. А раз так, то каждая реализация имеет право делать это как хочет в любой момент времени.
Почему не использовать G1 с соотв. F, чтобы получить гарантированное поведение?

Re: Сглаживание траектории холостых перемещений.

Добавлено: 04 мар 2013, 19:07
billsmith
Основная проблема что при использовании G64, траектория будет не такой
Сглаживание G0.png
Сглаживание G0.png (3.08 КБ) 3013 просмотров
а такой, что часто недопустимо
Сглаживание G64.png
Сглаживание G64.png (3.37 КБ) 3013 просмотров

Re: Сглаживание траектории холостых перемещений.

Добавлено: 04 мар 2013, 19:21
nkp
интересное утверждение
сколько не пробую - вот так получается
Выделение(041).jpg (3008 просмотров) <a class='original' href='./download/file.php?id=12522&mode=view' target=_blank>Загрузить оригинал (52.47 КБ)</a>
Выделение(042).jpg (3008 просмотров) <a class='original' href='./download/file.php?id=12523&mode=view' target=_blank>Загрузить оригинал (55.55 КБ)</a>
а можно узнать - как добиться такой траектории как в предыдущем сообщении внизу???
какой код надо прописать???
можно пример?

Re: Сглаживание траектории холостых перемещений.

Добавлено: 04 мар 2013, 19:29
billsmith
Вот как выглядит в PowerMill то что я хочу получить
Обычная траектория:
Изображение
Сглаженные переходы:
Изображение

Re: Сглаживание траектории холостых перемещений.

Добавлено: 04 мар 2013, 19:31
billsmith
nkp писал(а):интересное утверждение
сколько не пробую - вот так получается
Выделение(041).jpg
Выделение(042).jpg
а можно узнать - как добиться такой траектории как в предыдущем сообщении внизу???
какой код надо прописать???
можно пример?
Сейчас к сожалению у меня проблема сделать скрин на станке. При 3D обработке в основном использую G64 P0.1 Q0.1, но лучше поставить например G64 P0.5 Q0.5 и посмотреть как расходиться траектория с УП

Re: Сглаживание траектории холостых перемещений.

Добавлено: 04 мар 2013, 20:25
michael-yurov
G0 в принципе, допускает перемещение по любой траектории.
Mach3 движется по прямой, DSP пульты - с изгибом, передвигая оси не связанно друг с другом, KFlop - по S кривой, и каждую ось независимо.
А вот PowerMill, между прочим, сохраняет быстрые перемещения командами G1/G2/G3, соответствующим образом изменяя требуемую скорость. Это позволяет быть уверенным в точном следовании траектории и позволяет отследить зарезы материала при перемещениях.

Re: Сглаживание траектории холостых перемещений.

Добавлено: 04 мар 2013, 20:32
nkp
а есть реальная программка с указанными подъемами?

Re: Сглаживание траектории холостых перемещений.

Добавлено: 04 мар 2013, 23:44
billsmith
Ну вот примерчик сделал в PowerMill http://yadi.sk/d/x_IlPmPB338hA
На данный момент два вижу только варианта, либо заставить LinuxCNC G0 проходить по сглаженной траектории. Либо сделать конвертер, который будет обычные переезды G0 заменять сглаженным переездом.

Re: Сглаживание траектории холостых перемещений.

Добавлено: 04 мар 2013, 23:49
nkp
billsmith писал(а):Либо сделать конвертер,
так я ж и спрашивал код с "квадратными" :) переездами
чтоб скрипт написать
а это ж уже сглаженый:
Выделение(044).jpg (2986 просмотров) <a class='original' href='./download/file.php?id=12550&mode=view' target=_blank>Загрузить оригинал (155.6 КБ)</a>

Re: Сглаживание траектории холостых перемещений.

Добавлено: 04 мар 2013, 23:54
billsmith
Понял.
Вот пример файла http://yadi.sk/d/ioGwyZtq339IU

Re: Сглаживание траектории холостых перемещений.

Добавлено: 05 мар 2013, 00:05
Nick
Скрипт на sed будешь писать?
В принципе заменить G0 и G1 можно в одну строчку

sed "s/(G0?0[a-zA-Z ])/G64 P2 \1/i ; s/(G0?[123][a-zA-Z ])/G64 P0.1 \1/i"

ЗЫ ngc можешь прямо на форум вешать. если это удобно конечно :)

Re: Сглаживание траектории холостых перемещений.

Добавлено: 05 мар 2013, 08:56
Serg
А вы уверены, что такое сглаживание бедет начинаться и заканчиваться на безопасной высоте?..

Re: Сглаживание траектории холостых перемещений.

Добавлено: 05 мар 2013, 09:02
nkp
UAVpilot писал(а):А вы уверены, что такое сглаживание бедет начинаться и заканчиваться на безопасной высоте?..
безопасную высоту и радиус скругления траекторий "переездов" задаем мы (первое - в cam,второе - в скрипте)
разве что засада с "левыми" программами
да и никто же не должен включать станок в полнофункциональном режиме с незнакомой программой ...

Re: Сглаживание траектории холостых перемещений.

Добавлено: 05 мар 2013, 09:18
Serg
Т.е. в обычном случае можно задать минимальную безопасную высоту, а в данном случае придётся её увеличить как минимум на величину скругления.
Какой в этом смысл?

Re: Сглаживание траектории холостых перемещений.

Добавлено: 05 мар 2013, 13:28
billsmith
1. В случае например использования конусной фрезы, обычно можно ставить радиус закругления равным радиусу фрезы, и в этом случае зареза не произойдет даже если безопасная высота установлена ровно по заготовке.
2. Мне безопасная высота нужна чтоб фреза не торкалась возможно кривоватой заготовки и крепления. Так как крепления я не ставлю в микронах от будущей детали, а как минимум в пару миллиметрах, на этом расстоянии фреза уже станет на установленную высоту.
Так что в обоих случаях, не потребовалось дополнительно увеличивать безопасную высоту.
Сглаживание траектории холостых перемещений это один из мелких нюансов, которые и помогают приблизить УП к идеальной.

Re: Сглаживание траектории холостых перемещений.

Добавлено: 05 мар 2013, 15:52
michael-yurov
А эти картинки просто для примера, или вы действительно растром в одном направлении фрезеруете?
А то, если фрезеровать растром в обоих направлениях - холостых перемещений практически не будет.

Я с EMC2 почти не работал, но точно могу сказать, что Mach3 такие траектории с закруглениями и плавными переходами, сгенерированными powermill - терпеть не может. Он их отрабатывает значительно дольше, нежели обычные с острыми углами. Я полагаю, это именно ошибки в планировщике траектории Mach3 и к EMC2 отношения не имеют.

Re: Сглаживание траектории холостых перемещений.

Добавлено: 05 мар 2013, 16:05
billsmith
Растром в одном направлении редко, но и такое бывает. Обычно растром почти прямые участки детали, а склоны слоями, ещё и подчистки другими фрезами. В итоге много холостых перемещений получается.
Mach3 я давно и быстро откинул, но всё таки полагаю что данная траектория ему не по душе не из-за сглаживания переходов, а из-за плавных подводов по пути, возможно поэтому длина пути возрастает. Хотя всё может быть).