ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ «ВЫСШАЯ ШКОЛА ЭКОНОМИКИ» Московский институт электроники и математики Дёмин Дмитрий Олегович КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ ФОРМОИЗМЕНЕНИЯ МЕТАЛЛИЧЕСКИХ СПЛАВОВ Выпускная квалификационная работа по специальности 230401.65 «Прикладная математика» Студент ______________ Рецензент к.т.н., научный сотрудник ___________________/А.Н.Федоренко/ Д.О.Дёмин Научный руководитель К.т.н., доцент __________/С.А.Аксенов/ Консультант ассистент ____________/С.А.Бобер/ Москва 2015 г. Аннотация Данная выпускная квалификационная работа посвящена моделированию процесса свободной газовой формовки и разработке элементов визуализации компьютерной системы имитационного моделирования технологических процессов обработки металлов давлением (ОМД). В работе проведен обзор существующих пакетов прикладного программного обеспечения, применяемых при моделировании технологий горячего формоизменения материалов. Используя собственный программный продукт было проведено моделирование процесса свободной формовки, который проходил при постоянной температуре 4150 С и при постоянном значении давления в 3 атм. Моделирование проводилось с использованием алюминиевого сплава АМг6. В ходе работы были изучены архитектура и способы применения библиотек Microsoft Foundation Classes и OpenGL. Разработаны и реализованы алгоритмы отображения результатов моделирования процессов ОМД, позволяющие осуществлять их пространственную визуализацию. Также были реализованы методы управления параметрами отрисовки и элементы пользовательского интерфейса. Созданная система визуализации применима для отображения трёхмерных объектов со сложной геометрией сечения в различных технологических процессах обработки металлов давлением. 2 Computer Simulation of Metal Alloys Forming by Dmitry O.Demin Abstract This investigation is devoted to modeling of free gas forming and development of elements of the visualization computer system simulation technology of metal forming processes. This work reviewed the existing application software packages used in the simulation of hot forming technology materials. Using its own software was used to simulate the process of free-forming, which was held at a constant temperature of 4150 С and at constant pressure of 3 bar. The simulation was performed with the use of aluminum alloy AMg6. In this work was studied architecture and applications of Microsoft Foundation Classes and OpenGL libraries. Developed and implemented algorithms for displaying the results of modeling of metal forming processes, allowing carrying out their spatial visualization. There have also been implemented management methods and parameters rendering the user interface elements. Established imaging system is applicable to the display of three-dimensional objects with complex geometry section in the various processes of metal forming. Supervisor: Assoc. S.A. Aksenov 3 Оглавление Введение ............................................................................................................................... 5 Цель работы ...................................................................................................................... 6 Основные этапы работы: ................................................................................................. 6 Глава 1. Процессы обработки металлов давлением ........................................................ 7 1.1 Процесс свободной газовой формовки ................................................................. 9 1.2 Описание метода конечных элементов................................................................. 9 Глава 2. Обзор САПР (CAD\CAE\CAM) и их применение .......................................... 13 Глава 3. Моделирование и верификация процесса формовки сплава АМг6 при постоянном давлении (3 атм) ........................................................................................... 22 3.1 Описание экспериментальных данных .................................................................. 22 3.2 Моделирование ..................................................................................................... 26 3.3 Сравнение.................................................................................................................. 29 Глава 4. Реализация системы визуализации ................................................................... 32 4.1 Средства разработки ................................................................................................ 32 4.1.1 Особенности MFC .............................................................................................. 32 4.1.2 Обзор инструментов OpenGL ........................................................................... 35 4.2.Этапы разработки модулей системы визуализации ............................................. 44 4.2.1 Трехмерное представление и его активация ................................................... 44 4.2.2 Трехмерная сцена ............................................................................................... 45 4.2.3 Визуализация заготовки .................................................................................... 45 4.2.4 Визуализация инструмента оснастки ............................................................... 46 4.2.5 Пользовательский интерфейс ........................................................................... 47 Заключение......................................................................................................................... 53 Список литературы............................................................................................................ 54 4 Введение При разработке и оптимизации технологических процессов обработки металлов давлением (ОМД) на производствах широко применяют современные компьютерные системы автоматизированного проектирования (САПР). Они позволяют решать задачи выбора инструментов, средств, операций и условий для производства. В итоге, благодаря этому можно осуществить заданное геометрическое формоизменение деформируемого объекта при оптимальных термомеханических и технологических режимах с минимальными затратами ресурсов с целью получения полуфабриката или изделия с требуемыми характеристиками. Для достижения этих целей в современных САПР реализованы численные методы (метод конечных элементов), призванные обеспечить максимальное соответствие между построенными моделями и их натурными экспериментами. Однако, для работы в различных САПР требуются разные наборы специфических навыков. Для упрощения работы пользователя в таких системах реализована графическая оболочка. Она может включать в себя отрисовку объекта моделирования, инструментов оснастки, нагрузок, сеток конечных элементов, инструменты пользовательского интерфейса (панелей инструментов). В настоящее время имеются библиотеки для разработки программного обеспечения, содержащие в себе наборы инструментов, упрощающие процесс разработки графических оболочек CAD\CAE систем. В данной работе описан процесс разработки трехмерного режима отображения осесимметричных объектов для системы компьютерного моделирования, применяемой для проектирования и прогнозирования технологических процессов ОМД. 5 Цель работы Целью данной работы является моделирование процесса свободной формовки и создание системы трехмерного режима отображения осесимметричных объектов для компьютерной системы имитационного моделирования технологических процессов ОМД. Основные этапы работы: Обзор систем CAD\CAM\CAE; Моделирование процесса формовки с применением компьютерной программы имитационного моделирования ; Сравнения данных имитационного моделирования с экспериментальными данными; Разработка визуализации каркасной модели осесимметричных объектов; Разработка визуализации инструмента ; Реализация отображения полей распределения искомых величин, таких как: температура, давление, деформация и др.; Создание пользовательского интерфейса, для управления параметрами отрисовки. 6 Глава 1. Процессы обработки металлов давлением Обработка металлов давлением (ОМД) – это группа технологических процессов, при которых изменяется форма заготовки без нарушения сплошности её структуры, что становится возможным благодаря использованию пластических свойств металлов. Одним из важнейших свойств металлических материалов является пластичность – это способность под действием внешних механических напряжений необратимо изменять форму без разрушения. Пластическое деформирование металлов вызывает определенные изменения в их строении и приводит к движению и росту числа дислокаций, что ведет к упрочнению металла, называемому наклепом, который ограничивает способность к пластической деформации. Известно, что неотъемлемым недостатком обычных металлов является неустойчивая пластическая деформация под действием растягивающих сил, которая приводит к образованию шейки, а затем, к критическому состоянию. При этом, относительное удлинение не превышает 50% исходной длины. Однако, существуют металлы и их сплавы, показывающие, что удлинения, полученные в результате деформаций, значительно превышают 1000%. Данное поведение металлов было названо сверхпластичным, а само явление – сверхпластичностью[1]. Сверхпластичность - это способность материалов воспринимать значительные деформации без разрушения, при растяжении в определенных температурноскоростных условиях. При этом значения их удлинений значительно выше, чем при обычных условиях испытания. На сегодняшний день выделяют три основных признака, совокупность которых может характеризовать состояние сверхпластичности: 1. Повышенная (по сравнению с пластическим состоянием) чувствительность напряжения течения сверхпластичных материалов к изменению скорости деформации или, иными словами, повышенная склонность сверхпластичных материалов к скоростному упрочнению. 7 2.Высокая устойчивость течения сверхпластичных материалов, обеспечивает большой ресурс деформационной способности, благодаря чему относительное удлинение при растяжении таких материалов может достигать нескольких сотен и даже тысяч процентов. 3. Напряжение течения материала в состоянии сверхпластичности в несколько раз меньше предела текучести, характеризующего тот же материал в пластичном состоянии. Наиболее существенным из перечисленных признаков является первый, а два других можно рассматривать как его следствия [2]. Материалы, обладающие совокупностью признаков 1-3, наиболее выгодно применять в процессе сверхпластичной формовки. Обычно ссылаются на следующие преимущества сверхпластичной формовки перед традиционными процессами формовки металлов: Возможность получения деталей сложной формы за одну формообразующую операцию в отличие от традиционных технологий производства тех же деталей многопереходной штамповкой или другими способами Относительно низкая стоимость оснастки, так как обычно требуется только один основной инструмент вместо точно сопряженных пуансона и матрицы или многопереходных штампов. Низкие капитальные затраты на производственное оборудование, так как деформирующие усилия относительно малы [3]. На начальной стадии формовки, независимо от геометрии формуемых изделий, происходит свободное выпучивание заготовки под действием приложенного давления. Осесимметричное изделие до соприкосновения со стенками матрицы остается куполообразным. Начальная стадия, называемая свободной выдувкой, имеет решающее значение для всего процесса в целом, так как именно на этой стадии формируются основные условия, определяющие не только последующее 8 формоизменение, но также количественные и качественные характеристики получаемых изделий . 1.1 Процесс свободной газовой формовки Процесс свободной газовой формовки заключается в следующем: заготовку объекта жестко зажимают по фланцу, проводят нагрев до температуры сверхпластичности и подвергают воздействию избыточного газового давления в изотермических условиях. Такой уровень давления обеспечивается за счет утонения свободной части заготовки, которая находится под влиянием газовой среды, т.е. перемещение фланца не происходит [4]. Схема процесса представлена на Рис 1. Рис. 1. Схема процесса свободной формовки. где 𝑠0 - начальная толщина заготовки, 𝑃 – воздействующее давление, 𝑅0 - радиус гравюры матрицы радиус, 𝜌0 –скругление, 𝜌 - радиусом кривизны, 𝐻 - высота купола, 𝑠 - толщина купола в его вершине. 1.2 Описание метода конечных элементов Современные численные методы моделирования позволяют спрогнозировать поведение материала при различных режимах деформирования. Численные методы могут также использоваться для определения свойств материалов, разработки режимов давления, прогнозирования формоизменения. Одним из таких методов численного моделирования является метод конечных элементов (МКЭ). Суть этого метода заключается в том что, искомую величину разбивают на конечное число подобластей, они же - элементы. Полученные элементы имеют общие узловые 9 точки. На каждом элементе функции аппроксимируется полиномом, так чтобы на границе аппроксимирующая функция была непрерывна. Коэффициенты полинома выражаются через значения искомой функции в узловых точках. Геометрия элементов зависит от расположения узловых точек. К наиболее применимым элементам относят: одномерные, двухмерные и трехмерные элементы. Одномерные элементы изображаются в виде отрезков, как показано в Таблице 1. Площадь поперечного сечения в таких элементах может меняться по длине, однако, как правило, она считается постоянной. В области применения данного вида элемента входят: одномерные задачи распространения тепла и задачи строительной механики для расчетов стержневых элементов конструкций. Двухмерные элементы бывают двух видов: треугольные и четырехугольные, как показано в Таблице 1. Толщина таких элементов может быть как постоянной, так и являться функцией координат. Трехмерные элементы чаще всего изображаются в виде параллелепипедов и тетраэдров. Линейные элементы ограничены прямолинейными сторонами, в то время как элементы более высоких порядков могут иметь в качестве границ криволинейные поверхности. При разбиении трехмерного тела трудно наглядно представить расположение элементов в дискретной модели, поэтому более желательным является представление трехмерных элементов в виде параллелепипедов. 10 Таблица 1-Основные виды элементов в МКЭ Размерность Виды элементов пространства 1D 2D 3D К преимуществам данного метода можно отнести следующее: 1. Сетки, состоящие из конечного числа элементов, для исследуемого объекта можно уменьшать или укрупнять, в зависимости от требований поставленных задач. 11 2. Криволинейная область может быть аппроксимирована прямолинейными элементами или же описана с заданной точно, с помощью криволинейных элементов. Благодаря этому, данный метод можно использовать для областей со сложной геометрией границ. 3. Имеется возможность использовать смешанные граничные условия [5]. Основным недостатком метода является резкий рост потребностей ресурсов ЭВМ по мере роста размерности задачи. В настоящее время этот недостаток не является существенным из-за бурного развития средств вычислительной техники. 12 Глава 2. Обзор САПР (CAD\CAE\CAM) и их применение На сегодняшний день созданы целые классы программ, применимых в моделировании процессов ОМД. К ним относятся системы автоматизированного проектирования (САПР). Они представляют собой организационно-технические системы, служащие для автоматизации процесса проектирования и производства продукта. И в свою очередь они позволяют достаточно быстро создавать различные по сложности объекты и рассчитывать интересуемые исследователям параметры и свойства. САПР в современном варианте делятся на: CAD (Computer Aided Design)- автоматизированного проектирования CAE (Computer Aided Engineering)- автоматизированного инженерного анализа CAM (Computer Aided Manufacturing) – автоматизированной подготовки производства САПР можно условно классифицировать следующим образом: тяжелые, средние и легкие. К тяжелым относят: ANSYS, Pro/ENGINEER, MSC.ADAMS. Эти программы являются наиболее мощными из САПР, имеют обширный функционал и высокую производительность. Также эти системы имеют собственные стандарты хранения данных и включают в себя набор конверторов для передачи моделей и результатов в другое ПО. К средним: SolidWorks, Компас 3D. Представители этого класса обладают удобными средствами для создания трехмерных моделей и чертежей различных объектов, но уступают в функциональных возможностях и производительности тяжелым системам. К легким: AutoCAD, DEFORM Данные программы ориентированы на решение более узкоспециализированных прикладных задач. Поэтому потребляют значительно меньше ресурсов, чем программы из тяжелого и среднего классов. 13 Наиболее часто используемыми для моделирования ОМД программными пакетами являются: Q-form, Ansys, MSC.SuperForge, SuperForm, Deform-3D, MARC/Auto Forge, FORGE 2/3. Q-form 2D/3D – программа, относящаяся к классу CAE систем, создана для моделирования и оптимизации процессов штамповки, раскатки, прокатки, вальцовки, экструзии, термообработки и создание требуемой микроструктуры материалов[6]. Рис. 2. Процесс формовки в Q-form 2D 14 Рис.3. Процесс формовки в Q-form 3D ANSYS – программа «тяжелого» класса, разработанная для многоцелевого проектирования и анализа процессов ОМД, являющаяся средством, создания компьютерной модель или обработки CAD-модели конструкции, изделия или его составной части; к которой прикладываются усилия, действующие на объект, или другие проектные физической воздействия; природы в виде исследования распределений отклика системы напряжений и различной температур, электромагнитных полей. Программа также используется для оптимизации проектных разработок на ранних стадиях, что снижает стоимость продукции [7]. 15 Рис.4. Процесс формовки в ANSYS MSC.SuperForge-современная система трехмерного компьютерного моделирования процессов объемной формовки при штамповке и ковке. Применение MSC.SuperForge эффективно для оценки влияния параметров инструмента и режимов формовки на уровень пластических деформаций материала, окончательно полученную форму и свойства изготавливаемой детали, участки образования облоя и т.д. [8]. Рис.5. Стадии моделирование процесса ОМД в MSC.SuperForge 16 Deform-3D–программный комплекс «легкого» типа, предназначенный для проведения всеобъемлющего анализа металлообработки, начиная с операций раздела прокати на заготовки и заканчивая операциями окончательной механообработки [9]. Рис.6. Моделирование процесса формовки в Deform-3D 17 Рис.7. Процесс штамповки в Deform-3D MSC.MARC/Auto Forge - легкое в использовании средство моделирование для объемной формовочной индустрии, основанное на последних достижениях технологиии конечных элементов. Оно покрывает все важные стороны процесса объемного формования. MSC.MARC/AutoForge включает в себя интегрированную возможность 2D и 3D анализа, эмуляцию формирования эластических структур, полное термическое взаимодействие, встроенную базу данных материалов и т.д [10]. Рис.8. Начальная стадия моделирования формоизменения заготовки в MSC.MARC 18 Рис.9. Предварительная конечно-элементная модель для формования заготовки в MSC.MARC Рис.10. Итоговая конечно-элементная модель для формования заготовки в MSC.MARC 19 FORGE 2/3 – программное средство для моделирования и анализа технологических процессов ковки, прокатки и объемной штамповки. Основным достоинством данного программного продукта является автоматический выбор оптимальных параметров процесса, что достигается посредством подбора параметров заготовки – размеров и массы [11]. Рис.11. Стадии процесса ОМД в FORGE 3D 20 Несмотря на наличие большого числа готовых программных продуктов, решающих задачи компьютерного моделирования процессов ОМД, есть необходимость в создании собственных программных решений в силу ряда причин: Высокая стоимость коммерческих систем компьютерного моделирования Закрытость ядра программного продукта. Исследователям, которые сталкиваются в ходе своей работы с получением тех или иных величин, важно знать, каким методом они были получены, т.к. выбор метода может принципиально сказаться на итоговых результатах. Ограниченность возможности функционального расширения. Новые задачи и методики их решения, которые появляются по прошествии некоторого времени, как правило, невозможно моделировать в уже существующих программных продуктах. Некоторые компании- разработчики предлагают добавить новый функционал к уже имеющейся систем, однако, это занимает время и стоит дополнительных средств. 21 Глава 3. Моделирование и верификация процесса формовки сплава АМг6 при постоянном давлении (3 атм) 3.1 Описание экспериментальных данных Эксперименты проводились в лаборатории прогрессивных методов формообразования в заготовительно-штамповочном производстве НИ ИрГТУ для сплава алюминия АМг6 при температуре 4150 С для постоянного давления 3 атм. Формовка материала проводилась на установке пневмотермической формовки УПТФ на базе пресса ИП 1250 М авто на однокупольной оснастке. Контроль температуры в установке осуществлялся термоэлектрическими преобразователями (термопарами) ТХ(К)-1/1,2/3200-1 с погрешностью измерения ±2о . Регулировка температуры осуществлялась терморегулятором ОВЕН ТРМ202. Давление формующего газа от баллона через редуктор, регулировалось краном наполнения КН9750-Д. Показания давления регистрируются двумя манометрами на входе и выходе к крану наполнения. Интервалы времени проведения экспериментов подбирались в зависимости от максимального времени до разрушения, для различных значений давления. Измерение толщины проводилось с помощью микрометра ГОСТ 4381-66 с ценой деления 0,01 мм. Измерение высоты купола проводилось с помощью штангенрейсмаса ШР250 с ценой деления 0,05 мм. h Измерение высоты купола проводилось по схеме, представленной на Рис 1. R5 O100 Рис. 12 Измерение высоты купола Результаты экспериментов представлены в Таблицах 2- 4. 22 Таблица 2 – Результаты эксперимента по определению параметров сверхпластичности материала АМг6-1,0 (давление 3,0 атм.) Время, Начальная толщина Толщина t сек заготовки 𝑠𝑜 мм вершине заготовки купола в Высота купола в момент в времени t , H мм момент времени t , sмм 750 0,93 0,73 22,25 1500 0,93 0,655 27,85 23 Таблица 3 – Результаты эксперимента по определению параметров сверхпластичности материала АМг6-1,0 (давление 3,0 атм.) Время, t Начальная сек толщина Толщина заготовки в Высота купола в момент заготовки 𝑠𝑜 ,мм вершине купола s в времени t , H мм момент времени t , мм 1000 0,925 0,69 24,5 2000 0,92 0,615 29,3 24 Таблица 4 – Результаты эксперимента по определению параметров сверхпластичности материала АМг6-1,0 (давление 3,0 атм.) Время, t Начальная сек толщина Толщина заготовки в Высота купола в момент заготовки 𝑠𝑜 ,мм вершине купола s в времени t , H мм момент времени t , мм 3000 0,94 0,51 35,5 4000 0,93 0,38 44,05 25 3.2 Моделирование Процесс газовой формовки - это современный метод производства сложных тонкостенных компонентов изделий. Для повышения способности к горячему формованию и для улучшения механических свойств готовой продукции следует использовать эффект сверхпластичности. Компьютерное моделирование необходимо для оптимизации режимов давления в ходе разработки технологий сверхпластичной формовки. Адекватность моделирования качественно зависит от уровня значимости начальных и граничных условий и от уравнения состояния используемого материала. Для описания поведения материал в этих условиях используется зависимость между интенсивностью напряжений 𝜎𝑒 , скоростью деформаций 𝜀̇𝑒 , интенсивностью деформаций 𝜀𝑒 и температурой 𝑇: 𝜎𝑒 = 𝑓(𝜀̇𝑒 , 𝜀𝑒 , 𝑇) (1) где 𝑓(… ) однозначная функция. В данной работе для описания свойств материала использовалось наиболее распространенное классическое уравнение Бекофена: 𝜎𝑒 = 𝐾𝜀̇𝑒𝑚 где 𝐾- коэффициент пропорциональности (2) и 𝑚- коэффициент скоростной чувствительности. Высокие значения коэффициента 𝑚 отвечают за более низкие скорости локализации течения и лучшую пластичность материала, что было описано Хартом[12].Принято считать, что для сверхпластичных материалов коэффициент 𝑚 должен быть не менее чем 0.3 . Для моделирования были использованы свойства материалов предложенные в статье [13] m=0,265 и K=155,7. 26 Моделирование процесса свободной формовки проводилось при постоянном значении давления p=3атм. и температуре 4150 С. А также, проведено сравнение данных полученных при моделировании с данными, полученными в результате эксперимента. Процесс моделирования в разрабатываемой системе проводится по следующей схеме: На первом шаге пользователь должен задать геометрию заготовки в виде чертежа. Чертёж можно сделать самостоятельно или выбрать из списка готовых шаблонов. Рис.13.Загрузка готового чертежа На втором этапе необходимо задать сетку конечных элементов для заготовки. Для изменения количества элементов сетки необходимо изменить значение параметра RibLenhth.Задать сгущение сетки можно с помощью указания центра сгущения. 27 Рис.14.Установка конечно-элементной сетки На третьем этапе задаются инструменты оснастки. Также как и с чертежом, пользователь имеет возможность создать свои варианты инструментов оснастки или же загрузить готовые. Рис.15. Загрузка готового инструмента оснастки Далее, в режиме «Сборка», происходит соединение всех компонентов для проведения исследования. 28 Рис.16. Сборка компонентов Затем производится расчет сборки, который осуществляется в ядре программы. После завершения расчетов сборки происходит сохранение результатов. Результаты имеют текстовую интерпретацию - в виде текстового файла (лог-файла), а также графическую – в виде изображений формоизменений заготовки и полей распределения искомых величин. 3.3 Сравнение В результате моделирования были получены зависимости H(t) и s(t) представленные на графиках Рис.17. и Рис.18. Сравнение результатов численного моделирования и результатов натурного эксперимента представлены на графиках Рис.19. и Рис.20. Коэффициент корреляции 𝑅𝑥,𝑦 между экспериментальными данными и результатами численного моделирования равен 0,995 , что говорит о высокой достоверности проведенного моделирования. 29 Рис.17. Зависимость толщины заготовки в вершине купола от времени Рис.18 Зависимость высоты купола от времени 30 Рис.19. Сравнение изменение толщины формированного купола Рис.20. Сравнение изменение высоты формированного купола 31 Глава 4. Реализация системы визуализации 4.1 Средства разработки Для разработки системы визуализации были выбраны следующие инструменты: Язык Visual C++, в силу своей универсальности и объектно-ориентированного подхода (ООП). Библиотека классов Microsoft Foundation Classes (MFC), которая обеспечивает удобство процесса создания программ, построения интерфейсов и элементов управления ими. Графическая библиотека открытого типа OpenGL, имеющая в своем арсенале наборы команд для построения соответствующих объектов и работы с ними. 4.1.1 Особенности MFC Для построения приложения в MFC разработана концепция документ-представление. Документ – это именованная коллекция данных, рассматриваемая в создаваемом приложении в качестве единого целого. Документ, создаваемый пользователем в разрабатываемой им программе, рассматривается как объект класса документа, который наследуется от CDocument класса библиотеки MFC. При разработке приложения, в случае необходимости, можно определять множество классов документов для работы с различными представлениями. Также для работы с документами предусмотрен интерфейс, который может быть двух видов: Однодокументный интерфейс или SDI (Single Document Interface) Многодокументный интерфейс или MDI (Multiple Document Interface) Каждый документ типа MDI по умолчанию отображается в дочернем окне программы, однако, у разработчика есть возможность построить интерфейс так, чтобы окно каждого документа являлось дочерним по отношению к рабочему столу. 32 Такой способ построения интерфейса называется архитектурой множества документов верхнего уровня. Представление – это объект, реализующий механизмы отображения данных, хранящихся в документе. В зависимости от настроек можно отображать некоторые данные или все. Класс представления, создаваемый разработчиком, наследуется от класса MFC с именем CView. Отображение представления происходит в собственном окне, которое заполняет клиентскую часть обрамляющего окна, что проиллюстрировано на Рис.21. Рис.21. Общий вид документа -представления Объект документа позволяет иметь такое количество представлений, которое нужно разработчику. Каждый объект представления может обеспечивать свое уникальное представление данных документа или его части, как показано на Рис.22. 33 Рис.22. Пример документ-представление Координация между документом и его представлениями обеспечивается посредством содержащихся в библиотеке MFC механизмов. У документа есть возможность по умолчанию поддерживать списки указателей на связанные с ним представления. Представления, в свою очередь, имеют компоненты данных, которые содержат указатель, на документ, ассоциированный с ними. Каждое обрамляющее окно сохраняет указатель на текущий активный объект представления. Связь между документом, представлением и обрамляющим окном устанавливается с помощью шаблонов документа[14]. Пример такой связи изображен на Рис.23. 34 Рис.23. Взаимодействия между шаблоном документа, документом и обрамляющим окном представления 4.1.2 Обзор инструментов OpenGL Чтобы на практике создать визуализацию какого-либо объекта с возможностью его интерактивного использования применяют средства компьютерной графики, такие как: DirectX и OpenGl. DirectX-набор программных интерфейсов, разработанных с целью решения задач, связанных с программированием под системы Microsoft Windows. OpenGL(Open Graphics Library-открытая графическая библиотека)- программный интерфейс использующий средства двумерной и трёхмерной компьютерной графики для написания приложений. За счет отсутствия привязки к конкретной 35 платформе и языку программирования является более предпочтительным из инструментов в разработках связанными с компьютерной графикой. Библиотека включает в себя около 250 отдельных команд, реализующих задание и объектов и операций для написания[15]. 4.1.2.1 Задание геометрии объекта Для задания геометрии объектов в OpenGL присутствуют следующие команды: glBegin(); glEnd(); glVertex(); Первые две команды используются парно. Команда glBegin() объявляет о начале задании геометрии объекта, а glEnd() об окончании этого процесса. Установка опорных точек, которые в дальнейшем можно либо просто отобразить на экране, либо соединить линиями или на их основе сделать покрытие полигонами, реализуются через вызов команды glVertex[2 3 4][s i f d](type of_coords).Она задает расположение вершин в двухмерном, трехмерном и четырехмерном пространствах посредством задания компонент соответствующий x, y, z, w. 4.1.2.2 Буфер Глубины Буфер глубины или же Z-буфер, представляет из себя двухмерный массив, в котором каждому элементу соответствует пиксель экрана. В момент, когда пиксель отрисовывается видеокартой, его удалённость просчитывается и записывается в ячейку Z-буфера. Если происходит перекрытие двух пикселей для рисуемых объектов, то сравниваются их значения глубины, и, в итоге, рисуется тот пиксель, который ближе, а значение его удалённости сохраняется в буфер. Данный инструмент широко применяется в постобработке для придания объёмности и реалистичности отображаемых объектов. С его помощью можно создать такие эффекты, как глубина резкости, атмосферная дымка и т.д. Также его используют в 3D -пакетах для текстурирования и создания рельефной поверхности[16]. 36 4.1.2.3Преобразования над объектом Для работы с 2D и 3D отображениями удобно использовать следующие инструментальные средства: видовые преобразования вращения проекции Работа с объектами в OpenGL ведется с помощью матриц, т.е. объект и любое преобразование над ним – это матрицы и результаты операций над ними. Для выбора матрицы, над которой будет совершенно преобразование, используется команда: void glMatrixMode(GLenum mode) Вызов этой команды включает режим работы с одной из следующих матриц: видовой, проекционной и текстурной, что обеспечивается путем задания соответствующих значений параметра mode. Возможные значения для этого параметра: GL_MODELVIEW, GL_PROJECTION, GL_TEXTURE. Прежде чем производить вызов данной команды, задающей матрицы того или иного типа, необходимо сначала установить соответствующий режим. Для определения элементов матрицы текущего типа вызывается команда: void glLoadMatrix[f d](GLtype *m) Где параметр m указывает на массив из 16 элементов типа double или float в соответствии с названием команды, при этом столбцы в нем должны быть записаны по порядку. Команда void glLoadIdentity(void) позволяет заменить текущую матрицу на единичную. 37 Для сохранения содержимого текущей матрицы с целью дальнейшего использования, применяют следующие две команды: void glPushMatrix(void)-; void glPopMatrix(void)-; Первая команда записывает текущую матрицу из стека, а вторая - восстанавливает. При этом для каждого типа матриц стек свой. Для видовых матриц его минимум глубины равен 32, а для двух оставшихся типов - 2. Для проведения операции умножения текущей матрицы слева на другую матрицу используется команда: void glMultMatrix[f d](GLtype *m)_ где параметр m должен задавать матрицу размером 4x4 в виде массива с описанным расположением данных. Видовые преобразования К видовым преобразованиям относятся: изометрия, подобие и аффинные преобразования[17,18]. Для проведения этих преобразований достаточно каждую вершину объекта умножить на соответствующую матрицу и получить измененные координаты этой вершины. В общем виде это описывается соотношением (3): (𝑥 ′ , 𝑦 ′ , 𝑧 ′ , 1)𝑇 = M * (𝑥 , 𝑦 , 𝑧 , 1)𝑇 (3) где M - матрица видового преобразования. Аффинные преобразования (сдвиг от начального положения): 38 1 𝑥′ 𝑥 ′ = 𝑎𝑥 + 𝑥 { 𝑦 ′ = 𝑏𝑦 + 𝑦 ⇔ (𝑦 ′ ) = (𝑏 0 𝑧 ′ = 𝑐𝑧 + 𝑧 𝑧′ 0 𝑎 1 0 0 0 0 1 0 𝑥 0 0) (𝑦 ) 𝑧 0 1 1 (4) void glTranslate[f d](GLtype x, GLtype y, GLtype z)- производит перенос объекта, прибавляя к координатам его вершин значения своих параметров. Рис.24. Применение афинного преобразования Преобразование подобия: (изменение масштаба): 𝑎 𝑥′ 𝑥 ′ = 𝑎𝑥 { 𝑦 ′ = 𝑏𝑦 ⇔ (𝑦 ′ ) = (0 0 𝑧 ′ = 𝑐𝑧 𝑧′ 0 0 𝑏 0 0 0 0 𝑐 0 𝑥 0 0) (𝑦 ) 𝑧 0 1 1 (5) Данному преобразованию соответствует вызов функции void glScale[f d](GLtype x, GLtype y, GLtype z) – с её помощью осуществляется масштабирование объекта (сжатие или растяжение), за счет домножения соответствующей координаты его вершин на значения своих параметров. 39 Рис.25. Применение «преобразования подобия» Изометрию: (параллельный перенос) 1 𝑥′ 𝑥 ′ = 𝑥 + 𝛥𝑥 0 { 𝑦 ′ = 𝑦 + 𝛥𝑦 ⇔ (𝑦 ′ ) = ( 0 𝑧 ′ = 𝑧 + 𝛥𝑧 𝑧′ 0 0 0 1 0 0 1 0 0 𝑥 𝛥𝑥 𝛥𝑦 𝑦 ) (𝑧 ) 𝛥𝑧 1 1 (6) Кроме изменения положения самого объекта иногда может быть необходимо, изменить положение точки наблюдения, что также приводит к изменению видовой матрицы. Такое преобразование можно сделать с помощью команды: void gluLookAt(GLdouble eye_x, GLdouble eye_y, GLdouble eye_z, GLdouble center_x, GLdouble center_y, GLdouble center_z, GLdouble up_x, GLdouble up_y, GLdouble up_z)где (eye_x,eye_y,eye_z)-- точка, задающая координаты наблюдения; (center_x, center_y, center_z)- – точка, задающая центр сцены, который будет проектироваться в центр области вывода; (up_x,up_y,up_z)- вектор, задающий положительное )направление оси у и определяющий поворот камеры. 40 Рис.26. Начальная позиция наблюдения Вращения Для осуществления поворота объекта, используют следующее преобразование: 𝑐𝑜𝑠𝜃 ′ 𝑥 𝑥 = 𝑥𝑐𝑜𝑠𝜃 − 𝑦𝑠𝑖𝑛𝜃 ⇔ (𝑦 ′ ) = ( 𝑠𝑖𝑛𝜃 { ′ 0 𝑦 = 𝑥𝑠𝑖𝑛𝜃 + 𝑦𝑐𝑜𝑠𝜃 𝑧′ 0 ′ −𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 0 0 0 0 1 0 𝑥 0 0 ) (𝑦 ) 𝑧 0 1 1 (7) В OpenGL такое преобразование реализовано в виде команды: void glRotate[f d]_(GLtype angle, GLtype x, GLtype y, GLtype z)-- производит поворот объекта против часовой стрелки на угол angle (измеряется в градусах) вокруг вектора (x,y,z). Рис.27. Применение преобразования «вращение» 41 Проекции Существует множество видов проекции, таких как: центральная, параллельная, ортогональная, косоугольная и др. Однако, в OpenGL, в основном, используют параллельную и перспективную проекции. Первый тип проекции может быть задан командами: void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far) Эта команда создает 0матрицу проекции в усеченный объем видимости (параллелограмм видимости) в левосторонней системе координат, который показан на Рис.28. Параметры команды задают точки (left, bottom, -near) и (right, top, near), которые отвечают левому нижнему и правому верхнему углам окна вывода. Параметрыаnear и far задают расстояние до ближней и дальней плоскостейщотсечения по дальности от точки (0,0,0) и могут быть отрицательными. В команде gluOrtho2D, в отличие от glOrtho, значения near и far устанавливаются равными -1 и 1 соответственно и задается она следующим образом: void gluOrtho2D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top) Перспективная проекция задается командой: void gluPerspective-(GLdouble angley, GLdouble aspect, GLdouble znear, GLdouble zfar) 42 Рис.28. Объём видимость перспективной проекции С её помощью задается усеченный конус видимости в левосторонней системе координат. Параметр angley, задаваемый в градусах, определяет угол видимости по оси у, находящийся в диапазоне от 0 до 180. Угол видимости вдоль оси x задается параметром aspect. Обычно он задается как отношение сторон области вывода. Параметры zfar и znear определяют расстояние от наблюдателя до плоскостей отсечения по глубине и их значения должны быть положительными. Чем больше отношение zfar/znear, тем менее будет различимы в буфере глубины расположенные рядом поверхности, так как по умолчанию в него записывается «сжатая» глубина в диапазоне от 0 до 1. 43 4.2.Этапы разработки модулей системы визуализации 4.2.1 Трехмерное представление и его активация Для обеспечения отображения результатов моделирования в пространственном режиме, было создано отдельное представление, описываемое классами «CalcStage3DView» и «GL3DView». Класс «CalcStage3DView» является наследником от класса «CalcStage», в котором содержится основной документ (размеры заготовки положение точек, распределения физических величин и параметров). Активация 3D представления может быть осуществлена двумя способами. Первый – через выбор пункта «3D задача» в соответствующем меню, показанном на Рис 29, второй способ – через панель инструментов в 2D режиме или в режиме формовки. Рис.29. Меню выбора типов задачи моделирования При выборе первого способа активируется трехмерное представление и соответствующие его атрибуты : сцена и панель инструментов. При выборе второго способа, пользователю необходимо выбрать соответствующий пункт меню «2D задача» или «Формовка» и произвести загрузку результатов расчета. После чего на панели инструментов нажать кнопку , при этом 3D 44 представление становится активным и происходит загрузка сцены, панели управления параметрами отрисовки и результатов моделируемого процесса. 4.2.2 Трехмерная сцена Сама сцена описывается классом «GL3DView», который содержит в себе набор методов, обеспечивающих корректное отображение объектов и работу с ними. Рис.30. Сцена для 3D режима 4.2.3 Визуализация заготовки Для реализации визуальной составляющей заготовки был реализован метод DrawGL3D(GLParam &parameter) в классе «C2DPlaneFEM». В нем происходит построение каркаса модели как показано на Рис.31. 45 Рис.31. Каркасная модель купола с вырезом В начале работы модуля визуализации происходит загрузка результатов осесимметричного расчета. Происходит активация соответствующего трехмерного представления. представляющее Затем из строится себя элемент профиль разбиения заготовки, – трехмерное повернутый на тело, угол указанный пользователем относительно оси симметрии. Угол разворота, на который происходит отрисовка каркаса модели, задается пользователем через специальные элементы интерфейса. 4.2.4 Визуализация инструмента оснастки Для изображения инструмента оснастки реализован метод DrawGL3D(GLParam &parameter) класса «C2DRigid». Его работа схожа с DrawGL3D(GLParam &parameter) для класса «C2DPlaneFEM», в нем также строится элемент разбиения, который затем покрывается полигонами. Рис.32. 46 Рис.32. Инструмент оснастки в 2D и 3D режимах Угол разворота, на который происходит отрисовка инструмента оснастки, также задается пользователем через специальные элементы интерфейса. 4.2.5 Пользовательский интерфейс К компонентам пользовательского интерфейса разрабатываемой программы относятся: панели инструментов и панель управления параметрами отрисовки. 4.2.5.1 Панели инструментов Панели инструментов для управления изображены на Рис33 и Рис34. Рис.33. Панель инструментов для 2D режима Рис.34 Панель инструментов для 3D режима 47 Для них были созданы следующие инструменты: -отвечает за переключение представления из трехмерного режима в двухмерный, что обеспечивается работой метода On2DView(); - отвечает за переключение представления из двухмерного режима отображения в трехмерный. Данная функция реализована с помощью метода On3DView(); - дает возможность пользователю управлять положением сцены и объекта посредством вращений, за что отвечают классы OnRotateFree() и OnUpdateRotateFree(CCmdUI *pCmdUI); -позволяет провести перспективную проекцию имеющегося объекта и сцены, в которой он отображен. За обеспечение данного функционала отвечают методы OnPerspective() и OnUpdatePerspective(); -производит отображение осей координат сцены в результате работы метода DrawAxis(); - осуществляет отображение сеток между осями координат посредством работы метода DrawGrid(); 4.2.5.2 Панель управления параметрами отрисовки Параметры визуализации (значение угла поворота, число разбиений, отрисовка инструмента, заполнение каркасной модели заготовки цветами соответствующих шкал ) задаются в отдельной панели справа, изображенной на Рис.35. 48 Рис.35. Панель управления параметрами трёхмерной отрисовки Для панели управления параметрами отрисовки был создан класс «C3DCalcStagePane», содержащий в себе следующие методы: OnSliderAngle3D(NMHDR *pNMHDR, LRESULT *pResult) OnSliderStep3D(NMHDR *pNMHDR, LRESULT *pResult) OnDrawInstrumentChanged() UpdateDrawInstrument() OnFillColorChanged() UpdateFillColor() OnEditChangeAngle() OnEditChangeStep() Параметр Angle, задаёт значение угла поворота, на который происходит отрисовка заготовки и инструмента. Обработка текстового поля, связанного с этим параметром обеспечивается методом OnEditChangeAngle(). Параметр Step отвечает за количество элементов разбиения получаемой модели заготовки и инструмента и задается соответствующим текстовым полем. Обработка параметра данного текстового поля реализуется с помощью метода OnEditChangeStep(). 49 Оба этих поля связанны с соответствующими регуляторами-ползунками, которые реализованы методами OnSliderAngle3D() и OnSliderStep3D(). Поэтому, при изменении значении угла в текстовом поле, меняется значение и, соответственно, позиция регулятора. И, наоборот, при изменении положения регулятора меняется значение в текстовом поле. Аналогично связаны текстовое поле и регулятор для параметра Step. Шкалы регуляторов заданы в диапазонах от 0 до 360 для параметра Angle и от 0 до 100 для параметра Step. По умолчанию задаются значения Angle = 10, Step = 16. Это сделано для формирования у пользователя адекватного представления предварительно получаемых результатов отображения до момента изменения параметров отрисовки. Для возможности управлением отображения инструмента, переключатель Draw Instrument, OnDrawInstrumentChanged() и за работу которого UpdateDrawInstrument(). был разработан отвечают При методы деактивации переключателя происходит только отрисовка заготовки. Изображение заготовки без инструмента показано на Рис.36. Рис.36. Начальный вид отображения моделируемого объекта 50 Так же имеется переключатель Fill Color, который служит для иллюстрации полей распределения значений исследуемой величины во всем объеме заготовки, что показано на Рис.37. Рис.37. Модель формуемого купала без инструмента оснастки при активном переключателе Fill Color При деактивации переключателя Fill Color отображается сеточная модель заготовки,которая изображена на Рис.38. Однако, остаётся возможность наблюдать поля распределения значений исследуемой величины в разрезах заготовки, как это показано на Рис.39 Рис.38. Сеточная модель формуемого купола 51 Рис.39. Отображение полей исследуемых величины в разрезе заготовки По умолчанию переключатели Draw Instrument и Fill Color устанавливаются активными, что проиллюстрировано на Рис.40. Рис.40. Изображение формуемого купола при активных значениях переключателей Draw Instrument и Fill Color 52 Заключение В работе проведен анализ пакетов прикладного программного обеспечения, применяемых при моделировании технологических процессов обработки металлов давлением. Проведено моделирование процесса свободной формовки алюминиевого сплава АМг6 при температуре 4150 С и постоянном давлении 3 атм. Результаты моделирования проведенного хорошо в соотносятся лаборатории с данными прогрессивных натурного методов эксперимента формообразования в заготовительно-штамповочном производстве НИ ИрГТУ. Для расширения возможностей анализа результатов компьютерного моделирования была разработана система визуализации, позволяющая отображать трехмерную геометрическую форму рабочего тела, оснастки и трехмерное распределение полей исследуемых величин на основании результатов расчетов плоской осесимметричной задачи. Для этого были созданы соответствующие классы и методы. Дальнейшая работа по данному направлению может заключаться в создании аналогичной системы визуализации осесимметричной задачи в препроцессоре. 53 Список литературы 1. Чумаченко Е.Н., Смирнов О.М., Цепин М.А. Сверхпластичность: Материалы,Теория,Технологии М.:URSS, 2009.-309c. 2. Чумаченко Е.Н. Математическое моделирование пластического формоизменения материалов при обработке давлением: Учебное пособие для ВУЗов. М.: МИЭМ. – 1998. – 157с. 3. Чумаченко Е.Н. Математическое моделирование формоизменения оболочек в условиях сверхпластичности М.: МИЭМ. – 1999. – 158с. 4. Смирнов О.М. Обработка металлов давлением в состоянии сверхпластичности. М.: Машиностроение, 1979. – 184с. 5. Сегерлинд Л. Применение метода конечных элементов. М.: Мир. –1979. – 392с. 6. QForm -Интернет-сайт: http://www.qform3d.ru/ (4.03.2015) 7. Ansys –Интернет –сайт:http://www.ansys.com/ (5.04.2015) 8. MSC.SuperForge-Интернет-сайт: http://www.mscsoftware.com/assets/2221_SF303ZZZLTDAT.pdf (9.04.2015) 9. Deform -Интернет-сайт: http://www.deform.com/ (4.04.2015) 10. MSC Marc -Интернет-сайт: http://www.mscsoftware.ru/products/marc (1.03.2015) 11. FORGE –Интернет: http://www.cresset-group.com/products/forge/ (20.04.2015) 12. Hart E.W. Theory of tensile test // Acta metallurgica, 15. 1967. 13. S.A.Aksenov, E.N.Chumachenko, A.V.Kolesnikov, S.A.Osipov Determination of optimal gas forming conditions from free bulging tests at constant pressure// Journal of Materials Processing Technology. 217(2015) 158-164 14. П. В. Румянцев MFC –внутренний мир. М.:Горячая линия- Телеком -2003.351с. 15. Mark Segal Kurt Akeley OpenGL 4.5 (Core Profile) - February 2, 2015 16. Dave Shreiner, Graham Sellers OpenGL Programming Guide 8th Edition, 2013 17. Ильин В. А., Поздняк Э. Г. Аналитическая геометрия. –М.: Наука, 1981. 18. Ильин В. А., Поздняк Э. Г. Линейная алгебра. –М.: Наука, 1984. 54