Компьютерная графика, мультимедиа и игры на Visual C#

       

Проектирование операций изготовления заготовок


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

//Объявляем объект myForm5 в классе Form5:

Form5 myForm5 = new Form5();

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

//класса панели Form5, но с такими же именами:

myForm5.d = d;

myForm5.H = H;

myForm5.Rn = Rn;

myForm5.s = s;

myForm5.Radio = Radio;

myForm5.s_sheet = s_sheet;

myForm5.C = C;

myForm5.L = L;



myForm5.rho = rho;

myForm5.nu = nu;

myForm5.El = El;

myForm5.sig_ys = sig_ys;

myForm5.sig_u = sig_u;

myForm5.e_u = e_u;

myForm5.e_tot = e_tot;

//Выводим диалоговую панель Form5:

myForm5.Show();

Открываем файл Form5.cs и в любом месте класса Form5 (например, после всех функций для кнопок) записываем наш основной код с методми для расчета параметров первой операции технологического процесса по разрезке листа на полосы; этот код мы берем без изменений с первого листинга предыдущей главы. Ниже записываем функцию для расчета силы вырубки Fcut круглой заготовки в штампе [1].

Листинг 87.2. Метод для расчета силы вырубки Fcut.

double ForceCut()

{

      double A, k_cut, Fcut;

      A=Area_Semiproduct();

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

      k_cut=1.2;

      Fcut=pi*D*s_sheet*sig_u*k_cut/1000;

      return Fcut;

}

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

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

double Web_a, Web_b, Nblst, G, K_G;

//Расчет и передача в окна рациональных параметров

//разрезки листа на полосы, а полосы на заготовки: 

Cutting(); //Эта функция нужна для расчета W_F.

//Расчет и передача значения ширины полосы "B"

//в окно textBox1 на Form5:

B = Bstrip();

textBox1.Text = B.ToString();

//Расчет и передача в окна на Form5 параметров раскроя:

D = DBlank();

textBox2.Text = D.ToString();

t = D + a;

textBox3.Text = t.ToString();

Web_a = a;

textBox4.Text = Web_a.ToString();

Web_b = b;

textBox5.Text = Web_b.ToString();

if (W_F==C)

{

      Nblst = Math.Floor((L - a)/t);

      textBox6.Text = Nblst.ToString();

      G = Nblst * t;

      textBox7.Text = G.ToString();


      textBox8.Text = (L - G).ToString();
      K_G = L;
      textBox9.Text = L.ToString();
}
else
{
      Nblst = Math.Floor((C - a)/t);
      textBox6.Text = Nblst.ToString();
      G = Nblst * t;
      textBox7.Text = G.ToString();
      textBox8.Text = (C - G).ToString();
      K_G = C;
      textBox9.Text = C.ToString();
}
//Сила вырезки заготовки в штампе:
textBox10.Text = ForceCut().ToString();
// Коэффициент раскроя полосы на заготовки
//диаметром D или D_blank:
textBox11.Text = (pi*D*D/4*Nblst/(K_G*B)).ToString();
Листинг 87.4. Код для выполнения анимации.
//Объявляем булеву переменную myText со значением false:
bool myText = false;
private void timer1_Tick(object sender, EventArgs e)
{
      //Программируем анимацию:
      if (myText == false)
      {
            //Выводим текст внутри элемента управления:
            this.button1.Text = "Click";
            //Изменяем значение myText на противоположное:
            myText = true;
      }
      else
      {
           //Выводим другой текст внутри элемента управления:          this.button1.Text = "OK";
            //Изменяем значение myText на противоположное:
            myText = false;
      }
}
Аналогично вычисляются параметры раскроя других полос и для других изделий. По этим параметрам, задавая различные размеры листа (полосы или ленты, если заказчик получает от поставщика не листы, а полосы и ленты), пользователь может выбрать рациональный материал (размеры листа, полосы или ленты) и его оптимальный раскрой. Методика печати на принтере информации с панели описана выше.
На практике часто ограничиваются только двумя операциями разрезки листа на полосы и полосы на заготовки; в этом случае следующая операция технологического процесса не нужна, и, соответственно, не нужна и кнопка Next>> на Form5.
В нашем общем случае требуется, чтобы (после щелчка кнопки Next>> на Form5, рис. 87.1) выходила следующая форма Form7 со следующей операцией технологического процесса (и со следующим эффектом анимации), к разработке которой мы и приступаем.

Содержание раздела