Нестандартное программирование в NX CAM. Как «уговорить» систему
Все мы сталкиваемся с проблемой получения четко выверенной траектории движения инструмента.
Приведем пример. Не секрет, что в NX применение винтового шаблона резания в фрезерных операциях mill_contour — редкость, а уж применение коррекции режущего инструмента при использовании стандартной стратегии построения нашего проекта обработки в представлении «теоретиков» вообще невозможно!
Немного истории: появление перспективного винтового шаблона резания в NX3 открыло новые возможности при выборе высокоскоростной фрезерной стратегии обработки как детали, так и ее элементов, и продолжает развиваться дальше. В NX8 уже добавилась новая стратегия hole_milling — это возможность расфрезеровки отверстий и фрезерования бобышек (на выбор) с шагом по спирали или винту. Практически это имитация цикла станка с выводом не параметров цикла, а Gкодов.
В этой статье мы покажем практическую возможность расширенного применения винтового шаблона резания при 3Dфрезеровании как с коррекцией на износ, так и с коррекцией на радиус инструмента, причем с регулировкой начальной точки врезания и отвода.
Сначала укажем основные области применения этого метода:
- Расфрезеровка отверстий, замкнутых карманов разной формы, но имеющих вертикальные стенки и перпендикулярное стенкам дно.
- Фрезерование цилиндрических бобышек и бобышек произвольной формы, имеющих вертикальные стенки и перпендикулярное стенкам дно.
В нашем примере в качестве бобышки произвольной формы мы рассмотрим чистовую обработку лопатки диска турбины (рис. 1).
Рис. 1
Проведенный анализ геометрии лопатки показывает, что она соответствует перечисленным требованиям, то есть вертикальные стенки профиля ортогональны плоскости дна межлопаточного пространства. Измеренное кратчайшее расстояние между соседними лопатками позволяет нам задать фрезу со следующими технологическими параметрами: диаметр D = 3,8 мм; нижний радиус R1 = 0,3 мм.
На модели радиус по нижнему контуру лопаток исключен (рис. 1), так как он будет формироваться исходя из параметра инструмента R1.
Далее, после установки машинной системы координат на базовые поверхности заготовки, а это нижний торец (плоскость XMYM) и центральная ось вращения детали ZM, создаем операцию чистового фрезерования профиля лопатки, где тип операции — mill_contour, а подтип операции — FIXED_CONTOUR (рис. 2).
Рис. 2
После попадания в диалог созданной нами операции теоретически мы должны задать геометрию детали и геометрию области резания, но в описываемом методе мы этого делать не будем, то есть геометрия не задана! В методе управления переключаемся с метода Граница на метод Управляющая поверхность (рис. 3).
Рис. 3
В диалоге метода управления последовательно задаем управляющие поверхности так, чтобы они создали замкнутый профиль (рис. 4а), а это боковые грани профиля лопатки. Причем, какую грань вы выберете и добавите в список первой, с той грани и будет производиться начало врезания и конечный отвод (рис. 4б).
Рис. 4
После задания управляющей геометрии должна появиться стрелка — указатель стороны удаляемого материала; ее направление показывает, с какой стороны заданного нами профиля будет производиться обработка. В нашем примере стрелка наружу, то есть формируем элемент типа «бобышка». Задаем направление резания указанием левой верхней стрелки, обеспечивая тем самым раскрутку спирального шаблона вокруг лопатки сверху вниз — попутно (рис. 5).
Рис. 5
В настройках управления выбираем шаблон резания — винтовой, а шаг между проходами задаем числом (рис. 6а), причем, если зададим число 0, то количество проходов будет 1; в нашем примере заданное число перемещений по шагу — 6, по факту после генерации траектории получим семь перемещений вокруг лопатки. Шаг отслеживания устанавливаем в допуски ± 0,005 мм (рис. 6б). Величина допуска определяется исходя из точности получаемых размеров и параметров шероховатости обрабатываемых поверхностей.
a
b
Рис. 6
Рис. 7
Что касается позиции инструмента, мы рассмотрим оба случая:
- Позиция инструмента — Касательно (рис. 7а), то есть расчет траектории движения режущего инструмента проводится относительно его боковой поверхности.
- Позиция инструмента — На поверхности (рис. 7б), то есть расчет траектории движения режущего инструмента проводится относительно его центральной осевой линии.
Для того чтобы первый рез шел не по воздуху, в обоих случаях в меню задания процента поверхности установим % Начального прохода не в ноль (рис. 8), то есть винт начнет раскручиваться чуть ниже верхней грани обрабатываемой поверхности.
Подтвердив заданные параметры и выйдя из диалога Метода управления, в Параметрах резания -> Припуск задаем допуски на аппроксимацию траектории движения инструмента (рис. 9). Как правило, они должны повторять те же значения, что и при задании шага отслеживания. В нашем случае — это ± 0,005 мм; если нужно получить более точную раскадровку траектории, то установите ± 0,001 мм.
Рис. 8
Рис. 9
Рис. 10
Во Вспомогательных перемещениях -> Врезание с целью обеспечения плавности подхода к обрабатываемой геометрии и включения команды коррекции в плоскости перпендикулярной оси шпинделя установим Тип врезания как Дуга — Нормально оси инструмента (рис. 10) и зададим следующие параметры: радиус дуги подхода — 2 мм (он должен быть больше или равен радиусу режущего инструмента); угол дуги — 90°; линейное расширение — 3 мм (это та величина, на которой и произойдет событие включения коррекции в управляющей программе) — рис. 11.
Рис. 11
Рис. 12
В параметрах отвода установим Тип отвода -> Как врезание.
Как мы уже упоминали, стандартно включить команду коррекции не представляется возможным в связи с тем, что в данном случае нам требуется не 3D, а 2Dкоррекция! Поэтому воспользуемся дополнительными постпроцессорными командами. В меню Управления станком -> События в начале траектории -> Изменить переходим в диалог События, задаваемые пользователем (рис. 13), где в списке Доступных событий выбираем событие Cutter Compensation (рис. 14), то есть постпроцессорную команду принудительного включения и выключения коррекции — G41, G42, G40 в системе ISO и RL, RR, R0 на языке Heidenhain соответственно.
Рис. 13
Рис. 14
В диалоге Коррекции инструмента добавляем необходимые данные по выводу команды коррекции в нашей будущей управляющей программе (рис. 15).
Рис. 15
Рис. 16
Подтвердив все наши предыдущие действия, генерируем траекторию. В первом случае, когда позиция инструмента указана — Касательно, траектория инструмента будет сгенерирована с коррекцией на износ инструмента и будет зарезать по оси Z наше межлопаточное пространство или пол на величину радиуса при вершине инструмента R1=0,3 мм (рис. 16).
Чтобы избежать фактического зареза непосредственно на станке, нам нужно провести небольшое преобразование полученной траектории, то есть переместить ее по оси +Z на величину 0,3 мм. Правой клавишей мыши указываем на объект, а это наша траектория, переходим в выпадающее меню Объект -> Преобразование (рис. 17).
Рис. 17
В диалоге Преобразование просто указываем, что нам нужно переместить траекторию в положительном направлении оси ZC в приращениях относительно расположения рабочей системы координат на величину 0,3 мм, отмечая при этом, что хотим переместить именно объекттраекторию (рис. 18).
Рис. 18
Рис. 19
Результат наших предыдущих преобразований — отсутствие зарезов (рис. 19).
Во втором случае, когда позиция инструмента указана — На поверхности, траектория инструмента будет сгенерирована с коррекцией на радиус инструмента, то есть в нашем проекте (рис. 20) происходит зарезание по всему периметру обработки, а фактически на станке с ЧПУ при считывании кадра команды коррекции произойдет то, что мы видим на рис. 19. Пока с этим недостатком нужно смириться!
Теперь поговорим о смене начальной точки врезания и отвода. При тщательном рассмотрении (рис. 20) мы видим, что врезание происходит в свободной зоне с внешней стороны детали, а вот отвод не совсем корректен, останется нежелательный след от инструмента на нижней поверхности. Исправить эту ошибку можно, только изменив начальную точку врезания! Это особенно критично при обработке изнутри замкнутых карманов различного профиля.
Рис. 20
a
b
Рис. 21
Чтобы выполнить это действие, выйдем из модуля Обработка и перейдем в модуль Моделирование, где разделим радиусную лицевую грань на две, используя функцию разделения граней, доступную нам в модуле CAD (рис. 21а и б).
После проделанной процедуры возвращаемся в модуль Обработка. В нашей ранее созданной операции перезададим управляющую геометрию, начиная последовательный выбор с разделенной нами грани. При задании направления резания мы видим, что место начала расстановки стрелокуказателей направления резания изменилось (рис. 22).
Рис. 22
Рис. 23
Подтвердив все наши изменения в параметрах обработки операции, перегенерируем траекторию (рис. 23).
После задания режимов резания эта траектория готова к отправке на дальнейшее постпроцессирование.
Данный подход к решению возникающих проблем был неоднократно отработан в реальных условиях и на разных системах ЧПУ (Fanuc OiMC, Sinumerik 840D, Heidenhain iTNC 530), что дало возможность существенно снизить машинное время обработки деталей, имеющих подобную геометрию.
При копировании обязательна ссылка на сайт www.nslabs.ru