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(); } }
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(); }