Сглаживание траектории холостых перемещений.
-
billsmith
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Сглаживание траектории холостых перемещений.
Можно ли заставить LinuxCNC скруглять углы G0 с заданным радиусом? Такая возможность есть например в PowerMill при составлении УП. Я пользуюсь JDPaint. Там нет такой функции. А на сложных траекториях это значительно повысит скорость обработки и облегчит жизнь станку.
Суть задачи проста. LinuxCNC должен находить подъём, проезд и опускание по GO, и углы заменять указанным радиусом. Если расстояние между подъёмом и опусканием меньше чем 2R, радиус соответственно уменьшается. Либо кто из местных программистов сможет написать макрос для Notepad++ для такой конвертации готового g-code?
Суть задачи проста. LinuxCNC должен находить подъём, проезд и опускание по GO, и углы заменять указанным радиусом. Если расстояние между подъёмом и опусканием меньше чем 2R, радиус соответственно уменьшается. Либо кто из местных программистов сможет написать макрос для Notepad++ для такой конвертации готового g-code?
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
а G64 не распространяется на G0 ?billsmith писал(а): LinuxCNC скруглять углы G0 с заданным радиусом?
можно было бы прописывать для G1 один коэфициент ,а для G0 другой - позволяющий обработку с максимальной скоростью.
-
billsmith
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
Была мысля макросом перед каждым G0 ставить G64 с большим допуском (например G64 P2), а перед G1 с маленьким(G64 P 0.1). Но это как то неправильно и самое главное, G64 Не просто срежет угол но и искривит всю траекторию G0, что может быть недопустимым например при подъёме.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
Не помню, чтобы стандарт требовал соблюдения того или иного поведения G0 на G64. А раз так, то каждая реализация имеет право делать это как хочет в любой момент времени.
Почему не использовать G1 с соотв. F, чтобы получить гарантированное поведение?
Почему не использовать G1 с соотв. F, чтобы получить гарантированное поведение?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
billsmith
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
Основная проблема что при использовании G64, траектория будет не такой
а такой, что часто недопустимо
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
интересное утверждение
сколько не пробую - вот так получается а можно узнать - как добиться такой траектории как в предыдущем сообщении внизу???
какой код надо прописать???
можно пример?
сколько не пробую - вот так получается а можно узнать - как добиться такой траектории как в предыдущем сообщении внизу???
какой код надо прописать???
можно пример?
-
billsmith
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
Сейчас к сожалению у меня проблема сделать скрин на станке. При 3D обработке в основном использую G64 P0.1 Q0.1, но лучше поставить например G64 P0.5 Q0.5 и посмотреть как расходиться траектория с УПnkp писал(а):интересное утверждение
сколько не пробую - вот так получается а можно узнать - как добиться такой траектории как в предыдущем сообщении внизу???
какой код надо прописать???
можно пример?
- michael-yurov
- Почётный участник

- Сообщения: 11731
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4703
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
G0 в принципе, допускает перемещение по любой траектории.
Mach3 движется по прямой, DSP пульты - с изгибом, передвигая оси не связанно друг с другом, KFlop - по S кривой, и каждую ось независимо.
А вот PowerMill, между прочим, сохраняет быстрые перемещения командами G1/G2/G3, соответствующим образом изменяя требуемую скорость. Это позволяет быть уверенным в точном следовании траектории и позволяет отследить зарезы материала при перемещениях.
Mach3 движется по прямой, DSP пульты - с изгибом, передвигая оси не связанно друг с другом, KFlop - по S кривой, и каждую ось независимо.
А вот PowerMill, между прочим, сохраняет быстрые перемещения командами G1/G2/G3, соответствующим образом изменяя требуемую скорость. Это позволяет быть уверенным в точном следовании траектории и позволяет отследить зарезы материала при перемещениях.
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
а есть реальная программка с указанными подъемами?
-
billsmith
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
Ну вот примерчик сделал в PowerMill http://yadi.sk/d/x_IlPmPB338hA
На данный момент два вижу только варианта, либо заставить LinuxCNC G0 проходить по сглаженной траектории. Либо сделать конвертер, который будет обычные переезды G0 заменять сглаженным переездом.
На данный момент два вижу только варианта, либо заставить LinuxCNC G0 проходить по сглаженной траектории. Либо сделать конвертер, который будет обычные переезды G0 заменять сглаженным переездом.
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
так я ж и спрашивал код с "квадратными"billsmith писал(а):Либо сделать конвертер,
чтоб скрипт написать
а это ж уже сглаженый:
-
billsmith
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
Понял.
Вот пример файла http://yadi.sk/d/ioGwyZtq339IU
Вот пример файла http://yadi.sk/d/ioGwyZtq339IU
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
Скрипт на 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 можешь прямо на форум вешать. если это удобно конечно
В принципе заменить 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 можешь прямо на форум вешать. если это удобно конечно
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
А вы уверены, что такое сглаживание бедет начинаться и заканчиваться на безопасной высоте?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
безопасную высоту и радиус скругления траекторий "переездов" задаем мы (первое - в cam,второе - в скрипте)UAVpilot писал(а):А вы уверены, что такое сглаживание бедет начинаться и заканчиваться на безопасной высоте?..
разве что засада с "левыми" программами
да и никто же не должен включать станок в полнофункциональном режиме с незнакомой программой ...
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
Т.е. в обычном случае можно задать минимальную безопасную высоту, а в данном случае придётся её увеличить как минимум на величину скругления.
Какой в этом смысл?
Какой в этом смысл?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
billsmith
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
1. В случае например использования конусной фрезы, обычно можно ставить радиус закругления равным радиусу фрезы, и в этом случае зареза не произойдет даже если безопасная высота установлена ровно по заготовке.
2. Мне безопасная высота нужна чтоб фреза не торкалась возможно кривоватой заготовки и крепления. Так как крепления я не ставлю в микронах от будущей детали, а как минимум в пару миллиметрах, на этом расстоянии фреза уже станет на установленную высоту.
Так что в обоих случаях, не потребовалось дополнительно увеличивать безопасную высоту.
Сглаживание траектории холостых перемещений это один из мелких нюансов, которые и помогают приблизить УП к идеальной.
2. Мне безопасная высота нужна чтоб фреза не торкалась возможно кривоватой заготовки и крепления. Так как крепления я не ставлю в микронах от будущей детали, а как минимум в пару миллиметрах, на этом расстоянии фреза уже станет на установленную высоту.
Так что в обоих случаях, не потребовалось дополнительно увеличивать безопасную высоту.
Сглаживание траектории холостых перемещений это один из мелких нюансов, которые и помогают приблизить УП к идеальной.
- michael-yurov
- Почётный участник

- Сообщения: 11731
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4703
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
А эти картинки просто для примера, или вы действительно растром в одном направлении фрезеруете?
А то, если фрезеровать растром в обоих направлениях - холостых перемещений практически не будет.
Я с EMC2 почти не работал, но точно могу сказать, что Mach3 такие траектории с закруглениями и плавными переходами, сгенерированными powermill - терпеть не может. Он их отрабатывает значительно дольше, нежели обычные с острыми углами. Я полагаю, это именно ошибки в планировщике траектории Mach3 и к EMC2 отношения не имеют.
А то, если фрезеровать растром в обоих направлениях - холостых перемещений практически не будет.
Я с EMC2 почти не работал, но точно могу сказать, что Mach3 такие траектории с закруглениями и плавными переходами, сгенерированными powermill - терпеть не может. Он их отрабатывает значительно дольше, нежели обычные с острыми углами. Я полагаю, это именно ошибки в планировщике траектории Mach3 и к EMC2 отношения не имеют.
-
billsmith
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Re: Сглаживание траектории холостых перемещений.
Растром в одном направлении редко, но и такое бывает. Обычно растром почти прямые участки детали, а склоны слоями, ещё и подчистки другими фрезами. В итоге много холостых перемещений получается.
Mach3 я давно и быстро откинул, но всё таки полагаю что данная траектория ему не по душе не из-за сглаживания переходов, а из-за плавных подводов по пути, возможно поэтому длина пути возрастает. Хотя всё может быть).
Mach3 я давно и быстро откинул, но всё таки полагаю что данная траектория ему не по душе не из-за сглаживания переходов, а из-за плавных подводов по пути, возможно поэтому длина пути возрастает. Хотя всё может быть).


