site logo На уровне высоких технологий

Особенности программирования в NX CAM – Как «уговорить» систему

Особенности программирования в NX CAM.

Один из примеров:

Не секрет, что в NX применение винтового шаблона резания в фрезерных операциях mill_contour редкость, а уж с применением коррекции на режущий инструмент при использовании стандартной предлагаемой стратегии построения нашего проекта обработки и в представлении «теоретиков» вообще не возможно!

Немного из истории:

Появление перспективного винтового шаблона резания в NX3 открыло новые возможности при выборе высокоскоростной фрезерной стратегии обработки как детали, так и её элементов, и дальше продолжает развиваться. В NX8 уже добавилась новая стратегия hole_milling – это возможность расфрезеровки отверстий и фрезерования бобышек на выбор с шагом по спирали или винту. Практически – это имитация цикла станка с выводом не параметров цикла, а G – кодов.

В этой статье мы вам покажем практическую возможность расширенного применения винтового шаблона резания при 3D фрезеровании – как с коррекцией на износ, так и с коррекцией на радиус инструмента – причём с регулировкой начальной точки врезания и отвода.

Начнём с того, что опишем основную применяемость этого метода:

  1. Расфрезеровка отверстий, замкнутых карманов разной формы, но имеющих вертикальные стенки и перпендикулярное стенкам дно.
  2. Фрезерование цилиндрических бобышек и бобышек произвольной формы, также имеющих вертикальные стенки и перпендикулярное стенкам дно.

В нашем примере в качестве бобышки произвольной формы мы рассмотрим чистовую обработку лопатки диска турбины (рис.1).


рис.1

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

Диаметр D=3.8 мм.

Нижний радиус R1=0.3 мм.

На модели радиус по нижнему контуру лопаток исключён (рис.1), т. к. он будет формироваться исходя из параметра инструмента R1.

Далее после установки машинной системы координат на базовые поверхности заготовки, а это нижний торец (плоскость XM-YM) и центральная ось вращения детали ZM, создаем операцию чистового фрезерования профиля лопатки, где тип операции – mill_contour, а подтип операции – FIXED_CONTOUR (рис.2).


рис.2

После попадания в диалог созданной нами операции первым делом мы – по теории – должны задать геометрию детали и геометрию области резания, но в описываемом методе этого мы делать не будем, т. е. геометрия не задана! В методе управления переключаемся с метода – Граница – на метод – Управляющая поверхность (рис.3).


рис.3

В диалоге метода управления последовательно задаем управляющие поверхности так, чтобы они создали замкнутый профиль (рис.4), а это боковые грани нашего профиля лопатки. Причём какую грань вы выберете и добавите в список первой, с той грани и будет производиться начало врезания и конечный отвод (рис.4а).


рис.4, рис.4а

После задания управляющей геометрии должна появиться стрелка – указатель стороны удаляемого материала; её направление показывает нам, с какой стороны заданного нами профиля будет производиться обработка. В нашем примере стрелка наружу, т. е. формируем элемент типа бобышка. Задаем направление резания указанием левой верхней стрелки, обеспечивая тем самым раскрутку спирального шаблона вокруг лопатки сверху вниз – попутно (рис.5).


рис.5

В настройках управления выбираем шаблон резания – винтовой, а шаг между проходами задаём числом (рис.6), причём, если зададим число “0”, то количество проходов будет “1”; в нашем примере заданное число перемещений по шагу “6”, по факту после генерации траектории получим “7” перемещений вокруг лопатки. Далее, Шаг отслеживания устанавливаем в Допуски ± 0.005 мм (рис.6а). Величина допуска определяется, исходя из точности получаемых размеров и параметров шероховатости обрабатываемых поверхностей.


рис.6, рис.6а

Что касаемо позиции инструмента, мы рассмотрим оба случая:

1. Позиция инструмента – Касательно (рис.7), т. е. расчёт траектории движения режущего инструмента проводится относительно его боковой поверхности.


рис.7

2. Позиция инструмента – На поверхности (рис.7а), т. е. расчёт траектории движения режущего инструмента проводится относительно его центральной осевой линии.


рис.7а

Для того, чтобы первый рез шел не по воздуху в обоих случаях, в меню задания процента поверхности установим % Начального прохода не в ноль (рис.8), т. е. винт начнёт раскручиваться чуть ниже верхней грани нашей обрабатываемой геометрии.


рис.8

Подтвердив заданные нами выше параметры и выйдя из диалога Метода управления, в Параметрах резания → Сечение задаём допуски на аппроксимацию траектории движения инструмента (рис.9), как правило, они должны повторять те же значения, что и при задании шага отслеживания. В нашем случае это ± 0.005 мм, если нужно получить более точную раскадровку траектории, то установите ± 0.001 мм.


рис.9

Во Вспомогательных перемещениях → Врезание с целью обеспечения плавности подхода к обрабатываемой геометрии и включения команды коррекции в плоскости перпендикулярной оси шпинделя, установим Тип врезания как Дуга – Нормально оси инструмента (рис.10) и зададим следующие параметры: Радиус дуги подхода = 2 мм., он должен быть ≥ радиусу режущего инструмента; Угол дуги = 90˚; Линейное расширение = 3мм. – это та величина, на которой и произойдет событие включения коррекции в управляющей программе (рис.11).


рис.10


рис.11

В параметрах отвода установим Тип отвода → Как врезание.

Как мы уже упоминали выше, стандартно включить команду коррекции не представляется возможным в связи с отсутствием данного функционала (рис.12), а включить это обязательно надо!


рис.12

Поэтому воспользуемся дополнительными постпроцессорными командами. В меню Управления станком → События в начале траектории → Изменить переходим в диалог События задаваемые пользователем (рис.13),


рис.13

где в списке Доступных событий выбираем событие Cutter Compensation (рис.14), т. е. постпроцессорную команду принудительного включения и выключения коррекции – это G41, G42, G40 в системе ISO и RL, RR, R0 на языке Heidenhain соответственно.


рис.14

В диалоге Коррекции инструмента добавляем необходимые данные по выводу команды коррекции в нашей будущей управляющей программе (рис.15).


рис.15

Подтвердив все наши предыдущие действия, генерируем траекторию. В первом случае, когда позиция инструмента указана – касательно, траектория инструмента будет сгенерирована с коррекцией на износ инструмента и зарезать по оси Z наше межлопаточное пространство или пол на величину радиуса при вершине инструмента R1=0.3 мм. (рис.16).


рис.16

Чтобы избежать фактического зареза непосредственно на станке, нам нужно провести небольшое преобразование полученной нами траектории, то есть переместить её по оси +Z на величину 0.3 мм. Правой клавишей мыши указываем на объект, а это наша траектория, переходим в выпадающее меню Объект → Преобразование (рис.17)


рис.17

И в диалоге Преобразования просто указываем, что нам нужно переместить нашу траекторию в положительном направлении оси ZC в приращениях относительно расположения рабочей системы координат на величину 0.3 мм, при этом отмечаем, что хотим именно переместить объект – траекторию (рис.18).

Полученный результат наших предыдущих преобразований – это отсутствие зарезов (рис.19).


рис.19

Во втором случае, когда позиция инструмента указана – на поверхности, траектория инструмента будет сгенерирована с коррекцией на радиус инструмента, т. е. в нашем проекте (рис.20) происходит зарезание по всему периметру обработки, а по факту на самом станке с ЧПУ при считывании кадра команды коррекции произойдёт то, что мы видим на (рис.19), пока с этим недостатком нужно смириться!


рис.20

Теперь поговорим о смене начальной точки врезания и отвода. При тщательном рассмотрении (рис.20) мы видим, что врезание происходит в свободной зоне с внешней стороны детали, а вот отвод не совсем корректен, останется нежелательный след от инструмента на нижней поверхности. Исправить это мы можем, только изменив начальную точку врезания! Это особенно критично при обработке замкнутых карманов различного профиля изнутри.

Для этого выйдем из модуля Обработка и перейдём в модуль Моделирование, где разделим радиусную лицевую грань на две используя функцию разделения граней доступной нам в модуле CAD (рис.21а,б).


рис.21а, рис.21б

После проделанной процедуры возвращаемся в модуль Обработка. В нашей ранее созданной операции перезададим управляющую геометрию начиная последовательный выбор с разделённой нами грани. При задании направления резания мы видим, что место начала расстановки стрелок – указателей направления резания – изменилось (рис.22).


рис.22

Подтвердив все наши изменения в параметрах обработки нашей операции, перегенерируем траекторию (рис.23).


рис.23

После задания режимов резания эта траектория готова к отправке на дальнейшее постпроцессирование.

Данный подход к решению возникающих проблем был неоднократно отработан в реальных условиях и на разных системах ЧПУ (Fanuc Oi-MC, Sinumerik 840D, Heidenhain iTNC 530), что дало возможность существенно снизить машинное время обработки деталей, имеющих подобную геометрию.

Автор:

Д.Е. Кузнецов,
Ведущий специалист направлений CAD/CAM компании NS Labs.

При копировании обязательна ссылка на сайт