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

 

Листинг 77.1. Методы для расчета параметров детали.

//Объявляем переменные:

double d, H, Rn, s;

double A, V, m, D;

double rho;

double pi = Math.PI;

//Площадь поверхности детали:

double Area()

{

double A=0, A1, A2, A3;

A1=Area1(); A2=Area2(); A3=Area3();

A=A1+A2+A3;

return A;

}

//Объем детали:

double Volume()

{

A=Area(); V=A*s;

return V;

}

//Масса детали:

double mass()

{

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;

}

//Площадь круга:

double Area1()

{

double A1 = pi*(d-2*Rn)*(d-2*Rn)/4;

return A1; //mm*mm

}

//Площадь нижнего тора:

double Area2()

{

double A2 = pi*(Rn-s/2)*(2*(Rn-s/2)+pi*(d-2*Rn)/2);

return A2; //mm*mm

}

//Площадь цилиндра:

double Area3()

{

double A3 = pi*(d-s)*(H-Rn);

return A3; //mm*mm

}

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

private void button5_Click(object sender, 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(); //Курсор - в первое окно.

}

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

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

bool myColor = false;

private void timer1_Tick(object sender, EventArgs e)

{

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

if (myColor == false)

{

//Выводим белый цвет рамки pictureBox1:

this.pictureBox1.BackColor = Color. White;

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

myColor = true;

}

else

{

//Выводим желтый цвет рамки pictureBox1:

this.pictureBox1.BackColor = Color.Yellow;

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

myColor = false;

}

}

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

//При помощи метода DrawImage печатаем рисунок детали,

//находящийся внутри рамки pictureBox1:

e.Graphics.DrawImage(pictureBox1.Image, 0, 0);

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

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

string msg;

msg = "d = " + textBox1.Text + " mm";

e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 100);

msg = "H = " + textBox2.Text + " mm";

e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 120);

msg = "Rn = " + textBox3.Text + " mm";

e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 140);

msg = "s = " + textBox4.Text + " mm";

e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 160);

msg = "rho = " + textBox5.Text + " kg/(m*m*m*)";

e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 180);

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

//результаты расчета: A, V, m, D:

msg = "A = " + textBox6.Text + " mm*mm";

e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 220);

msg = "V = " + textBox7.Text + " mm*mm*mm";

e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 240);

msg = "m = " + textBox8.Text + " kg";

e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 260);

msg = "D = " + textBox9.Text + " mm";

e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 280);

Предлагаю ознакомиться с аналогичными статьями: