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

Поворот координат G68 в Mach3

Добавлено: 07 янв 2017, 13:51
AndyBig
Есть код G68, который поворачивает плоскость координат на заданный угол вокруг заданной точки. По описанию в Маче:
G68 A B R
Параметры:
A - задает X центра вращения
B - задает Y центра вращения
R - задает угол вращения в градусах
Например:
G68 A14.0 B108.0 R0.23
повернет плоскость координат на 0.23 градуса против часовой стрелки вокруг точки с координатами X-14.0 Y-108.0
Код работает, координаты действительно поворачиваются, но есть проблема: заданная точка центра вращения становится началом координат, то есть X и Y в этой точке становятся равными нулю.
Это порой сильно мешает.
Например, есть прямоугольная заготовка, повернутая на неопределенный угол. Известно, что левая грань имеет координату по X -10.0:
g68_1.jpg (10086 просмотров) <a class='original' href='./download/file.php?id=99373&mode=view' target=_blank>Загрузить оригинал (28.63 КБ)</a>
Теперь я определил щупом угол поворота заготовки, в одной из точек на левой стороне заготовки присвоил координате X -10.0 и даю команду повернуть координаты вокруг этой точки. По идее теперь вся грань должна находиться строго параллельно координате X и иметь координату по X -10.0, а Y в этой точке не должен измениться :
g68_2.jpg (10086 просмотров) <a class='original' href='./download/file.php?id=99374&mode=view' target=_blank>Загрузить оригинал (29.06 КБ)</a>
Но этой точке присваиваются координаты 0,0 и предыдущая привязка идет насмарку.
g68_3.jpg (10085 просмотров) <a class='original' href='./download/file.php?id=99376&mode=view' target=_blank>Загрузить оригинал (27.62 КБ)</a>
Может быть я чего-то не понимаю и так и должно быть? Если так, то почему? Какой в этом смысл?

Re: Поворот координат G68 в Mach3

Добавлено: 07 янв 2017, 22:10
FLUKE
G-коды
Вращение оси координат G68 G69.
http://www.cnc-club.ru/forum/viewtopic. ... 13#p318813
Не приходилось пользоваться вращением, но, насколько я понял, лучше переместиться в точку вращения координат, повернуть, потом переместиться обратно.

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 00:48
AndyBig
FLUKE писал(а):G-коды
Вращение оси координат G68 G69.
Я освоил описание самого кода :)
Там еще не описан необязательный параметр I, который если не равен нулю, то дает приращение угла, заданного предыдущим G68. И не сказано, что параметры A и B можно опустить, тогда за точку вращения принимается начало координат (0;0).
FLUKE писал(а):лучше переместиться в точку вращения координат, повернуть, потом переместиться обратно.
В том-то и проблема, что если точка вращения не в нулевых координатах, то она становится в них при выполнении кода G68. Переместились в точку 100;100, задали вращение вокруг этой точки и ее координаты стали 0;0, а не остались 100;100.
Вот, записал видео с примером:
https://www.youtube.com/watch?v=y9hD5jUXHNU

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 08:29
aegis
AndyBig, естественно не останутся исходными координатами. сам так пользуюсь при ручном написании осевых деталей (типа фланцев и т.п.). вначале повернул, потом дал смещение. иначе неразбериха получится. считай новые координаты будут пересчитываться автоматом через синус и косинус

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 12:58
AndyBig
aegis писал(а):естественно не останутся исходными координатами.
Почему это естественно, если вращение идет вокруг именно этих координат? Все другие координаты - да, естественно изменятся, но координаты, вокруг которых вращается СК, очень даже естественно должны оставаться неизменными :)

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 15:43
aegis
AndyBig, ну смотри. новые координаты становятся в виде х=Х*sin у=У*cos... . а тебе хочется чтобы 100=100 оставалось. тогда сам пересчитай относительно какой точки тебе надо повернуть СК чтобы начальные координаты остались прежними

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 16:04
AndyBig
aegis писал(а):новые координаты становятся в виде х=Х*sin у=У*cos...
Это только если СК вращается вокруг нулевых координат. Иначе х=(Х-A)*sin+A у=(У-B)*cos+B, где A;B - координаты точки центра вращения. И если X=A и Y=B, то они останутся неизменными.
И в любом случае это не объясняет как координаты 20;40 превратились в 0;0 после поворота СК на 0.5 градуса :)

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 16:07
aegis
AndyBig, ну так сам все прекрасно понимаешь что сотня не будет ровна сотне :)

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 16:10
AndyBig
aegis писал(а):ну так сам все прекрасно понимаешь что сотня не будет ровна сотне
Еще раз... Если вращение вокруг этой сотни, то (100-100)*sin(0.5)+100=100 :) Сотня осталась равна сотне :)

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 16:30
AndyBig
Кстати, там формулы, оказывается, несколько сложнее :)
Для поворота против часовой стрелки: x=X*cos(a)-Y*sin(a), y=X*sin(a)+Y*cos(a)
Для поворота по часовой стрелке: x=X*cos(a)+Y*sin(a), y=Y*cos(a)-X*sin(a)
Где a - угол поворота в радианах.
Но все равно координаты точки, вокруг которых идет вращение, остаются неизменными :)

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 16:40
aegis
AndyBig, ну а какой физический смысл старой координаты (100;100) и новой (100;100)? совсем разный. ибо там мы стояли осью вдоль станка, а стали вдоль заготовки. так что тут надо или заготовку более-менее точно сразу ложить (в паз на столе сухарь и 2 плитки кмд одного размера или штангель или другой метод) или потом доворачивать СК и потом обнуляться уже

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 17:05
AndyBig
aegis писал(а):тут надо или заготовку более-менее точно сразу ложить
Тогда вообще теряется смысл.
aegis писал(а):или потом доворачивать СК и потом обнуляться уже
Тут есть еще и проблема установки координат после поворота СК - Мач воспринимает задаваемые координаты без учета поворота СК. То есть если после поворота СК подвести щуп по X к стенке заготовки и вписать -1 (радиус шарика щупа) в поле координаты, то впишется не -1, а преобразованное в поворот значение от -1, например -0.964. Да еще и Y при этом поменяется.
В общем, как я понял, это баг Мача и с этим ничего не поделать :(

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 18:11
Serg
А что мешает обнулиться там, где надо, а потом повернуть СК вокруг этой точки?..

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 18:25
Сергей Саныч
AndyBig писал(а): если после поворота СК подвести щуп по X к стенке заготовки
После поворота такими вещами лучше не заниматься. Разумней все измерения выполнять на неповернутой СК.

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 19:44
AndyBig
Сергей Саныч писал(а):Разумней все измерения выполнять на неповернутой СК.
Это так, тем более, что G31 на повернутой СК в Маче тоже мозги сушит. Но и то, что фактически поворачивать можно только вокруг нулевых координат, сильно снижает полезность поворота.

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 20:25
aegis
AndyBig писал(а):то, что фактически поворачивать можно только вокруг нулевых координат, сильно снижает полезность поворота
не поворачивай :roll:
а мне ж68 сильно помогает писать программу в 50 строчек вместе со всеми прелестями блокнота
2017-01-08_19-24-28.png (9979 просмотров) <a class='original' href='./download/file.php?id=99485&mode=view' target=_blank>Загрузить оригинал (391.5 КБ)</a>

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 20:34
AndyBig
Это как раз один из немногих оставшихся случаев когда поворот полезен :)
Я же хотел использовать его для выравнивания СК после замены крепления (переворота) заготовки :)

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 20:55
nkp
так и не понял,в чем неразбериха,но вот алгоритм
измерений с последующим поворотом при установке заготовки
http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=7981
правда для емс ,но наверно там совсем немного изменений ;)
может пригодится ..
прикрутил подобное (чуть изменил под себя) для эрозионного станка(проволока) - очень просто базироваться...

Re: Поворот координат G68 в Mach3

Добавлено: 08 янв 2017, 22:39
AndyBig
nkp писал(а):так и не понял,в чем неразбериха
В том, что Мач обнуляет координаты точки, вокруг которой происходит вращение системы координат :)
Не знаю, делает ли это ems.

Re: Поворот координат G68 в Mach3

Добавлено: 09 янв 2017, 07:12
aegis
AndyBig, хорошо. посмотрим с другой стороны. допустим нам надо повернуть СК на 90° (написали УП, а в станок по другому заготовка не помещается, дабы не переписывать все с 0 такое можно сделать). или вообще перевернуть на 180 градусов (например зажимаем в 3-кулачковом патроне и вырез попадает на кулачек, патрон уже прикручен, центр поймали). та исходная координата после проворота не имеет никакого смысла вообще, поэтому разумно что ловить координаты всеравно будешь заново, тоесть обнуленно или нет всеравно. вот такие пазы как я показал на картинке или работа в патроне отлично работает с поворотом СК вокруг центра (тут вроде все логично думаю), а проворот на 1 градус вас почему-то не устраивает. на 180 тоже будут вопросы почему было (100;100) а стало (-100;-100)?
вообще не понимаю в чем проблема. надо свои видения забыть а делать то что программа умеет. или тогда забить и писать свою программу которая будет удобно только для вас (ну может еще кому-то).
штатная процедура проворота логична и вполне удобна, поэтому просто научитесь ей пользоваться :)