/// <summary> /// Laskee tukiraudoitukset tietylle kentälle kaikkiin suuntiin /// </summary> /// <param name="kentta">Kenttä, jolle tukiraudoitukset lasketaan</param> public void LaskeTukiraudoituksetKentalle(Kentta kentta) { #region Virheenkorjaus string[] vaaditutRaudoitukset = new string[8]; int i = 0; #endregion foreach (string suunta in kentta.HaeTasatutTukimomentit().Keys) { double momentti = kentta.HaeTasattuTukimomentti(suunta); int vaadittuRaudoitus = LaskeVaadittuRaudoitusPintaAla(momentti * 1000); HarjaterasRyhma sopivaRyhma = LaskeSopivinHarjaterasryhma(vaadittuRaudoitus); AsetaHarjaterasryhmalleAlkuJaLoppupiste(kentta, suunta, sopivaRyhma); sopivaRyhma.TankojenPituus = 1000; sopivaRyhma.Tyyppi = "A500HW"; if (kentta.Tukiraudat.ContainsKey(suunta)) { kentta.Tukiraudat[suunta] = sopivaRyhma; } else { kentta.Tukiraudat.Add(suunta, sopivaRyhma); } #region Virheenkorjaus vaaditutRaudoitukset[i] = vaadittuRaudoitus.ToString(); i++; #endregion } #region Virheenkorjaus if (VirheenkorjausTukiraudat) { StringBuilder debug = new StringBuilder(); i = 0; foreach (string suunta in kentta.Tukiraudat.Keys) { debug.Append("Suunta: " + suunta + "\n"); debug.Append("Koko: " + kentta.HaeTukiraudat(suunta).Koko + "\n"); debug.Append("Jako: " + kentta.HaeTukiraudat(suunta).Jako + "\n"); debug.Append("Raudoituksen pinta-ala metrille: " + (int)kentta.HaeTukiraudat(suunta).PintaAlaMetrille + "\n"); debug.Append("Vaadittu pinta-ala: " + vaaditutRaudoitukset[i] + "\n\n"); i++; } System.Windows.Forms.MessageBox.Show(debug.ToString(), "Kenttä " + kentta.Numero); } #endregion }
private void RaudoitusForm_Load(object sender, EventArgs e) { // Alustetaan ikkunan kentät lKentta.Text = "Kenttä " + kentta.Numero.ToString(); tbTarvRaud.Text = Math.Round(raudoittaja.RaudoitusVaadMaara, 2).ToString(); tbMittaYlapinnasta.Text = raudoittaja.ToteutunutMittaYlapinnasta.ToString(); tbVerkkoKeskella.Text = raudoittaja.VerkkoKeskella.ToString(); tbKuvaVerkkoKeskella.Text = raudoittaja.VerkkoKeskella.ToString(); tbVerkkoYleensa.Text = raudoittaja.VerkkoYleensa.ToString(); tbKuvaVerkkoYleensa.Text = raudoittaja.VerkkoYleensa.ToString(); tbRaudoitusMaaraYleensa.Text = raudoittaja.VerkkoYleensa.PintaAlaVaaka.ToString(); tbRaudoitusMaaraKeskella.Text = (raudoittaja.VerkkoKeskella.PintaAlaVaaka + raudoittaja.VerkkoYleensa.PintaAlaVaaka).ToString(); tbMinRaud.Text = Math.Round(raudoittaja.RaudoitusVahMaara, 0).ToString(); tbKayttoaste.Text = Math.Round(Math.Max(raudoittaja.RaudoitusVaadMaara, kentta.Minimiraudoitus) / (raudoittaja.VerkkoYleensa.PintaAlaVaaka + raudoittaja.VerkkoKeskella.PintaAlaVaaka), 3) * 100 + ""; tbBetoniPeite.Text = raudoittaja.Suojabetoni.ToString(); foreach (string suunta in kentta.Tukiraudat.Keys) { switch (suunta) { case "ylos": tbTukiYlos.Text = kentta.HaeTukiraudat("ylos").Koko + " - k" + kentta.HaeTukiraudat("ylos").Jako; tbTukiKuvaYlos.Text = kentta.HaeTukiraudat("ylos").Koko + " - k" + kentta.HaeTukiraudat("ylos").Jako; break; case "alas": tbTukiAlas.Text = kentta.HaeTukiraudat("alas").Koko + " - k" + kentta.HaeTukiraudat("alas").Jako; tbTukiKuvaAlas.Text = kentta.HaeTukiraudat("alas").Koko + " - k" + kentta.HaeTukiraudat("alas").Jako; break; case "vasen": tbTukiVasen.Text = kentta.HaeTukiraudat("vasen").Koko + " - k" + kentta.HaeTukiraudat("vasen").Jako; tbTukiKuvaVasen.Text = kentta.HaeTukiraudat("vasen").Koko + " - k" + kentta.HaeTukiraudat("vasen").Jako; break; case "oikea": tbTukiOikea.Text = kentta.HaeTukiraudat("oikea").Koko + " - k" + kentta.HaeTukiraudat("oikea").Jako; tbTukiKuvaOikea.Text = kentta.HaeTukiraudat("oikea").Koko + " - k" + kentta.HaeTukiraudat("oikea").Jako; break; } } }