Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Жарков В.А. - Visual C++ 2005, DirectX 9.0c и Microsoft Agent в компьютерной графике, мультимедиа и играх (Листинги книги) - 2005

.pdf
Скачиваний:
307
Добавлен:
13.08.2013
Размер:
1.14 Mб
Скачать

300 Жарков В.А. Компьютерная графика, мультимедиа и игры на Visual C++ 2005

{

A = Area(); //mm*mm

V = Volume(); //mm*mm*mm m = V*rho*1.0e-9; // kg return m;

}

//Диаметр плоской заготовки: double DBlank()

{

A = Area();

D = Math::Sqrt(4*A/pi); return D;

}

Листинг 71.2. Метод кнопки OK для расчета параметров детали.

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)

{

//Считывание данных о геометрии детали //и плотности материала:

d = Convert::ToDouble(textBox1->Text);

H = Convert::ToDouble(textBox2->Text);

Rn = Convert::ToDouble(textBox3->Text);

s = Convert::ToDouble(textBox4->Text); rho = Convert::ToDouble(textBox5->Text);

//Расчет параметров детали и вывод их в окна: textBox6->Text = Area().ToString(); textBox7->Text = Volume().ToString(); textBox8->Text = mass().ToString(); textBox9->Text = DBlank().ToString(); textBox1->Focus(); //Курсор - в первое окно.

}

Листинг 71.3. Метод для выполнения анимации.

//Объявляем булеву переменную myColor со значением false: bool static myColor = false;

private: System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e)

{

//Программируем анимацию: if (myColor == false)

{

Глава 71. Вычисление массы изделий при помощи формы

301

//Выводим красный цвет рамки PictureBox: pictureBox1->BackColor = Color::Red; //Изменяем значение myColor на противоположное: myColor = true;

}

else

{

//Выводим желтый цвет рамки PictureBox: pictureBox1->BackColor = Color::Yellow; //Изменяем значение myColor на противоположное: myColor = false;

}

}

Листинг 71.4. Код для печати информации с формы.

private: System::Void printDocument1_PrintPage( System::Object^ sender, System::Drawing::Printing::PrintPageEventArgs^ e)

{

//При помощи метода DrawImage //печатаем рисунок детали, //находящийся внутри рамки PictureBox:

e->Graphics->DrawImage(pictureBox1->Image, 0, 0);

//При помощи метода DrawString печатаем

//исходные данные: d, H, Rn, s, rho:

String^ msg; msg = "d = ";

e->Graphics->DrawString(msg, this->Font, Brushes::Black, 400, 100);

msg = textBox1->Text; e->Graphics->DrawString(msg, this->Font,

Brushes::Black, 450, 100); msg = "H = ";

e->Graphics->DrawString(msg, this->Font, Brushes::Black, 400, 120);

msg = textBox2->Text; e->Graphics->DrawString(msg, this->Font,

Brushes::Black, 450, 120); msg = "Rn = ";

e->Graphics->DrawString(msg, this->Font, Brushes::Black, 400, 140);

msg = textBox3->Text; e->Graphics->DrawString(msg, this->Font,

302 Жарков В.А. Компьютерная графика, мультимедиа и игры на Visual C++ 2005

Brushes::Black, 450, 140); msg = "s = ";

e->Graphics->DrawString(msg, this->Font, Brushes::Black, 400, 160);

msg = textBox4->Text; e->Graphics->DrawString(msg, this->Font,

Brushes::Black, 450, 160); msg = "rho = ";

e->Graphics->DrawString(msg, this->Font, Brushes::Black, 400, 180);

msg = textBox5->Text; e->Graphics->DrawString(msg, this->Font,

Brushes::Black, 450, 180);

//При помощи метода DrawString печатаем //результаты расчета: A, V, m, D:

msg = "A = "; e->Graphics->DrawString(msg, this->Font,

Brushes::Black, 400, 220); msg = textBox6->Text;

e->Graphics->DrawString(msg, this->Font, Brushes::Black, 450, 220);

msg = "V = "; e->Graphics->DrawString(msg, this->Font,

Brushes::Black, 400, 240); msg = textBox7->Text;

e->Graphics->DrawString(msg, this->Font, Brushes::Black, 450, 240);

msg = "m = "; e->Graphics->DrawString(msg, this->Font,

Brushes::Black, 400, 260); msg = textBox8->Text;

e->Graphics->DrawString(msg, this->Font, Brushes::Black, 450, 260);

msg = "D = "; e->Graphics->DrawString(msg, this->Font,

Brushes::Black, 400, 280); msg = textBox9->Text;

e->Graphics->DrawString(msg, this->Font, Brushes::Black, 450, 280);

}

Часть XIV. Приложения Visual C++ для использования в учебе и науке

Глава 72. Ввод в систему свойств материалов для изготовления изделий

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

Для примера, укрупнено классифицируем стальной листовой прокат, из которого изготавливают основную массу деталей (например, в промышленности).

Условно делим стальной листовой прокат на три большие группы: сталь без покрытия; сталь с покрытием; сталь, плакированная другими материалами (биметалл).

Сталь без покрытия делим на пять групп: низкоуглеродистая и углеродистая; низколегированная; легированная (коррозионно-стойкая, жаростойкая и жаропрочная); двухфазная; прочие стали. Каждая из этих пяти групп сталей бывает как без покрытия, так и с покрытием. Сталь с покрытием, также для примера, разделим на пять групп в зависимости от материала покрытия: сталь, покрытая оловом; сталь, покрытая цинком; сталь, покрытая свинцом; сталь, покрытая прочим металлом; сталь, покрытая неметаллом. Листовой прокат из двух, трех и более слоев (биметалл) с основным слоем из стали и плакирующего слоя из другого материала, для примера, делим на следующие пять групп: сталь, плакированная алюминием и его сплавами; сталь, плакированная медью и ее сплавами; углеродистая или низколегированная сталь, плакированная коррозионно-стойкой сталью; сталь, плакированная прочим металлом; сталь, плакированная неметаллом. Область применения каждой из этих групп сталей очень разнообразна и описана в специальной литературе.

Мы не можем описывать здесь все многообразие листового проката из цветных металлов и их сплавов. Поэтому, для примера, делим (условно) листовой прокат из цветных металлов (и их сплавов) и неметаллов на 18 больших групп:

1) алюминий и его сплавы; 2) медь и ее сплавы; 3) магний и его сплавы; 4) никель и его сплавы; 5) титан и его сплавы; 6) цинк и его сплавы; 7) молибден и его сплавы; 8) ниобий и его сплавы; 9) тантал и его сплавы; 10) цирконий и его сплавы; 11) вольфрам и его сплавы; 12) рений и его сплавы; 13) ванадий и его сплавы; 14) кобальт и его сплавы; 15) бериллий и его сплавы; 16) серебро и его сплавы; 17) золото и его сплавы; 18) неметаллы.

Глава 73. Математическое моделирование обработки заготовки при помощи аналитических решений

Определив форму и размеры заготовки по описанной ранее методике (например, в первом приближении), приступаем к математическому моделированию обработки этой заготовки. Как мы уже отмечали, существует много способов обработки заготовки. Теоретическое исследование (математическое моделирование) и расчет практически важных (технологических) параметров обработки заготовки многими способами, как правило, основаны на применении теории упругости и теории пластичности. Даже обработка материала резанием исследуется при помощи теории пластичности. А вычислительные эксперименты по таким способам, как прокатка, прессование, ковка и штамповка проводятся только на базе теорий упругости и пластичности, которые мы также будем применять в данной книге.

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

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

В качестве конкретного примера рассматриваем обработку тонкой плоской металлической заготовки типа кольца (изготовленного, например, резкой листового проката в штампе или на лазерной установке) с размерами (рис. 73.1): наружный диаметр кольца D (радиус R); иногда мы будем применять также обозначение наруж-

ного диаметра в видеD0 (радиус R0 ); внутренний диаметр кольца d0 (радиус r0 );

толщина кольца s.

Обработка заготовки заключается в том, что внутренняя поверхность кольца радиуса r0 равномерно перемещается к оси кольца на заданную величину u0 (рис.

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

Глава 74. Математическое моделирование обработки заготовки при помощи метода конечных элементов

При исследовании обработки заготовки аналитические решения с помощью теорий упругости и пластичности могут быть получены лишь для небольшого числа простых задач; такие примеры были приведены в предыдущей главе. При решении сложных задач (например, упруго-пластических задач с учетом анизотропии и неоднородности свойств заготовки) применяют численные методы, в основном, метод конечных элементов – МКЭ (finite element method - FEM), который включает шаги:

1.Задание исходных размеров и механических свойств заготовки.

2.Разбиение заготовки на конечные элементы, назначение и расчет координат узлов, в которых необходимо определить перемещения.

3.Определение зависимостей между силами и перемещениями в узлах элемента, то есть, вычисление локальных матриц жесткости и вектора узловых сил для каждого конечного элемента.

4.Составление полной системы линейных алгебраических уравнений равновесия, то есть, сборка одной глобальной матрицы жесткости и глобального вектора узловых сил для всех конечных элементов.

5.Изменение системы уравнений с учетом граничных условий в перемещениях и

силах.

6.Решение полученной системы уравнений.

7.Определение компонентов напряженно-деформированного состояния (НДС) заготовки.

8.Расчет практически важных параметров технологического процесса обработки заготовки.

Глава 75. Математическое моделирование

играфика для типичных техпроцессов

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

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

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

Глава 76. Методология учета анизотропии материала при проектировании техпроцесса изготовления изделия

Продолжаем разрабатывать методологию создания системы компьютерного проектирования (СИСКОМПР или CAD/CAM system) технологических процессов изготовления типичных деталей в промышленности (например, при производстве деталей из листового материала) на основе платформы визуального программирования (которая включает методы компьютерной графики). В предыдущих главах мы разработали методику проектирования процессов обработки заготовок на примере вытяжки листовой заготовки. Проектирование процесса выполнено при помощи математического моделирования обработки изотропной заготовки на основе аналитического и численного решения основных уравнений (моделирующих процесс обработки). Однако изотропный материал на практике применяется редко. Большинство материалов (металлов и неметаллов) обладает анизотропией, а именно, различием механических и других свойств. У наиболее распространенных горячекатаных и холоднокатаных металлических листовых материалов анизотропия проявляется различием механических свойств в различных направлениях в плоскости прокатки и по толщине листа (вследствие особенностей технологии прокатки и отжига). Анизотропия имеет кристаллографическую и текстурную природу, которая описана в литературе по физике металлов. В данной главе мы разработаем методику проектирования процессов с учетом анизотропии исходного материала на примере вытяжки детали из заготовки (любой конфигурации), которая вырезана из этого материала. Как и выше, проектирование выполним при помощи математического моделирования процесса на основе метода конечных элементов.

Глава 77. Методология проектирования техпроцессов изготовления изделий коробчатой формы

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

Чтобы спроектировать процесс вытяжки коробки, мы должны задать на первой форме системы [1] следующие четыре типа исходных данных. 1. Размеры коробки AxBxRxH (A – длина, B – ширина, R – радиус углового закругления по наружной поверхности коробки, H –высота). 2. При помощи переключателя задаем (или не задаем) обрезку неровного края стенки коробки после вытяжки; если мы задали обрезку, то программа рассчитывает высоту полуфабриката после вытяжки (до обрезки) с учетом технологического припуска dH: Ha=H+dH. 3. Размеры листа, из которого будет изготавливаться коробка. 4. Шесть механических свойств листа после его стандартного испытания на растяжение: коэффициент поперечной упругой деформации

ν , модуль упругости E, предел текучести σ ys , предел прочности σu , относитель-

ное равномерное удлинение el,u и относительное равномерное сужение eb,u . Если

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

Для математического моделирования вытяжки осесимметричной, коробчатой или сложной детали из исходной заготовки применяем авторскую теорию вытяжки Жаркова, которая заключается в следующем: 1) весь процесс формоизменения заготовки разбиваем на большое число элементарных этапов и на каждом этапе задаем малое приращение хода пуансона (или матрицы); 2) при помощи метода конечных элементов – МКЭ (finite element method - FEM [1]) вычисляем компоненты напря- женно-деформированного состояния (НДС) заготовки и практически важные параметры процесса с учетом упрочнения, анизотропии, изменения толщины заготовки, сил трения и других факторов; 3) анализируем опасность складкообразования и разрушения заготовки; 4) рассчитываем новую измененную форму заготовки после данного приращения хода пуансона; 5) задаем следующее приращение хода пуансона и повторяем все описанные выше стадии моделирования.

Часть XV. Методология создания и внедрения систем компьютерного проектирования

Глава 78. Оптимизация раскроя материалов

В качестве следующего приложения для системы компьютерного проектирования, например, технологических процессов (СИСКОМПРТП или Computer-Aided Design/Computer-Aided Manufacture systems, CAD/CAM systems) опишем методы рас-

чета оптимального раскроя материала на заготовки (из которых планируется изготавливать заданные детали). Рассмотрим широко распространенные (типичные) варианты раскроя листа (из металлов и неметаллов) на полосы, которые могут быть применены на практике в различных производствах. Известны два основных варианта разрезки листа на полосы: продольный (рис. 78.1) и поперечный (рис. 78.2).

Соседние файлы в предмете Программирование на C++