Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерная графика, мультимедиа и игры на Vis...doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
2 Мб
Скачать
☆

Глава 88. Проектирование операций обработки заготовок

Листинг 88.1. Передача исходных данных с Form5 в Form7.

//Объявляем объект myForm7 в классе Form7:

Form7 myForm7 = new Form7();

//Присваиваем исходные данные другим переменным

//класса панели Form7, но с такими же именами переменных:

myForm7.d = d;

myForm7.H = H;

myForm7.Rn = Rn;

myForm7.s = s;

myForm7.Radio = Radio;

myForm7.s_sheet = s_sheet;

myForm7.C = C;

myForm7.L = L;

myForm7.rho = rho;

myForm7.nu = nu;

myForm7.El = El;

myForm7.sig_ys = sig_ys;

myForm7.sig_u = sig_u;

myForm7.e_u = e_u;

myForm7.e_tot = e_tot;

//Выводим Form7:

myForm7.Show();

Листинг 88.2. Метод для расчета силы штамповки (Fdraw).

double ForceDraw()

{

//Рассчитываем диаметр заготовки D:

double A, d_m, k_draw, Fdraw;

A=Area_Semiproduct();

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

//Уточненный расчет k_draw сложен и зависит от s/D,

//но для упрощения принимаем, что:

k_draw=1;

//Средний диаметр стенки детали:

d_m=d-s;

//По упрощенной формуле (для экономии места)

//рассчитываем силу вытяжки Fdraw в N и

//делим на 1000, чтобы было в kN:

Fdraw=pi*d_m*s*sig_u*k_draw/1000;

return Fdraw;

}

Теперь для выполнения расчета и вывода результатов расчета в окна Form7 (при помощи кнопки со знаком равенства “=”) дважды щелкаем эту кнопку. Появляется файл Form7.cs с шаблоном, в который записываем:

Листинг 88.3. Код кнопки “=” для расчета третьей операции.

//Расчет и передача в окна диалоговой панели Form7

//параметров полуфабриката (Semiproduct):

textBox1.Text = d.ToString();

textBox2.Text = Semiproduct().ToString();

textBox3.Text = Rn.ToString();

textBox4.Text = s.ToString();

textBox5.Text = Allowance().ToString();

textBox6.Text = H.ToString();

textBox7.Text = ForceDraw().ToString();

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

//Объявляем булеву переменную myHeight со значением false:

bool myHeight = false;

private void timer1_Tick(object sender, EventArgs e)

{

//Вводим анимацию:

if (myHeight == false)

{

//Изменяем высоту элемента управления до 70:

this.button1.Height = 70;

//Изменяем значение myHeight на противоположное:

myHeight = true;

}

else

{

//Изменяем высоту элемента управления до 50: this.button1.Height = 50;

//Изменяем значение myHeight на противоположное:

myHeight = false;

}

}

В этом коде мы можем устанавливать чередование двух других значений высоты элемента управления. Задавая в панели Properties с заголовком timer1 различные значения свойству Interval (а выше мы задали 1000 миллисекунд или 1 секунду), можно изменять частоту чередования высот элемента управления, например, кнопки. Методика приостановки и возобновления анимации (с примерами) дана выше.

Глава 89. Проектирование финишных операций изготовления изделий

Листинг 89.1. Передача исходных данных с Form7 в Form9.

Form9 myForm9 = new Form9();

myForm9.d = d;

myForm9.H = H;

myForm9.Rn = Rn;

myForm9.s = s;

myForm9.Radio = Radio;

myForm9.s_sheet = s_sheet;

myForm9.C = C;

myForm9.L = L;

myForm9.rho = rho;

myForm9.nu = nu;

myForm9.El = El;

myForm9.sig_ys = sig_ys;

myForm9.sig_u = sig_u;

myForm9.e_u = e_u;

myForm9.e_tot = e_tot;

myForm9.Show(); //Выводим форму Form9.

Листинг 89.2. Код кнопки “=” для расчета четвертой операции.

textBox1.Text = d.ToString();

textBox2.Text = H.ToString();

textBox3.Text = Rn.ToString();

textBox4.Text = s.ToString();

textBox5.Text = Area().ToString();

textBox6.Text = Volume().ToString(); m = mass();

textBox7.Text = m.ToString(); Cutting();

//Число заготовок (деталей) из листа:

textBox8.Text = Nbl.ToString();

//Норма расхода материала на 1 деталь:

textBox9.Text = (s_sheet*C*L*rho*1.0e-9/Nbl).ToString();

//Коэффициент использования материала:

textBox10.Text = (m/(s_sheet*C*L*rho*1.0e-9/Nbl)).ToString();

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

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

bool myWidth = false;

private void timer1_Tick(object sender, EventArgs e)

{

if (myWidth == false)

{

this.button1.Width = 150; myWidth = true;

}

else

{

this.button1.Width = 100; myWidth = false;

}

}

Мы закончили часть книги и главы с описанием разработанной нами методологии (с конкретным примером) создания системы компьютерного проектирования технологических процессов (СИСКОМПРТП) изготовления различных изделий (деталей, вещей, продуктов) на практике.

В этих главах одновременно мы разработали методику программирования основных эффектов анимации для данной системы.

По этой методологии мы можем разрабатывать наши персональные или корпоративные вычислительные системы и СИСКОМПРТП (с использованием анимационных эффектов) применительно к конкретным условиям нашей практической деятельности и характера производства изделий.