private void racunanjeTacakaZaDijagramBrzinaPostojanost()
        {
            double brzina           = 0;
            double pomak            = 0;
            double dubina           = 0;
            double postojanostAlata = 0;
            double korekcioniFaktor = 0;
            string oznakaSerije     = "";

            for (int listBrzineIndex = 0; listBrzineIndex < izracunatiRezimi.Brzine.Count; listBrzineIndex++)
            {
                brzina = izracunatiRezimi.Brzine[listBrzineIndex];
                pomak  = izracunatiRezimi.Pomaci[listBrzineIndex];
                dubina = izracunatiRezimi.Dubine[listBrzineIndex];
                int numOfListElements = preporukeZaPostojanost.ListaPreporukaZaPostojanost.Count;
                for (int listIndex = 0; listIndex < numOfListElements; listIndex++)
                {
                    PointCoordinates point = new PointCoordinates();
                    postojanostAlata  = preporukeZaPostojanost.ListaPreporukaZaPostojanost[listIndex].PostojanostAlata;
                    korekcioniFaktor  = preporukeZaPostojanost.ListaPreporukaZaPostojanost[listIndex].KorekcioniFaktor;
                    point.XCoordinate = Math.Round(korekcioniFaktor * brzina, 1, MidpointRounding.AwayFromZero);
                    point.YCoordinate = postojanostAlata;
                    listaTacaka.Add(point);
                }
                oznakaSerije = plocica.OznakaPlocice + "\n" + "a = " + dubina + "   s = " + pomak;
                graphDrawBrzinaPostojanost.DrawGraph(listaTacaka, oznakaSerije, plocica.OznakaPlocice, 3);
                listaTacaka.Clear();
                prikazSerija();
            }
        }
Example #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            List <double> listaHabanja      = new List <double>();
            List <double> listaDeltaVremena = new List <double>();
            double        a = (double)vrednostParametraNumericUpDown.Value;

            foreach (DataGridViewRow item in unosRezultataMerenjaDataGridView.Rows)
            {
                if (item.Cells[0].Value != null && item.Cells[1].Value != null)
                {
                    bool isDouble  = double.TryParse(item.Cells[0].Value.ToString(), out habanje);
                    bool isDouble2 = double.TryParse(item.Cells[1].Value.ToString(), out vreme);
                    if (isDouble && isDouble2)
                    {
                        listaHabanja.Add(vreme);
                        listaDeltaVremena.Add(habanje);
                    }
                }
            }
            List <double> listaVremena     = sumiranjeListe(listaDeltaVremena);
            double        izaracunatoVreme = Interpolation.NevilleInterpolator(listaHabanja, listaVremena, a);
            double        brzinaVarirana   = (double)brzinaNumericUpDown.Value;

            ispitivanje.InputParameters(brzinaVarirana, izaracunatoVreme);
            unosRezultataMerenjaDataGridView.Rows.Clear();
            List <PointCoordinates> listaTacakaZaGrafik = new List <PointCoordinates>();
            PointCoordinates        point = new PointCoordinates();

            point.YCoordinate = 0;
            point.XCoordinate = 0;
            listaTacakaZaGrafik.Add(point);
            for (int i = 0; i < listaHabanja.Count; i++)
            {
                point             = new PointCoordinates();
                point.YCoordinate = listaHabanja[i];
                point.XCoordinate = listaVremena[i];
                listaTacakaZaGrafik.Add(point);
            }
            graphD.DrawGraph(listaTacakaZaGrafik, brzinaVarirana.ToString(), brzinaVarirana, 1);
        }
        private void racunanjeBrzina(RezimiObrade rezimi, ReznaPlocica plocica)
        {
            interpolacijaBrzina.Rezimi = rezimi;
            double vMax  = Math.Round(interpolacijaBrzina.vMax, 0, MidpointRounding.AwayFromZero);
            double vPrep = Math.Round(interpolacijaBrzina.vPrep, 0, MidpointRounding.AwayFromZero);
            double vMin  = Math.Round(interpolacijaBrzina.vMin, 0, MidpointRounding.AwayFromZero);

            double sMax  = rezimi.SMax;
            double sPrep = rezimi.SPrep;
            double sMin  = rezimi.SMin;
            double aMax  = rezimi.AMax;
            double aPrep = rezimi.APrep;
            double aMin  = rezimi.AMin;

            izracunatiPrepRezimi.MaxRezim.Brzina  = vMax;
            izracunatiPrepRezimi.MaxRezim.Pomak   = sMin;
            izracunatiPrepRezimi.MaxRezim.Dubina  = aMin;
            izracunatiPrepRezimi.PrepRezim.Brzina = vPrep;
            izracunatiPrepRezimi.PrepRezim.Pomak  = sPrep;
            izracunatiPrepRezimi.PrepRezim.Dubina = aPrep;
            izracunatiPrepRezimi.MinRezim.Brzina  = vMin;
            izracunatiPrepRezimi.MinRezim.Pomak   = sMax;
            izracunatiPrepRezimi.MinRezim.Dubina  = aMax;

            List <double> brzine = new List <double> {
                vMin, vPrep, vMax
            };
            List <double> pomaci = new List <double> {
                sMax, sPrep, sMin
            };
            List <double> dubine = new List <double> {
                aMax, aPrep, aMin
            };

            izracunatiRezimi.Brzine = brzine;
            izracunatiRezimi.Pomaci = pomaci;
            izracunatiRezimi.Dubine = dubine;

            double brzina       = 0;
            double pomak        = 0;
            double dubina       = 0;
            string oznakaSerije = "";

            for (int dubinaIndex = 0; dubinaIndex < izracunatiRezimi.Dubine.Count; dubinaIndex++)
            {
                for (int listIndex = 0; listIndex < izracunatiRezimi.Brzine.Count; listIndex++)
                {
                    PointCoordinates point = new PointCoordinates();
                    brzina            = izracunatiRezimi.Brzine[listIndex];
                    pomak             = pomaci[listIndex];
                    dubina            = dubine[dubinaIndex];
                    point.XCoordinate = brzina;
                    point.YCoordinate = Math.Round(brzina * pomak * dubina, 1, MidpointRounding.AwayFromZero);
                    listaTacaka.Add(point);
                }
                oznakaSerije = plocica.OznakaPlocice + "\n" + "a = " + dubina + "   s = " + pomak;
                graphDrawBrzinaProizvodnost.DrawGraph(listaTacaka, oznakaSerije, plocica.OznakaPlocice, 0);
                listaTacaka.Clear();
                prikazSerija();
            }

            oznakaRPlTBox.Text         = plocica.OznakaPlocice;
            oblikRPlTBox.Text          = plocica.Oblik.OblikPloc.ToString();
            ledjniUgaoTBox.Text        = plocica.LedjniUgao.ToString();
            tolerancijaTBox.Text       = plocica.Tolerancija.ToString();
            tipPlTBox.Text             = plocica.TipPlocice.ToString();
            duzinaRezneIviceTBox.Text  = plocica.DuzinaRezneIvice.ToString();
            debljinaPlTBox.Text        = plocica.Debljina.ToString();
            radijusPlTBox.Text         = plocica.Radijus.ToString();
            kvalitetObradeTextBox.Text = plocica.KvalitetObrade.OznakaKvalitetaPlocice.ToString();

            vMaxTextBox.Text  = vMax.ToString();
            vPrepTextbox.Text = vPrep.ToString();
            vMinTextBox.Text  = vMin.ToString();
            sMaxTextBox.Text  = rezimi.SMax.ToString();
            sPrepTextBox.Text = rezimi.SPrep.ToString();
            sMinTextBox.Text  = rezimi.SMin.ToString();
            aMaxTextBox.Text  = rezimi.AMax.ToString();
            aPrepTextBox.Text = rezimi.APrep.ToString();
            aMinTextBox.Text  = rezimi.AMin.ToString();

            granicnaVrednostPomaka                      = racunanjeGranicneVrednostiPomaka(plocica.Radijus, KvalitetObradeStorage.IzabraniKvalitet.RaMax);
            izabraniPomakNumericUpDown.Maximum          = (decimal)granicnaVrednostPomaka;
            izabraniPomakNumericUpDown.Value            = (decimal)granicnaVrednostPomaka;
            pomakUFunkcijiOdRaTextBox.Text              = granicnaVrednostPomaka.ToString();
            dubinaUzavisnostiOdDodatkaTBox.Text         = granicnaVrednostDubine.GranicnaVrednostDubine.ToString();
            izabranaDubinaNumericUpDown.Value           = (decimal)granicnaVrednostDubine.GranicnaVrednostDubine;
            granicnaVrednostBrzine                      = racunanjeGranicneVrednostiBrzine();
            izabranaBrzinaNumericUpDown.Value           = (decimal)granicnaVrednostBrzine;
            brzinaUZavisnostiOdPostojanostiTextBox.Text = granicnaVrednostBrzine.ToString();
            racunanjeParametaraRezanja.Radijus          = plocica.Radijus;
            unosBrzinePomakaIDubine();
            popunjavanjeParametaraRezanjaIPotrebnihUslova();
        }