Обработка в Unigraphics моноколес (импеллеров)
После нескольких попыток обработать поверхность лопаток моноколеса в Unigraphics с использованием штатных стратегий (Sequential Milling, Variable Contour) возникла идея написать свое UG\Open приложение, которое облегчило бы эту работу. Не сказать, что те попытки были совсем безуспешными, но к стратегии UG для обработки подобных изделий не совсем приспособлены. Стратегия Swarf, которая якобы прикладывает максимально боковую поверхность инструмента к обрабатываемой поверхности, делает это плохо. Sequential Milling - вещь в себе, с коническим инструментом Ball Mill вообще не работает, и у прикладываемого инструмента видит только условное колечко Ring, которое и пытается контролировать. В результате, обработку приходится вести сферическим концом конического инструмента и для получения требуемого качества поверхности необходимо сделать огромное количество проходов, так как радиус инструмента Довелось посмотреть обработку моноколес в программном обеспечении MAX5 (NREC Company), надо отдать должное - делает этот софт обработку очень красиво, и основные подходы подсмотрели в обработке именно там.
Прежде всего - несколько замечаний об одном устойчивом мифе в головах многих технологов-программистов. Миф настолько устойчив и типичен, настолько распространен и трудно искореним, что встречаясь с этим предубеждением на новом предприятии уже не приходится удивляться. А собственно миф состоит в следующем: "Поверхность лопатки линейчатая, поверхность коничесого инструмента - линейчатая, стало быть - можно эти линии образующих совместить!" Светлая идея, но такая возможность существует не для всех линейчатых поверхностей! Грубо говоря, к конической поверхности приложить конический инструмент по линиям образующих можно, в ряде случаев - нет.
Иллюстрация к заблуждению:
показан вид на линейчатую поверхность вдоль образующей. Совершенно очевидно,
что никоим образом приложить к этой прямолинейной образующей конический
или цилиндрический инструмент невозможно. Есть два исключения - полное
совпадение образующих для таких поверхностей возможно только на начальной
и конечной кромках.
|
Аналогичная ситуация с реальным
моноколесом.
|
В основе алгоритма, рассчитывающего положение инструмента на обрабатываемой поверхности - метод деления пополам. То есть, есть диапазон изменения положения оси инструмента между нормалью к поверхности и вектором образующей. В каждом из положений производится проверка на пересечение инструмента с обрабатываемой поверхностью, и диапазон сокращается вдвое, так до тех пор, пока "коридор" этого диапазона не сократится до 0.001 градуса (более чем достаточно). Остальное - дело техники.
Вот как происходит работа с приложением:
1. Создается операция MillUser (при этом неважно, из какой группы операций, можно создать из раздела Planar Mill). В окне "Точка входа обработки" указываете путь к DLL-библиотеке, которая и будет производить расчет траектории. Для ввода параметров и определения обрабатываемой геометрии нажимаем кнопку "Параметры пользователя", начиная с этого момента управление в этой операции полностью передается пользовательской библиотеке. |
|
2. В предложенном меню последовательно выбираем все пункты (см. дальше) | |
2.1 "Обрабатываемые поверхности" Указываете те лопастные поверхности, которые будут обработаны. Указать можно до 6-ти поверхностей, порядок выбора должен совпадать с последовательностью обработки. Для каждой из выбранных поверхностей задаются количество точек на строке, припуск, дополнительный угол "отвала" инструмента. Дело в том, что если при обработке "корыта" лопатки не дать небольшой дополнительный уголб, инструмент будет иметь соприкосновение с верхней кромкой - это приведет к ненужным вибрациям и "звону". При обработке "спинки" лопатки дополнительй угол можно не назначать, на этих поверхностях обработка идет точкой перехода радиусной части инструмента в коническую, и между кромкой лопатки и инструментом всегда есть зазор. |
|
2.2 "Направление резания" Для каждой из поверхностей указываете направление резания из условия сохранения попутного фрезерования (например). |
|
2.3 "Вектор SWARF" На этом этапе указываете тот вектор, к которому инструмент должен стремится максимально близко "привалиться" Далее - последовательно задаются параметры инструмента, режимы резания, моменты включения и выключения охлаждения и т.п. Последнее нажатие - "Завершение ввода параметров" Операцию можно генерировать. |
|
Вот результат генерации траектории, показана одна строчка. Видны переходы с поверхности на поверхность на малой лопатке. | |
Вот результат работы приложения.. |