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

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

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

Сообщение 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 (9789 просмотров) <a class='original' href='./download/file.php?id=99373&sid=d33c1880411175870c5001a3e7dfb670&mode=view' target=_blank>Загрузить оригинал (28.63 КБ)</a>
Теперь я определил щупом угол поворота заготовки, в одной из точек на левой стороне заготовки присвоил координате X -10.0 и даю команду повернуть координаты вокруг этой точки. По идее теперь вся грань должна находиться строго параллельно координате X и иметь координату по X -10.0, а Y в этой точке не должен измениться :
g68_2.jpg (9789 просмотров) <a class='original' href='./download/file.php?id=99374&sid=d33c1880411175870c5001a3e7dfb670&mode=view' target=_blank>Загрузить оригинал (29.06 КБ)</a>
Но этой точке присваиваются координаты 0,0 и предыдущая привязка идет насмарку.
g68_3.jpg (9788 просмотров) <a class='original' href='./download/file.php?id=99376&sid=d33c1880411175870c5001a3e7dfb670&mode=view' target=_blank>Загрузить оригинал (27.62 КБ)</a>
Может быть я чего-то не понимаю и так и должно быть? Если так, то почему? Какой в этом смысл?
Аватара пользователя
FLUKE
Мастер
Сообщения: 843
Зарегистрирован: 11 мар 2013, 21:18
Репутация: 187
Настоящее имя: Сергей
Откуда: Смоленск
Контактная информация:

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

Сообщение FLUKE »

G-коды
Вращение оси координат G68 G69.
http://www.cnc-club.ru/forum/viewtopic. ... 13#p318813
Не приходилось пользоваться вращением, но, насколько я понял, лучше переместиться в точку вращения координат, повернуть, потом переместиться обратно.
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

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

Сообщение 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
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

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

Сообщение aegis »

AndyBig, естественно не останутся исходными координатами. сам так пользуюсь при ручном написании осевых деталей (типа фланцев и т.п.). вначале повернул, потом дал смещение. иначе неразбериха получится. считай новые координаты будут пересчитываться автоматом через синус и косинус
нікому нічого не нав'язую.
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

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

Сообщение AndyBig »

aegis писал(а):естественно не останутся исходными координатами.
Почему это естественно, если вращение идет вокруг именно этих координат? Все другие координаты - да, естественно изменятся, но координаты, вокруг которых вращается СК, очень даже естественно должны оставаться неизменными :)
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

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

Сообщение aegis »

AndyBig, ну смотри. новые координаты становятся в виде х=Х*sin у=У*cos... . а тебе хочется чтобы 100=100 оставалось. тогда сам пересчитай относительно какой точки тебе надо повернуть СК чтобы начальные координаты остались прежними
нікому нічого не нав'язую.
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

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

Сообщение AndyBig »

aegis писал(а):новые координаты становятся в виде х=Х*sin у=У*cos...
Это только если СК вращается вокруг нулевых координат. Иначе х=(Х-A)*sin+A у=(У-B)*cos+B, где A;B - координаты точки центра вращения. И если X=A и Y=B, то они останутся неизменными.
И в любом случае это не объясняет как координаты 20;40 превратились в 0;0 после поворота СК на 0.5 градуса :)
Последний раз редактировалось AndyBig 08 янв 2017, 16:09, всего редактировалось 1 раз.
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

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

Сообщение aegis »

AndyBig, ну так сам все прекрасно понимаешь что сотня не будет ровна сотне :)
нікому нічого не нав'язую.
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

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

Сообщение AndyBig »

aegis писал(а):ну так сам все прекрасно понимаешь что сотня не будет ровна сотне
Еще раз... Если вращение вокруг этой сотни, то (100-100)*sin(0.5)+100=100 :) Сотня осталась равна сотне :)
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

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

Сообщение 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 - угол поворота в радианах.
Но все равно координаты точки, вокруг которых идет вращение, остаются неизменными :)
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

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

Сообщение aegis »

AndyBig, ну а какой физический смысл старой координаты (100;100) и новой (100;100)? совсем разный. ибо там мы стояли осью вдоль станка, а стали вдоль заготовки. так что тут надо или заготовку более-менее точно сразу ложить (в паз на столе сухарь и 2 плитки кмд одного размера или штангель или другой метод) или потом доворачивать СК и потом обнуляться уже
нікому нічого не нав'язую.
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

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

Сообщение AndyBig »

aegis писал(а):тут надо или заготовку более-менее точно сразу ложить
Тогда вообще теряется смысл.
aegis писал(а):или потом доворачивать СК и потом обнуляться уже
Тут есть еще и проблема установки координат после поворота СК - Мач воспринимает задаваемые координаты без учета поворота СК. То есть если после поворота СК подвести щуп по X к стенке заготовки и вписать -1 (радиус шарика щупа) в поле координаты, то впишется не -1, а преобразованное в поворот значение от -1, например -0.964. Да еще и Y при этом поменяется.
В общем, как я понял, это баг Мача и с этим ничего не поделать :(
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

А что мешает обнулиться там, где надо, а потом повернуть СК вокруг этой точки?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

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

Сообщение Сергей Саныч »

AndyBig писал(а): если после поворота СК подвести щуп по X к стенке заготовки
После поворота такими вещами лучше не заниматься. Разумней все измерения выполнять на неповернутой СК.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

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

Сообщение AndyBig »

Сергей Саныч писал(а):Разумней все измерения выполнять на неповернутой СК.
Это так, тем более, что G31 на повернутой СК в Маче тоже мозги сушит. Но и то, что фактически поворачивать можно только вокруг нулевых координат, сильно снижает полезность поворота.
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

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

Сообщение aegis »

AndyBig писал(а):то, что фактически поворачивать можно только вокруг нулевых координат, сильно снижает полезность поворота
не поворачивай :roll:
а мне ж68 сильно помогает писать программу в 50 строчек вместе со всеми прелестями блокнота
2017-01-08_19-24-28.png (9682 просмотра) <a class='original' href='./download/file.php?id=99485&sid=d33c1880411175870c5001a3e7dfb670&mode=view' target=_blank>Загрузить оригинал (391.5 КБ)</a>
нікому нічого не нав'язую.
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

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

Сообщение AndyBig »

Это как раз один из немногих оставшихся случаев когда поворот полезен :)
Я же хотел использовать его для выравнивания СК после замены крепления (переворота) заготовки :)
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

так и не понял,в чем неразбериха,но вот алгоритм
измерений с последующим поворотом при установке заготовки
http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=7981
правда для емс ,но наверно там совсем немного изменений ;)
может пригодится ..
прикрутил подобное (чуть изменил под себя) для эрозионного станка(проволока) - очень просто базироваться...
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

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

Сообщение AndyBig »

nkp писал(а):так и не понял,в чем неразбериха
В том, что Мач обнуляет координаты точки, вокруг которой происходит вращение системы координат :)
Не знаю, делает ли это ems.
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

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

Сообщение aegis »

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

Вернуться в «Windows / Mach»