Поворот координат G68 в Mach3
- AndyBig
- Мастер
- Сообщения: 3971
- Зарегистрирован: 07 мар 2014, 04:01
- Репутация: 1121
- Откуда: юг России
- Контактная информация:
Поворот координат G68 в Mach3
Есть код 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: Теперь я определил щупом угол поворота заготовки, в одной из точек на левой стороне заготовки присвоил координате X -10.0 и даю команду повернуть координаты вокруг этой точки. По идее теперь вся грань должна находиться строго параллельно координате X и иметь координату по X -10.0, а Y в этой точке не должен измениться : Но этой точке присваиваются координаты 0,0 и предыдущая привязка идет насмарку. Может быть я чего-то не понимаю и так и должно быть? Если так, то почему? Какой в этом смысл?
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: Теперь я определил щупом угол поворота заготовки, в одной из точек на левой стороне заготовки присвоил координате X -10.0 и даю команду повернуть координаты вокруг этой точки. По идее теперь вся грань должна находиться строго параллельно координате X и иметь координату по X -10.0, а Y в этой точке не должен измениться : Но этой точке присваиваются координаты 0,0 и предыдущая привязка идет насмарку. Может быть я чего-то не понимаю и так и должно быть? Если так, то почему? Какой в этом смысл?
- FLUKE
- Мастер
- Сообщения: 843
- Зарегистрирован: 11 мар 2013, 21:18
- Репутация: 187
- Настоящее имя: Сергей
- Откуда: Смоленск
- Контактная информация:
Re: Поворот координат G68 в Mach3
G-коды
Вращение оси координат G68 G69.
http://www.cnc-club.ru/forum/viewtopic. ... 13#p318813
Не приходилось пользоваться вращением, но, насколько я понял, лучше переместиться в точку вращения координат, повернуть, потом переместиться обратно.
Вращение оси координат G68 G69.
http://www.cnc-club.ru/forum/viewtopic. ... 13#p318813
Не приходилось пользоваться вращением, но, насколько я понял, лучше переместиться в точку вращения координат, повернуть, потом переместиться обратно.
- AndyBig
- Мастер
- Сообщения: 3971
- Зарегистрирован: 07 мар 2014, 04:01
- Репутация: 1121
- Откуда: юг России
- Контактная информация:
Re: Поворот координат G68 в Mach3
Я освоил описание самого кодаFLUKE писал(а):G-коды
Вращение оси координат G68 G69.
Там еще не описан необязательный параметр I, который если не равен нулю, то дает приращение угла, заданного предыдущим G68. И не сказано, что параметры A и B можно опустить, тогда за точку вращения принимается начало координат (0;0).
В том-то и проблема, что если точка вращения не в нулевых координатах, то она становится в них при выполнении кода G68. Переместились в точку 100;100, задали вращение вокруг этой точки и ее координаты стали 0;0, а не остались 100;100.FLUKE писал(а):лучше переместиться в точку вращения координат, повернуть, потом переместиться обратно.
Вот, записал видео с примером:
https://www.youtube.com/watch?v=y9hD5jUXHNU
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Поворот координат G68 в Mach3
AndyBig, естественно не останутся исходными координатами. сам так пользуюсь при ручном написании осевых деталей (типа фланцев и т.п.). вначале повернул, потом дал смещение. иначе неразбериха получится. считай новые координаты будут пересчитываться автоматом через синус и косинус
нікому нічого не нав'язую.
- AndyBig
- Мастер
- Сообщения: 3971
- Зарегистрирован: 07 мар 2014, 04:01
- Репутация: 1121
- Откуда: юг России
- Контактная информация:
Re: Поворот координат G68 в Mach3
Почему это естественно, если вращение идет вокруг именно этих координат? Все другие координаты - да, естественно изменятся, но координаты, вокруг которых вращается СК, очень даже естественно должны оставаться неизменнымиaegis писал(а):естественно не останутся исходными координатами.
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Поворот координат G68 в Mach3
AndyBig, ну смотри. новые координаты становятся в виде х=Х*sin у=У*cos... . а тебе хочется чтобы 100=100 оставалось. тогда сам пересчитай относительно какой точки тебе надо повернуть СК чтобы начальные координаты остались прежними
нікому нічого не нав'язую.
- AndyBig
- Мастер
- Сообщения: 3971
- Зарегистрирован: 07 мар 2014, 04:01
- Репутация: 1121
- Откуда: юг России
- Контактная информация:
Re: Поворот координат G68 в Mach3
Это только если СК вращается вокруг нулевых координат. Иначе х=(Х-A)*sin+A у=(У-B)*cos+B, где A;B - координаты точки центра вращения. И если X=A и Y=B, то они останутся неизменными.aegis писал(а):новые координаты становятся в виде х=Х*sin у=У*cos...
И в любом случае это не объясняет как координаты 20;40 превратились в 0;0 после поворота СК на 0.5 градуса
Последний раз редактировалось AndyBig 08 янв 2017, 16:09, всего редактировалось 1 раз.
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Поворот координат G68 в Mach3
AndyBig, ну так сам все прекрасно понимаешь что сотня не будет ровна сотне
нікому нічого не нав'язую.
- AndyBig
- Мастер
- Сообщения: 3971
- Зарегистрирован: 07 мар 2014, 04:01
- Репутация: 1121
- Откуда: юг России
- Контактная информация:
Re: Поворот координат G68 в Mach3
Еще раз... Если вращение вокруг этой сотни, то (100-100)*sin(0.5)+100=100 Сотня осталась равна сотнеaegis писал(а):ну так сам все прекрасно понимаешь что сотня не будет ровна сотне
- AndyBig
- Мастер
- Сообщения: 3971
- Зарегистрирован: 07 мар 2014, 04:01
- Репутация: 1121
- Откуда: юг России
- Контактная информация:
Re: Поворот координат G68 в Mach3
Кстати, там формулы, оказывается, несколько сложнее
Для поворота против часовой стрелки: 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 - угол поворота в радианах.
Но все равно координаты точки, вокруг которых идет вращение, остаются неизменными
Для поворота против часовой стрелки: 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
AndyBig, ну а какой физический смысл старой координаты (100;100) и новой (100;100)? совсем разный. ибо там мы стояли осью вдоль станка, а стали вдоль заготовки. так что тут надо или заготовку более-менее точно сразу ложить (в паз на столе сухарь и 2 плитки кмд одного размера или штангель или другой метод) или потом доворачивать СК и потом обнуляться уже
нікому нічого не нав'язую.
- AndyBig
- Мастер
- Сообщения: 3971
- Зарегистрирован: 07 мар 2014, 04:01
- Репутация: 1121
- Откуда: юг России
- Контактная информация:
Re: Поворот координат G68 в Mach3
Тогда вообще теряется смысл.aegis писал(а):тут надо или заготовку более-менее точно сразу ложить
Тут есть еще и проблема установки координат после поворота СК - Мач воспринимает задаваемые координаты без учета поворота СК. То есть если после поворота СК подвести щуп по X к стенке заготовки и вписать -1 (радиус шарика щупа) в поле координаты, то впишется не -1, а преобразованное в поворот значение от -1, например -0.964. Да еще и Y при этом поменяется.aegis писал(а):или потом доворачивать СК и потом обнуляться уже
В общем, как я понял, это баг Мача и с этим ничего не поделать
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Поворот координат G68 в Mach3
А что мешает обнулиться там, где надо, а потом повернуть СК вокруг этой точки?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Поворот координат G68 в Mach3
После поворота такими вещами лучше не заниматься. Разумней все измерения выполнять на неповернутой СК.AndyBig писал(а): если после поворота СК подвести щуп по X к стенке заготовки
Чудес не бывает. Бывают фокусы.
- AndyBig
- Мастер
- Сообщения: 3971
- Зарегистрирован: 07 мар 2014, 04:01
- Репутация: 1121
- Откуда: юг России
- Контактная информация:
Re: Поворот координат G68 в Mach3
Это так, тем более, что G31 на повернутой СК в Маче тоже мозги сушит. Но и то, что фактически поворачивать можно только вокруг нулевых координат, сильно снижает полезность поворота.Сергей Саныч писал(а):Разумней все измерения выполнять на неповернутой СК.
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Поворот координат G68 в Mach3
не поворачивайAndyBig писал(а):то, что фактически поворачивать можно только вокруг нулевых координат, сильно снижает полезность поворота
а мне ж68 сильно помогает писать программу в 50 строчек вместе со всеми прелестями блокнота
нікому нічого не нав'язую.
- AndyBig
- Мастер
- Сообщения: 3971
- Зарегистрирован: 07 мар 2014, 04:01
- Репутация: 1121
- Откуда: юг России
- Контактная информация:
Re: Поворот координат G68 в Mach3
Это как раз один из немногих оставшихся случаев когда поворот полезен
Я же хотел использовать его для выравнивания СК после замены крепления (переворота) заготовки
Я же хотел использовать его для выравнивания СК после замены крепления (переворота) заготовки
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Поворот координат G68 в Mach3
так и не понял,в чем неразбериха,но вот алгоритм
измерений с последующим поворотом при установке заготовки
http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=7981
правда для емс ,но наверно там совсем немного изменений
может пригодится ..
прикрутил подобное (чуть изменил под себя) для эрозионного станка(проволока) - очень просто базироваться...
измерений с последующим поворотом при установке заготовки
http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=7981
правда для емс ,но наверно там совсем немного изменений
может пригодится ..
прикрутил подобное (чуть изменил под себя) для эрозионного станка(проволока) - очень просто базироваться...
- AndyBig
- Мастер
- Сообщения: 3971
- Зарегистрирован: 07 мар 2014, 04:01
- Репутация: 1121
- Откуда: юг России
- Контактная информация:
Re: Поворот координат G68 в Mach3
В том, что Мач обнуляет координаты точки, вокруг которой происходит вращение системы координатnkp писал(а):так и не понял,в чем неразбериха
Не знаю, делает ли это ems.
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Поворот координат G68 в Mach3
AndyBig, хорошо. посмотрим с другой стороны. допустим нам надо повернуть СК на 90° (написали УП, а в станок по другому заготовка не помещается, дабы не переписывать все с 0 такое можно сделать). или вообще перевернуть на 180 градусов (например зажимаем в 3-кулачковом патроне и вырез попадает на кулачек, патрон уже прикручен, центр поймали). та исходная координата после проворота не имеет никакого смысла вообще, поэтому разумно что ловить координаты всеравно будешь заново, тоесть обнуленно или нет всеравно. вот такие пазы как я показал на картинке или работа в патроне отлично работает с поворотом СК вокруг центра (тут вроде все логично думаю), а проворот на 1 градус вас почему-то не устраивает. на 180 тоже будут вопросы почему было (100;100) а стало (-100;-100)?
вообще не понимаю в чем проблема. надо свои видения забыть а делать то что программа умеет. или тогда забить и писать свою программу которая будет удобно только для вас (ну может еще кому-то).
штатная процедура проворота логична и вполне удобна, поэтому просто научитесь ей пользоваться
вообще не понимаю в чем проблема. надо свои видения забыть а делать то что программа умеет. или тогда забить и писать свою программу которая будет удобно только для вас (ну может еще кому-то).
штатная процедура проворота логична и вполне удобна, поэтому просто научитесь ей пользоваться
нікому нічого не нав'язую.