Перейти к публикации

3D-коррекция при многоосевой обработке


Ug_user

Для какой системы управления Вы хотели бы реализовать 3D-коррекцию?  

89 пользователей проголосовало

  1. 1. Для какой системы управления Вы хотели бы реализовать 3D-коррекцию?

    • Heidenhain iTNC 430(530)
      31
    • Siemens Sinumeric 840D
      19
    • FANUC
      29
    • Другая
      10


Рекомендованные сообщения

А что буде, если нету в станочке опции CUT3DF и иже? ..... То-то!!!!!

 

А если не будет, то пойду следующим путем:

Трассировка по точке контакта в NX, На станке привязка сферической фрезы по центру ее радиуса

 

N9 ;5AXIS_3DF_ANGLE

N10 T2 ;(TOOL FREZA_D10 D=10.000 Z=3 r=5.000)

N11 M6

N12 D1

R800=$TC_DP6(2,1)

N13 G0 G153 Z-1 D0

N14 G0 G153 X-450 D0

N15 D1

N16 M11

N17 M23

N18 G0 C179.153

N19 G0 B-51.522

N20 TRAORI

N21 G0 X50.004 Y-.696 S5000 M3

N22 Z-2.716

N23 G0 X50.004 Y-.696 Z-2.716 B-51.522 C179.153

N24 X45.989 Y1.71 Z-7.968

; Начало 3D коррекции

N27 G1 X[34.99 + [0.92293*R800]]  Y[-0.368+[-0.022657*R800]]  Z[-10.+[0.38429*R800]]  C177.746 F1000. M8

N28 X[34.976+[0.9221*R800]]  Y[-0.736 + [-0.0453*R800]]  Z[-10.+[0.38429*R800]]  C176.34

и.т.д.

 

где:

номер инструмента

активная режущая кромка инструмента (номер корректора)

машинная переменная, хранящая значение коррекции на радиус

пользовательская переменная

x y z компоненты вектора нормали в точке контакта

Изменено пользователем Vladislav-dobrynin
Ссылка на сообщение
Поделиться на других сайтах


Да, таким образом (как впрочем и стандартными CUT3DF и др ) можно получить именно коррекцию. То есть отодвинуть или придвинуть инструмент от поверхности (к поверхности) на величину коррекции. А как быть с переточенным инструментом? Или программа посчитана на фрезу сферическую, а есть желание пройти концевой со скруглением?

Ссылка на сообщение
Поделиться на других сайтах

Доброго времени суток! Я тоже считаю что тема была создана как сделать 3д-коррекцию без использования  специальных средств системы ЧПУ! По поводу ноу-хау, никаких ноу-хау, по крайней мере я, точно не создал, обычная математика! В своем ролике я просто показал что получилось у меня! Я понимаю что это далеко от идеала, но так сделал я, кто-то другой сделает по другому - сколько людей столько и мнений! Много высказываний при чем здесь С++? Отвечу просто - я пока плохо знаком с языком TCL  и с генератором постпроцессоров NX, в чем смог в том и реализовал!

Ув. Vladislav-dobrynin  в приведенном вами примере программы, формулы как то маловаты, похоже что они для концевой фрезы, и хорошо что вы можете все это реализовать используя только NX, я же пытаюсь изучить NX дома, поэтому пока все это выглядит коряво и через всякие сторонние программы, а на работе используют совсем другой CAM! И еще, не все CAMы вроде выводят точку контакта при 5-осевой обработке, некоторые выводят центр кончика инструмента (в этом конечно могу ошибаться) вот и выходит плюс моего скромного приложения в том что оно работает с любым САМом! 

NULL_TAG надо кстати попробовать посчитать для сферической, а пройти концевой со скруглением, спасибо за подсказку того, что можно проверить! Если интересует что получится могу выложить ролик!

Ссылка на сообщение
Поделиться на других сайтах

Проверил, вот что получается при замене шаровой фрезы на концевую со скруглением, по одной и той же программе! Не красиво в местах где фреза меняет направление движения, если конечно их заблаговременно вывести за пределы детали, тогда будет наверно все красиво! 

Ссылка на сообщение
Поделиться на других сайтах
а есть желание пройти концевой со скруглением?

 

А пройти каким образом хотите, "колоколом"? т.е закатать поверхность качанием фрезы и при этом есть вероятность что контакт будет как с дном, так и с радиусом скуления, так и с торцем инструмента ? Если это имеете ввиду, то вопрос более интересный! Подумаю скажу.

 

 

 

Ув. Vladislav-dobrynin  в приведенном вами примере программы, формулы как то маловаты, похоже что они для концевой фрезы, и хорошо что вы можете все это реализовать используя только NX, я же пытаюсь изучить NX дома, поэтому пока все это выглядит коряво и через всякие сторонние программы

 

Как раз таки я привел пример для "закатки" сферической фрезой, как в 3 так и в 5 осях будет работать. Точку трассировки нужно выводить по контакту с поверхностью, NX позволяет это сделать. Формулы короткие! 7 класса школьного курса геометрии, в данном примере все предельно просто! Если САМ не выводит векторов нормали точек контакта то боюсь увы, минимальных достаточных данных не хватит для 3d коррекции.

Посмотрел ролик, а где у Вас происходит сам расчет величин смещения? 

Изменено пользователем Vladislav-dobrynin
Ссылка на сообщение
Поделиться на других сайтах

Все понял почему у меня для шаровой фрезы поболее формула, у вас для центра шарика а у меня для кончика!

Ссылка на сообщение
Поделиться на других сайтах
Все понял почему у меня для шаровой фрезы поболее формула, у вас для центра шарика а у меня для кончика!

 

Возьмите стандартный постпроцессор для sinumerik из библиотеки, там есть полезные процедуры где происходит пересчет траектории с кончика на контакт при помощи использования готовых функций. В исходную CLS всегда выводиться трассировка кончиком, только при включенном флажке "вывод трассировки по контакту" постпроцессор включает эти функции и производит пересчет на контакт.

Расчет величин смещений для коррекции, происходит в разработанной Вами утилите или непосредственно на станке?

Изменено пользователем Vladislav-dobrynin
Ссылка на сообщение
Поделиться на других сайтах

Формулы вставляет утилита, а считает станок! Иначе то нет смысла если смещения будет считать утилита!

Ссылка на сообщение
Поделиться на других сайтах

Просто я не увидел формул на ролике (ну возможно Вы их скрыли, не захотели показывать), и еще не увидел программных средств смещения траектории, значения в ХУZ постоянные передаются, при помощи чего траектория по рассчитанным данным корректируется, какой командой?

Изменено пользователем Vladislav-dobrynin
Ссылка на сообщение
Поделиться на других сайтах

Никаких специальных команд, только формулы! Хотя одна команда есть TRAORI но к коррекции она не относится!

Ссылка на сообщение
Поделиться на других сайтах
А как быть с переточенным инструментом? Или программа посчитана на фрезу сферическую, а есть желание пройти концевой со скруглением?

 

В компенсации изменения геометрической формы инструмента (расчет траектории был для сферы а на станке стал использоваться тороид) я смысла не вижу никакого! Вовсе не в этом смысл использования 3D коррекции! А вот конкретно для цилиндрической концевой фрезы с радиусом, я сделал бы следующим образом: Имеем три возможных случая контакта: 1 - по периферии, 2 - по радиусу скругления, 3 - по торцу. Для коррекции в этом случае целесообразно брать соответственно 3 величины, пусть это будут соответствующие величины износа указываемые в таблице инструмента станка. Если таких на конкретной стойке не имеется, то можно воспользоваться соответствующими разностями фактических величин параметров описания инструмента в стойке с величинами параметров заданных для инструмента в NX. В УП эти величины положим в любые 3 локальные переменные пользователя. 

В постпроцессоре чтобы определить какой из трех случаев контакта инструмента с обрабатываемой поверхностью происходит, следует перед выводом каждого движения выполнить следующий анализ 

1) Если угол между вектором(1) оси инструмента и вектором(2) нормали его контакта с обрабатываемой поверхностью равен 90град {пример: вектор(1) +0,5, +0,5, +0,5    вектор(2) -0.5, -0.5, +0,5}, то используем величину коррекции "1 - по периферии"

2) Если угол между вектором(1) оси инструмента и вектором(2) нормали его контакта с обрабатываемой поверхностью строго больше 0 но строго меньше 90 {пример: вектор(1) +0,0, +0,0, +1,0     вектор(2) +0.5, +0.5, +0,5}, то используем величину коррекции "2 - по радиусу скругления"

3) Если угол между вектором(1) оси инструмента и вектором(2) нормали его контакта с обрабатываемой поверхностью равен 0град {пример: вектор(1) +0,5, +0,5, +0,5    вектор(2) +0.5, +0.5, +0,5}, то используем величину коррекции "3 - по торцу"

 

Вывод трассировки инструмента в NX следует производить по центру его оси. Величина (скалярная часть) коррекции, как выше сказал, непосредственная величина сдвига. В каждом кадре постпроцессором в зависимости от предварительного анализа будет выведено к примеру следующее:

 

G1 X[34.99 + [0.92293*R800]]  Y[-0.368+[-0.022657*R800]]  Z[-10.+[0.38429*R800]]  C177.746 - случай контакта по периферии фрезы, R800 - величина износа фрезы по радиусу.

 

G1 X[34.99 + [0.92293*R801]]  Y[-0.368+[-0.022657*R801]]  Z[-10.+[0.38429*R801]]  C177.746 - случай контакта по радиусу скругления фрезы, R801 - величина износа фрезы по радиусу скругления главной и вспомогательной режущих кромок. 

 

G1 X[34.99 + [0.92293*R802]]  Y[-0.368+[-0.022657*R802]]  Z[-10.+[0.38429*R802]]  C177.746  - случай контакта по торцу фрезы, R802  - величина износа фрезы по ее длине.

 

В общем моя идея такова. Кому интересно попробуйте реализовать в постпроцессоре и проверить на станке.

Изменено пользователем Vladislav-dobrynin
Ссылка на сообщение
Поделиться на других сайтах

Вот такой интерфейс моего скромного приложения 3Д-коррекция!

 

Ссылка на сообщение
Поделиться на других сайтах

Смеетесь? Ну ладно!

Да не смеюсь.. Тебя про формулы спрашивают, а ты фантики показываешь.

Ссылка на сообщение
Поделиться на других сайтах
  • 4 года спустя...

Кто нибудь ещё продолжил развитие и испытание собственной опции 3д коррекции? Хотелось узнать сильно ли меняется качество обрабатываемой поверхности изменив геометрию инструмента на 1 мм? Как происходят отводы и подводы так как они же не имеют нормалей поверхностей, только вектора ориентации инструмента. Хотелось увидеть это не на верификаторах и картинках, в новом видео @Ug_user выглядит даже все очень здорово.

https://youtu.be/2UvpF52EmQA

Изменено пользователем lioosjery
Ссылка на сообщение
Поделиться на других сайтах

Качество поверхности - хорошее. Посмотри на эту картинку не из симулятра. Траектория считалась на фрезу шарик D12R6.

Потом прошли фрезой D20R2  с припуском -0.5. Потом концевой D16R0 с припуском -0.25.

Обработка 5-осевая, станок схемы стол-стол.

 

20190313_193139.jpg

20190314_062438.jpg

Изменено пользователем Ug_user
Ссылка на сообщение
Поделиться на других сайтах

Про отводы и подводы.тут все как в обычной коррекции. Подходишь без коррекции, но последняя точка движения Engage уже имеет нормаль.

Мы реализовали и второй способ, когда нормаль считается из UGOPEN и ее можно применить и для подходов. И в SEQuential Milling..

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • ispite
      Здравствуйте, не могу построить стандартную сетку, что не позволяет дальше провести расчёт. Получается сделать сетку "на основе кривизны", но солид отказывается считать, после нажатия кнопки "запустить исследование" происходит сбой. https://disk.yandex.ru/d/D8wvRbYMW1lWjQ
    • ddm
      изготовить по чертежу с последующим покрытием,цинкование ,по 1000 шт каждой позиции ,предложение отправить на почту qwer463@yandex.ru
    • sklide008
      И еще можно ли задать горчие клавиши на кнопки открыть, скрыть и тд?
    • sklide008
      Подскажите, пожалуйста, в инвенторе есть такой пункт упорядочи по алфавиту дерево. Здесь найти такого не могу, пытался treesorter ставить но он добавляет просто в папку а не сортирует в дереве. Есть ли такой макрос чтобы все детали в дереве по порядку и алфавиту шли?
    • stanislavz
      Есть станок с данным контроллером. Все работает. Недавно была проблема с передачей данных - установил запасной контроллер. А запасной контроллер сказал нет работе. Проблема была в программе компьютера для передачи данных. Грустно, досадно, контроллер был куплен как рабочий. Как бы и не горит, но необходимо поправить. Плата управления с процессором mc68020, память hm628128-10. Память буферным питанием от 3 батареек + 0,5 Фарада на плате как буфер для замены батареек на 1 сутки. Лежало долго, без батареек. Симптомы: После первого включения, в памяти были и программы и параметры (0 странность). Честно, удивило. Но - система жутко тормозит, отклик на нажатие кнопки 3-5 секунд. В таком режиме сумел закачать машинные параметры под свой станок. Но это заняло час.. 4 строки и ждет секунд 10 итд. Есть видео. Перекинул с рабочего контроллера, БП, плату плц, ээпром плц - все то же. Проверил осциллографом кварцы живые , частота есть, амплитуда хорошая. 1 странность - после манипуляций по замене батарейки, старые записи из памяти исчезли. Ничего не коротнул. Возможно 0,5 Ф был не заряжен. Там тоже необходимы сутки для зарядки. Но как оно было запечатоно до этого - мистика. 2 странность. Если плата лежит ночь без питания, только с буфером - потом 2-3 минуты работает хорошо. 3 аналогично работает 2-3 минуты если питание отключить и очистить питание памяти (выпаял 0,5 Ф буфер с платы) Проверка памяти на старте есть. Проходит хорошо. На зависает, на холодную пайку не похоже. Шевелил / двигал все. Да и не виснет, именно тормозит. При том если оставить на час - тоже все стабильно плохо. Если набрать быстро 5 символей- экран сразу пуст, но после задержки символы будут на экране. Заказал второй процессор и память. 10 штук. Подавал прямо 5 вольт на память - все так же. Токи потребления между плохой и хорошей платой смогу проверит.    
    • brigval
    • Ветерок
      "увеличение оптимизации". Оптимизацию невозможно ни увеличить, ни уменьшить.
    • gudstartup
      @boomeeeer может от страны зависит
    • david1920
      нет время нет заниматься да и информации новой нет Это я на других станках делал
    • gudstartup
      @david1920 имеется ввиду платы на системах с сертификацией опций фалом oprminf старые в расчет не принимаются вы свой 18i восстановили?
×
×
  • Создать...