В сети много описаний G-кодов, но они обычно повторяют друг друга и практически всё слабо освещают некоторые моменты.
Решил я обратится к отечественному первоисточнику - ГОСТ 20899-83 (кстати, не нашел, но наверно есть и ГОСТ-Р более новый?).
1) Интересовала линейно-круговая интерполяция - G02/03 с одновременным перемещением по Z
Вот что пишут:
По этому пункту непонятно:Если круговая интерполяция должна выполнятся одновременно с линейной, , то в дополнение к информации, указанной п.4.3.2, в кадр необходимо добавить:
третье размерное слово, определяющее конечную точку линейного перемещения, с соответствующим адресом (например, Z);
третий интерполяционный параметр, вводимый под соответствующим адресом и определяющий линейное перемещение на один радиан дуги (или на один оборот).
а) дуга же задана, сколько в ней радиан вычислить не проблема, конечный Z - задаем. Зачем еще нужно задавать "линейное перемещение на один радиан дуги"? И наоборот, можно задать перемещение на радиан, тогда Z должно вычисляться автоматом. Зачем такое дублирование?
б) "линейное перемещение на один радиан дуги (или на один оборот)" - что за оборот? Имеется в виду линейное перемещение на 2*Пи радиан дуги (360 градусов)? Или это какой-то другой оборот? Например, оборот "главного движения", т.е. шпинделя?
в) Насколько такая интерполяция поддерживается в ЧПУ-софте? Mach3 вроде поддерживает, я пробовал, правда тогда еще не знал точно, делал на обум, он у меня куда-то далеко по Z полетел. Пока с новым знанием не добрался попробовать
2) Оказалось, что есть еще параболическая интерполяция (G06). Её кто-то поддерживает из ЧПУ-софта, CAM постпроцессоров?
3) Оказалось, что скорости можно задавать отдельно по осям: G01 X10 F200 Y5 F100 Z2 F40. Вернее, такого примера нет, но написано, что параметр F применяется к тем осям, которые перечислены до него.
Я правильно сообразил? Но тут получается непонятка. Если мы задаем G01 X10 Y5 Z2 F200, то, как я понял, это будет скорость в 3D пространстве в направлении вектора перемещения, а скорости по осям будут проекциями этого вектора скорости. А если по осям скорости задать отдельно, то тогда вектор скорости будет направлен куда угодно, но не туда, куда вектор перемещения. Или скорости по осям будут скорректированы в соответствии с вектором перемещения? Или я что-то не понял?
Насколько, кстати, такой способ задания скоростей (по осям) поддеживается ЧПУ-софтом?
4) Не совсем по G-коду вопрос, но близко. Есть такая идея, как "боковое врезание", когда перемещение по Z идет одновременно с перемещением по XY. Суть идеи в том, что обычно реж. кромки на торце фрезы отличаются от основных, и при таком способе на торец фрезы будет меньшая нагрузка, она будет меньше греться, ну или можно задать скорость по Z побольше, чем просто при вертикальном опускании. Я и русский термин такой не видел, английский тоже сам придумал - lateral milling. Как думаете, идея имеет право на жизнь? Кто-нибудь из CAM-процессоров умеет такой G-код генерировать?