コード例 #1
0
        /// <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
        }
コード例 #2
0
        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;
                }
            }
        }