Exemplo n.º 1
0
        private void btnCalculaMd_Click(object sender, EventArgs e)
        {
            try
            {
                double largura         = Convert.ToDouble(txtLargura.Text.Split(' ')[0]);
                double altura          = Convert.ToDouble(txtAltura.Text.Split(' ')[0]);
                double momentoMajorado = Convert.ToDouble(txtMomento.Text.Split(' ')[0]);
                double dLinhaInferior  = Convert.ToDouble(txtDLinhaInferior.Text.Split(' ')[0]);
                double dLinhaSuperior  = Convert.ToDouble(txtDLinhaSuperior.Text.Split(' ')[0]);
                double fck             = Convert.ToDouble(txtFck.Text.Split(' ')[0]) / 10.0;
                double fyk             = (ComboBoxAco.SelectedItem as Aco).ResistenciaCaracteristica;
                double areaAco         = Convert.ToDouble(txtAreaTracionada.Text.Split(' ')[0]);

                SecaoRetangular  secao    = new SecaoRetangular(largura, altura, dLinhaInferior, dLinhaSuperior);
                RespostaFlexaoMd resposta = secao.MomentoResistente(areaAco, fck, fyk);
                lbAreaComprimida.Text = resposta.AreaComprimida.ToString("F2") + " cm²";
                txtMomento.Text       = resposta.MomentoSolicitante.ToString("F2") + " kN.cm";
                lbLinhaNeutra.Text    = resposta.LinhaNeutra.ToString("F2") + " cm";
                lbRazaoLN.Text        = (resposta.LinhaNeutra / secao.AlturaUtil).ToString("F2") + $" ({(resposta.LinhaNeutra < 0.259 * secao.AlturaUtil ? "Domínio 2" : "Domínio 3")})";
            }
            catch (ArgumentException er)
            {
                MessageBox.Show(er.Message, "Dados incoerentes", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception)
            {
                MessageBox.Show("Verifique todos os dados inseridos.", "Erro não tratado", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemplo n.º 2
0
        private void btnCalculaAs_Click(object sender, EventArgs e)
        {
            double fck = Convert.ToDouble(txtFck.Text.Split(' ')[0]) / 10.0;
            double fyk = (ComboBoxAco.SelectedItem as Aco).ResistenciaCaracteristica;

            double inclinacaoBiela   = Convert.ToDouble(txtInclinacaoBiela.Text.Split(' ')[0]) * Math.PI / 180.0;
            double inclinacaoEstribo = Convert.ToDouble(txtInclinacaoEstribo.Text.Split(' ')[0]) * Math.PI / 180.0;

            double largura    = Convert.ToDouble(txtLargura.Text.Split(' ')[0]);
            double alturaUtil = Convert.ToDouble(txtAlturaUtil.Text.Split(' ')[0]);

            double cortante = Convert.ToDouble(txtCortante.Text.Split(' ')[0]);

            SecaoRetangular secao = new SecaoRetangular(largura, alturaUtil, 0, 0);

            RadioButton radio = tablePanelModelo.Controls.OfType <RadioButton>()
                                .FirstOrDefault(r => r.Checked);

            CalculadoraCisalhamento calculadora = radio.Tag as CalculadoraCisalhamento;

            RespostaCisalhamento resposta = calculadora.Calcula(secao, cortante, fck, fyk, inclinacaoBiela, inclinacaoEstribo);

            labelAreaTracionada.Text = resposta.AreaTransversal.ToString("F2") + " cm²/m";
            lbVc.Text   = resposta.Vc.ToString("F2") + " kN";
            lbVrd2.Text = resposta.VRd2.ToString("F2") + " kN";
        }
Exemplo n.º 3
0
        private void btnCalculaAs_Click(object sender, EventArgs e)
        {
            try
            {
                double largura         = Convert.ToDouble(txtLargura.Text.Split(' ')[0]);
                double altura          = Convert.ToDouble(txtAltura.Text.Split(' ')[0]);
                double momentoMajorado = Convert.ToDouble(txtMomento.Text.Split(' ')[0]);
                double dLinhaInferior  = Convert.ToDouble(txtDLinhaInferior.Text.Split(' ')[0]);
                double dLinhaSuperior  = Convert.ToDouble(txtDLinhaSuperior.Text.Split(' ')[0]);
                double fck             = Convert.ToDouble(txtFck.Text.Split(' ')[0]) / 10.0;
                double fyk             = (ComboBoxAco.SelectedItem as Aco).ResistenciaCaracteristica;
                if (rectangleClicked)
                {
                    SecaoRetangular secao = new SecaoRetangular(largura, altura, dLinhaInferior, dLinhaSuperior);
                    preencheResposta(secao);
                }
                else
                {
                    double larguraColaborante = Convert.ToDouble(txtLarguraColaborante.Text.Split(' ')[0]);
                    double espessuraMesa      = Convert.ToDouble(txtEspessuraMesa.Text.Split(' ')[0]);
                    SecaoT secao = new SecaoT(largura, altura, dLinhaInferior, dLinhaSuperior, larguraColaborante, espessuraMesa);
                    preencheResposta(secao);
                }

                void preencheResposta(Secao secao)
                {
                    RespostaFlexaoAs resposta = secao.CalculaAreaAco(momentoMajorado, fck, fyk);

                    txtAreaTracionada.Text = resposta.ArmacaoTracionada.ToString("F2") + " cm²";
                    lbAreaComprimida.Text  = resposta.ArmacaoComprimida.ToString("F2") + " cm²";
                    lbLinhaNeutra.Text     = resposta.LinhaNeutra.ToString("F2") + " cm";
                    lbRazaoLN.Text         =
                        (resposta.LinhaNeutra / secao.AlturaUtil).ToString("F2") +
                        $" ({(resposta.LinhaNeutra < 0.259 * secao.AlturaUtil ? "Domínio 2" : "Domínio 3")})";
                }
            }
            catch (ArgumentException er)
            {
                MessageBox.Show(er.Message, "Dados incoerentes", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception)
            {
                MessageBox.Show("Verifique todos os dados inseridos.", "Erro não tratado", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }