163
UNIVERSIDADE FEDERAL DE SANTA CATARINA Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces AUTOR : ALBERTO SMANIOTTO 2002-2 UFSC

Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

  • Upload
    doquynh

  • View
    221

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

UNIVERSIDADE FEDERAL DE SANTA CATARINA

Elaboração de programa para dimensionamento e

detalhamento de pilares retangulares submetidos a

flexo-compressão normal com armadura distribuída

ao longo das faces

AUTOR : ALBERTO SMANIOTTO

2002-2 UFSC

Page 2: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 0

UNIVERSIDADE FEDERAL DE SANTA CATARINA

DEPARTAMENTO DE ENGENHARIA CIVIL

Trabalho de conclusão de curso

Título: Elaboração de programa para dimensionamento e

detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces

Autor: Alberto Smaniotto Banca examinadora: Daniel D. Loriggio (Orientador) Roberto Caldas de A. Pinto Narbal Ataliba Marcelino

Page 3: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 1

ÍNDICEÍNDICEÍNDICEÍNDICE 1. Introdução.............................................................................................................................6

1.1 Justificativa ..................................................................................................................................... 6 2. Visual Basic ..........................................................................................................................7

2.1 Por quê Visual Basic ? .................................................................................................................... 7 2.2 Sobre o Visual Basic ....................................................................................................................... 7

3. Teoria....................................................................................................................................8 3.1 Convenção de sinais........................................................................................................................ 8 3.2 Geometria da seção e arranjo da armadura ..................................................................................... 9 3.3 Diagrama tensão-deformação do aço............................................................................................ 10 3.4 Domínio de deformações e curvatura ........................................................................................... 12

3.4.1 Domínios e Regiões ............................................................................................................... 12 3.4.2 Equações de compatibilidade................................................................................................. 13 3.4.3 Limites entre domínios........................................................................................................... 16 3.4.4 Curvaturas .............................................................................................................................. 17

3.5 Esforços resistentes do concreto ................................................................................................... 19 3.5.1 Introdução .............................................................................................................................. 19 3.5.2 Hipótese de Cálculo ............................................................................................................... 19 3.5.3 Diagrama tensão-deformação do concreto............................................................................. 20 3.5.4 Equações gerais...................................................................................................................... 21

3.5.4.1 Equação de compatibilidade – deformação εc’ na fibra genérica ................................... 21 3.5.4.2 Encurtamento mínimo..................................................................................................... 21 3.5.4.3 Resultante Rcc e sua posição............................................................................................ 22 3.5.4.4 Outras relações................................................................................................................ 23

3.5.5 Divisão do estudo em 2 casos ................................................................................................ 24 3.5.6 E.L.U. (Estado limite último)................................................................................................. 25 3.5.7 Caso particular: Compressão uniforme.................................................................................. 26 3.5.8 Cálculo de η e η’ para seção retangular ................................................................................ 27

3.5.8.1 Cálculo de η no caso 1 (εc ≤ 2) ....................................................................................... 27 3.5.8.2 Cálculo de η’ no caso 1 (εc ≤ 2)...................................................................................... 27 3.5.8.3 Cálculo de η no caso 2 (εc > 2)....................................................................................... 28 3.5.8.4 Cálculo de η’ no caso 2 (εc > 2)...................................................................................... 28

3.6 Flexão Normal Composta ............................................................................................................. 29 3.6.1 Equações de equilíbrio ........................................................................................................... 29 3.6.2 Cálculo da armadura .............................................................................................................. 31 3.6.3 Solução alternativa................................................................................................................. 34 3.6.4 Coeficiente K ......................................................................................................................... 34 3.6.5 Zonas de Solicitação .............................................................................................................. 34 3.6.6 Limites entre as zonas ............................................................................................................ 36

3.6.6.1 Limite AC ....................................................................................................................... 36 3.6.6.2 Limite EC........................................................................................................................ 36 3.6.6.3 Limite da zona O............................................................................................................. 37

3.6.7 Complemento sobre a zona E................................................................................................. 38 4. Itens do Projeto de Revisão da NB1 /2001 e considerações sobre o programa.................39

4.1 Automáticos .................................................................................................................................. 39 4.1.1 Sub Ler01 – (2390-2424)....................................................................................................... 39 4.1.2 Sub Programa0 – (500) .......................................................................................................... 39 4.1.3 Categorias de aço ................................................................................................................... 39

Page 4: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 2

4.1.4 Sub CoeficienteAdic25 .......................................................................................................... 39 4.1.5 Sub Bitolas22 (7704) + Sub Asreal23 (7735 e 7785) ............................................................ 40 4.1.6 Sub Bitolas22 (7722) + Sub Asreal23 (7731)........................................................................ 40 4.1.7 Sub Estribo28......................................................................................................................... 40 4.1.8 Sub Cobrimento27 ................................................................................................................. 40 4.1.9 Sub AsMinMax24 (7801-7815) e (7820)............................................................................... 41 4.1.10 Sub Espaçamento26 (7940-7980) e (8140-8220) ................................................................ 41 4.1.11 Sub EstriboSuplementarH29 e EstriboSuplementarV30 ..................................................... 42

4.2 Não automáticos............................................................................................................................ 42 4.2.1 Valor de Es (módulo de elasticidade do aço)......................................................................... 42 4.2.2 Valores de γs e γc................................................................................................................... 42 4.2.3 Detalhamento das armaduras ................................................................................................. 42 4.2.4 Espaçamentos das armaduras................................................................................................. 43 4.2.5 Estribos suplementares........................................................................................................... 43 4.2.6 Classe de agressividade ambiental. ........................................................................................ 43

5. Manual do Programa ..........................................................................................................43 5.1 Modos de uso ................................................................................................................................ 44

5.1.1 Botão “Calcula” ..................................................................................................................... 44 5.1.2 Botão “Calcula melhor solução”............................................................................................ 44

5.2 Dados de entrada........................................................................................................................... 45 5.2.1 Dimensões:............................................................................................................................. 45 5.2.2 Arranjo ................................................................................................................................... 45 5.2.3 Esforços e resistências ........................................................................................................... 46 5.2.4 Estribos................................................................................................................................... 46 5.2.5 Cobrimento............................................................................................................................. 48 5.2.6 Outros..................................................................................................................................... 48

5.3 Dados de saída .............................................................................................................................. 49 6. Exemplos ............................................................................................................................51 7. Conclusões .........................................................................................................................62 8. Referências Bibliográficas ..................................................................................................63 9. Anexos................................................................................................................................64

9.1 - Sub Programa0............................................................................................................................ 66 9.2 - Sub dLinha01.............................................................................................................................. 68 9.3 - Sub Ler02.................................................................................................................................... 69 9.4 - Sub Sarran1R03.......................................................................................................................... 71 9.5 - Sub Aço04 .................................................................................................................................. 72 9.6 - Sub SigSd05................................................................................................................................ 73 9.7 - Sub SNiCrit06............................................................................................................................. 73 9.8 - Sub SBxTeta07 ........................................................................................................................... 74 9.9 - Sub SEta08.................................................................................................................................. 74 9.10 - Sub SEtalin09 ........................................................................................................................... 76 9.11 - Sub SConstZ10 ......................................................................................................................... 77 9.12 - Sub SEpSig11 ........................................................................................................................... 78 9.13 - Sub SKapa12 ............................................................................................................................ 79 9.14 - Sub SMiACEC13...................................................................................................................... 79 9.15 - Sub SMiZero14......................................................................................................................... 80 9.16 - Sub Szona15 ............................................................................................................................. 82 9.17 - Sub SRO16 ............................................................................................................................... 84 9.18 - Subs: SProc_AK20, SProc_BK19, SProc_BC17 .................................................................... 86 9.19 - Sub SEc1Bx18.......................................................................................................................... 89

Page 5: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 3

9.20 - Sub Critico21............................................................................................................................ 90 9.21 - Sub Bitolas22............................................................................................................................ 91 9.22 - Sub AsReal23 ........................................................................................................................... 92 9.23 - Sub AsMinMax24.................................................................................................................... 93 9.24 - Sub CeoficienteAdic25............................................................................................................. 94 9.25 - Sub Espaçamento26.................................................................................................................. 95 9.26 - Sub Cobrimento27.................................................................................................................... 97 9.27 - Sub Estribo28............................................................................................................................ 98 9.28 - Sub Peso29.............................................................................................................................. 100 9.29 - Sub Ganchos41 ....................................................................................................................... 101 9.30 - Sub CobNominal40 ................................................................................................................ 101 9.31 - Sub GuardaValores42............................................................................................................. 102 9.32 - Sub EscolheValores43............................................................................................................ 102 9.33 - Sub ValoresnoForm1144........................................................................................................ 103 9.34 - Sub Taxaminima45................................................................................................................. 104 9.35 - Sub Desenha35 ....................................................................................................................... 105 9.36 - Sub DesenhaSup36 ................................................................................................................. 109 9.37 - Sub Unidades30...................................................................................................................... 113 9.38 - Sub Zera31.............................................................................................................................. 115 9.39 - Sub Grava32 ........................................................................................................................... 116 9.40 - Sub Carrega33 ........................................................................................................................ 117 9.41- Sub Imprime37 ........................................................................................................................ 118 9.42 - Funções atribuídas a commands, options, checks ..., comandos para não permitir digitação indesejáveis em alguns campos de texto........................................................................................... 119 9.43 - Código do Form2.................................................................................................................... 128 9.44 - Código do Form4.................................................................................................................... 128 9.45 - Código do Form5.................................................................................................................... 130 9.46 - Código do Form6.................................................................................................................... 131 9.47 - Código do Form7.................................................................................................................... 131 9.48 - Código do Form8.................................................................................................................... 132 9.49 - Código do Form9.................................................................................................................... 133 9.50 - Código do Form10.................................................................................................................. 145 9.51 - Código do Form 11................................................................................................................. 148 9.52 - Module1.bas............................................................................................................................ 150 9.53 - Resumo da função das sub-rotinas do Form1 e variáveis utilizadas. ..................................... 152 9.54 - Formulários............................................................................................................................. 159

Page 6: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 4

1. Introdução Este trabalho tem como objetivo a elaboração de um programa para cálculo e detalhamento de pilares de seção retangular com armadura simétrica em todo o perímetro, submetidos a flexo-compressão normal . Válido para concreto com Fck inferior a 50 Mpa. O procedimento de cálculo utilizado é de acordo com o Método das Zonas de Solicitação de Lauro Modesto dos Santos. O procedimento utilizado no programa consiste em calcular a bitola necessária para resistir aos esforços aplicados, sendo que as dimensões da seção e o arranjo da armadura devem ser previamente definidos. O Programa também tem uma opção de busca pela melhor solução. Serão testadas todas as combinações de arranjo de armadura possíveis para a seção dada. Depois de excluídas aquelas que não respeitam as indicações da norma, serão classificadas até 40 opções em ordem crescente de consumo de aço (Kg), para a escolha do usuário. Todos os resultados deverão respeitar as indicações do Projeto de Revisão da NB1 /2001.

O programa foi desenvolvido em Visual Basic 6.0 1.1 Justificativa

Alguns anos atrás os engenheiros tinham menos disponibilidade de computadores para facilitar o processo de cálculo de estruturas. Isso nunca foi um motivo que impedisse a Construção de grandes obras de todos os tipos, inclusive as de concreto armado.

As teorias e os procedimentos adotados naquele tempo, e até mesmo hoje em dia, possuem simplificações e tabelas que possibilitam o cálculo manual num tempo admissível, com a obtenção de resultados que vêm sendo provados na prática, serem satisfatórios do ponto de vista da engenharia em termos de segurança e economia.

Com o uso correto e consciente dos computadores e de alguns softwares podemos reduzir muito o tempo de cálculo e eliminar erros decorrentes do cálculo braçal. Além disso, e também mais importante, é o fato de podermos utilizar outras bases teóricas para elaborar procedimentos de cálculo que antes eram inviáveis por serem extremamente demorados se feitos a mão.

Com a possibilidade do uso de métodos menos simplificados, baseados em modelos que em alguns casos podem representar melhor a realidade do comportamento da estrutura, podemos chegar a resultados com menor margem de erro, proporcionando economia junto à segurança.

Outro recurso importante, é possibilidade testar várias situações de projeto num tempo reduzido, para escolhermos aquela que nos é mais adequada. No caso do software desenvolvido, estas diferentes situações são em função das dimensões do pilar, resistência do concreto,tipo de aço, escolha do diâmetro e disposição das armaduras. Sabido os esforços aplicados no pilar, é possível testar pilares com diferentes dimensões e detalhamento de armadura em pouco tempo, a fim de buscar a solução mais conveniente para o engenheiro.

Durante toda a elaboração do trabalho, foram empregados conhecimentos principalmente à respeito de linguagem de programação em Visual Basic, prescrições normativas (Projeto de Revisão da NB1 /2001) e sobre a teoria das Zonas de Solicitações para dimensionamento de pilares. Durante todo o processo, foram absorvidos conhecimentos nas áreas de programação, cálculo estrutural em concreto armado e de prescrições normativas, que são assuntos que considero muito importantes para minha vida profissional futura. Além do conhecimento adquirido, o próprio software em si, poderá ser utilizado na vida profissional.

Page 7: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 5

2. Visual Basic 2.1 Por quê Visual Basic ?

Foram vários os motivos que me levar a escolher a utilização do Visual Basic para desenvolver o software. É um programa que permite a criação de aplicativos compatíveis com Windows, com a linguagem BASIC. Esta é a mesma linguagem utilizada em PASCAL, que foi visto na matéria INE (Introdução as Ciências da Computação) durante o curso de Engenharia Civil.

O Visual Basic possibilita a criação de aplicativos usando uma linguagem de programação compreensível e fácil de escrever. A linguagem Basic é muito parecida à um algoritmo escrito em inglês, onde os comandos são simples e diretos. 2.2 Sobre o Visual Basic O Visual Basic consiste em uma linguagem de programação orientada a eventos. Isto significa que todas as ações que ocorrem durante a execução do programa são estruturadas nos eventos dos objetos. Por exemplo: se existir um Botão chamado Botão1, e o usuário clicar sobre ele, será acionado o evento Botão1.Click do Botão1. Caso seja dado um duplo clique, será acionado o evento Botão1.DblClick (duplo click) do Botão1.

No Visual Basic, o código não precisa ser executado numa ordem certa, como no pascal, por exemplo, quem define a ordem em que as rotinas vão ser chamadas é o usuário, de acordo com os controles e comandos que ele For chamando. Neste segundo caso, as aplicações são orientadas a eventos, que executam porções de código de acordo com eventos produzidos pelo utilizador ou pelo sistema, conseqüentemente, a ordem de execução do código depende dos eventos produzidos, que, por sua vez, dependem das ações do usuário e/ou eventos do sistema, ao contrário das aplicações "procedurais" (desenvolvidas usando Pascal tradicional), em que o fluxo da aplicação segue por um caminho definido, executando procedimentos de acordo com as necessidades.

Os comandos usados no Visual Basic são basicamente os mesmos usados no Basic, com a diferença de que foram ampliados para satisfazer as necessidades de uma aplicação voltada para Ambientes Gráficos. Aliás, o Visual Basic serve para gerar aplicações que serão executadas em ambientes gráficos como o Windows.

O Visual Basic é considerado por muitos como uma revolução no mundo da Informática, isto devido à sua versatilidade e relativa facilidade de aprendizado comparado a outras linguagens. Com a utilização do Visual Basic, o programador pode Construir aplicativos mais robustos para ambiente Windows, em menos tempo. O editor de menu permite ao programador, criar objetos (botões, barra de rolagem...) visualmente de maneira direta, sem a necessidade de desenvolve-los por meio de códigos. Os menus, botões, caixas de texto... do software desenvolvido, são todos parecidos àqueles que estamos acostumados a utilizar nos diversos programas convencionais, sem a necessidade do ”trabalho braçal” para sua criação.

Page 8: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 6

3. Teoria

Os pilares são elementos estruturais responsáveis pela transmissão das cargas provenientes das vigas para a fundação. Estão submetidos a vários tipos de solicitação decorrentes das várias combinações de carregamentos, como esforço do vento, peso próprio, cargas acidentais, retração do concreto, variação de temperatura, efeitos de segunda ordem entre outros.

Para dimensionamento, os pilares são divididos em três grupos básicos. Cada um desses grupos apresenta uma rotina de cálculo que possui uma metodologia e parâmetros específicos a considerar. Obviamente não estão inclusos, nestes grupos os pilares parede, que fazem parte de um assunto somente abordado na pós graduação.

Os três grupos são:

1º) Força normal centrada

Nesses pilares os efeitos do momento fletor não são considerados e somente o esforço normal de compressão é levado em conta para efeito de cálculo. Porém esse esforço normal é majorado de maneira a considerar os efeitos da excentricidade acidental e da excentricidade de segunda ordem.

2º) Flexo-compressão normal

Fazem parte deste grupo os pilares externos da edificação, com exceção dos pilares de canto. Existem dois esforços a considerar que são o momento fletor que tem mesma direção que um dos eixos de simetria da seção retangular e esforço normal de compressão.

3º) Flexo-compressão oblíqua.

Esses são os pilares de canto, que estão submetidos a um momento fletor resultante que não coincide com nenhum dos eixos de simetria da seção. Podemos decompor o momento resultante nas duas direções de simetria do pilar (no caso de seção retangular), e considerar dois momentos fletores, um na direção y e outro na direção x, considerando como eixo z o próprio eixo do pilar. Além disso ainda existe o esforço de compressão axial na direção. 3.1 Convenção de sinais Em todos os estudos de equações e gráficos, será adotada a seguinte convenção de sinais:

forças e tensões de compressão e deformação de encurtamento: Sinal Positivo + forças e tensões de tração e deformação de alongamento: Sinal Negativo –

Embora a convenção internacional de sinais seja o contrário, admitimos que a convenção acima é a mais adequada ao cálculo de concreto armado, já que o concreto trabalha à compressão e na maioria dos casos, Nd é uma força normal de compressão.

Page 9: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 7

3.2 Geometria da seção e arranjo da armadura

As dimensões da seção retangular e o arranjo da armadura deverão ser previamente definidos para o programa calcular a armadura (bitola) necessária para resistir aos esforços aplicados.

Para definição da seção de concreto, são necessários apenas dois valores: base e altura, já que a seção é retangular. Já para o arranjo das armaduras, é preciso que o programa calcule alguns valores para serem usados nos cálculos posteriores. Serão explicados abaixo, quais as incógnitas necessárias para o desenvolvimento do programa.

O arranjo será sempre com duplo eixo de simetria, barras de mesma bitola e camadas de barras uniformemente espaçadas. O cobrimento será igual em todas as faces. Sabendo isso, serão fornecidos ao programa, os seguintes dados para definição do arranjo:

OBS: As barras dos cantos são contadas 2 vezes (1 vez em nX e outra em nY).

01 - b = Base do pilar (cm) 02 - h = Altura do pilar (cm) 03 - d = distância do centro de gravidade da 1a camada de barras até a borda inferior 04 - nx = Número de barras na primeira e última camada 05 - ny = Número de camadas de barras Neste exemplo os valores seriam: b = 30 cm Fig. 2.1 h = 80 cm exemplo de arranjo d´= 3 cm nx = 4 barras ny = 6 camadas

A figura seguinte indica a notação empregada. As cama- as de barras de aço são numeradas de baixo para cima, de 1 a ny. Fig. 2.2 arranjo da armadura

Page 10: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 8

ny = número de camadas di = distância da camada genérica i à borda superior ni = número de barras na camada i Asi = soma das áreas das barras da camada i As = área total de aço na seção As,unit = área de uma só barra n = número total de barras de aço h = altura total da seção d´1 = distância do centro de gravidade da 1a camada 1 de barras até a borda inferior d´2 = distância do centro de gravidade da 1a camada ny de barras até a borda inferior Variáveis adimensionais: βi = di / h δ1 = d´1 / h δ2 = d´2 / h Importante : Como teremos sempre seção simétrica, d 1 = d´2 = d´ e δ1 = δ2 = δ, então: δ = d / h Todos estes dados serão calculados na sub SArran1R03 3.3 Diagrama tensão-deformação do aço Os diagramas tensão-deformação admitidos pela norma brasileira estão apresentados a seguir:

a) Aços de dureza natural (Aço Classe A). Equações Constitutivas: σsd = Es . εsd para 0 ≤ εsd ≤ εyd σsd = fyd para εsd > εyd

Fig. 3.1 Diagramaσs - εs para aços de dureza natural

Page 11: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 9

b) Aços encruados a frio (Aço Classe B).

Equações Constitutivas: σsd = Es . εsd para 0 ≤ εsd ≤ 0,7 . fyd / Es σsd = fyd para εsd > εyd no trecho curvo:

2)7,0(45

1 −+=yd

sd

s

sdsd fE

σσε

válido para 0,7 . fyd / Es ≤ εsd ≤ εyd Fig. 3.2 Diagramaσs - εs para aços encruados a frio

nos interessa a equação inversa, que resulta:

A

ACBBsd 2

42 −+=σ

com 245

1

ydfA = ;

sydEf

B1

45

4,1 −= ; sdC ε−=45

49,0

onde: fyd = fyk / γs σsd = valor de cálculo da tensão do aço Es = módulo de elasticidade do aço εsd = deformação específica do aço (em o/oo) εyd = deformação no aço correspondente ao início do escoamento (em o/oo) fyd = resistência de cálculo do aço fyk = resistência característica do aço γs = coeficiente de minoração da resistência do aço Observações:

a) Recomenda-se para o módulo de elasticidade do aço o valor: Es = 210 000 N / mm2 b) Os gráficos apresentados são relativos à tração. Para compressão, admite-se o mesmo módulo

Es, e os gráficos são os mesmos, naturalmente com εsd limitado a 3,5 o/oo , devido ao concreto. c) A equação σsd = f(εsd) do trecho curvo do gráfico para aços encruados a frio, é de segundo

grau. Ela admite duas raízes, sendo que a segunda solução seria dada por B- , que não

interessa. d) Nas fórmulas acima, deve-se considerar εsd sempre positivo. Se o sinal de εsd For negativo,

troca-se o sinal de σsd após o cálculo.ε ε

Page 12: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 10

3.4 Domínio de deformações e curvatura 3.4.1 Domínios e Regiões

Nas peças de concreto armado, poderemos encontrar os esforços solicitantes Nd e Md, atuando isoladamente ou em conjunto: tração centrada, compressão centrada, flexão simples e flexão composta, normal ou oblíqua. Em qualquer um dos casos, devemos definir os limites de deformação das fibras, que corresponderiam ao estado limite último da seção transversal. O diagrama de distribuição das deformações ao longo da altura da seção será dado por uma reta que passará necessariamente por um dos pontos A, B ou C que chamaremos de pólos de ruína. Ao atingir os pólos de ruína, dizemos que a peça está submetida ao E.L.U. (estado limite último de “ruptura”).

Fig. 4.1 Domínio de deformações Para determinar a distribuição de deformações em todos os pontos da seção transversal, isto é, para estabelecer as equações de compatibilidade, não é necessário considerar os 5 domínios mostrados acima. Eles podem ser agrupados em domínios maiores, que chamaremos de regiões. Há 3 regiões, correspondentes aos 3 pólos de ruína:

Fig. 4.2 As três regiões Região I – correspondente ao pólo de ruína B. Região II – correspondente ao pólo de ruína A. Região III – correspondente ao pólo de ruína C.

Page 13: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 11

3.4.2 Equações de compatibilidade. As equações de compatibilidade fornecem a deformação em qualquer ponto da seção transversal, em função de h, x, di e d que devem ser previamente conhecidos. Será considerado que as deformações são Constantes ao longo de uma “fibra” da seção (reta paralela á linha neutra), de modo que basta determinar a variação das deformações ao longo da altura h, perpendicular a LN. Vamos determinar a deformação εsdi na camada genérica i de barras de aço. Região 1 – Refere-se ao pólo B e engloba o domínio 5. O diagrama de deformações é do tipo apresentado abaixo, onde x é a profundidade da linha neutra. O encurtamento na borda superior é εc e na borda inferior εc1. Todas as deformações serão dadas em o/oo.

Fig 4.3 Deformação na Região I

Na região I, todas as retas que definem as deformações giram em torno do pólo B, onde a deformação é sempre igual a 2.

hxx =β (4.1)

hdi i=β (4.2)

⇒−

=−

=hxh

xxc

3714

73

37.14−

=x

xcβ

βε

(4.3)

⇒−

=−

=− hxh

xhxc

3714

73

21ε

37)1.(14

1−−=

x

xcββε (4.4)

Invertendo (4.3) e (4.4) temos:

Page 14: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 12

1473

−=

c

cx ε

εβ (4.5)

147143

1

1

−−=

c

cx ε

εβ (4.6)

Deformação εsdi :

⇒=− xdx

c

i

sdi εε

x

ixcsdi β

ββεε −= . (4.7)

levando em conta (4.3): 37

).(14−−=

x

ixsdi β

ββε (4.8)

No programa, será usada uma dessas equações de compatibilidade ( a que For mais conveniente). É necessário tomar cuidado: quando εc1 = 2, βx tende para o infinito, como mostra a eq. (4.6). Região II – Refere-se ao pólo A (3,5 o/oo). Engloba os domínios 3, 4 e 4a.

Fig 4.4 Deformação na Região II

⇒−

=i

sdi

dxx

ε5,3

x

ixsdi β

ββε −= 5,3 (4.9)

Page 15: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 13

Observe que (4.9) é a mesma (4.7) com εc Constante e igual a 3,5. Se a fibra considerada estiver abaixo da L.N., a fibra tracionada, εsdi resultará automaticamente negativo pela (4.9), pois neste caso; di > x ou βi > βx Região III – Refere-se ao pólo de ruína C (-10 o/oo). Engloba os domínios 1 e 2.

Fig. 4.5 Deformação na região III

⇒−−

=− xdhdx i

sdi

'

10ε ⇒

−−−

=xdh

dx isdi '

).(10ε x

ixsdi βδ

ββε−−−

=1

).(10 (4.10)

Relação entre εc e βx:

⇒−−

=− xdhdx i

c

'

10ε

x

xc βδ

βε−−

=1

.10 (4.11)

Reciprocamente: 10

)1.(

+−

=c

cx ε

δεβ (4.12)

A (4.11) mostra que: x

c

x βδβε

−−=

1

10; levando essa relação na eq. (4.10), temos:

x

ixcsdi β

ββεε −= . (4.13)

Page 16: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 14

Vemos que a (4.13) é a mesma (4.7), repetida em (4.9). A eq. (4.7) é geral: vale em todas as regiões.

Em todas as fórmulas apresentadas, o sinal εsdi resulta automaticamente.

Na região III é preciso tomar cuidado: a eq. (4.12) mostra que, quando εc = -10 (tração centrada), βx tende para o infinito. 3.4.3 Limites entre domínios

No programa desenvolvido, será importante conhecer os limites entre alguns domínios ou regiões. Assim, dado βx, já sabemos em que domínio ou região nos encontramos. Isto também é necessário, para não haver risco de cairmos em fórmulas que nos levariam a “loopins” contínuos ou divisão por zero. Outra vantagem, é que podemos conseguir atingir resultados, com menor número de interações. Os limites que nos interessam são 3:

01 – Limite entre domínios 1 e 2: ββββxLim 1-2 02 – Limite entre domínios 2 e 3, ou regiões III e II: ββββxLim III-II 03 – Limite entre domínios 4a e 5, ou regiões II e I: ββββxLim II-I

Considerando o diagrama genérico de deformações da figura abaixo, onde εc pode variar de -10 até 3,5 e εs de –10 até 3,5δ, para as regiões III e II.

Fig 4.6 Diagrama genérico de deformações

⇒−−

−=

xdhxsc

'

εε isolando x ⇒

−−

=⇒sc

c dhx

εεε )'.(

dividindo tudo por h:

sc

cx εε

δεβ−−

=)1.(

(4.14)

onde εc e εs entram com seus sinais. Visto que βx→∞ na tração uniforme e na compressão uniforme. Observando a Fig. Domínio de deformações, verificamos os limites entre os domínios:

Page 17: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 15

Domínios 1 e 2: εc = 0 e εs = -10. Substituindo em (4.14) temos:

⇒=+

−= 0100

)1.(0 δβ x ββββxLim 1-2 = 0 (4.15)

Domínios 2 e 3 ou regiões III e II: εc = 3,5 e εs = -10. Substituindo em (4.14) temos:

⇒−=+

−= )1.(5,13

5,3

105,3

)1.(5,3 δδβ x ββββxLim III-II = )1.(5,13

5,3 δ− (4.16)

Domínios 4a e 5 ou regiões II e I: Observamos diretamente que x = h

⇒=== 1h

h

h

xxβ ββββxLim II-I = 1 (4.17)

3.4.4 Curvaturas Demonstra-se que a curvatura do eixo da peça numa seção considerada é dada por:

crcc 321 εε −

= (4.18)

com as deformações expressas em números puros, onde: εc2 - εc3 = diferença entre as deformações existentes em duas fibras quaisquer c = distância entre duas fibras quaisquer (medida perpendicularmente à L.N.)

r

1 = curvatura. Grandeza com dimensão: pode ser expressa em cm-1 , por exemplo.

Para trabalhar com adimensionais, o que é vantajoso, define-se uma curvatura majorada adimensional θ:

rh

1.1000=θ (4.19)

Se considerarmos c = x, teremos (εc2 - εc3) = (εc - 0), levando esta relação em (4.18):

xxcrccc εεεε

=−

=−

=01 32 (com εc em número puro). Substituindo esta relação em (4.19):

x

cc

xh

rh

βεεθ 1000.1000

1.1000 === (com εc em número puro), ou ainda:

x

c

βεθ = (4.20)

com εc em o/oo

Page 18: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 16

A relação (4.20) requer cuidado: no caso particular de βx = 0, εc também se anula, e θ fica indeterminado. É necessário tomar outro ponto. Escolhamos um ponto na L.N. e outro na camada 1 de barras: temos: c = h - d' εc2 = 0 εc3 = -10 substituindo em (4.18):

Fig 4.7 Caso Particular: βx = 0

'

10

'

)10(01 32

dhdhcrcc

−=

−−−=

−=

εε

r

1 já está multiplicado por 1000; então:

δθ

−=

−=

1

10

'

10.

dhh (4.21)

A escolha de pontos nos mesmos locais também pode ser feita quando βx For negativo (L.N. acima da borda superior). Estaremos então no domínio 1 da região III, sendo εc negativo (só há trações).

'

10

'

)10(1 32

dhdhcrcccc

−+

=−

−−=

−=

εεεε

δεθ

−+

=1

10c (4.22)

Observe que a (4.21) é um caso particular de (4.22), em que εc = 0. Quando εc = -10 (tração uniforme), a (4.22) mostra que θ = 0 (a curvatura é nula na tração uniforme, assim como na compressão uniforme).

Page 19: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 17

3.5 Esforços resistentes do concreto 3.5.1 Introdução

Os esforços resistentes do concreto (força normal e momento fletor) tornam-se conhecidos quando se determina a resultante Rcc de tensões de compressão no concreto e a sua posição.

Introduzamos dois coeficientes adimensionais. Por definição:

ccd

cc

A

R

.ση = (5.1)

hA

aR

ccd

cc

..

.'

ση = (5.2)

onde: η = força normal resistente do concreto reduzida adimensional; η’ = momento fletor resistente do concreto, em relação à borda mais encurtada, reduzida adimensional; Ac = área de concreto (seção transversal); a = distância de Rcc à borda mais encurtada; h = altura da seção; Rcc = resultante de tensões de compressão no concreto

Os coeficientes η e η’ serão deduzidos em função da curvatura e do encurtamento máximo da seção, com fórmulas gerais, decorrendo o E.L.U. como caso particular.

O cálculo será baseado no diagrama retangular-parabólico de tensões do concreto.

As tensões de compressão e os encurtamentos serão considerados positivos. O momento fletor é suposto sempre positivo, tracionando a borda inferior da seção e comprimindo a borda superior (borda 2). 3.5.2 Hipótese de Cálculo a) As seções transversais permanecem planas após a deformação. Daí resulta ser linear a distribuição

das deformações ao longo da altura da seção.fig 5.2 b) Como o estudo é feito para deformações quaisquer até a ruptura, as retas que definem as

deformações são quaisquer, respeitando os domínios de deformação quando o E.L.U. de “ruptura” é atingido.

c) O diagrama tensão deformação do concreto é composto por uma parábola de 2o grau e um patamar de 2 o/oo

a 3,5 o/oo, de acordo com a fig 5.1

Page 20: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 18

3.5.3 Diagrama tensão-deformação do concreto. No E.L.U. (estado limite último de ruptura), adota-se para o concreto um diagrama tensão-deformação retangular-parabólico, conforme a Fig 5.1. - Parábola de 2o grau para εc de 0 a 2 o/oo, seguida de

um patamar de 2 o/oo a εcu. - Encurtamento relativo último εcu vale:

εcu = 3,5 o/oo para fck ≤ 50 N/mm2.

εcu = 3,5. fck

50 para 50 N/mm2 ≤ fck ≤ 80 N/mm2. Fig 5.1 Diagramaσc - εc

- Tensão genérica σc no concreto, em função de εc (em o/oo).

)4.(4

. cc

cdc εεσσ −= para εc < 2 (5.3)

cdc σσ = para 2 ≤ εc ≤ εcu (5.4)

- Ordenada máxima: c

ckcdcd

ff

γσ 85,085,0 == (5.5)

Onde: σc = tensão no concreto σcd = resistência do concreto usada no cálculo em E.L.U fck = resistência característica do concreto fcd = resistência de cálculo do concreto γc = coeficiente de minoração da resistência do concreto Observações: a) Para εc negativo (alongamento): σcd = 0. b) Para compressão centrada: εcu = 2 c) O programa adotará sempre εcu = 3,5 já que no Brasil, não se usa fck superior a 50N/mm2, a não

ser que trate de concreto de alto desempenho (com micro-sílica), que não será abordado no programa. Fica sabido então, que o programa só servirá para concreto com fck inferior a 50N/mm2.

Page 21: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 19

3.5.4 Equações gerais 3.5.4.1 Equação de compatibilidade – deformação εc’ na fibra genérica - εc = encurtamento máximo (na borda superior) - εc1 = deformação na borda 1 (borda inferior); pode ser positivo

ou negativo - εc’ = deformação numa fibra genérica, à distância y da borda

superior A Fig. 5.2 mostra que:

x

yxcc

)(.'

−= εε (5.6)

Fig. 5.2 Deformação genérica εc’

3.5.4.2 Encurtamento mínimo Para deduzir as fórmulas que virão nos próximos itens, é interessante considerar o encurtamento mínimo εco conforme a Fig. 5.3

Fig 5.3 Encurtamento mínimo εco

Observamos que:

- εco é nulo quando a L.N. está dentro da seção: εco = 0 quando x ≤ h (5.7)

- εco = εc1 quando a L.N. seta fora da seção:

x

hxcco

)(.

−= εε quando x > h (5.8)

Page 22: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 20

3.5.4.3 Resultante Rcc e sua posição A resultante de compressão Rcc no concreto e sua posição (definida pela distância a da Fig 5.4) podem ser calculadas através das integrais abaixo:

Fig. 5.4 Resultante Rcc e sua posição

∫=x

ccc dybR0

..'σ se x ≤ h ou ∫h

c dyb0

..'σ se x > h (5.9)

∫=x

ccc dyybaR0

...'. σ se x ≤ h ou ∫h

c dyyb0

...'σ se x > h (5.10)

onde: σc’ = tensão numa fibra genérica b = largura da seção no nível y dy = espessura da área elementar no nível y y = distância da seção até a borda superior

Page 23: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 21

3.5.4.4 Outras relações No item 3.4.4, foi visto que:

θεβ c

x = (5.11)

onde h

xx =β (5.12)

é a profundidade da linha neutra, e

rh

1..1000=θ (5.13)

é a curvatura na seção (majorada adimensional) Com o emprego das relações (5.11) e (5.12), as fórmulas (5.7) e (5.8), que definem εco , podem ser escritas de outra forma: εco = 0 para εc ≤ θ (5.14) εco = εc1 = εc - θ para εc > θ (5.15) isolemos y em (5.6); considerando (5.11) e (5.12), chega-se a:

)'.( cc

hy εε

θ−= (5.16)

derivando-se em relação a εc‘:

θεh

d

dy

c

−='

; donde: '. cdh

dy εθ

−= (5.17)

Page 24: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 22

3.5.5 Divisão do estudo em 2 casos Voltemos as integrais (5.9) e (5.10): σc` é função de εc`: y e dy também o são, de acordo com (5.16) e (5.17). Quanto a b, é função de y - Fig. 5.4 - e, portanto, de εc`. Podemos então trabalhar com a variável εc` e não com a variável y, isto é, integrar de εc a εco - Fig. 5.5 -, em vez de integrar de 0 a x ou de 0 a h. Os quatro casos da - Fig. 5.5 - ficam reduzidos a dois:

Fig. 5.5 Dois casos a considerar 1o caso: εc ≤ 2 2o caso: εc > 2 (as deformações são sempre dadas em o/oo) Naturalmente, as fórmulas de η e η’ conterão : εco, que valerá 0 ou (εc - θ) segundo (5.14) e (5.15) - conforme se tenha εc ≤ θ ou εc > θ (βx ≤ 1 ou βx > 1, isto é L.N. dentro ou fora da seção). No caso 2 é necessário exigir: εc ≤ 3,5 se εc ≤ θ (5.18)

εc ≤ 2 +7

3θ se εc > θ (5.19)

para respeitar o E.L.U. (estado limite último) de “ruptura”.

Page 25: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 23

3.5.6 E.L.U. (Estado limite último)

Os coeficientes η e η’ são dados em função de εc e de θ, como se verá a seguir.

As fórmulas que serão deduzidas valem para qualquer fase de solicitação. No caso particular de E.L.U., os pares εc , θ devem ser tais que as retas dos domínios de deformações (Fig. 4.1) sejam consideradas. Sabemos que βx = εc/θ e já vimos também que, dado βx, fica caracterizada a região e/ou o domínio (item 3.4.3). Ainda mais, conhecido a região, fica determinado o pólo de ruína. Conclusão: βx é suficiente para fixar a correspondente reta de distribuição das deformações ao longo da altura da seção, pois ficamos com dois pontos dessa reta: o pólo e sua interseção com a L.N.

Assim, respeitando-se os domínios de deformações, temos as seguintes expressões que fornecem εc e θ últimos, a partir de um valor qualquer de βx:

37

14

−=

x

xc β

βε e 37

14

−=

xβθ para βx > 1 (5.20)

5,3=cε e xβ

θ 5,3= para )1(5,13

5,3 δ− ≤ βx ≤ 1 (5.21)

x

xc βδ

βε−−

=1

.10 e

xβδθ

−−=

1

10 para βx < )1(

5,13

5,3 δ− (5.22)

As fórmulas acima, de (5.20) a (5.22) Constam na sub-rotina SBxTeta07, que calcula θ em função de βx.

Page 26: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 24

3.5.7 Caso particular: Compressão uniforme

Nos itens a seguir, em todas as fórmulas deduzidas para o cálculo dos coeficientes η e η’, supõe-se que a curvatura θ não seja nula.

No caso particular da compressão uniforme, onde θ = 0, tais fórmulas não são aplicáveis. Vamos deduzir as que são adequadas a esse caso.

Para maior generalidade, imaginemos compressão uniforme com εc < 2, atingindo-se o E.L.U. com εc = 2. Pela definição (5.1): Rcc = η.σcd.Ac. Mas Rcc = σc’.Ac, onde a tensão σc’, Constante na seção, é dada por (5.3). Então:

)'4.(4

'.' c

ccdc εεσσ −= (5.3)

multiplicando tensão pela área, temos resultante de força:

ccc

cdcc AR ).'4.(4

'. εεσ −=

Na compressão uniforme: εc` = Constante = εc , de modo que:

ccdcc

cc AR .).4.(4

σεε−=

donde: )4.(4 cc εεη −= (5.23)

No E.L.U, εc = 2 e daí: η = 1 (5.24) De acordo com (5.10), e lembrando que toda a seção seta comprimida:

2

00

.........'.. SdyybdyybaR cd

h

cd

h

ccc σησησ === ∫∫

onde S2 é o momento estático da área Ac em relação à borda superior: S2 = Ac.c2, onde c2 é a distância do C.G. de Ac à borda superior. Mas, por definição: Rcc.a = η’σcd Ac h ; donde : η’σcd Ac h = η σcd Ac c2 ; resulta:

ηβηη ..' 22

ch

c== (5.25)

No E.L.U., η = 1, e daí: 2' cβη = (5.26)

Page 27: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 25

3.5.8 Cálculo de η e η’ para seção retangular 3.5.8.1 Cálculo de η no caso 1 (εc ≤ 2) Sendo εc ≤ 2, σc’ é dado por (5.3). Na seção retangular, b é Constante e Ac = b.h ; dy é dado por (5.17). Supõe-se θ ≠ 0. Aplicando (5.9), mas integrando de εc a εco , vem:

∫ −−=co

c

cc

ccdcc dh

bRε

ε

εθ

εεσ ')()4

''(

2

Utilizando-se a definição de η (5.1), tem-se:

∫ −−=co

c

ccc dε

ε

εεεθ

η ').''4(4

1 2

efetuada a integração resulta:

θεεεεη

12

)6()6( 22cococc −−−

= (5.27)

3.5.8.2 Cálculo de η’ no caso 1 (εc ≤ 2) De acordo com (5.10), levando em conta (5.16) e (5.17):

∫ −−−

=co

c

ccccc

cdcc dhh

baRε

ε

εθ

εεθ

εεσ ')).('.()4

''4(.

2

usando a definição de η‘ (5.2), vem:

∫ −−=co

c

ccccc dε

ε

εεεεεθ

η ')').(''4(4

1' 2

2

efetuada a integração resulta:

2

223

48

)341624()8('

θεεεεεεεεη cococcoccocc +−−−−

= (5.28)

Page 28: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 26

3.5.8.3 Cálculo de η no caso 2 (εc > 2)

Verificadas as condições (5.18) e (5.19), o cálculo pode prosseguir. Como εc > 2, a integral (5.9) será dividida em duas partes: de εc a 2 e de 2 a εco, com o emprego da (5.4) e (5.3), respectivamente.

∫∫ −−+−=co

c

ccc

cdccdcc dh

bdh

bRε

ε

εθ

εεσεθ

σ2

2

')(4

)'´4(.')(

2

a primeira parcela é imediata e a segunda pode aproveitar a integração já feita no item 3.5.8.1, fazendo εc = 2 no resultado (5.27). Somando as parcelas

θεεεη

12)6(812 2

cococ −−−= (5.29)

3.5.8.4 Cálculo de η’ no caso 2 (εc > 2)

∫∫ −−−+−−=co

c

ccccc

cdccccdcc dhh

bdhh

baRε

ε

εθ

εεθ

εεσεθ

εεθ

σ2

2

'))('(4

)'´4(.'))('(.

2

Efetuando as integrações e levando em conta (5.2), resulta:

[ ]2

222

48

3)4(424243216'

θεεεεεεεη coccoccocc ++−−+−

= (5.30)

Em todas as fórmulas deduzidas aparece εco, cujo valor é dado por (5.14) ou (5.15). Supões-se que θ ≠ 0.

Page 29: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 27

3.6 Flexão Normal Composta

Para o dimensionamento previsto, serão previamente fixados a seção de concreto e o arranjo da armadura. Sendo assim, o dimensionamento realizado pelo programa, consiste em determinar a bitola das barras de aço. Se a bitola diferir muito da bitola comercial mais próxima, adota-se novo arranjo e repete-se o cálculo.

Será considerado que todas as barras sejam de mesma bitola e com duplo eixo de simetria. 3.6.1 Equações de equilíbrio Considerando que a seção esteja submetida à flexão normal composta, teremos os esforços solicitantes e resistentes conforme a fig. 4.1:

Fig. 6.1 Esforços solicitantes e resistentes

Temos duas equações de equilíbrio para os esforços na seção de concreto. São elas:

a) Equilíbrio das forças normais:

0=−− açoconcretod RRN

0.1

=−− ∑ny

sdisiccd ARN σ

Page 30: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 28

Como as barras são de mesma bitola, a área de uma só barra é:

As,unit = As,tot / ntot (6.1)

A soma das áreas das barras da camada i, Asi , será:

Asi = ni . As,unit = ni . As,tot / ntot (6.2)

A equação de equilíbrio das forças normais fica:

0.1

, =−− ∑ny

sdiitot

totsccd n

n

ARN σ (6.3)

Sendo: Nd = força normal de cálculo Rconcreto = Rcc = resultante de tensões de compressão do concreto Raço = resultante de tensões do aço Asi = área de aço numa camada genérica de barras de aço As,unit = área uma só barra de aço σsdi = tensão numa camada genérica de barras de aço As,tot = área total de aço na seção ntot = numero total de barras de aço na seção ni = numero de barras de aço numa camada genérica

b) Equilíbrio de momentos em relação a borda mais encurtada:

0....1

2 =−−− ∑ny

isdisiccdd dAaRMcN σ ou:

0....1

,2 =−−− ∑

ny

isdiitot

totsccdd dn

n

AaRMcN σ (6.4)

Sendo: Md = momento fletor de cálculo c2 = distância do centro de gravidade da seção, à borda superior a = distância de Rcc à borda mais encurtada;

Tanto na eq. (6.3) como na (6.4), temos como incógnita:

1 – Rcc = f(βx)

2 – a = f(βx)

3 – σsdi = f(βx)

4 – As,tot = área total de aço

Page 31: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 29

3.6.2 Cálculo da armadura

Para calcular As,tot pela (6.3) é necessário conhecer Rcc , a e σsdi , que dependem da profundidade da linha neutra (βx). A profundidade da linha neutra, deverá então, ser calculada anteriormente. Isolando As,tot em (6.3) e (6.4), temos:

totsny

sdii

totccd A

n

nRN ,

1

.

).( =−

∑ σ (6.5)

totsny

isdii

totccdd A

dn

naRMcN ,

1

2

..

)...( =−−

∑ σ (6.6)

Levando (6.5) em (6.6):

∑∑−−=−

ny

isdii

totccddny

sdii

totccd

dn

naRMcN

n

nRN

1

2

1

..

)...(

.

).(

σσ

)..(

.

..).( 2

1

1 aRMcN

n

dnRN ccddny

sdii

ny

isdii

ccd −−=−

σ

σ

0..

.

...

.

... 2

1

1

1

1 =++−−

∑aRMcN

n

dnR

n

dnN ccddny

sdii

ny

isdii

ccny

sdii

ny

isdii

d

σ

σ

σ

σ

0

.

....

.

...

1

12

1

1 =

−++

∑ny

sdii

ny

isdii

ccccdny

sdii

ny

isdii

d

n

dnRaRMc

n

dnN

σ

σ

σ

σ, dividindo tudo por σcd.Ac.h:

Page 32: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 30

0

.

...

....

.

...

...

..

1

12

1

1 =

−++

∑ny

sdii

ny

isdii

ccd

cc

ccd

cc

ccd

dny

sdii

ny

isdii

ccd

d

n

dn

hA

R

hA

aR

hA

Mc

n

dn

hA

N

σ

σ

σσσσ

σ

σ

0

.

...

...

.

...

...

.

1

12

1

1 =

−++

∑ny

sdii

nyi

sdii

ccd

cc

ccd

cc

ccd

dny

sdii

nyi

sdii

ccd

d

n

h

dn

A

R

hA

aR

hA

M

h

c

n

h

dn

A

N

σ

σ

σσσσ

σ

σ (6.7)

Uma vez satisfeita a eq (7.7) (por tentativas), tem-se o valor βx (profundidade da linha neutra). Podemos agora calcular As,tot pela (6.3) e o problema fica então resolvido.

Serão introduzidos à partir daqui, alguns coeficientes adimensionais. Serão usados nas eqs. (6.3), (6.4) , (6.7), gerando as equações que serão utilizadas no programa. Os coeficientes adimensionais são:

cdc

d

A

N

σν

.= = esforço normal de cálculo reduzido adimensional (6.8)

hA

M

cdc

d

..σµ = = momento fletor de cálculo reduzido adimensional (6.9)

tot

ny

isdii

n

nA∑

= 1

.. βσ (6.10)

tot

ny

sdii

n

nB∑

= 1

.σ (6.11)

∑==

ny

sdii

ny

isdii

n

n

B

AK

1

1

.

..

σ

βσ (6.12)

h

cc 2

2 =β (6.13)

h

dii =β (6.14)

ηη K−=Ω ' (6.15)

c

tots

A

A ,=ρ = taxa de armadura (6.16)

η e η’ = ver item 3.5.1

Page 33: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 31

Dividindo todos os membros da eq (6.3) por Ac.σcd :

0.

.. 1, =−−∑

tot

ny

sdii

cdc

tots

cdc

cc

cdc

d

n

n

A

A

A

R

A

σσσ introduzindo os coeficientes adimensionais:

0=−− Bcdσ

ρην (6.17)

Dividindo todos os membros da eq (6.4) por Ac.σcd.h :

0.

..

.

.

..

. 1,2 =−−−∑

tot

ny

isdii

cdc

tots

cdc

cc

cdc

d

cdc

d

nh

dn

A

A

hA

aR

hA

M

hA

cNσ

σσσσ introduzindo os coeficientes adim.:

0'. 2 =−−− Accdσ

ρηµβν (6.18)

Introduzindo os coeficientes adimensionais em (6.7):

0

.

...

...

.

...

...

.

1

12

1

1 =

−++

∑ny

sdii

nyi

sdii

ccd

cc

ccd

cc

ccd

dny

sdii

nyi

sdii

ccd

d

n

h

dn

A

R

hA

aR

hA

M

h

c

n

h

dn

A

N

σ

σ

σσσσ

σ

σ

0.').( 2 =−++− KcK ηηµβν (6.19a)

0).( 2 =Ω++− µβν cK (6.19b)

A seqüência no programa será então descobrir o valor de βx em que a eq. (6.19b) seja satisfeita e posteriormente calcular a taxa de armadura pela eq. (6.20) resultante da (6.17) com ρ isolado:

Bcdσηνρ )( −

= (6.20)

Page 34: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 32

3.6.3 Solução alternativa

O cálculo de ρ pela (6.20) pressupõe que B ≠ 0. Nos casos em que resultar B = 0, será necessário partir para uma solução alternativa, que consiste isolar ρ de (6.18) e não de (6.20):

A

c cdσηµνβρ )'( 2 −−=

chamando ηµνβ −−= 2cC (6.21)

resulta: A

C cdσρ = (6.22)

que, levada na primeira eq. De equilíbrio (6.3), resulta:

0=−−K

Cην (6.23)

3.6.4 Coeficiente K

O exame de (6.12) permite conhecer o significado físico do coeficiente K. É a distância, à borda mais encurtada ou menos alongada, do centro das forças nas barras de aço, distância essa dividida pela altura h da seção. É, portanto uma função de βx.

A função K = f(βx) é descontínua num ponto ou num intervalo, passando de +∞ para -∞ .

A Fig. 6.2 mostra esquematicamente (sem escala) a variação de K com βx para os seguintes dados:

- seção retangular

- armadura simétrica em 2 bordas

- aço CA-50 A

- δ = d’/h = 0,05

Fig 6.2 Função K = f(βx)

O coeficiente B , neste exemplo anula-se (K tende para o infinito) no intervalo βx = 0,21 à 0,59 , aproximadamente. É claro que interações com funções desse tipo exigem bastante cuidado! É por isso que muitos textos oferecem dimensionamento a partir de diagramas oriundos de uma coleção de verificações. Verificar é mais fácil. O dimensionamento direto é, quase sempre, um problema difícil.

Pensar em dimensionar somente com a solução alternativa, eq.(6.22), não é possível porque o denominador A também se anula para um determinado valor de βx.

O programa ora usa a primeira solução, ora a solução alternativa, aquela que der maior precisão de cálculo. 3.6.5 Zonas de Solicitação

Uma vez dimensionada a armadura distribuída ao longo do perímetro da seção, pode ocorrer um dos seguintes casos:

Page 35: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 33

- todas as barras de aço comprimidas ( zona A )

- parte é tracionada, parte é comprimida ( zona C )

- todas as barras de aço tracionadas ( zona E )

- teoricamente, não há necessidade de armadura ( zona O )

A Fig. 6.3 mostra as zonas de solicitação para o arranjo de armaduras com duplo eixo de simetria.

Fig. 6.3 Zonas de solicitação

Lembrando o significado de ν e µ , eqs. (6.8) e (6.9), fica mais fácil de compreendermos a Fig. 6.3, à primeira vista, se considerarmos ν como Nd e µ como Md.

Em qualquer uma das zonas, βx é variável e Constitui a primeira incógnita a ser calculada no problema.

Antes de delimitar as zonas, é útil examinar uma propriedade: o lugar geométrico dos pontos (ν e µ) correspondentes a uma mesma L.N. (βx Constante) é uma reta. De fato, a equação de equilíbrio (6.19b) permite escrever:

').().( 22 ηηνβνβµ −+−=Ω−−= KKcKc (6.24)

Dando a βx um determinado valor, os coeficientes η , η’ e K ficam univocadamente terminados, e a eq. (6.24) torna-se uma reta.

Page 36: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 34

3.6.6 Limites entre as zonas 3.6.6.1 Limite AC

Na zona A, βx varia desde o infinito (compressão uniforme, representada pelo semi-eixo ν positivo) até um valor limite com a zona C, a partir do qual começa a existir tração. É fácil ver que tal limite correspondente a βx = 1 - δ. Com efeito, se a L.N. subir a partir desse ponto, pelo menos a camada 1 de barras ficará tracionada, conforme a Fig 6.4:

βx,AC = 1 - δ (6.25)

xAC = (1 - δ) h = h – d’

Dando a βx o valor (1 - δ), η, η’ e K ficarão determinados, e serão chamados de ηAC, η’AC e KAC:

ACACACAC K ηη −=Ω ' (6.26)

ACACAC Kc Ω−−= νβµ )( 2 (6.27)

ACµ define a reta limite entre as zonas A e C

3.6.6.2 Limite EC

Analogamente, na zona E, βx varia desde -∞ (tração uniforme representada pelo semi-eixo ν negativo) até um valor limite com a zona C, a partir do qual a camada superior ficaria comprimida, conforme Fig. 6.5:

xEC = d’

βx,EC = δ (6.28)

Resulta a reta limite entre E e C:

ECECEC Kc Ω−−= νβµ )( 2 (6.29)

onde ECECECEC K ηη −=Ω ' (6.30)

Page 37: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 35

3.6.6.3 Limite da zona O

Sendo, na zona O, ρ = 0, temos apenas o concreto resistindo aos esforços de compressão. Então: Nd = Rcc , sendo assim, resulta: ν = η chamando ν de νo para a zona O temos:

νo = η (6.31)

Com ν = η , a eq (6.19a) fica:

0.').( 2 =−++− KcK ηηµβη

0.'.. 2 =−++− KcK ηηµβηη

0'. 2 =++− ηµβη c

'. 2 ηβηµ −= c

'. 2 ηβηµ −= co (6.32)

Vemos que µo é função de βx , uma vez que η e η’ o são. A curva limite da zona O é dada pelas equações paramétricas (6.31) e (6.32): pontos (νo e µo). Será determinado ponto por ponto. Os passos de cálculo são os seguintes:

- dado ν , temos ν = η

- escolhemos βx , daí εc e θ

- calculamos η

- se ν ≠ η , tomamos outro βx

- conseguindo ν - η = 0 a menos de uma tolerância, temos o valor certo de βx

- com o valor correto de βx calculamos η’

- '2 ηνβµ −= co

Page 38: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 36

3.6.7 Complemento sobre a zona E

Na zona E, βx varia de - ∞ até δ. Já vimos que na zona A, onde acontece variação de (1 - δ) a +∞ , adota-se o parâmetro εc1 como chave do problema. Analogamente pode-se trabalhar com εc na zona E. Na verdade pode-se iterar com o próprio βx , com pequeno intervalo de variação. De fato, a partir do ponto que todas as barras estão em escoamento, a resposta já é idêntica àquela da tração uniforme:

Vamos determinar tal situação. Correspondente a um valor de βx tal que a deformação na camada superior (camada ny) seja igual a -εyd

Fig. 6.6 Todas as barras em escoamento por tração

A Fig. 6.6 mostra que : 10

.. xhhxh

yd

−−=− δε

δ , isolando x, e dividindo por h vem o valor procurado:

10

10.)1(

−−−

=yd

yd

x εδδε

β (6.33)

Em resumo: na zona E, basta fazer βx variar desde o valor de (6.33) até δ.

Page 39: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 37

4. Itens do Projeto de Revisão da NB1 /2001 e

considerações sobre o programa.

Serão apresentados aqui, todos os Itens do Projeto de Revisão da NB1 /2001 que estão sendo respeitados nos resultados finais do programa e as hipóteses admitidas para cálculo. 4.1 Automáticos

Serão apresentados aqui, os itens da norma e considerações avaliadas automaticamente pelo programa que podem nem ser percebidas pelo usuário. Algumas desses itens aparecem como mensagem de erro para o usuário, que poderá, algumas vezes, tomar decisões dando continuidade ao programa. 4.1.1 Sub Ler01 – (2390-2424) 8.2.1 Classes Esta Norma se aplica a concretos compreendidos nas classes de resistência do grupo I, indicadas na NBR 8953, ou seja, até C50. A classe C20 ou superior, se aplica a concreto com armadura passiva e a classe C25, ou superior, a concreto com armadura ativa. A classe C15 pode ser usada apenas em fundações, conforme NBR 6122, e em obras provisórias. 4.1.2 Sub Programa0 – (500) 12.3.3 Resistência de cálculo do concreto No caso específico da resistência de cálculo do concreto (fcd), alguns detalhes adicionais são necessários, conforme a seguir descrito: a) quando a verificação se faz em data j igual ou superior a 28 dias, adota-se a expressão:

Nesse caso, o controle da resistência à compressão do concreto deve ser feita aos 28 dias, de forma a confirmar o valor de fck adotado no projeto;

4.1.3 Categorias de aço 8.3 Aço de armadura passiva 8.3.1 Categoria Nos projetos de estruturas de concreto armado deve ser utilizado aço classificado pela NBR 7480 com o valor característico da resistência de escoamento nas categorias CA-25, CA-50 e CA-60.Os diâmetros e seções transversais nominais devem ser os estabelecidos na NBR 7480. 4.1.4 Sub CoeficienteAdic25 18.4 Pilares 18.4.1 Introdução As exigências que seguem referem-se a pilares cuja maior dimensão da seção transversal não exceda cinco vezes a menor dimensão, e não são válidas para as regiões especiais (ver seção 21). Quando a primeira condição não For satisfeita, o pilar deve ser tratado como pilar parede, aplicando-se o disposto em 18.5. 13 Limites para dimensões, deslocamentos e abertura s de fissuras 13.2.3 Pilares e pilares parede A seção transversal de pilares não deve apresentar dimensão menor que 19 cm. Em casos especiais, permite-se a consideração de dimensões entre 19 cm e 12 cm, desde que se multiplique as ações a serem consideradas no dimensionamento por um coeficiente adicional γn, de acordo com o indicado na a tabela 17 e na seção 11.

Page 40: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 38

Tabela 17 – Valores do coeficiente adicional γn

4.1.5 Sub Bitolas22 (7704) + Sub Asreal23 (7735 e 7785) 18.4.2 Armaduras longitudinais 18.4.2.1 Diâmetro mínimo e taxa de armadura O diâmetro das barras longitudinais não deve ser inferior a 10 mm e nem superior 1/8 da menor dimensão transversal. 4.1.6 Sub Bitolas22 (7722) + Sub Asreal23 (7731)

A maior bitola existente no mercado será considerada como 40mm. 4.1.7 Sub Estribo28 18.4.3 Armaduras transversais

(8600-8630) O diâmetro dos estribos em pilares não deve ser inferior a 5 mm nem a 1/4 do diâmetro da barra isolada ou do diâmetro equivalente do feixe que Constitui a armadura longitudinal.

(8690-8895) O espaçamento longitudinal entre estribos, medido na direção do eixo do pilar, para garantir o posicionamento, impedir a flambagem das barras longitudinais e garantir a costura das emendas de barras longitudinais nos pilares usuais, deve ser igual ou inferior ao menor dos seguintes valores: − 200 mm; − menor dimensão da seção; − 24φ para CA-25, 12φ para CA-50. Pode ser adotado o valor φt < φ /4 desde que as armaduras sejam Constituídas do mesmo tipo de aço e o espaçamento respeite também a limitação:

4.1.8 Sub Cobrimento27 7.4.7 Cobrimento 7.4.7.1 Para atender aos requisitos estabelecidos nesta Norma, o cobrimento mínimo da armadura é o menor valor que deve ser respeitado ao longo de todo o elemento considerado e que se Constitui num critério de aceitação. 7.4.7.2 Para garantir o cobrimento mínimo (cmin) o projeto e a execução devem considerar o cobrimento nominal (cnom), que é o cobrimento mínimo acrescido da tolerância de execução (∆c). Assim as dimensões das armaduras e os espaçadores devem respeitar os cobrimentos nominais, estabelecidos na tabela 4 para ∆c=10 mm. 7.4.7.3 Nas obras correntes o valor de ∆c deve ser maior ou igual a 10 mm. 7.4.7.4 Quando houver um adequado controle de qualidade e rígidos limites de tolerância da variabilidade das medidas durante a execução pode ser adotado o valor ∆c = 5 mm, mas a exigência de controle rigoroso deve ser explicitada nos desenhos de projeto. 7.4.7.5 Os cobrimentos nominais e mínimos estão sempre referidos à superfície da armadura externa, em geral à face externa do estribo. O cobrimento nominal de uma determinada barra deve sempre ser: cnom ≥ φ barra cnom ≥ φ feixe = φn = φ √n cnom ≥ 0,5 φ bainha 7.4.7.6 A dimensão máxima característica do agregado graúdo, utilizado no concreto não pode superar em 20% a espessura nominal do cobrimento, ou seja:

dmax ≤ 1,2 cnom

Page 41: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 39

Tabela 4 - Correspondência entre classe de agressiv idade ambiental e cobrimento nominal para ∆c=10mm

(8555-8675) 9.4.6.1 Ganchos dos estribos Os ganchos dos estribos podem ser : a) semi circulares ou em ângulo de 45º (interno), com ponta reta de comprimento igual a 5φt, porém não inferior a 5 cm; b) em ângulo reto, com ponta reta de comprimento maior ou igual a 10φt, porém não inferior a 7 cm (este tipo de gancho não deve ser utilizado para barras e fios lisos). 4.1.9 Sub AsMinMax24 (7801-7815) e (7820) 17.3.4.3 Valores limites para armaduras longitudinais de pil ares e tirantes (7801-7815) 17.3.4.3.1 Valores mínimos A taxa de armadura deve ter o valor mínimo expresso a seguir:

sendo: ν = Nd/(Acfcd) onde: ν é o valor da força normal em termos adimensionais. (7820) 17.3.4.3.2 Valores máximos As, máx = 8,0% Ac

A maior armadura possível em pilares deve ser 8% da seção real, considerando-se inclusive a sobreposição de armadura existente em regiões de emenda, respeitado o disposto em 18.4.2.2. 4.1.10 Sub Espaçamento26 (7940-7980) e (8140-8220) 18.4.2 Armaduras longitudinais 18.4.2.2 Distribuição transversal As armaduras longitudinais devem ser dispostas na seção transversal de forma a garantir a adequada resistência do elemento estrutural. Em seções poligonais, deve existir pelo menos uma barra em cada vértice; em seções circulares, no mínimo seis barras distribuídas ao longo do perímetro. O espaçamento livre entre as armaduras, medido no plano da seção transversal, fora da região de

Page 42: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 40

emendas, deve ser igual ou superior ao maior dos seguintes valores: - 40 mm; - quatro vezes o diâmetro da barra ou duas vezes o diâmetro do feixe ou da luva; - no mínimo 1,2 vezes o diâmetro máximo do agregado, inclusive nas emendas. O espaçamento máximo entre eixos das barras, ou de centros de feixes de barras, deve ser menor ou igual a duas vezes a menor dimensão no trecho considerado, sem exceder 400 mm.

4.1.11 Sub EstriboSuplementarH29 e EstriboSuplementarV30 9.4.6.1 Ganchos dos estribos O diâmetro interno da curvatura dos estribos deve ser, no mínimo, igual ao índice dado na tabela 9.

4.2 Não automáticos

Aqui serão descritos alguns itens da norma, que o usuário deve “lembrar” para entrar com os dados do programa.

Caso o usuário ignore um ou mais destes itens, o programa não informará nada, dando o resultado final como OK. 4.2.1 Valor de Es (módulo de elasticidade do aço) 8.3.5 Módulo de elasticidade Na falta de ensaios ou valores fornecidos pelo fabricante, o módulo de elasticidade do aço pode ser admitido igual a 210 GPa.

4.2.2 Valores de γs e γc 12.4.1 Coeficientes de ponderação das resistências no estado limite último (ELU) Os valores para verificação no estado limite último estão indicados na tabela 16.

Tabela 16 - Valores dos coeficientes γc e γs

Para a execução de elementos estruturais nos quais estejam previstas condições desfavoráveis (por exemplo, más condições de transporte, ou adensamento manual, ou concretagem deficiente por concentração de armadura), o coeficiente γc deve ser multiplicado por 1,1. Admite-se, nas obras de pequena importância, o emprego de aço CA-25 sem a realização do controle de qualidade estabelecido na NBR 7480, desde que o coeficiente de segurança para o aço seja multiplicado por 1,1. 4.2.3 Detalhamento das armaduras 7.5 Detalhamento das armaduras

Page 43: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 41

7.5.1 As barras devem ser dispostas dentro do componente ou elemento estrutural de modo a permitir e facilitar a boa qualidade das operações de lançamento e adensamento do concreto. 7.5.2 Para garantir um bom adensamento é vital prever no detalhamento da disposição das armaduras espaço suficiente para entrada da agulha do vibrador. 4.2.4 Espaçamentos das armaduras 18.4.2.2 Distribuição transversal Quando estiver previsto no plano de concretagem o adensamento através de abertura lateral na face da forma, o espaçamento das armaduras deve ser suficiente para permitir a passagem do vibrador.

4.2.5 Estribos suplementares 18.2.4 Proteção contra flambagem das barras Sempre que houver possibilidade de flambagem das barras da armadura, situadas junto à superfície do elemento estrutural, devem ser tomadas precauções para evitá-la. Os estribos poligonais garantem contra a flambagem as barras longitudinais situadas em seus cantos e as por eles abrangidas, situadas no máximo à distância de 20φt do canto, se nesse trecho de comprimento 20φt

não houver mais de duas barras, não contando a de canto. Quando houver mais de duas barras nesse trecho ou barra fora dele, deve haver estribos suplementares. Se o estribo suplementar For Constituído por uma barra reta, terminada em ganchos, ele deve atravessar a seção do elemento estrutural e os seus ganchos devem envolver a barra longitudinal. Se houver mais de uma barra longitudinal a ser protegida junto à mesma extremidade do estribo suplementar, seu gancho deve envolver um estribo principal em ponto junto a uma das barras, o que deve ser indicado no projeto de modo bem destacado (ver figura 34).

Figura 34 - Proteção contra flambagem das barras No caso de estribos curvilíneos cuja concavidade esteja voltada para o interior do concreto, não há necessidade de estribos suplementares. Se as seções das barras longitudinais se situarem em uma curva de concavidade voltada para fora do concreto, cada barra longitudinal deve ser ancorada pelo gancho de um estribo reto ou pelo canto de um estribo poligonal.

4.2.6 Classe de agressividade ambiental. 6.4 Agressividade do ambiente 6.4.1 A agressividade do meio ambiente está relacionada às ações físicas e químicas que atuam sobre as estruturas de concreto, independentemente das ações mecânicas, das variações volumétricas de origem térmica, da retração hidráulica e outras previstas no dimensionamento das estruturas de concreto. 6.4.2 Nos projetos das estruturas correntes, a agressividade ambiental pode ser classificada de acordo com o apresentado na tabela 1.

Tabela 1 - Classes de agressividade ambiental

5. Manual do Programa

O método de cálculo utilizado no programa requer que as dimensões e o arranjo da armadura sejam previamente definidos. O dimensionamento, consiste em determinar as bitolas das barras de aço.

Page 44: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 42

O arranjo será sempre com duplo eixo de simetria, barras de mesma bitola e camadas de barras uniformemente espaçadas.

Algumas fórmulas escritas no código do programa só são aplicáveis para concreto com Fck inferior a 50 MPa. O valor mínimo de Fck permitido pelo Projeto de Revisão da NB1 /2001 é de 20 MPa para pilares. Deste modo o programa só é válido para valores de Fck entre 20 e 50 MPa..

Os valores do esforço normal de cálculo e do momento fletor de cálculo devem ser calculados fora do software. As considerações de excentricidade (inicial, acidental e de 2a ordem) também devem ser calculadas antes da entrada dos dados, pois estas excentricidades influenciarão diretamente o valor de Md. Em muitos casos o pilar deve ser testado para vários pares de valores Md e Nd. 5.1 Modos de uso

O programa possui basicamente 2 modos de utilização: 5.1.1 Botão “Calcula”

Quando apertamos este botão, o programa irá calcular a bitola das barras longitudinais para resistir aos esforços aplicados. O diâmetro e o espaçamento dos estribos também são calculados conforme as opções selecionadas pelo usuário nos campos do Frame “Estribos”.

Após definido o diâmetro das barras longitudinais, o espaçamento e o diâmetro dos estribos, será analisado se a solução respeita as condições normativas. Se tudo estiver correto, os resultados serão mostrados e o detalhamento será desenhado. Se as condições normativas não forem plenamente respeitadas, serão mostrados avisos a cada erro e depois o detalhamento será gerado. Porém, desta vez uma mensagem de erro ficará impressa em vermelho, indicando que o detalhamento apresentado não pode ser utilizado porque não respeita a norma.

5.1.2 Botão “Calcula melhor solução”

Esta opção calcula todas as alternativas possíveis de arranjo de armadura para uma determinada seção e classifica-ás por ordem de economia de aço. Funciona da seguinte forma.

- Calculam-se o número máximo de barras para cada face do pilar.

- Serão realizados 3 loopings (um dentro do outro): no de barras por camada de 2 até máximo

no de camada de barras de 2 até máximo

estribos de 0,5cm até 1,0cm

- Elimina-se as opções que não cumprem as exigências da norma.

- As demais combinações são classificadas em ordem crescente, em função do consumo de aço (Kg).

- Uma tabela com até 40 opções ordenadas será gerada para escolha do usuário.

Page 45: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 43

5.2 Dados de entrada 5.2.1 Dimensões: 1- Comprimento do pilar (cm): serve para calcular o número total de estribos, comprimento das barras

longitudinais e o peso total de aço. Deve-se salientar que a influência da esbeltez do pilar deve ser levada em conta fora de programa para a determinação de Md.

2- Base do pilar (cm): positivo e inteiro 3- Altura do pilar (cm): positivo e inteiro

Valor a ser acrescido (botão +) ou diminuído (botão -) ao valor da “Base (cm)” Valor a ser acrescido (botão +) ou diminuído botão -) do valor da “Altura (cm)”

Quando os botões + ou – são clicados, um novo valor é atribuído à base ou à altura e o programa roda (como se o botão “Calcula” fosse clicado. O mesmo acontece com os botões + e – do “no de barras” explicado abaixo. 5.2.2 Arranjo

Estes dados só serão utilizados no cálculo direto ( quando o botão “Calcula” é usado). 4- Número de barras nas face base: é o número de barras na primeira e última camada. Positivo e

inteiro. 5- Número de barras nas face altura: é o número de camadas de barra. Positivo e inteiro. 6- d´ (cm): é a distância do centro de gravidade da 1a camada de barras até a borda inferior. Positivo

Aumenta ou diminui em 1, o valor do no de barras na base. Aumenta ou diminui em 1, o valor do no de barras na altura. Abre a Janela “Estimativa de d` ”.

O programa têm uma opção: “d' automático f(cobrimento)”. Com esta opção ligada, o programa dará inicialmente o valor de d´ = cobrimento nominal + φestribo mínimo + φlong.mínimo/2. Então d´= cobrimento nominal + 5mm + 10/2 mm. Com este d´, o programa roda 1 vez, determinando o diâmetro das barras longitudinais e dos estribos. Sabido os diâmetros das barras longitudinais e dos estribos, calcula-se o cobrimento efetivo. Se o cobrimento efetivo For menor que o cobrimento nominal, o programa calcula d´ novamente: d´ = cobrimento nominal + φestribo calculado + φlong.calculado/2. Com o novo d´ (um pouco maior que o anterior) o programa roda novamente. O problema termina quando o d´ estimado de início der igual ao d´ real, ou

Page 46: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 44

seja, quando o diâmetro das barras longitudinais e dos estribos não aumentarem devido a uma pequena variação de d´.

O problema geralmente se resolve na segunda tentativa. Só funcionaria na 1ª tentativa se φestribo = 5mm e φlong = 10mm. Na segunda tentativa temos geralmente um pequeno aumento de d´ e conseqüentemente uma pequena redução da inércia, o que resulta na área teórica da barra um pouco maior do que a anteriormente calculada. Só será necessário uma 3ª tentativa, se este pequeno aumento da área teórica obrigar o uso da bitola comercial imediatamente superior àquela que havia sido calculada.

44 = 8 + 32/2 + 20 5.2.3 Esforços e resistências 7- Nd: força normal de cálculo, com a unidade ao lado. 8- Md: momento fletor de cálculo, com a unidade ao lado. 9- Fck: resistência característica do concreto, com a unidade ao lado. Positivo. A norma é válida para

pilares feitos de concreto entre 20 e 50 Mpa. Caso o valor esteja fora deste intervalo, o programa emite um aviso.

10- Aço: escolha do tipo de aço 11- Es: módulo de elasticidade do aço, com a unidade ao lado. 12- γc: coeficiente de minoração da resistência do concreto. 13- γs: coeficiente de minoração da resistência do aço. 5.2.4 Estribos 14- Pré-definido: O usuário escolhe a bitola dos estribos antes do início do processo de cálculo. Se o

diâmetro do estribo For inferior ao mínimo permitido, o programa utilizará o valor mínimo após emitir um aviso.

15- Mais econômico: Será usado a solução mais econômica. O cálculo é feito pela relação: Área do estribo / espaçamento.

16- Definir manualmente: Se o estribo calculado tiver bitola diferente de 5mm, será aberta a seguinte janela:

Page 47: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 45

17- Mesmo tipo de aço: Se a armadura dos estribos e a armadura das barras longitudinais forem do mesmo tipo de aço, o diâmetro mínimo do estribo pode ser desprezado, desde que o espaçamento entre eles seja menor ou igual a um valor gerado pela última fórmula do item 18.4.3 do Projeto de Revisão da NB1 /2001 . Se assim o usuário desejar, esta opção deve ser selecionada.

As opções 14, 15 e 16 só serão úteis para o cálculo direto, isto é, quando o botão “Calcula” é clicado. Já a opção 17 será utilizada também na busca da melhor solução ( botão “Calcula melhor solução”). IMPORTANTE : A “melhor solução”, desconsidera os estribos suplementares, isto é, calcula a solução mais econômica, considerando que para todas as bitolas de estribos não haverá nenhum estribo suplementar. Por exemplo, para φ de 5mm (0,2 cm2) c/ 15cm e φ de 6,3mm (0,315 cm2) c/19 cm temos: 0,2 / 15 = 0,0133 menos aço 0,315 / 19 = 0,0165 A equação não leva em conta o comprimento total de cada estribo (não soma os estribos suplementares). Só funciona se o comprimento total dos estribos suplementares forem iguais para as duas soluções. Porém, quando clicamos “Calcula melhor Solução”, esta falha não acontece, sendo que o peso dado corresponde ao peso real.

Page 48: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 46

18- Ganchos: A escolha do tipo de gancho servirá para o cálculo do comprimento total dos estribos, que por sua vez, servirá para o cálculo do peso da armadura do pilar.

5.2.5 Cobrimento 19- Classe de agressividade ambiental: Deverá ser escolhido a classe de agressividade ambiental

segundo o item 6.4.2 do Projeto de Revisão da NB1 /2001. 20- dc = 5 ou 10 mm: Tolerância de execução do cobrimento. Definido pela norma como ∆c. 5.2.6 Outros 21- Diâmetro max. do agreg.: O diâmetro máximo do agregado graúdo será utilizado para o cálculo dos

espaçamentos mínimos entre as barras longitudinais e também para o cobrimento mínimo. 22- Precisão: Não recomendo a mudança deste valor do padrão (0,0001), visto que esta precisão é

extremamente satisfatória e foi observado que valores mais próximos a zero podem causar problemas de convergência ( o computador “trava”).

23- Diâmetro máximo das barras longitudinais: Podemos estipular qual o diâmetro máximo das barras longitudinais que o programa buscará na solução do problema.

24- Diâmetro máximo dos estribos: Podemos estipular qual o diâmetro máximo dos estribos que o programa buscará na solução do problema. Esta opção, tanto quanto a de cima mostram-se mais úteis na busca da solução mais econômica.. Definindo um diâmetro máximo, tanto para os estribos, quanto para as barras longitudinais, os resultados apresentados só mostrarão soluções que convêm ao usuário.

No menu “Arquivo” temos ainda as opções de gravar os dados de entrada em um arquivo “Salvar como...” ou ler os dados de um arquivo “Abrir arquivo...”.

Também temos as opções “Salvar valores como padrão” e “Carregar valores padrão”. Toda a vez que o programa é aberto, os campos são preenchidos com os valores que estão guardados no arquivo “padrão.txt”. Se o usuário prefere por exemplo trabalhar com as unidades KN e cm, ele seleciona-as nos campos desejados e clica no menu “Salvar valores como padrão”, á partir daí, quando o programa For aberto novamente, as unidades já estarão em KN e cm, conforme o gosto do usuário.

O Botão “Valores padrão” tem a mesma função que o menu “Carregar valores padrão”.

O valor da escala do desenho não é de acordo com o tamanho real do pilar, isto é: se o valor da escala For 6,523 não quer dizer que a escala seja de 1:6,523. Recomendo deixar sempre a escala automática.

Page 49: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 47

5.3 Dados de saída

1- Área de aço mínima: área mínima calculado pela norma. 2- Área de aço teórica: área de aço calculada para resistir os esforços aplicados 3- Área de aço efetiva: área de aço correspondente a bitola com área imediatamente superior àquela

calculada teoricamente. 4- Peso de aço: É o peso total de aço utilizado na armadura do pilar 5- Bitola: fica pintado de azul o campo da bitola utilizada no detalhamento. 6- Cobrimento: São mostrados os valores do cobrimento nominal e efetivo. 7- Zonas de solicitação: Alguns dados sobre a teoria das zonas de solicitação também são mostrados.

Os valores desses dados não são de interesse profissional, estão ali apenas por ser um trabalho de TCC, baseado nesta teoria.

8- Erros: Se em algum momento do cálculo For observado incoerência dos resultados com a norma, será emitido um aviso explicativo que depois será fechado. Se pelo menos um desses avisos For dado, e não For corrigido, o campo “erro” será pintado de vermelho.

Page 50: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 48

O detalhamento será sempre desenhado, mesmo que não respeite as condições da norma. O pilar só não será detalhado, quando a bitola calculada possuir diâmetro muito grande (maior que a bitola máxima definida pelo usuário) ou se Fck ficar fora do intervalo de 20 a 50 MPa. Na busca da melhor solução, não haverá detalhamento se não existir arranjo possível para resistir aos esforços. Caso insto ocorra, as dimensões do pilar devem ser aumentadas ou a resistência do aço ou do concreto deve ser aumentada. As vezes o mesmo aviso de erro é repetido mais de uma vez!!! Isso acontece quando d’ é calculado automaticamente ou quando mudamos o valor de d’ durante o cálculo. De qualquer dessas maneiras, o programa roda pelo menos duas vezes, cada vez com um novo valor de d’, sendo assim, toda a vez que o programa rodar, os mesmos avisos de erro podem ser repetidos.

Page 51: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 49

6. Exemplos 1. Pilar com comprimento = 3,10 m, com a seção de 40x60 cm, submetido a um esforço normal de cálculo = 500 Tf e um momento fletor de cálculo de 100 Tf.cm (direção X) -Concreto com Fck = 20Mpa -Aço CA-60A para armadura longitudinal e estribos (mesmo tipo de aço) -Ganchos dos estribos a 90o -Classe de agressividade ambiental: II , com ∆c=10mm - γs = 1.15 , γc = 1.5 Será calculado todas as soluções possíveis para este problema, considerando que a maior bitola comercial seja de 40mm (este valor será mudado no próximo exemplo). Depois de entrar com os dados e clicar no botão “Calcula melhor solução”, obtemos o seguinte resultado:

Essa é a solução que utiliza a menor quantidade de aço, dentre todas as soluções possíveis para o problema. Características da solução segundo os dados de saída do programa:

Page 52: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 50

Quantidade de aço utilizada = 160,96 Kg Bitola das barras longitudinais = 25mm Bitola dos estribos = 6,3mm Cobrimento = 3,00 cm Será necessário a colocação de estribos suplementares conforme o detalhamento. Ainda podemos optar por outras soluções possíveis para o problema clicando no botão “Outras soluções”:

Aí estão todas as soluções em ordem de gasto de aço. Observe que tanto para a solução com nX=3 e nY=5 como para nX=2 e nY=4, temos a opção com estribo de 6,3mm sendo mais econômica que a solução de 5mm. Vamos ver porque isso acontece selecionando a opção 2:

Page 53: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 51

A solução com estribos de diâmetro = 5mm, necessita de 2 estribos suplementares a mais, se comparadas a primeira solução, e agora o espaçamento entre os estribos é de 15 cm ao invés de 20. Estes são os motivos do maior gasto de aço, mesmo sendo utilizado uma bitola menor.

Observando a tabela “Soluções”, notamos que estão presentes apenas 10 soluções para o problema. Isto indica que não existe, nenhuma outra solução possível de arranjo que respeite as condições da norma. Isso quer dizer que quaisquer soluções possíveis que um calculista pode chegar será uma das 10 opções da tabela “Soluções”, e isto foi calculado em menos de 10 segundos, ficando todas as soluções disponíveis ao usuário.

Vamos tentar, por exemplo, retirar uma camada de barras, mudando diretamente o campo “no de barras nas faces: Altura” de 5 para 4 e clicando o botão “Calcula”:

A seguinte mensagem de erro será mostrada

Page 54: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 52

Agora a mensagem de erro fica em vermelho, indicando que a solução não respeitou um ou mais itens do Projeto de Revisão da NB1 /2001. Observe que todas opções que seriam mostradas com erro, foram excluídas na busca da melhor solução, por isso ficam apenas 10 soluções disponíveis ao usuário.

Page 55: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 53

2. Pilar com comprimento = 3,20 m, com a seção de 60x50 cm, submetido a um esforço normal de cálculo = 650 Tf e um momento fletor de cálculo de 230 Tf.cm. (direção X) -Concreto com Fck = 25Mpa -Aço CA-50A para armadura longitudinal - Tipo de aço indefinido para estribos (mesmo tipo de aço não pode ser selecionado) -Ganchos dos estribos a 90o -Classe de agressividade ambiental: II , com ∆c=10mm - γs = 1.15 , γc = 1.4

Neste exemplo vamos considerar que a maior bitola disponível no comércio é a de 32mm, e também vamos optar por excluir todas as soluções que apresentem estribos maiores que 8mm.

Primeiro devemos ir no menu “Valores” e depois em “Outros”, a seguinte janela abrirá:

Mudamos os campos desejados e apertamos em “Voltar”. Entramos com os dados do problema e clicamos em “Calcula melhor solução”. O resultado é o seguinte:

Page 56: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 54

O arranjo mais econômico é com 5 camada de barras, com 6 barras na 1a e última camada. Podemos optar por outra solução utilizando o botão “Outras soluções”:

Page 57: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 55

Veja que agora nenhuma solução apresenta estribos de 10mm ou barras longitudinais de 40mm. As opções 2, 3, 4 e 5 estão detalhas abaixo:

Page 58: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 56

Page 59: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 57

Podemos gravar os dados de entrada em um arquivo,usando o menu “Arquivo” e depois em “Salvar como”.

A opção “salvar valores como padrão”, grava todos os dados de entrada (inclusive os valores dos campos do menu “Outros valores”) no arquivo “padrão.txt”. As preferências do usuário, como por exemplo as unidades de Nd, Md, Fck, e Es ficam então gravadas.Os valores guardados neste arquivo serão lidos toda a vez que o programa é aberto ou quando carregamos o arquivo ( usando o menu “Carregar valores como padrão”ou o botão “Valores padrão”).

3. Exemplo dado em Estruturas de Concreto Armado II 2002/1 para ECV da UFSC: -Pilar curto (λ < 40), com seção de 40x25. -Aço CA-50 -N = 800 KN

1a Situação de cálculo eax = 2cm 2a Situação de cálculo eay = 2cm

Page 60: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 58

A segunda situação de cálculo é um caso de flexo-compressão oblíqua, que o programa não calcula. Porém, a pior situação de cálculo é mesmo a primeira ( segundo os cálculos do exemplo). Deste modo podemos comparar os resultados obtidos: Cálculo com o ábaco II-12 (apostila “Estrutura de concreto armado 2001/1” - UFSC): - Nd = 800 . 1,4 = 1120 KN - Myd = 1120. 0,07 = 78,4 KN.m = 7840 KN.cm - d' = 0,10 . h = 0,1 . 40 = 4 cm - εs a 2 o/oo Resultados: As = 8,9 cm2 a) 8φ12,5 = 10,0 cm2

b) 12φ10 = 9,6 cm2

Utilizando o programa temos os seguintes resultados: a) 8φ nx = ny = 3

Page 61: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 59

A área teórica calculada foi: As = 10,06 cm2 8φ16 = 16,0 cm2. b) 12φ nx = ny = 4

Agora a área teórica total é: As = 10,11 cm2 12φ12,5 = 15,0 cm2

Page 62: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 60

7. Conclusões

Para realização deste trabalho, foi necessário o aprendizado de um método de cálculo que não foi ensinado na graduação (método das Zonas de Solicitação), análise minuciosa de Itens do Projeto de Revisão da NB1 /2001 referentes a pilares e aplicação de conhecimentos da linguagem de programação. Quanto a isso, posso considerar que tirei grande proveito, por ter absorvido bastante conteúdo técnico referente à área de estruturas.

Quanto ao programa, considero ser um software de fácil utilização, sendo que os resultados obtidos são confiáveis e respeitam as condições normativas. Além disso podemos encontrar uma solução mais econômica ( se considerarmos somente o peso de aço como variável) apenas entrando com as características dos matérias, dimensões do pilar e mais 1 clique do mouse. Este recurso é extremamente útil para a busca da solução teoricamente mais econômica num tempo reduzido. Pode-se dizer que o programa permite a escolha da melhor entre todas as soluções possíveis.

O programa permite o cálculo de As já determinado o tipo de arranjo. Desse modo, cada barra de aço terá sua deformação perfeitamente definida, mesmo as barras que não pertencem à primeira ou última camada de barras. Este método possibilita o cálculo de uma solução exata, ao contrário das formulações do método de cálculo apresentado na graduação, onde se calcula As e As’ (1a e última camada), e daí dobramos o maior dos dois valores.

Os procedimentos utilizados proporcionam resultados mais precisos. Podemos citar alguns motivos: o fato de utilizarmos d’ real, ao contrário do que acontece ao utilizarmos tabelas. O diagrama de tensões do concreto é o diagrama retangular-parabólico sem simplificação.

A fácil possibilidade de testar várias alternativas, oferece uma importante ferramenta ao calculista, que pode optar pela solução que mais lhe convém. Vale lembrar que o cálculo e o detalhamento de cada solução é praticamente instantâneo.

Page 63: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 61

8. Referências Bibliográficas 1) Cálculo de Concreto Armado Vol. 1 - Lauro Modesto dos Santos 2) Cálculo de Concreto Armado Vol. 2 - Lauro Modesto dos Santos 3) Sub-rotinas básicas do dimensionamento de concreto armado - Lauro Modesto dos Santos 4) Projeto de Revisão da NB1 /2001. 5) Apostila de cálculo de concreto armado I e II - Roberto Carlos A. D. Pinto

Page 64: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 62

9. Anexos

O Programa possui 8 formulários (Form1 até Form8) e 1 Módulo (Module1.bas) onde todas as variáveis globais são declaradas.

O Programa completo está dividido em sub-rotinas, cada uma com sua função. A Sub-rotina principal, que funciona como o ¨tronco¨ do programa, é a Sub Programa0, na qual são chamadas todas as outras sub-rotinas necessárias.

Todas as sub-rotinas utilizadas no Form1 estão escritas nele mesmo, com exceção de algumas pertencente ao Form4, Form9, Form10 e Form11. Existem ainda algumas outras sub-rotinas que não estão no Form1, e que serão utilizadas apenas nos formulários onde estão escritas.

As sub-rotinas do Form10, são todas parecidas com algumas já escritas no Form1. A diferença é que aquelas pertencentes ao Form9, não imprimem mensagens de erro e nem chamam outro formulário. Estas sub-rotinas serão utilizadas no cálculo da melhor solução, que não deve ficar dando mensagens de erro a cada tentativa.

O Form9 possui apenas 2 sub-rotinas para cálculo dos estribos suplementares. Ficaram separadas, apenas por motivo de conforto (são muito grandes).

A seqüência de procedimentos do calculo direto pode ser seguida pela Sub Programa0 sendo resumida da seguinte forma:

1º) Leitura dos dados de entrada - Sub Ler01.

2º) Calculo de algumas Constantes do concreto e da geometria da seção .

3º) Calculo das Constates relativas ao aço - Sub Aço04.

4º) Calculo da posição das barras de aço - Sub SArran1R03.

5º) Calculo do coeficiente adicional para majorar os esforços se a menor dimensão < 19cm – Sub CeoficienteAdic25.

6º) Calculo de momento e esforço normal de cálculo.

7º) Calculo de NI crítico, NICRITInf e NICRITSup. - Sub SNiCrit06.

8º) Calculo das Constantes das delimitações das zonas AC, CE - Sub SConstZ10.

9º) Determinação das retas limites entre zonas AC, CE, e Zona crítica - SMiACEC13.

10º) Determinação da curva limite entre a Zona O e as demais - SMiZero14.

11º) Determinação da Zona - Sub Szona15.

12º) Cálculo de βx por processo iterativo - Sub SRO16.

13º) Cálculo da taxa de armadura teórica - Sub SRO16.

14º) Cálculo da armadura teórica unitária e total.

15º) Cálculo da armadura efetiva total e bitola da armadura. - Sub AsReal23

16º) Verificação se a bitola é maior que o máximo permitido. - Sub AsReal23

17º) Cálculo do diâmetro e espaçamento dos estribos. - Sub Estribo28

18º) Calcula e verifica se cob. Efetivo ≤ Nominal e calcula comprimento de estribos. - Sub Cobrimento27

Page 65: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 63

19º) Calcula e verifica a taxa mínima e máxima da armadura. - Sub AsMinMax24

20º) Calcula e verifica espaçamentos máximos e mínimos entre barras - Sub Espaçamento26

21º) Calcula estribos suplementares - Form9.EstriboSuplementarH29 e Form9.EstriboSuplementarV30

22o) Calcula o Peso total de aço - Sub Peso29

23º) Detalha - Sub Desenh35 e Sub DesenhaSup36

22º) Escreve os resultados finais - Sub Imprime37

Page 66: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 64

9.1 - Sub Programa0

Como já foi dito, está é a sub-rotina principal. Quando apertamos o botão “Calcula” ou “Calcula melhor solução” no programa, esta sub-rotina é chamada. Sub Programa0() 10 Recalcular = "n" 20 Image1.Visible = False 25 If Check3.Value = 1 Then GoTo 50 30 Call Ler02 40 If ErroFck = "s" Then 41 Cls 43 Call Zera31 45 GoTo 1996 46 End If 50 Cls 100 Call Zera31 150 mErro = "" 200 If Recalcular = "s" Then GoTo 350 250 eRRo = "n" 350 '------------------------------ Lendo dados ----------------------------- 400 Call dLinha01 490 '---------------------------- Cálculo de sigcd ------------------------ 500 Fcd = Fck / GamaC 510 SigCd = 0.85 * Fcd 520 '---------------------------- Geometria -------------------------------- 530 Ac = B * H 540 c2 = H / 2 550 BetaC2 = 0.5 560 '---------------------------- Aço ------------------------------------ 570 Call Aço04 580 Delta = dLinha / H 583 Delta1 = dLinha / H 586 Delta2 = dLinha / H 590 Call SArran1R03 600 '---------------------------- Esforços adimensionais "NI" e "MI" ------ 605 Call CeoficienteAdic25 607 If eRRo = "sPparede" Then GoTo 1996 610 NI = (CoefAdic * Nd) / (SigCd * Ac) 620 MI = (CoefAdic * Md) / (SigCd * Ac * H) 630 '---------------------------- Cálculo de Nicrítico --------------------- 640 Call SNiCrit06 650 '---------------------------- Limites entre Zonas A,C,E ---------------- 660 Call SConstZ10 670 Call SMiACEC13 680 Call SMiZero14 690 '---------------------------- Determinação da Zona --------------------- 700 Call Szona15 710 '---------------------------- Cálculo de RO ---------------------------- 720 If NI = 0 And MI = 0 Then GoTo 750

Page 67: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 65

730 Call SRO16 740 GoTo 760 750 RO = 0 760 '---------------------------- Cálculo de Astotal ---------------------- 770 AsTot = RO * Ac 775 AsTotTeor = AsTot 780 '---------------------------- Cálculo de Asi(i) ---------------------- 785 AsUnitTeor = AsTotTeor / Ntot 790 AsUnit = AsTot / Ntot 800 For i = 1 To nY 810 Asi(i) = Nbar(i) * AsUnit 820 Next i 825 If Check3.Value = 1 Then GoTo 1825 '______________________________CALCULO IMEDIATO ___________________ 827 '-----------------------------Bitolas--------------------------------- 830 Call Bitolas22 835 '---------------------------- Armadura máxima e mínima ---------------- 840 Call AsReal23 845 If mErro = "Diâmetro das barras longitudinais devem ser superiores à maior bitola definida pelo usuário." Then 850 For i = 0 To 22 860 Label9(i).Visible = False 870 Next i 880 GoTo 1996 890 End If 900 '---------------------------- Estribos -------------------------------- 905 Call Estribo28 910 '---------------------------- cobrimentos ---------------------------- 915 Call Cobrimento27 917 If Recalcular = "s" Then GoTo 50 920 '---------------------------- Armadura máxima e mínima ---------------- 925 Call AsMinMax24 930 '---------------------------- Espaçamentos máximos e mínimos ---------- 940 Call Espaçamento26 942 '---------------------------- Estribos suplementares ---------- 944 Call Form9.EstriboSuplementarH29 946 Call Form9.EstriboSuplementarV30 950 '-------------------------------Sobra de aço---------- 1000 Call Peso29 1350 GoTo 1970 ' ___________________________________MELHOR SOLUÇÃO ________________ 1825 1840 Call Form10.AsReal23 1845 If eRRo = "s" Then GoTo 1999 1900 '---------------------------- Estribos -------------------------------- 1905 Call Form10.Estribo28 'calcula espaçamentos 1907 If eRRo = "s" Then GoTo 1999 1910 '---------------------------- cobrimentos ---------------------------- 1915 Call Form10.Cobrimento27 1917 If Recalcular = "s" Then GoTo 50

Page 68: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 66

1920 '---------------------------- Armadura máxima e mínima ---------------- 1925 Call Form10.AsMinMax24 1827 If eRRo = "s" Then GoTo 1999 1930 '---------------------------- Espaçamentos máximos e mínimos ---------- 1940 Call Form10.Espaçamento26 1841 If eRRo = "s" Then GoTo 1999 1942 '---------------------------- Estribos suplementares ---------- 1944 Call Form9.EstriboSuplementarH29 1946 Call Form9.EstriboSuplementarV30 1950 '-------------------------------Sobra de aço---------- 1960 Sobra = 100 * (AsTotR - AsTotTeor) / AsTotR 1965 Call Peso29 1966 Call GuardaValores42 1967 GoTo 1999 '____________________________________________________________________ 1970 '---------------------------- Desenha -------------------------------- 1972 Call Desenha35 1975 Call DesenhaSup36 1980 '---------------------------- Imprime valores -------------------------------- 1985 Call Imprime37 1990 If eRRo = "n" Then 1992 Text30.BackColor = vbWhite 1993 Text30.Text = "Ok" 1994 Else 1996 Text30.BackColor = vbRed 1997 Text30.Text = "erro" 1998 End If 1999 End Sub 9.2 - Sub dLinha01

Não permite que d´ seja menor que zero e também é utilizada para calcular d’ automaticamente em função do cobrimento, que será explicado na Sub Cobrimento27. Sub dLinha01() 2000 2016 '------------------------------dLinha------ 2017 If Check1.Value = 1 Then 2018 If Recalcular = "n" Then 2019 dLinha = 3 2020 End If 2021 GoTo 2240 2022 End If 2023 dLinha = Val(Text3.Text) 2025 If Val(Text3.Text) < dlMin Then 2030 Text3.Text = dlMin 2035 End If 2240 End Sub

Page 69: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 67

9.3 - Sub Ler02

Lê os dados de entrada do programa.

Se uma das dimensões do pilar, ou as duas forem menor do que um mínimo, em que não caberiam nem duas barras de φ = 1cm (bitola mínima) + espaçcamento = 4 cm, esta sub-rotina aumenta as dimensões para o valor mínimo possível. Também não permite valores menores que 12cm (mínimo). Trecho (2043-2115) .

Determina o número máximo de barras, para a dimensão da face, considerando um espaçamento de 5 cm entre eixos ( 4cm + 2 x 10/2 mm linha 2034). O valor 4 cm, é um valor da norma e 10/2 mm é metade do diâmetro da barra de 10mm que é a mínima. Trecho (2115-2240).

Não permite que o valor do momento seja negativo.(2245)

Se Fck < 20 Mpa ou Fck > 50 Mpa, um aviso será mostrado e o programa será encerrado. (2390 – 2424)

Sub Ler02() 2010 Dim hMin, bMin, eMin, eYmin As Single 2015 Const dlMin = 0 2020 'dlinha minimo será 3 cm 2040 '------------------------------valores mínimos da base e altura----- 2043 eMin = 4 + 1 '4cm + 2 x fimínimo/2 = 10mm 2045 bMin = Int((eMin + 2 * 3)) 'arredonda pra cima 2050 If bMin < 12 Then 2055 bMin = 12 2060 End If 2065 hMin = Int((eMin + 2 * 3)) 'arredonda pra cima 2070 If hMin < 12 Then 2075 hMin = 12 2080 End If 2085 If Val(Text1.Text) < bMin Then 2090 Text1.Text = bMin 2095 End If 2100 If Val(Text2.Text) < hMin Then 2105 Text2.Text = hMin 2110 End If 2115 '------------------Determina o número máximo possível de barras em cada face----- 2120 nxMax = ((Val(Text1.Text) - 2 * Val(Text3.Text)) / eMin) + 1 2125 nxMax = Int(nxMax) 2130 If nxMax < 2 Then 2135 nxMax = 2 2140 End If 2145 nyMax = ((Val(Text2.Text) - 2 * Val(Text3.Text)) / eMin) + 1 2150 nyMax = Int(nyMax) 2155 If nyMax < 2 Then 2160 nyMax = 2 2165 End If 2170 2175 If Val(Text4.Text) > nxMax Then 2180 Text4.Text = nxMax

Page 70: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 68

2185 End If 2190 If Val(Text4.Text) > 500 Then 2195 Text4.Text = 500 2200 End If 2205 2210 If Val(Text5.Text) > nyMax Then 2215 Text5.Text = nyMax 2220 End If 2225 If Val(Text5.Text) > 500 Then 2230 Text5.Text = 500 2235 End If 2315 nX = Val(Text4.Text) 2320 nY = Val(Text5.Text) 2255 L = Val(Text23.Text) 2260 B = Val(Text1.Text) 2265 H = Val(Text2.Text) 2310 '------------------------------------------ 2325 Z = Val(Text6.Text) 2330 Borda = 20 2335 oX = Val(Shape4.Left) + Borda 2340 oY = Val(Shape4.Top) + Borda 2345 Dagregado = Val(Form8.Text2.Text) 2350 '---------------------------------Nd-------- 2355 Unidade = Combo4.Text 2360 Call Unidades30 2365 Nd = Val(Text16.Text) * W 2370 '---------------------------------Md-------- 2375 Unidade = Combo5.Text 2380 Call Unidades30 2385 Md = Val(Text17.Text) * W 2390 '---------------------------------Fck-------- 2395 Unidade = Combo6.Text 2400 Call Unidades30 2405 Fck = Val(Text18.Text) * W If Fck = 0 Then mErro = "Fck deve ser diferente de zero" mItem = "" Form2.Label1.Caption = mErro Form2.Label2.Caption = mItem Form2.Show vbModal End End If 2406 If Fck < 200 Then 2407 If Recalcular = "s" Then GoTo 2414 2408 ErroFck = "s" 2409 mErro = "Fck = " & Fck / 10 & " , inferior a 20 Mpa (valor mínimo para pilares)." 2410 mItem = "Item 8.2.1 do Projeto de revisão da NB1 / 2001" 2411 Form2.Label1.Caption = mErro 2412 Form2.Label2.Caption = mItem 2413 Form2.Show vbModal

Page 71: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 69

2414 End If 2415 If Fck > 500 Then 2416 If Recalcular = "s" Then GoTo 2424 2417 ErroFck = "s" 2418 mErro = "Fck = " & Fck / 10 & " , maior que 50 Mpa (valor máximo abrangido pela norma)." 2419 mItem = "Item 8.2.1 do Projeto de revisão da NB1 / 2001" 2420 Form2.Label1.Caption = mErro 2421 Form2.Label2.Caption = mItem 2422 Form2.Show vbModal 2423 End If 2424 '---------------------------------Es-------- 2425 Unidade = Combo7.Text 2426 Call Unidades30 2427 Es = Val(Text20.Text) * W 2428 2430 '------------------------------------------- 2435 GamaC = Val(Text21.Text) 2440 GamaS = Val(Text22.Text) 2445 Precisao = Val(Form8.Text1.Text) 2450 Call Form8.UltimoDiametroLongitudunal 2455 Call Form8.UltimoDiametroEstribo End Sub 9.4 - Sub Sarran1R03

Calcula dados referentes ao arranjo da armadura.

O arranjo será sempre com duplo eixo de simetria, barras de mesma bitola e camadas de barras uniformemente espaçadas. Serão calculados: Ntot = número total de barras. (3012) Nbar(i) = número de barras em cada camada. (3020 - 3030) di(i) = distância do eixo de cada camada de barras até a borda superior. (3034 - 3038) Beta(i) = di(i) / h. (3034 - 3038) Sub SArran1R03() 3000 3012 Ntot = 2 * (nx + ny) - 4 3020 For i = 1 To ny 3022 If i = 1 Or i = ny Then GoTo 3028 3024 Nbar(i) = 2 3026 GoTo 3030 3028 Nbar(i) = nx 3030 Next i 3034 For i = 1 To ny 3036 di(i) = h - dLinha - (i - 1) * ((h - 2 * dLinha) / (ny - 1)) 3037 Beta(i) = di(i) / h 3038 Next i

Page 72: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 70

3039 End Sub 9.5 - Sub Aço04 Calcula Constantes relativas ao aço. Serão calculados: fyd = resistência de cálculo do aço. (4020) εyd = deformação do aço (em por mil) correspondente ao início do escoamento. (4035 - 4050) Sig2 = Tensão de cálculo no aço correspondente a um encurtamento de 2 por mil. (4065 - 4075) Sub Aço04() 4000 4001 'Cálculo de fyk 4002 If Combo1.Text = "Aço CA-25A" Or Combo1.Text = "Aço CA-25B" Then 4003 Fyk = 2500 4005 End If 4010 If Combo1.Text = "Aço CA-50A" Or Combo1.Text = "Aço CA-50B" Then 4011 Fyk = 5000 4013 End If 4014 If Combo1.Text = "Aço CA-60A" Or Combo1.Text = "Aço CA-60B" Then 4015 Fyk = 6000 4016 End If 4018 'Cálculo de fyd 4020 Fyd = Fyk / GamaS 4025 'Cálculo de eyd 4035 If Combo1.Text = "Aço CA-25B" Then GoTo 4050 4037 If Combo1.Text = "Aço CA-50B" Then GoTo 4050 4038 If Combo1.Text = "Aço CA-60B" Then GoTo 4050 4040 eYd = Fyd * 1000 / Es 4045 GoTo 4055 4050 eYd = Fyd * 1000 / Es + 2 4055 'Cálculo de Sig2, 4060 'Cálculo da tensão correspondente a um encurtamento de 2 o/oo 4065 eSd(i) = 2 4070 Call SigSd05 4075 Sig2 = SigSd(i) 4080 End Sub Segue a sub-rotina SigSd05.

Page 73: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 71

9.6 - Sub SigSd05

Dada a deformação do aço εsd(i), calcula a tensão σsd(i). Os cálculos são feitos de acordo com o item 3.3. Sub SigSd05 5000 5020 Dim AA, BB, CC As Single 5030 If Combo1.Text = "Aço CA-25B" Or Combo1.Text = "Aço CA-50B" Or Combo1.Text = "Aço CA-60B" Then GoTo 5090 5040 If Abs(eSd(i)) >= eYd Then GoTo 5070 5050 SigSd(i) = Es * Abs(eSd(i)) / 1000 5060 GoTo 5190 5070 SigSd(i) = Fyd 5080 GoTo 5190 5090 If Abs(eSd(i)) > 0.7 * Fyd * 1000 / Es Then GoTo 5120 5100 SigSd(i) = Es * Abs(eSd(i)) / 1000 5110 GoTo 5190 5120 If Abs(eSd(i)) >= eYd Then GoTo 5180 5130 AA = 1 / (45 * Fyd ^ 2) 5140 BB = 1.4 / (45 * Fyd) - 1 / Es 5150 CC = 0.49 / 45 - Abs(eSd(i)) / 1000 5160 SigSd(i) = (BB + Sqr(BB ^ 2 - 4 * AA * CC)) / (2 * AA) 5170 GoTo 5190 5180 SigSd(i) = Fyd 5190 SigSd(i) = Sgn(eSd(i)) * SigSd(i) 5200 End Sub 9.7 - Sub SNiCrit06

Calcula νcrítico (NICRIT). O valor de βx é igualado a 0,5 e é chamada a rotina SBxTeta07. Teremos νcrítico, quando βx = 0,5 e daí K→∞. Também calcula NICRITInf e NICRITSup, correspondentes a βx = 0,5 – precisão e βx = 0,5 + precisão. Sub SNiCrit06() 4500 4505 Bx = 0.5 4510 Call SBxTeta07 4515 NICRIT = ETA 4521 Bx = (0.5 - Precisao) 4522 Call SBxTeta07 4523 NICRITInf = ETA 4524 Bx = (0.5 + Precisao) 4525 Call SBxTeta07 4526 NICRITSup = ETA 4530 End Sub Segue a sub-rotina SBxTeta07.

Page 74: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 72

9.8 - Sub SBxTeta07

Calcula εc e θ em função de βx para o E.L.U., com diagrama retangular-parabólico de tensões do concreto. Também calcula η e η’ pelas sub-rotinas SEta08 e SEtalin09.

A Sub SNiCrit06 é dividida em três trechos principais e mais dois trechos secundários: Região III - (4325 - 4370) domínio 1: (4335 - 4350); domínio 2: (4355 - 4370) Região II - (4380 - 4400) Região I - (4405 - 4420) 4320 If Bx >= 3.5 * (1 - Delta) / 13.5 Then GoTo 4375 βxLim III-II. eq. (4.16) 4325 epcmil = 10 * Bx / (1 - Delta - Bx) eq. (4.11) válida para toda região III 4330 If Bx > 0 Then GoTo 4355 βxLim 1-2. eq. (4.15) 4335 Teta = (epcmil + 10) / (1 - Delta) 4340 ETA = 0 região III - domínio 1 4345 ETALIN = 0 4350 GoTo 4425 4355 Teta = epcmil / Bx 4360 Call SEta08 região III - domínio 2 4365 Call SEtalin09 4370 GoTo 4425 4375 If Bx > 1 Then GoTo 4405 βxLim II-I. eq. (4.17) 4380 epcmil = 3.5 4385 Teta = epcmil / Bx 4390 Call SEta08 região II 4395 Call SEtalin09 4400 GoTo 4425 4405 epcmil = 14 * Bx / (7 * Bx - 3) 4410 Teta = epcmil / Bx região I 4415 Call SEta08 4420 Call SEtalin09 4425 End Sub 9.9 - Sub SEta08

Calcula η para seções retangulares, em função de εc e θ ou βx.

Quando se diz “ou βx” , supõe-se que se trata de E.L.U., onde εc e θ respeitam uma das relações: (5.20), (5.21) ou (5.22). Fora do E.L.U., o valor de βx não é suficiente, é necessário que o par εc e θ seja dado.

Nas linhas (6000 - 6075), a sub-rotina se preocupa apenas em verificar se houve ruptura na seção, além de calcular η no caso particular de θ = 0.

Supondo que a Precisao seja igual a 0,0001, então: na linha (6065) temos -10,0001 ao invés de -10, e também na linha (6075), aparece 2,0001 e não 2. Trata-se de um mero artifício para evitar que o computador faça desvio prematuro

O calculo de η, de acordo com (5.27) ou (5.29) só começa em (6080). 6000

Page 75: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 73

6020 If epcmil > (3.5 + Precisao) Then GoTo 6145 verifica o Pólo A de ruína. Se For verdadeiro, a peça já está rompida

6025 If Teta <> 0 Then GoTo 6040 verifica se θ = 0 (compressão unif.) 6028 If epcmil > (2 + Precisao) Then GoTo 6145 compressão uniforme: se 6030 ETA = epcmil * (4 - epcmil) / 4 εc > 2 a peça está 6035 GoTo 6150 rompida, caso contrário, η é calculado por (5.23) 6040 Bx = epcmil / Teta calcula βx por (5.11) 6045 If Bx > 0 Then GoTo 6055 βxLim 1-2. eq. (4.15) 6050 GoTo 6145 se βx < 0 em (6045) estamos no domínio 1 (concreto tracionado). 6055 If Bx > 1 Then GoTo 6075 βxLim II-I . eq. (4.17) 6060 If Bx >= 3.5 * (1 - Delta) / 13.5 Then GoTo 6080 βxLim III-II. eq. (4.16) 6065 If epcmil * (Bx - 1 + Delta) / Bx < (-1 * (10 + Precisao)) Then GoTo 6145

verifica se o Polo C é respeitado para região III. (4.13) 6070 GoTo 6080 6075 If epcmil * (Bx - 3 / 7) / Bx > (2 + Precisao) Then GoTo 6145 verifica se o Polo B é

respeitado para região II. (5.6) com y=3h/7

6080 If epcmil > 2 Then GoTo 6095 6085 Caso = 1 Descobre se estamos no Caso 1 ou 2 6090 GoTo 6100 6095 Caso = 2 6100 If epcmil > Teta Then GoTo 6115 6105 epc0 = 0 Calcula εco 6110 GoTo 6120 6115 epc0 = epcmil - Teta 6120 If Caso = 1 Then GoTo 6125 6121 If Caso = 2 Then GoTo 6135 6125 ETA = (epcmil ^ 2 * (6 - epcmil) - epc0 ^ 2 * (6 - epc0)) / (12 * Teta) (5.27) 6130 GoTo 6150 6135 ETA = (12 * epcmil - 8 - epc0 ^ 2 * (6 - epc0)) / (12 * Teta) (5.29) 6140 GoTo 6150 6145 ETA = 0 6150 End Sub

Page 76: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 74

9.10 - Sub SEtalin09

Calcula η` para seções retangulares, com os dados da sub-rotina SEta08.

Na sub-rotina SEtalin09 supõe-se que η já seja conhecido, isto é, que SEta08 já tenha sido chamada. Linhas (6520 - 6525): se η = 0, então η` = 0. Linhas (6530 - 6540): se η = 1 ou θ = 0 (comp. uniforme), η` é calculado por (5.25), com βc2 = 0,5

(seção retangular temos c2 = h/2 ). Linhas (6545 - 6565): η` é calculado conforme (5.28) ou (5.30)

A linha 6530 contém um artifício usado em vários programas. O direito seria dizer: If eta <> 1 Then GoTo 6545. Então, se ETA = 1 , passa-se a linha inferior: ETALIN = ETA/2. Entretanto se assim For feito, dificilmente o computador passará pela linha 6535, uma vez que ETA calculado será 0,999999 ou 1,000001, e não 1 exatamente. A linha 6530 evita esse tipo de problema. Sub SEtalin09() 6500 6520 If ETA <> 0 Then GoTo 6530 6525 GoTo 6570 6530 If Not (Abs(ETA - 1) <= Precisao Or Bx > 50) Then GoTo 6545 6535 ETALIN = ETA / 2 6540 GoTo 6580 6545 If Caso = 1 Then GoTo 6550 6546 If Caso = 2 Then GoTo 6560 6550 ETALIN = (epcmil ^ 3 * (8 - epcmil) - epc0 ^ 2 * (24 * epcmil - 16 * epc0 - 4 * epcmil * epc0 + 3 * epc0 ^ 2)) / (48 * Teta ^ 2) (5.28) 6555 GoTo 6580 6560 ETALIN = (16 - 32 * epcmil + 24 * epcmil ^ 2 - epc0 ^ 2 * (24 * epcmil - 4 * epc0 * (epcmil + 4) + 3 * epc0 ^ 2)) / (48 * Teta ^ 2) (5.30) 6565 GoTo 6580 6570 ETALIN = 0 6580 End Sub

Page 77: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 75

9.11 - Sub SConstZ10 Calcula as diversas Constantes que aparecem nas delimitações entre as zonas de solicitação AC , EC e da região βx = 0.5 – precisão ; 0.5 + precisão que será explicada na Sub Critico21. Sub SConstZ10() 3101 ' Limite NiCritInf 3102 BxInf = (0.5 - Precisao) 3103 Bx = BxInf 3104 Call SEpSig11 3105 Call SBxTeta07 3106 Call SKapa12 3107 ETAInf = ETA 3108 ETALINInf = ETALIN 3109 KapInf = Kapa 3110 OmegInf = Omega 3111 ' Limite NiCritSup 3112 BxSup = (0.5 + Precisao) 3113 Bx = BxSup 3114 Call SEpSig11 3115 Call SBxTeta07 3116 Call SKapa12 3117 ETASup = ETA 3118 ETALINSup = ETALIN 3119 KapSup = Kapa 3120 OmegSup = Omega 3121 ' Limite AC 3122 BxAC = 1 - Delta 3123 Bx = BxAC 3124 Call SEpSig11 3125 Call SBxTeta07 3126 Call SKapa12 3127 ETAC = ETA 3128 ETALINAC = ETALIN 3129 KapAC = Kapa 3130 OmegAC = Omega 3131 ' Limite EC 3132 BxEC = Delta 3134 Bx = BxEC 3135 Call SEpSig11 3136 Call SBxTeta07 3138 Call SKapa12 3140 ETEC = ETA 3142 ETALINEC = ETALIN 3144 KapEC = Kapa 3145 OmegEC = Omega 3149 End Sub

Page 78: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 76

9.12 - Sub SEpSig11 Calcula a deformação de cada camada de barras e depois a tensão de cada camada, em função da profundidade da linha neutra para o E.L.U. Também podemos escrever; calcula εsd(i) e σsd(i) como f(βx) para o E.L.U.

A Sub SNiCrit06 é dividida em três trechos principais. Região III - (4125 - 4145) Região II - (4155 - 4175) Região I - (4180 - 4195)

Observe, que qualquer que seja a região, é feito um “loop” (com For e Next), de maneira que a deformação εsd(i) seja calculada para todas as camadas de barra, que variam de 1 a ny. Sub SEpSig11() 4100 4115 4120 If Bx > 3.5 * (1 - Delta) / 13.5 Then GoTo 4150 4125 For i = 1 To ny 4130 eSd(i) = 10 * (Bx - Beta(i)) / (1 - Delta - Bx) 4135 Call SigSd05 4140 Next i 4145 GoTo 4199 4147 4150 If Bx > 1 Then GoTo 4180 4155 For i = 1 To ny 4160 eSd(i) = 3.5 * (Bx - Beta(i)) / Bx 4165 Call SigSd05 4170 Next i 4175 GoTo 4199 4180 For i = 1 To ny 4185 eSd(i) = 14 * (Bx - Beta(i)) / (7 * Bx - 3) 4190 Call SigSd05 4195 Next i 4199 End Sub

βxLim III-II. eq. (4.16) calcula εsd(i) eq. (4.10) calcula σsd(i), f(εsd(i)) βxLim II-I. eq. (4.17) calcula εsd(i) eq. (4.9) calcula σsd(i), f(εsd(i)) calcula εsd(i) eq. (4.8) calcula σsd(i), f(εsd(i))

Page 79: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 77

9.13 - Sub SKapa12

Calcula κ e Ω em função de βx

Linha (4950): se o valor de BK resultante da somatória For muito pequeno (menor que uma tolerância), faz-se BK = 0 (4970) e KAPA igual ao valor da linha (4975).

É importante observar que Skapa12 só funciona depois de SBxTeta07 , que fixa os valores de η (ETA) e η’ (ETALIN) para o cálculo de Ω (OMEGA), na linha (4960) Sub SKapa12() 4900 4915 AK = 0 zera AK 4920 BK = 0 zera BK 4925 Call SEpSig11 calcula a tensão 4930 For i = 1 To ny 4935 AK = AK + Nbar(i) * Beta(i) * SigSd(i) / Ntot 4940 BK = BK + Nbar(i) * SigSd(i) / Ntot 4945 Next i 4950 If Abs(BK - 0) <= Precisao Then GoTo 4970 4955 Kapa = AK / BK 4960 Omega = ETALIN - Kapa * ETA 4965 GoTo 4980 4970 BK = 0 BK → 0 4975 Kapa = 9.999999E+37 KAPA → ∞ 4980 End Sub

(σsd(i)) p/ cada camada de barras (6.10) (6.11) se BK ≅ 0 , vai para (4970) (6.12) (6.15)

9.14 - Sub SMiACEC13

Determina as 2 retas µ = f(ν), limite entre as zonas AC e EC, conforme o item 3.6.6.1 e 3.6.6.2.

Determina as 2 retas da região das proximidades de βx = 0,5 (βx = 0.5 – precisão e βx = 0.5 + precisão)

A Sub SMiACEC13 só funciona depois da Sub SConstZ10 que determinou as Constantes necessárias para aplicarmos as eqs. (6.27) e (6.29)

Sub SMiACEC13() 3150 3160 'Momento limite MiInf 3165 MiInf = Abs((BetaC2 - KapInf) * NI - OmegInf) 3170 'Momento limite MiSup 3175 MiSup = Abs((BetaC2 - KapSup) * NI - OmegSup) 3180 'Momento limite MiAC 3185 MiAC = (BetaC2 - KapAC) * NI - OmegAC 3190 'Momento limite MiEC 3195 MiEC = (BetaC2 - KapEC) * NI - OmegEC 3199 End Sub

Page 80: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 78

9.15 - Sub SMiZero14

Calcula o limite da zona O, isto é, para cada valor de ν (NI) dado, determina a correspondente µo (MiZero). Em outras palavras, determina, ponto por ponto, a curva da Fig. 6.3.

Vimos no item 3.6.6.3 que essa curva é dada pelas equações paramétricas (6.31) e (6.32). A Sub SMiZero14 procura, iterativamente, satisfazer a eq. (6.31) ν = η , criando uma função F = ν - η que deve ser igual a zero, a menos de uma tolerância. As abscissas ν da curva variam de 0 a 1, de modo que η também varia de 0 a 1, o que implica βx variar de 0 a +∞ .

As explicações da sub-rotina vêm depois dos códigos.

Sub SMiZero14() 3200 3225 If NI <= 0 Or NI >= 1 Then GoTo 3440 3230 Bx = 0 3235 ETA = 0 3240 ETALIN = 0 3245 PA = 0.1 3250 F = NI 3255 YY = F 3260 If Abs(F) <= Precisao Then GoTo 3450 3265 Bx = Bx + PA 3270 If Bx > (1 + Precisao) Then GoTo 3330 3275 Call SBxTeta07 3280 F = NI - ETA 3285 Y0 = F * YY 3290 YY = F 3295 If Y0 > 0 Then GoTo 3260 3300 Bx = Bx - PA 3305 Call SBxTeta07 3310 F = NI - ETA 3315 YY = F 3320 PA = PA / 10 3325 GoTo 3260 3330 ec1 = 0 3335 Bx = 1 3340 PA = 0.5 3345 Call SBxTeta07 3350 F = NI - ETA 3355 YY = F 3360 If Abs(F) <= Precisao Then GoTo 3450 3365 ec1 = ec1 + PA 3370 If ec1 >= 2 Then GoTo 3405 3375 Bx = (3 * ec1 - 14) / (7 * ec1 - 14) 3380 Call SBxTeta07 3385 F = NI - ETA 3390 Y0 = F * YY 3395 YY = F 3400 If Y0 > 0 Then GoTo 3360 3405 ec1 = ec1 - PA

Page 81: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 79

3410 Bx = (3 * ec1 - 14) / (7 * ec1 - 14) 3415 Call SBxTeta07 3420 F = NI - ETA 3425 YY = F 3430 PA = PA / 10 3435 GoTo 3360 3440 MiZero = 0 3445 GoTo 3455 3450 MiZero = BetaC2 * ETA - ETALIN 3455 End Sub

A linha (3225) faz MiZero = 0 para qualquer valor de NI fora do intervalo 0 a 1, incluindo os dois extremos.

(3230 - 3255): início da iteração. Zero é o valor inicial para as variáveis βx (Bx), η (ETA) e η’ (ETALIN). O passo PA de variação é 0,1 inicialmente. A função F = NI - ETA vale NI por enquanto, pois ETA = 0. Cria-se uma função auxiliar YY = F para não perder o valor anterior de F , quando houver mudança de valor.

(3260): no instante em que F = 0 ( a menos de uma tolerância), então MiZero pode ser calculado na linha (3450), conforme (6.32).

(3265): dá-se a primeira variação a Bx

(3270): se Bx ≤ 1, a sub-rotina continua na linha seguinte.

(3260-3325): corpo principal da iteração. Dado Bx vai-se para a Sub SBxTeta07, que calcula ETA e ETALIN para qualquer valor de Bx. Faz-se F = NI - ETA e multiplica-se esse valor atual de F pelo valor anterior YY . O produto é guardado comoY0. Guarda-se de novo o valor o valor atual de F como YY. Quando a função F é zerada, passa-se de um valor positivo para um negativo, ou vice-versa (o produto Y0 será negativo). Enquanto Y0 se mantém positivo, aumenta-se o valor de Bx. Quando For negativo, volta-se ao valor anterior Bx (3300), recalcula-se F m guarda-se o valor como YY (3315), diminui-se o passo PA (3320), e volta-se a (3265), variando Bx e testando, mas antes com passagem na (3260), para verificar se o valor F já é suficientemente pequeno.

(3270): Se Bx > 1, vai-se para (3330).

(3330 - 3355): prepara-se a iteração para trabalhar com ec1. O passo inicial é 0,5. Os valores iniciais são ec1 = 0 e o correspondente Bx = 1. Calcula-se F e guarda-se como YY

(3360 - 3435): corpo principal da iteração, análogo ao trecho anterior (3260 - 3325). A única diferença é trabalhar com ec1, calculando Bx em função de ec1. MiZero é calculado na linha 3450.

Page 82: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 80

9.16 - Sub Szona15

Dado o par ν (NI) e µ (Mi), determina a zona de solicitação.

Observando a figura abaixo, podemos ver 10 possibilidades distintas de ocorrência do par ν e µ :

Regiões para a pesquisa

Zona A: região 1 - 1 < NI e MI < MiAC região 2 - ETAC < NI < 1 →→→→ MiZero < MI < MiAC Zona E: região 3 - NI < 0 →→→→ MI < MiEC região 4 - 0 < NI < ETEC →→→→ MiZero < MI < MiEC Zona O: região 5 - 0 < NI < 1 →→→→ MI < MiZero Zona C: região 6 - 1 < NI →→→→ MiAC < MI região 7 - ETAC < NI < 1 →→→→ MiAC < MI região 8 - NI < 0 →→→→ MiEC < MI região 9 - 0 < NI < ETEC →→→→ MiEC < MI região 10 - ETEC < NI < ETAC →→→→ MiZero < MI

Sabido as 10 possibilidades que podem ocorrer, fica mais fácil de entender a cadeia de IF da Sub Szona15.

Page 83: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 81

Sub Szona15() 3500 3520 If NI > 1 Then GoTo 3615 3525 If NI < 0 Then GoTo 3580 3530 If MI <= MiZero Then GoTo 3565 3535 If NI <= ETAC And NI > ETEC Then GoTo 3550 3540 If NI > ETAC Then GoTo 3615 3545 If NI <= ETEC Then GoTo 3580 3550 Zona = "C" 3555 CaZon = 2 3560 GoTo 3645 3565 Zona = "O" 3570 CaZon = 4 3575 GoTo 3645 3580 If MI > MiEC Then GoTo 3600 3585 Zona = "E" 3590 CaZon = 1 3595 GoTo 3645 3600 Zona = "C" 3605 CaZon = 2 3610 GoTo 3645 3615 If MI > MiAC Then GoTo 3635 3620 Zona = "A" 3625 CaZon = 3 3630 GoTo 3645 3635 Zona = "C" 3640 CaZon = 2 3645 End Sub

Se NI > 1 (3520), será zona A ou C, conforme a comparação de MI com MiAC (3615-3640); regiões 1 ou 6.

Se 0 < NI (3525), será zona E ou C , conforme a comparação de MI com MiEC (3580-3610); regiões 3 ou 8.

Estando 0 < NI < 1 (3530), se Mi ≤ MiZero, teremos zona O. É a região 5

No mesmo intervalo (0 < NI < 1), já sabemos que Mi > MiZero, restam 5 faixas de pesquisa da figura acima. Se o ETEC < NI < ETAC, só pode ser zona C (3550-3560); é a região 10. Se NI > ETAC (3540),zona A ou C, aproveita-se o trecho(3615-3640); trechos 2 ou 7. Se NI ≤ ETEC (3545), zona E ou C, aproveita-se o trecho(3580-3610); trechos 4 ou 9.

Page 84: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 82

9.17 - Sub SRO16

Calcula taxa de armadura ρ em função de (µ e ν) Sub SRO16 () 5700 5715 If NI > 1 And MI = 0 Then GoTo 5975 5720 If NI < 0 And MI = 0 Then GoTo 5959 5721 If CaZon = 1 Then GoTo 5730 'zona E 5722 If CaZon = 2 Then GoTo 5780 'zona C 5723 If CaZon = 3 Then GoTo 5864 'zona A 5724 If CaZon = 4 Then GoTo 5890 'zona O 5725 '--------------------------------------------------------------------- 5730 BxInic = (10 * Delta - eYd * (1 - Delta)) / (10 - eYd) 5735 Bx = BxInic 5740 BxFin = Delta 5750 PA = 0.1 5760 GoTo 5930 5775 '--------------------------------------------------------------------- 5780 Call Critico21 5785 If NI > NICRIT Then GoTo 5815 5790 BxInic = Delta 5795 Bx = BxInic 5800 BxFin = (0.5 - Precisao) 5805 PA = 0.1 5810 GoTo 5900 5815 BxInic = (0.5 + Precisao + Precisao / 1000) 5820 Bx = BxInic 5825 BxFin = 1 - Delta 5830 PA = 0.1 5835 GoTo 5900 5840 Bx = 0.5 5845 Call SBxTeta07 5850 Call SKapa12 5855 GoTo 5940 5856 '--------------------------------------------------------------------- 5864 If Abs(MI) < 0.005 Then GoTo 5975 5866 ec1Inic = -3.5 * Delta / (1 - Delta) 5868 ec1 = ec1Inic 5870 ec1Fin = 2 5875 PA = 0.2 5880 Call SProc_BC17 5885 GoTo 5910 5890 '--------------------------------------------------------------------- 5891 RO = 0 5895 GoTo 5990 5899 '---------------------------------------------------------------------

compressão centrada tração centrada pesquisa da zona ------------- (6.33) (6.28) zona E ------------- zona C zona A zona O

Page 85: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 83

5900 Call SProc_BK19 5905 If BK = 0 Or Abs(AK) > Abs(BK) Then GoTo 5920 5910 RO = (NI - ETA) * SigCd / BK 5915 GoTo 5990 5916 '--------------------------------------------------------------------- 5920 PA = 0.1 5925 Bx = Bx - PA 5930 Call SProc_AK20 5940 CK = BetaC2 * NI - MI - ETALIN 5942 RO = CK * SigCd / AK 5945 GoTo 5990 5946 '--------------------------------------------------------------------- 5959 Bx = -10000 5960 BK = -Fyd 5965 RO = NI * SigCd / BK 5970 GoTo 5990 5971 '--------------------------------------------------------------------- 5975 Bx = 10000 5984 BK = Sig2 5985 ETA = 1 5988 RO = (NI - ETA) * SigCd / BK 5989 '--------------------------------------------------------------------- 5990 If RO > 0 Then GoTo 5999 5992 RO = 0 5999 End Sub

tração centrada compressão centrada

Se NI > MI (5715), isto é, no caso de compressão centrada com ρ ≠ 0, o problema é resolvido no trecho (5975 – 5988). RO é calculado pela (6.17), com ETA = 1 e BK = Sig2 porque, na somatória de (6.11), SigSd(i) é Constante e igual a Sig2.

No caso de tração centrada (5720), vale o trecho (5950 – 5970). RO é calculado pela (6.17) com ETA = 0 e BK = -Fyd, valor Constante de SigSd(i).

O trecho (5721 – 5724) mostra que o problema será resolvido de acordo com a zona de solicitação.

Zona E (5730 – 5760): A pesquisa de Bx é realizada neste trecho. Bx varia de -∞até Delta. Entretanto o valor inicial de Bx, BxInic, pode ser aquele da linha 5730, de acordo com (6.33). A execução do programa vai para (5930), que utiliza a sub-rotina SProc_AK20 (explicada mais adiante), determina Bx e daí ETA e ETALIN, calculando RO na linha (5942) pela (6.22).

Zona C (5780 – 5855): Primeiramente será chamada a Sub Critico21 para verificarmos se βx está muito próximo a 0,5 (mais próximo do que a precisão). Se βx estiver entre (0,5 – precisão) e (0,5 +precisão), BX já é conhecido: vale 0,5 trecho (5840 – 5855). Determinam-se os valores de ETA, ETALIN, AK, e calcula-se RO na linha (5942) pela (6.22). Se NI dado For maior ou menor que NICRIT, mudam os valores inicial e final de Bx. Qualquer que seja o caso, Bx é procurado por tentativas na sub-rotina SProc_BK19 , linha (5900), e RO é calculado conforme (6.17). Entretanto, se na sub-rotina SProc_BK19 durante as iterações acontecer BK = 0, volta-se o valor anterior de BK e continua-se a pesquisa com a sub-rotina SProc_AK20. Se a sub-rotina SProc_BK19, que corresponde

Page 86: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 86

a solução (6.17) para RO, encontrar resposta com BK ≠ 0, mas o valor absoluto de AK For maior que o de BK, opta-se também pela solução alternativa (6.22), por oferecer maior precisão.

Zona A ( 5864 – 5885): Se MI dado For muito próximo de zero, linha (5864), o valor do momento será desprezado e o cálculo será feito pelo trecho (5975 – 5988), referente ao caso de compressão centrada. A posição da L.N., na zona A será pesquisada no trecho (5866 – 5885). Como Bx varia de (1 - δ) até o infinito, trabalha-se com ec1. Começa-se com um valor negativo para ec1, linha (5866), pois a zona A engloba os domínios 4a e 5. O cálculo iterativo de ec1 é feito na na sub-rotina SProc_BC17, que será explicada mais adiante. Determinado ec1, e daí Bx, ETA, ETALIN, BK, a taxa RO é calculada na linha (5910) pela (6.17).

Zona O (5891 – 5895): Resultando RO = 0

9.18 - Subs: SProc_AK20, SProc_BK19, SProc_BC17

São três sub-rotinas que podem ser agrupadas em uma:

- SProc_AK20: Procura iterativa de Bx pela (6.23), dentro, portanto, da solução alternativa, item 3.6.3. RO será calculado com AK.

- SProc_BK19: Procura iterativa de Bx pela (6.19b), preparando o cálculo de RO pela (6.17). RO será calculado com BK.

- SProc_BC17: Como o precedente, mas trabalhando com ec1. RO será calculado com BK.

Em qualquer um dos casos, chama-se F o primeiro membro da equação (6.19b) ou da (6.23), e procura-se, por tentativas, “zerar” a função F: linha (7250) ou (7430) ou (7525). Admite-se que F = 0 quando |F| ≤ Precisao. Sub SProc_AK20 7200 7225 Call SBxTeta07 em função de βx calcula: εc, θ, η e η’

7230 Call SKapa12 em função de βx calcula: εsd, σsd, A, B, K e Ω 7235 CK = BetaC2 * NI - MI - ETALIN 7240 F = NI - ETA - CK / Kapa 7245 YY = F 7250 If Abs(F) <= Precisao Then GoTo 7350 7255 Bx = Bx + PA 7260 If Bx > BxFin Then GoTo 7300 7265 Call SBxTeta07 7270 Call SKapa12 7272 If Abs(BK) > Abs(AK) Then GoTo 7345 7275 CK = BetaC2 * NI - MI - ETALIN 7280 F = NI - ETA - CK / Kapa 7285 Y0 = F * YY 7290 YY = F 7295 If Y0 > 0 Then GoTo 7250 7300 Bx = Bx - PA 7305 Call SBxTeta07 7310 Call SKapa12 7315 CK = BetaC2 * NI - MI - ETALIN 7320 F = NI - ETA - CK / Kapa

Page 87: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 87

7330 YY = F 7335 PA = PA / 10 7340 GoTo 7250 7345 Bx = Bx - PA 7346 Call SProc_BK19 7350 End Sub Sub SProc_BK19 7400 7410 Call SBxTeta07 7415 Call SKapa12 7418 If BK = 0 Then GoTo 7499 7420 F = (BetaC2 - Kapa) * NI - MI - Omega 7425 YY = F 7430 If Abs(F) <= Precisao Then GoTo 7499 7435 Bx = Bx + PA 7438 If Bx > BxFin Then GoTo 7465 7440 Call SBxTeta07 7445 Call SKapa12 7448 If BK = 0 Then GoTo 7499 7450 F = (BetaC2 - Kapa) * NI - MI - Omega 7455 Y0 = YY * F 7456 YY = F 1457 If Abs(F) <= Precisao Then GoTo 7499 ' 7460 If Y0 > 0 Then GoTo 7430 7465 Bx = Bx - PA 7470 Call SBxTeta07 7475 Call SKapa12 7480 F = (BetaC2 - Kapa) * NI - MI - Omega 7485 YY = F 7490 PA = PA / 10 7495 GoTo 7430 7499 End Sub Sub SProc_BC17 7500 7505 Call SEc1Bx18 7510 Call SKapa12 7515 F = (BetaC2 - Kapa) * NI - MI - Omega 7520 YY = F 7525 If Abs(F) <= Precisao Then GoTo 7595 7530 ec1 = ec1 + PA 7532 If ec1 >= (2 + Precisao) Then GoTo 7560 7535 Call SEc1Bx18 7540 Call SKapa12 7545 F = (BetaC2 - Kapa) * NI - MI - Omega 7550 Y0 = YY * F 7552 YY = F 7555 If Y0 > 0 Then GoTo 7525 7560 ec1 = ec1 - PA 7565 Call SEc1Bx18

Page 88: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 88

7570 Call SKapa12 7575 F = (BetaC2 - Kapa) * NI - MI - Omega 7580 YY = F 7585 PA = PA / 10 7590 GoTo 7525 7595 End Sub

É interessante observar que a eq. (6.23) é a mesma (6.19b): basta desenvolver a (6.22), introduzindo a expressão de C segundo (6.21). A razão de iterar ora com uma forma, ora com outra, reside no fato de a (6.19b), no caso de BK = 0, operar com a diferença de dois valores que tendem para o infinito, o que não acontece com (6.23).

A iteração com o objetivo de “zerar” a função F segue o mesmo procedimento já visto na sub-rotina SMiZero14. Recordando, segue o seguinte roteiro:

- dado o valor inicial BxInic pela sub-rotina SRO16, calculam-se os valores ETA, ETALIN, AK, BK, KAPA, OMEGA, através de sub-rotinas já conhecidas;

- calcula-se F e guardase o valor como YY;

- verifica-se se |F| ≤ Precisao;

- se |F| > Precisao, dá-se a Bx o acréscimo PA e recalcula-se F;

- efetua-se o produto Y0 de F com seu valor anterior YY, e , em seguida, guarda-se o último valor de F como YY;

- Se o produto Y0 For positivo, após a verificação de ser |F| > Precisao, dá-se novo acréscimo PA à variável Bx;

- Quando resultar Y0 ≤ 0, volta-se ao Bx anterior, recalcula-se F, guardando como YY, reduz-se o passo PA de variação de Bx e repete-se a marcha de cálculo;

- A instrução End Sub é alcançada quando |F| ≤ Precisao;

As sub-rotinas comportam alguns desvios:

a) quando Bx superar o valor BxFin, ou quando ec1 ≥ (2 + Precisao) , linha (7260) ou (7438) ou (7532), volta-se ao valor anterior do parâmetro e reduz-se o passo PA;

b) quando está na Sub SProc_BK19, e, em qualquer ponto da iteração, resulta BK = 0, linha (7418) ou (7448), volta-se a SRO16, que remete à sub-rotina SProc_AK20, tendo antes o cuidado de voltar ao Bx anterior;

c) se |BK| > |AK| na sub-rotina SProc_AK20, linha (7272), desvia-se o cálculo para a sub-rotina SProc_BK19;

d) inversamente, se resultar |AK| > |BK| na sub-rotina SProc_BK19, a sub-rotina SRO16, na linha (5905), mandará recalcular pela sub-rotina SProc_AK20;

Os desvios c) e d) têm por objetivo aumentar a precisão da resposta RO.

Page 89: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 89

9.19 - Sub SEc1Bx18

Calcula βx como f(εc1) e calcula εc, θ, η e η’.

Sub Sec1Bx18 4200 4210 If ec1 <= 0 Then GoTo 4230 4215 Bx = (3 * ec1 - 14) / (7 * ec1 - 14) (4.6) 4220 epcmil = 14 * Bx / (7 * Bx - 3) (4.3) 4225 GoTo 4240 4230 Bx = 3.5 / (3.5 + Abs(ec1)) 4235 epcmil = 3.5 4240 Teta = epcmil / Bx (4.20) 4245 Call SEta08 4250 Call SEtalin09 4249 End Sub

A incógnita Bx de um determinado problema pode corresponder ao domínio 4a, vizinho do domínio 5. Em tal caso, ec1 será negativo e Bx será calculado na linha (4230), com a fórmula que é a recíproca de (4.9), fazendo εsdi = εc1 e βi = 1.

Page 90: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 90

9.20 - Sub Critico21 Bx = 0 If NI < NICRITInf Then If MI > MiInf Then Bx = 0.5 End If End If If NI > NICRITSup Then If MI > MiSup Then Bx = 0.5 End If End If End Sub

Observe a fiura:

Nas iterações na zona C, é importante verificarmos se não estamos na região pintada de vermelho no gráfico acima. Por esse motivo, a Sub SRO16 chama essa sub-rotina Sub Critico21 antes de começar as iterações.

Se 0.5 – precisão < βx < 0.5 + precisão, corremos o risco de nunca conseguirmos chegar ao final da iteração ( o que gera travamento do computador). Por exemplo: precisão = 0,0001 0,5 – precisão = 0,4999 0,5 + precisão = 0,5001 A iteração pode ocorrer em duas regiões: δ < βx < 0,4999 0,5001 < βx < 1- δ Se βx = 4,999945 ou 5,0000654 a iteração nunca acabaria, e o passo iria se reduzindo cada vez mais, gerando um looping contínuo. Por isso tornamos βx = 0,5 se Constatarmos que ele se encontra na região “crítica”.

Page 91: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 91

9.21 - Sub Bitolas22 Dá os valores do diâmetro e da área das barras de aço existentes: Sub Bitolas22 7700 7701 Dfi(1) = 0.5 7702 Dfi(2) = 0.63 '(1/4")' 7703 Dfi(3) = 0.8 '(5/16")' 7704 Dfi(4) = 1 '(3/8")' 7705 Dfi(5) = 1.25 '(1/2")' 7706 Dfi(6) = 1.6 '(5/8")' 7707 Dfi(7) = 2 '(3/4")' 7708 Dfi(8) = 2.25 '(7/8")' 7709 Dfi(9) = 2.5 '(1")' 7710 Dfi(10) = 3.2 '(1 1/4")' 7711 Dfi(11) = 4 7712 Afi(1) = 0.2 7713 Afi(2) = 0.315 7714 Afi(3) = 0.5 7715 Afi(4) = 0.8 7716 Afi(5) = 1.25 7717 Afi(6) = 2 7718 Afi(7) = 3.15 7719 Afi(8) = 4 7720 Afi(9) = 5 7721 Afi(10) = 8 7722 Afi(11) = 12.5 7723 Pfi(1) = 0.16 7724 Pfi(2) = 0.25 7725 Pfi(3) = 0.4 7726 Pfi(4) = 0.63 7727 Pfi(5) = 1 7728 Pfi(6) = 1.6 7729 Pfi(7) = 2.5 7730 Pfi(8) = 3.15 7731 Pfi(9) = 4 7732 Pfi(10) = 6.3 7733 Pfi(11) = 10 7735 End Sub

Page 92: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 92

9.22 - Sub AsReal23

Descobre a barra longitudinal que será utilizada. Será a bitola com área imediatamente superior à área teórica, calculada anteriormente pelo programa.

Verifica se a bitola deveria ser superior a 40mm (valor da bitola máxima existente comercialmente), e caso For, será mostrada uma mensagem de erro e o programa será finalizado. Também verifica se a bitola respeita o diâmetro máximo e mínimo (item18.4.2.1. do Projeto de revisão da NB1 / 2001) Sub AsReal23 7731 If AsUnit > Afi(11) Then GoTo 7763 7735 For i = 4 To 11 7740 If Afi(i) - AsUnit >= 0 Then GoTo 7750 7745 Next i 7750 AsUnitR = Afi(i) 7755 AsTotR = Afi(i) * Ntot 7757 fI = Dfi(i) 7758 PesFi = Pfi(i) 7760 GoTo 7785 7763 eRRo = "s" 7764 mErro = "Bitola deveria ser maior do que 40mm (maior dimensão existente no comércio)." 7765 mItem = "" 7766 AsUnitR = 0 7770 AsTotR = 0 7773 Form2.Label1.Caption = mErro 7774 Form2.Label2.Caption = mItem 7775 Form2.Show vbModal 7780 GoTo 7800 7785 If fI > MenorDim / 8 Then 7790 eRRo = "s" 7791 mErro = "Diâmetro da barra longitudinal excede o máximo permitido = 1/8 da menor dimensão." & " No caso " & fI & "cm > " & MenorDim / 8 & "cm" 7792 mItem = "Item 18.4.2.1 do Projeto de revisão da NB1 / 2001" 7795 Form2.Label1.Caption = mErro 7796 Form2.Label2.Caption = mItem 7797 Form2.Show vbModal 7798 End If 7800 End Sub

Page 93: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 93

9.23 - Sub AsMinMax24

Verifica se as taxas máximas e mínimas de armadura estão sendo respeitadas (Itens 17.3.4.3.1 e 17.3.4.3.2 do Projeto de revisão da NB1 / 2001). Sub AsMinMax24 () 7801 AsMin = (0.15 * Nd) / Fyd 7805 If AsMin <= (0.004 * Ac) Then 7810 AsMin = 0.004 * Ac 7815 End If 7817 AsunitMin = AsMin / Ntot 7820 AsMax = (0.08 * Ac) / 2 'fora da região de emendas 7830 If AsTotR < AsMin Then 7840 Call Taxaminima45 7880 End If 7881 If AsTotR > AsMax Then 7882 eRRo = "s" 7883 mErro = "A taxa de armadura excede o máximo permitido = 8,0%Ac em reigião de emendas. No caso temos " & Format(AsTotR, "##0.00") & "cm2 que é maior que " & Format(AsMax, "##0.00") & "cm2 correspondente a 4%Ac fora da região de emendas" 7884 mItem = "Item 17.3.4.3.2 do Projeto de revisão da NB1 / 2001" 7885 Form2.Label1.Caption = mErro 7886 Form2.Label2.Caption = mItem 7887 Form2.Show vbModal 7888 End If 7890 End Sub

Page 94: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 94

9.24 - Sub CeoficienteAdic25

Calcula o valore do coeficiente adicional para pilares com menor dimensão entre 12 e 19cm, conforme o Item 13.2.3 do Projeto de revisão da NB1 / 2001, tabela 17.

Verifica se devemos tratar a peça como pilar parede (se maior dimensão > 5 x menor dimensão). Sub CeoeficienteAdic25 () If B < H Then MenorDim = B If 5 * B < H Then eRRo = "sPparede" mErro = "Maior dimensão da seção transversal = " & H & "cm, excedeu 5 vezes a menor dimensão = " & 5 * B & ". O pilar deve ser tratado como pilar parede." mItem = "Item 18.4.1 do Projeto de revisão da NB1 / 2001" Form2.Label1.Caption = mErro Form2.Label2.Caption = mItem Form2.Show vbModal End If Else MenorDim = H If 5 * H < B Then eRRo = "sPparede" mErro = "Maior dimensão da seção transversal = " & B & "cm, excedeu 5 vezes a menor dimensão = " & 5 * H & ". O pilar deve ser tratado como pilar parede." mItem = "Item 18.4.1 do Projeto de revisão da NB1 / 2001" Form2.Label1.Caption = mErro Form2.Label2.Caption = mItem Form2.Show vbModal End If End If CoefAdic = 1 If MenorDim < 19 Then CoefAdic = 1.05 End If If MenorDim < 18 Then CoefAdic = 1.1 End If If MenorDim < 17 Then CoefAdic = 1.15 End If If MenorDim < 16 Then CoefAdic = 1.2 End If If MenorDim < 15 Then CoefAdic = 1.25 End If If MenorDim < 14 Then CoefAdic = 1.3 End If If MenorDim < 13 Then

Page 95: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 95

CoefAdic = 1.35 End If End Sub

9.25 - Sub Espaçamento26

Calcula os espaçamentos entre eixos e faces das barras horizontais e verticais.

Verifica se os espaçamentos entre as barras respeitam os espaçamentos máximo e mínimo conforme o Item 18.4.2.2 do Projeto de revisão da NB1 / 2001. Sub Espaçamento26 () 7900 7905 eXFace = ((B - 2 * dLinha) / (nX - 1)) - fI 7910 eYFace = ((H - 2 * dLinha) / (nY - 1)) - fI 7915 eXEixo = ((B - 2 * dLinha) / (nX - 1)) 7920 eYEixo = ((H - 2 * dLinha) / (nY - 1)) 7925 Eixo = "" 7930 mErro = "" 7935 '--------------------------------------------------------------------- 7940 If (4 * fI) < (1.2 * Dagregado) * 2 Then 7950 SMin = (1.2 * Dagregado) * 2 7955 mErro2 = " 2,4 vezes o diâmetro máximo do agragado, fora das emendas" 7960 Else 7970 SMin = (4 * fI) 7975 mErro2 = " 4 vezes o diâmetro da barra longitudinal" 7980 End If 7985 '-------------------------------------------- 7990 If eXFace < SMin Then 7995 eRRo = "s" 8000 mErro = "Espaçamento livre entre barras horizontais = " & Int(eXFace * 10 + 0.5) / 10 & "cm menor que " & mErro2 & " = " & Int(SMin * 100 + 0.5) / 100 & "cm" 8010 mItem = "Item 18.4.2.2 do Projeto de revisão da NB1 / 2001" 8020 Form2.Label1.Caption = mErro 8030 Form2.Label2.Caption = mItem 8040 Form2.Show vbModal 8050 End If 8055 '-------------- 8060 If eYFace < SMin Then 8070 eRRo = "s" 8080 mErro = "Espaçamento livre entre barras verticais = " & Int(eYFace * 10 + 0.5) / 10 & "cm menor que " & mErro2 & " = " & Int(SMin * 100 + 0.5) / 100 & "cm" 8090 mItem = "Item 18.4.2.2 do Projeto de revisão da NB1 / 2001" 8100 Form2.Label1.Caption = mErro 8110 Form2.Label2.Caption = mItem 8120 Form2.Show vbModal 8130 End If 8140 '--------------------------------------------------------------------- 8150 If (2 * MenorDim) >= 40 Then 8160 SMax = 40

Page 96: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 96

8170 mErro2 = "máximo permitido" 8180 Else 8190 SMax = 2 * MenorDim 8200 mErro2 = " 2 vezes a menor dimensão do trecho considerado" 8210 End If 8220 '-------------------------------------------- 8230 If eXEixo > SMax Then 8240 eRRo = "s" 8250 mErro = "Espaçamento entre eixos das barras horizontais = " & Int(eXEixo * 10 + 0.5) / 10 & "cm maior que " & mErro2 & " = " & Int(SMax * 100 + 0.5) / 100 & "cm" 8260 mItem = "Item 18.4.2.2 do Projeto de revisão da NB1 / 2001" 8270 Form2.Label1.Caption = mErro 8280 Form2.Label2.Caption = mItem 8290 Form2.Show vbModal 8300 End If 8305 '-------------- 8310 If eYEixo > SMax Then 8320 eRRo = "s" 8330 mErro = "Espaçamento entre eixos das barras verticais = " & Int(eYEixo * 10 + 0.5) / 10 & "cm maior que " & mErro2 & " = " & Int(SMax * 100 + 0.5) / 100 & "cm" 8340 mItem = "Item 18.4.2.2 do Projeto de revisão da NB1 / 2001" 8350 Form2.Label1.Caption = mErro 8360 Form2.Label2.Caption = mItem 8370 Form2.Show vbModal 8380 End If 8390 8400 mErro = "" 8410 mItem = "" 8415 mErro2 = "" End Sub

Page 97: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 97

9.26 - Sub Cobrimento27

Calcula o cobrimento nominal (Item 7.4.7 do Projeto de revisão da NB1 / 2001), cobrimento efetivo e comprimento de cada estribo.

Verifica todos o item 7.4.7 do Projeto de revisão da NB1 / 2001- Cobrimento. Se o cobrimento efetivo não For maior ou igual ao cobrimento nominal, será mostrado outro formulário (Form4) que será explicado adiante. Sub Cobrimento27 8450 If Recalcular = "s" Then GoTo 8525 8460 Call CobNominal40 '------------------------------------------------------------------------- 8525 Recalcular = "n" '------------------------calcula CobEf. >= Cnom--------------------------- 8526 Cobrimento = dLinha - fIestribo - fI / 2 8527 If Int(cN * 10000 + 0.5) / 10000 > Int(Cobrimento * 10000 + 0.5) / 10000 Then 8528 If Check1.Value = 1 Then 8529 Call Form4.CalcdLinha 8530 Else 8531 Form4.Command2.Caption = "&1 - Utilizar cobrimento mínimo" 8532 Form4.Label1.Caption = "Cobrimento efetivo = " & Cobrimento & " cm menor que o combrimento nominal = " & cN & " cm." 8533 Form4.Label3.Caption = "Item 7.4.7 " 8534 Form4.Show vbModal 8535 End If 8536 End If '------------------------calcula Cob. das barras longitudinais----------- 8537 If Int((Cobrimento + fIestribo) * 10000 + 0.5) / 10000 < Int(fI * 10000 + 0.5) / 10000 Then 8538 If Check1.Value = 1 Then 8539 Call Form4.CalcdLinhaFi 8540 Else 8541 Form4.Command2.Caption = "&1 - Utilizar cobrimento mínimo" 8542 Form4.Label1.Caption = "Cobrimento mínimo das barras longitudinais = " & Cobrimento + fIestribo & " cm menor que o mínimo = " & fI & " cm (diâmetro da barra logitudinal)" 8543 Form4.Label3.Caption = "Item 7.4.7.5" 8544 Form4.Show vbModal 8545 End If 8546 End If '------------------------------------------------------------------------- 8547 EstribX = B - 2 * Cobrimento 8550 EstribY = H - 2 * Cobrimento 8600 Call Ganchos41 8675 CompEst = 2 * (EstribX + EstribY) + EstribAnc 8680 Qest = Int(1 + (L / SEst)) End Sub

Page 98: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 98

9.27 - Sub Estribo28

Calcula o diâmetro e o espaçamento dos estribos. Sub Estribo28 () 8531 '-------------------------------------Estribo Pré definido-------- 8535 If Option3.Value = True Then 8537 If Combo3.Text = "5 mm" Then 8539 FiPreEstrib = 0.5 8540 PesoPreEstrib = 0.16 K = 1 8541 End If 8543 If Combo3.Text = "6.3 mm (1/4'')" Then 8545 FiPreEstrib = 0.63 8546 PesoPreEstrib = 0.25 K = 2 8547 End If 8549 If Combo3.Text = "8 mm (5/16'')" Then 8551 FiPreEstrib = 0.8 8552 PesoPreEstrib = 0.4 K = 3 8553 End If 8554 If Combo3.Text = "10 mm (3/8'')" Then 8556 FiPreEstrib = 1 8557 PesoPreEstrib = 0.63 K = 4 8558 End If 8560 End If 8600 '----------------------------------Fi Estribo teórico mínimo------------ 8605 If fI / 4 > 0.5 Then GoTo 8630 8610 fIeMin = 0.5 8620 GoTo 8640 8630 fIeMin = fI / 4 8635 '----------------------------------Fi Estribo real mínimo ------- 8640 For i = 1 To UltimoFiEstribo 8650 If Dfi(i) >= fIeMin Then GoTo 8670 8660 Next i 8670 fIestribo = Dfi(i) 8675 PesoEstribo = Pfi(i) 8680 j = i 8690 '----------------------------------Espaçamento mínmo------------ 8740 If MenorDim < 20 Then 8750 SEst = Int(MenorDim) 8760 Else 8770 SEst = 20 8775 End If 8777 '----------Espaçamento mínmo pra CA-25------------ 8780 If Combo1.Text = "Aço CA-25A" Or Combo1.Text = "Aço CA-25B" Then 8790 If SEst > Int(24 * fI) Then

Page 99: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 99

8800 SEst = Int(24 * fI) 8810 End If 8820 End If 8825 '----------Espaçamento mínmo pra CA-50------------ 8830 If Combo1.Text = "Aço CA-50A" Or Combo1.Text = "Aço CA-50B" Then 8840 If SEst > Int(12 * fI) Then 8850 SEst = Int(12 * fI) 8860 End If 8870 End If 8877 '----------Espaçamento mínmo pra estribos com menor dimenção que o limite--- 8880 For i = 1 To 3 8890 SEst2(i) = Int(9000 * ((10 * Dfi(i)) ^ 2 / (10 * fI)) / (Fyk / 10)) If SEst2(i) > SEst Then SEst2(i) = SEst End If 8895 Next i 8900 '--------------------escolha 2 com aço diferente ---------------- 8910 If Option5.Value = True And Check5.Value = 0 Then GoTo 9290 8911 '--------------------escolha 2 mesmo tipo de aço---------- 8912 If Option5.Value = True And Check5.Value = 1 Then 8913 Call Form7.MelhorSolução 8914 GoTo 9226 8915 End If 8920 '--------------------escolha 1 pré-definido------------------------------ 8930 If Option3.Value = True Then 8940 If FiPreEstrib >= fIestribo Then 8950 fIestribo = FiPreEstrib 8951 PesoEstribo = PesoPreEstrib 8955 GoTo 9290 'fim 8960 Else If Check5.Value = 0 Then 8970 Form2.Label1.Caption = "O estribo pré-definido possue diâmetro inferior ao permitido pela norma. Será usado o valor mínimo permitido que é de " & 10 * fIestribo & "mm." 8980 Form2.Label2.Caption = "Item 18.4.3" 8990 Form2.Show vbModal 9000 GoTo 9290 'fim Else fIestribo = FiPreEstrib PesoEstribo = PesoPreEstrib SEst = SEst2(K) End If 9005 End If GoTo 9290 'fim 9007 End If 9120 '------------escolha 3 (manual)---------- 9121 If j = 1 Then 9122 fiEstriboRec = Dfi(1) 9123 PesoEstriboRec = Pfi(1) 9124 SEstRec = SEst

Page 100: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 100

9125 GoTo 9231 9126 End If 9127 If Recalcular = "s" Then GoTo 9231 9130 Form7.Label1.Caption = "A bitola do estribo deverá ser de " & 10 * Dfi(j) & "mm2 com espaçamento de " & SEst & "cm" 9140 Form7.Label2.Caption = " Porém, se os estribos e a armadura longitudinal forem do MESMO TIPO DE AÇO, poderá ser adotada uma das soluções abaixo:" 9150 Form7.Option1(0).Caption = "fi de " & Dfi(j) & "mm a cada " & SEst & "cm. (independe do tipo de aço do estribo)." 9160 Form7.Option1(0).Enabled = True 9180 For i = 1 To (j - 1) 9190 Form7.Option1(i).Caption = "fi de " & Dfi(j - i) & "mm a cada " & SEst2(j - i) & "cm." 9200 Form7.Option1(i).Enabled = True 9210 Next i 9220 Form7.Show vbModal 9225 '------------------------------- 9226 fiEstriboRec = Dfi(i) 9227 PesoEstriboRec = Pfi(i) 9228 If i < j Then 9229 SEstRec = SEst2(i) 9230 End If 9231 fIestribo = fiEstriboRec 9235 PesoEstribo = PesoEstriboRec 9250 SEst = SEstRec 9290 'não apagar End Sub 9.28 - Sub Peso29

Calcula o peso total do aço usado no pilar. '------armadura longitudinal Pes = Ntot * PesFi * L / 100 '------estribos CompSuplementarH = 0 For i = 1 To nX If EstribSup(i) = "s" Then CompSuplementarH = CompSuplementarH + EstribY + EstribAncSupl End If Next i CompSuplementarV = 0 For i = 1 To nY If EstribSupV(i) = "s" Then CompSuplementarV = CompSuplementarV + EstribX + EstribAncSupl End If Next i CompEstTotal = CompEst + CompSuplementarH + CompSuplementarV Pes = Pes + (Qest * CompEstTotal / 100 * PesoEstribo) End Sub

Page 101: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 101

9.29 - Sub Ganchos41 Calcula o comprimento do gancho dos estribo (Item 9.4.6.1 do Projeto de revisão da NB1 / 2001) Sub Ganchos41() If Option7(0).Value = True Then If 2 * 5 * fIestribo > 10 Then EstribAnc = 2 * 5 * fIestribo Else EstribAnc = 10 End If Else If 2 * 10 * fIestribo > 14 Then EstribAnc = 2 * 10 * fIestribo Else EstribAnc = 14 End If End If If 2 * 5 * fIestribo > 10 Then EstribAncSupl = 2 * 5 * fIestribo Else EstribAncSupl = 10 End If End Sub 9.30 - Sub CobNominal40

Calcula o borimento nominal segundo a norma. Sub CobNominal40() 8451 If Option1.Value = True Then 8452 dC = 1 8453 Else 8454 dC = 0.5 8455 End If 8456 If Combo2.Text = "I" Then 8460 cN = 1.5 + dC 8465 End If 8470 If Combo2.Text = "II" Then 8475 cN = 2 + dC 8480 End If 8485 If Combo2.Text = "III" Then 8490 cN = 3 + dC 8495 End If 8500 If Combo2.Text = "IV" Then 8505 cN = 4 + dC 8510 End If ' -----------------------------------calcula dmax <= 1.2 Cnom------------- 8511 If Dagregado > 1.2 * cN Then 8512 If Check1.Value = 1 Then

Page 102: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 102

8513 Call Form4.CalccNAgr 8514 Else 8515 Form4.Command2.Caption = "&1 - Calcular cobrimento nominal múltiplo de 0,5" 8516 Form4.Label1.Caption = "Cobrimento nominal = " & cN & " cm, < " & Int((Dagregado / 1.2) * 100 + 0.5) / 100 & " cm (dimensão máxima do argagado graúdo / 1.2)" 8517 Form4.Label3.Caption = "Item 7.4.7.6 do Projeto de revisão da NB1 / 2001" 8518 Form4.Show vbModal 8519 End If 8520 End If End Sub 9.31 - Sub GuardaValores42

Armazena alguns valores de cada solução encontrada. Sub GuardaValores42() Combinaçao = Combinaçao + 1 PesoOpçao(Combinaçao) = Pes BarrasX(Combinaçao) = nX BarrasY(Combinaçao) = nY EeStribos(Combinaçao) = eEe FiEscolhido(Combinaçao) = fI End Sub 9.32 - Sub EscolheValores43

Ordena os valores armazenados na sub-rotina “GuardaValores42” em função do peso de aço calculado. Sub EscolheValores43() MelhorPeso(1) = PesoOpçao(1) MelhorX(1) = BarrasX(1) MelhorY(1) = BarrasY(1) MelhorEstribo(1) = EeStribos(1) MelhorFi(1) = FiEscolhido(1) If Combinaçao = 1 Then GoTo 20 K = 2 Do For j = 1 To K - 1 If PesoOpçao(K) < MelhorPeso(j) Then For i = 1 To K - j MelhorPeso(K + 1 - i) = MelhorPeso(K - i) MelhorX(K + 1 - i) = MelhorX(K - i) MelhorY(K + 1 - i) = MelhorY(K - i) MelhorEstribo(K + 1 - i) = MelhorEstribo(K - i) MelhorFi(K + 1 - i) = MelhorFi(K - i) Next i MelhorPeso(j) = PesoOpçao(K) MelhorX(j) = BarrasX(K) MelhorY(j) = BarrasY(K) MelhorEstribo(j) = EeStribos(K)

Page 103: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 103

MelhorFi(j) = FiEscolhido(K) GoTo 10 End If Next j MelhorPeso(K) = PesoOpçao(K) MelhorX(K) = BarrasX(K) MelhorY(K) = BarrasY(K) MelhorEstribo(K) = EeStribos(K) MelhorFi(K) = FiEscolhido(K) 10 K = K + 1 If K > Combinaçao Then GoTo 20 Loop 20 End Sub 9.33 - Sub ValoresnoForm1144

Escreve os valores da sub-rotina “EscolheValres42” nos campos do formuláiro Form11 Sub ValoresnoForm1144() If Combinaçao > 40 Then Combinaçao = 40 End If For i = 1 To Combinaçao If MelhorPeso(i) < 9E+30 Then Form11.Text4(i - 1) = Format(MelhorPeso(i), "##0.00") Form11.Text1(i - 1) = MelhorX(i) Form11.Text2(i - 1) = MelhorY(i) Form11.Text5(i - 1) = 10 * MelhorFi(i) If MelhorEstribo(i) = 1 Then Form11.Text3(i - 1) = "5" End If If MelhorEstribo(i) = 2 Then Form11.Text3(i - 1) = "6.3" End If If MelhorEstribo(i) = 3 Then Form11.Text3(i - 1) = "8" End If If MelhorEstribo(i) = 4 Then Form11.Text3(i - 1) = "10" End If Form11.Option1(i - 1).Visible = True End If Next i End Sub

Page 104: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 104

9.34 - Sub Taxaminima45

Calcula a taxa mínima da armadura longitudinal para a seção dada. Sub Taxaminima45() 10 AsTot = AsMin 20 AsUnit = AsTot / Ntot 30 If AsUnit > Afi(11) Then GoTo 130 40 For i = 4 To 11 50 If Afi(i) - AsUnit >= 0 Then GoTo 70 60 Next i 70 AsUnitR = Afi(i) 80 AsTotR = Afi(i) * Ntot 90 fI = Dfi(i) 95 PesFi = Pfi(i) 100 mErro = "voltar" 105 eRRo = "n" 110 Form3.Hide 120 GoTo 200 130 eRRo = "s" 140 mErro = "Taxa de armadura mínima exige barras aço com bitola maior do que o existente" 150 Form2.Label1.Caption = mErro 160 Form2.Show vbModal 200 End sub

Page 105: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 105

9.35 - Sub Desenha35

Faz o detalhamento do pilar e escreve os textos.

O detalhamento poderá ser gerado de duas formas:

Detalhamento dos estribos a direita do pilar Detalhamento dos estribos a baixo do pilar

O programa define automaticamente qual opção utilizar. Será utilizado a opção que proporcione maior escala sem que parte do desenho ou dos textos fiquem fora da área do desenho. Sub Desenha35 () 2500 Cls Redesenha = "n" '-------------------------------------dá valores aos labels--------------------------- Label9(0).Caption = B '& "cm" Label9(1).Caption = H '& "cm" Label9(3).Caption = EstribX '& "cm" Label9(4).Caption = EstribY '& "cm" Label9(6).Caption = Format(Ntot, "##0") Label9(8).Caption = Format(10 * fI, "##0.0") Label9(10).Caption = Format((L / 100), "##0.00") & "m" Label9(12).Caption = Format(10 * fIestribo, "##0.0") Label9(14).Caption = Format(SEst, "##0") & "cm" Label9(16).Caption = Format(CompEst, "##0") & "cm" Label9(18).Caption = Qest 2501 '--------------------------------descobre o valor para zoom automático------------- 2502 Esp1 = 5 2503 Esp2 = 20 2504 Esp3 = 25 2505 Esp4 = 20 2506 Zx = (Val(Shape4.Width) - (2 * Borda + 2 * Esp1 + Val(Label9(1).Width) + Esp2 + Val(Label9(4).Width))) / (B + EstribX)

Page 106: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 106

2507 Zy = (Val(Shape4.Height) - (2 * Borda + 2 * Esp1 + 4 * Val(Label9(0).Height) + 2 * Esp3 + Esp4)) / (H + EstribY) 2508 Zxy = (Val(Shape4.Height) - (2 * Borda + Esp1 + 2 * Val(Label9(0).Height) + Esp3)) / H 2509 Zyx = (Val(Shape4.Width) - (2 * Borda + Esp1 + Val(Label9(1).Width))) / (B) If Zx >= Zy Then Detalhamento = "horizontal" Else Detalhamento = "vertical" End If If Check2.Value = 1 Then If Zx >= Zy Then If Zx < Zxy Then Z = Zx Else Z = Zxy End If Else If Zy < Zyx Then Z = Zy Else Z = Zyx End If End If End If Text6.Text = Int(Z) & "." & Int((Z - Int(Z)) * 1000) '-------------------------------------posiciona os labels------------------------------ Label9(0).Left = oX + Z * B / 2 - Val(Label9(0).Width) / 2 Label9(0).Top = oY + Z * H + Esp1 Label9(1).Left = oX + Z * B + Esp1 Label9(1).Top = oY + Z * H / 2 - Val(Label9(1).Height) / 2 Label9(2).Left = oX Label9(2).Top = Val(Label9(0).Top) + Esp3 For i = 6 To 10 Label9(i).Top = Val(Label9(2).Top) Next i For i = 9 To 10 Label9(i).Top = Val(Label9(2).Top) + 1.2 * Val(Label9(2).Height) Next i Label9(6).Left = Val(Label9(2).Left) + Val(Label9(2).Width) + 5 Label9(7).Left = Val(Label9(6).Left) + Val(Label9(6).Width) Label9(8).Left = Val(Label9(7).Left) + Val(Label9(7).Width) Label9(9).Left = Val(Label9(2).Left) Label9(10).Left = Val(Label9(9).Left) + Val(Label9(9).Width) If Val(Label9(8).Left) + Val(Label9(8).Width) > Label9(1).Left + Label9(1).Width Then If Redesenha = "n" Then Esp2 = Esp2 + Val((Label9(8).Left) + Val(Label9(8).Width)) - (Label9(1).Left + Label9(1).Width) Redesenha = "s" GoTo 2506 End If

Page 107: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 107

End If If Detalhamento = "horizontal" Then Label9(3).Left = oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2 + Z * EstribX / 2 - Val(Label9(3).Width) / 2 Label9(3).Top = oY + Z * (H - (dLinha - fI / 2 - fIestribo)) + Esp1 Label9(4).Left = oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2 + Z * EstribX + Esp1 Label9(4).Top = Val(Label9(1).Top) Label9(5).Left = oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2 Label9(5).Top = Val(Label9(3).Top) + Esp3 Else Label9(3).Left = Val(Label9(0).Left) Label9(3).Top = oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4 + Z * EstribY + Esp1 Label9(4).Left = Val(Label9(1).Left) - Z * (fI + fIestribo) + Esp1 Label9(4).Top = oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4 + Z * EstribY / 2 - Val(Label9(4).Height) / 2 Label9(5).Left = oX + Z * (dLinha - fI / 2 - fIestribo) Label9(5).Top = Val(Label9(3).Top) + Esp3 End If For i = 11 To 14 Label9(i).Top = Val(Label9(5).Top) Next i For i = 15 To 18 Label9(i).Top = Val(Label9(5).Top) + 1.2 * Val(Label9(5).Height) Next i Label9(11).Left = Val(Label9(5).Left) + Val(Label9(5).Width) + 5 Label9(12).Left = Val(Label9(11).Left) + Val(Label9(11).Width) Label9(13).Left = Val(Label9(12).Left) + Val(Label9(12).Width) + 4 Label9(14).Left = Val(Label9(13).Left) + Val(Label9(13).Width) Label9(15).Left = Val(Label9(5).Left) Label9(16).Left = Val(Label9(15).Left) + Val(Label9(15).Width) Label9(17).Left = Val(Label9(16).Left) + Val(Label9(16).Width) + 10 Label9(18).Left = Val(Label9(17).Left) + Val(Label9(17).Width) '-------------------------------------desenha seção------------------------------------- Line (oX, oY)-(Z * B + oX, oY) Line (Z * B + oX, oY)-(Z * B + oX, Z * H + oY) Line (Z * B + oX, Z * H + oY)-(oX, Z * H + oY) Line (oX, Z * H + oY)-(oX, oY) '-------------------------------------Descobre coordenadas das barras'------------------ For j = 1 To nY For i = 1 To nX X(i, j) = dLinha + (i - 1) * ((B - 2 * dLinha) / (nX - 1)) Y(i, j) = dLinha + (j - 1) * ((H - 2 * dLinha) / (nY - 1)) Next i Next j '-------------------------------------Desenha barras------------------------------------ j = 1 For i = 1 To nX Circle (oX + Z * X(i, j), oY + Z * Y(i, j)), Z * fI / 2 Next i

Page 108: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 108

For j = 2 To (nY - 1) i = 1 Circle (oX + Z * X(i, j), oY + Z * Y(i, j)), Z * fI / 2 i = nX Circle (oX + Z * X(i, j), oY + Z * Y(i, j)), Z * fI / 2 Next j j = nY For i = 1 To nX Circle (oX + Z * X(i, j), oY + Z * Y(i, j)), Z * fI / 2 Next i '-------------------------------------desenha estribos---------------------------------- Line (oX + Z * (dLinha - fI / 2), oY + Z * (dLinha - fI / 2))-(oX + Z * (B - (dLinha - fI / 2)), oY + Z * (dLinha - fI / 2)), QBColor(8) Line (oX + Z * (B - (dLinha - fI / 2)), oY + Z * (dLinha - fI / 2))-(oX + Z * (B - (dLinha - fI / 2)), oY + Z * (H - (dLinha - fI / 2))), QBColor(8) Line (oX + Z * (B - (dLinha - fI / 2)), oY + Z * (H - (dLinha - fI / 2)))-(oX + Z * (dLinha - fI / 2), oY + Z * (H - (dLinha - fI / 2))), QBColor(8) Line (oX + Z * (dLinha - fI / 2), oY + Z * (H - (dLinha - fI / 2)))-(oX + Z * (dLinha - fI / 2), oY + Z * (dLinha - fI / 2)), QBColor(8) Line (oX + Z * (dLinha - fI / 2 - fIestribo), oY + Z * (dLinha - (fI / 2) - fIestribo))-(oX + Z * (B - (dLinha - fI / 2 - fIestribo)), oY + Z * (dLinha - fI / 2 - fIestribo)), QBColor(8) Line (oX + Z * (B - (dLinha - fI / 2 - fIestribo)), oY + Z * (dLinha - (fI / 2) - fIestribo))-(oX + Z * (B - (dLinha - fI / 2 - fIestribo)), oY + Z * (H - (dLinha - fI / 2 - fIestribo))), QBColor(8) Line (oX + Z * (B - (dLinha - fI / 2 - fIestribo)), oY + Z * (H - (dLinha - fI / 2 - fIestribo)))-(oX + Z * (dLinha - fI / 2 - fIestribo), oY + Z * (H - (dLinha - fI / 2 - fIestribo))), QBColor(8) Line (oX + Z * (dLinha - fI / 2 - fIestribo), oY + Z * (H - (dLinha - fI / 2 - fIestribo)))-(oX + Z * (dLinha - fI / 2 - fIestribo), oY + Z * (dLinha - (fI / 2) - fIestribo)), QBColor(8) '-------------------------------------desenha estribos do detalhamento------------------- If Zx >= Zy Then Line (oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2, oY + Z * (dLinha - fI / 2 - fIestribo))-(oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2 + Z * EstribX, oY + Z * (dLinha - fI / 2 - fIestribo)) Line (oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2 + Z * EstribX, oY + Z * (dLinha - fI / 2 - fIestribo))-(oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2 + Z * EstribX, oY + Z * (H - (dLinha - fI / 2 - fIestribo))) Line (oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2 + Z * EstribX, oY + Z * (H - (dLinha - fI / 2 - fIestribo)))-(oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2, oY + Z * (H - (dLinha - fI / 2 - fIestribo))) Line (oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2, oY + Z * (H - (dLinha - fI / 2 - fIestribo)))-(oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2, oY + Z * (dLinha - fI / 2 - fIestribo)) Line (oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2 + Z * EstribX - Z * (fIestribo + fI), oY + Z * (dLinha - fI / 2 - fIestribo))-(oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2 + Z * EstribX - Z * (fIestribo + fI), oY + Z * (dLinha - fI / 2 - fIestribo) + Z * EstribAnc / 2) Line (oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2 + Z * EstribX, oY + Z * (dLinha - fI / 2 - fIestribo) + Z * (fIestribo + fI))-(oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2 + Z * EstribX - Z * EstribAnc / 2, oY + Z * (dLinha - fI / 2 - fIestribo) + Z * (fIestribo + fI)) Else

Page 109: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 109

Line (oX + Z * (dLinha - fI / 2 - fIestribo), oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4)-(oX + Z * (dLinha - fI / 2 - fIestribo) + Z * EstribX, oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4) Line (oX + Z * (dLinha - fI / 2 - fIestribo) + Z * EstribX, oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4)-(oX + Z * (dLinha - fI / 2 - fIestribo) + Z * EstribX, oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4 + Z * EstribY) Line (oX + Z * (dLinha - fI / 2 - fIestribo) + Z * EstribX, oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4 + Z * EstribY)-(oX + Z * (dLinha - fI / 2 - fIestribo), oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4 + Z * EstribY) Line (oX + Z * (dLinha - fI / 2 - fIestribo), oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4 + Z * EstribY)-(oX + Z * (dLinha - fI / 2 - fIestribo), oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4) Line (oX + Z * (dLinha - fI / 2 - fIestribo) + Z * EstribX - Z * (fIestribo + fI), oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4)-(oX + Z * (dLinha - fI / 2 - fIestribo) + Z * EstribX - Z * (fIestribo + fI), oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4 + Z * EstribAnc / 2) Line (oX + Z * (dLinha - fI / 2 - fIestribo) + Z * EstribX, oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4 + Z * (fIestribo + fI))-(oX + Z * (dLinha - fI / 2 - fIestribo) + Z * EstribX - Z * EstribAnc / 2, oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4 + Z * (fIestribo + fI)) End If '-------------------------------------torna os labels visíveis--------------------------- For i = 0 To 18 Label9(i).Visible = True Next i End Sub 9.36 - Sub DesenhaSup36

Detalha os estribos suplementares Sub DesenhaSup36() If Zy >= Zx Then ' estribos vertivais For i = 1 To nX If EstribSup(i) = "s" Then Line (oX + Z * X(i, 1) + Z * fI / 2, oY + Z * Y(i, 1))-(oX + Z * X(i, nY) - Z * fI / 2, oY + Z * Y(i, nY)), QBColor(8) Line (oX + Z * X(i, 1) + Z * fI / 2, oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4)-(oX + Z * X(i, nY) - Z * fI / 2, oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4 + Z * EstribY) Line (oX + Z * X(i, 1) - Z * (fI / 2 + fIestribo), oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4)-(oX + Z * X(i, 1) - Z * (fI / 2 + fIestribo), oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4 + Z * EstribAncSupl / 2) 'gancho Line (oX + Z * X(i, nY) + Z * (fI / 2 + fIestribo), oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4 + Z * EstribY)-(oX + Z * X(i, nY) + Z * (fI / 2 +

Page 110: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 110

fIestribo), oY + Z * H + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4 + Z * EstribY - Z * EstribAncSupl / 2) 'gancho End If Next i 'estribos horizontais For j = 1 To nY If EstribSupV(j) = "s" Then Line (oX + Z * X(1, j), oY + Z * Y(1, j) + Z * fI / 2)-(oX + Z * X(nX, j), oY + Z * Y(nX, j) - Z * fI / 2), QBColor(8) Line (oX + Z * X(1, j) - Z * (fI / 2 + fIestribo), oY + Z * Y(1, j) + Z * fI / 2 + Z * (EstribY + Cobrimento) + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4)-(oX + Z * X(nX, j) + Z * (fI / 2 + fIestribo), oY + Z * Y(nX, j) - Z * fI / 2 + Z * (EstribY + Cobrimento) + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4) Line (oX + Z * X(1, j) - Z * (fI / 2 + fIestribo), oY + Z * Y(1, j) - Z * (fI / 2 + fIestribo) + Z * (EstribY + Cobrimento) + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4)-(oX + Z * X(1, j) - Z * (fI / 2 + fIestribo) + Z * EstribAncSupl / 2, oY + Z * Y(1, j) - Z * (fI / 2 + fIestribo) + Z * (EstribY + Cobrimento) + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4) Line (oX + Z * X(nX, j) + Z * (fI / 2 + fIestribo), oY + Z * Y(nX, j) + Z * (fI / 2 + fIestribo) + Z * (EstribY + Cobrimento) + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4)-(oX + Z * X(nX, j) + Z * (fI / 2 + fIestribo) - Z * EstribAncSupl / 2, oY + Z * Y(nX, j) + Z * (fI / 2 + fIestribo) + Z * (EstribY + Cobrimento) + Esp1 + Val(Label9(0).Height) + Esp3 + Val(Label9(2).Height) + Esp4) End If Next j Else ' estribos vertivais For i = 1 To nX If EstribSup(i) = "s" Then Line (oX + Z * X(i, 1) + Z * fI / 2, oY + Z * Y(i, 1))-(oX + Z * X(i, nY) - Z * fI / 2, oY + Z * Y(i, nY)), QBColor(8) Line (oX + Z * X(i, 1) + Z * fI / 2 + Z * (EstribX + Cobrimento) + Esp1 + Val(Label9(1).Width) + Esp2, oY + Z * Y(i, 1) - Z * fI / 2 - Z * fIestribo)-(oX + Z * X(i, nY) - Z * fI / 2 + Z * (EstribX + Cobrimento) + Esp1 + Val(Label9(1).Width) + Esp2, oY + Z * Y(i, nY) + Z * (fIestribo + fI / 2)) Line (oX + Z * X(i, 1) - Z * (fI / 2 + fIestribo) + Z * (EstribX + Cobrimento) + Esp1 + Val(Label9(1).Width) + Esp2, oY + Z * Y(i, 1) - Z * fI / 2 - Z * fIestribo)-(oX + Z * X(i, 1) - Z * (fI / 2 + fIestribo) + Z * (EstribX + Cobrimento) + Esp1 + Val(Label9(1).Width) + Esp2, oY + Z * Y(i, 1) - Z * fI / 2 - Z * fIestribo + Z * EstribAncSupl / 2) Line (oX + Z * X(i, nY) + Z * (fI / 2 + fIestribo) + Z * (EstribX + Cobrimento) + Esp1 + Val(Label9(1).Width) + Esp2, oY + Z * Y(i, nY) + Z * (fI / 2 + fIestribo))-(oX + Z * X(i, nY) + Z * (fI / 2 + fIestribo) + Z * (EstribX + Cobrimento) + Esp1 + Val(Label9(1).Width) + Esp2, oY + Z * Y(i, nY) + Z * (fIestribo + fI / 2) - Z * EstribAncSupl / 2) End If Next i 'estribos horizontais For j = 1 To nY If EstribSupV(j) = "s" Then Line (oX + Z * X(1, j), oY + Z * Y(1, j) + Z * fI / 2)-(oX + Z * X(nX, j), oY + Z * Y(nX, j) - Z * fI / 2), QBColor(8)

Page 111: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 111

Line (oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2, oY + Z * Y(1, j) + Z * fI / 2)-(oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2 + Z * EstribX, oY + Z * Y(nX, j) - Z * fI / 2) Line (oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2, oY + Z * Y(1, j) - Z * (fI / 2 + fIestribo))-(oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2 + Z * EstribAncSupl / 2, oY + Z * Y(1, j) - Z * (fI / 2 + fIestribo)) Line (oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2 + Z * EstribX, oY + Z * Y(nX, j) + Z * (fI / 2 + fIestribo))-(oX + Z * B + Esp1 + Val(Label9(1).Width) + Esp2 + Z * EstribX - Z * EstribAncSupl / 2, oY + Z * Y(nX, j) + Z * (fI / 2 + fIestribo)) End If Next j End If '------------------------------------------------- If N3 = 0 And N4 <> 0 Then Label9(19).Caption = "N3= " & N4 & " x " Label9(20).Caption = CompSuplementarV / N4 & "cm" If Zx > Zy Then Label9(19).Top = Label9(15).Top + Label9(15).Height + Esp1 Label9(20).Top = Label9(19).Top Label9(19).Left = Label9(15).Left Label9(20).Left = Label9(19).Left + Label9(19).Width Else Label9(19).Top = Label9(5).Top Label9(20).Top = Label9(19).Top Label9(19).Left = Label9(18).Left + Label9(18).Width + Esp3 Label9(20).Left = Label9(19).Left + Label9(19).Width End If Label9(19).Visible = True Label9(20).Visible = True End If '------------------------------------------------- If N3 <> 0 And N4 = o Then Label9(19).Caption = "N3= " & N3 & " x " Label9(20).Caption = CompSuplementarH / N3 & "cm" If Zx > Zy Then Label9(19).Top = Label9(15).Top + Label9(15).Height + Esp1 Label9(20).Top = Label9(19).Top Label9(19).Left = Label9(15).Left Label9(20).Left = Label9(19).Left + Label9(19).Width Else Label9(19).Top = Label9(5).Top Label9(20).Top = Label9(19).Top Label9(19).Left = Label9(18).Left + Label9(18).Width + Esp3 Label9(20).Left = Label9(19).Left + Label9(19).Width End If Label9(19).Visible = True Label9(20).Visible = True End If '-------------------------------------------------

Page 112: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 112

If N3 <> 0 And N4 <> 0 Then Label9(19).Caption = "N3= " & N4 & " x " Label9(20).Caption = CompSuplementarV / N4 & "cm" Label9(21).Caption = "N4= " & N3 & " x " Label9(22).Caption = CompSuplementarH / N3 & "cm" If Zx > Zy Then Label9(19).Top = Label9(15).Top + Label9(15).Height + Esp1 Label9(20).Top = Label9(19).Top Label9(19).Left = Label9(15).Left Label9(20).Left = Label9(19).Left + Label9(19).Width Label9(21).Top = Label9(19).Top + Label9(19).Height + Esp1 Label9(22).Top = Label9(21).Top Label9(21).Left = Label9(19).Left Label9(22).Left = Label9(21).Left + Label9(21).Width Else Label9(19).Top = Label9(5).Top Label9(20).Top = Label9(19).Top Label9(19).Left = Label9(18).Left + Label9(18).Width + Esp3 Label9(20).Left = Label9(19).Left + Label9(19).Width Label9(21).Top = Label9(19).Top + Label9(10).Height + Esp1 Label9(22).Top = Label9(21).Top Label9(21).Left = Label9(19).Left Label9(22).Left = Label9(21).Left + Label9(21).Width End If Label9(19).Visible = True Label9(20).Visible = True Label9(21).Visible = True Label9(22).Visible = True End If '------------------------------------------------- End Sub

Page 113: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 113

9.37 - Sub Unidades30

No campo “Esforços e resistências” podemos escolher com qual unidade pretendemos trabalhar:

O programa trabalha com Kgf e cm. Para cada unidade escolhida devemos multiplicar os valores dos campos Nd, Md, Fck e Es por determinados valores que seguem nesta sub-rotina. '---força--- If Unidade = "Kgf" Then W = 1 End If If Unidade = "Tf" Then W = 1000 End If If Unidade = "N" Then W = 0.1 End If If Unidade = "KN" Then W = 100 End If '---Momento--- If Unidade = "Kgf.mm" Then W = 0.1 End If If Unidade = "Kgf.cm" Then W = 1 End If If Unidade = "Kgf.m" Then W = 100 End If If Unidade = "Tf.mm" Then W = 100 End If If Unidade = "Tf.cm" Then W = 1000 End If If Unidade = "Tf.m" Then W = 100000 End If If Unidade = "N.mm" Then W = 0.01 End If If Unidade = "N.cm" Then W = 0.1 End If If Unidade = "N.m" Then

Page 114: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 114

W = 10 End If If Unidade = "KN.mm" Then W = 10 End If If Unidade = "KN.cm" Then W = 100 End If If Unidade = "KN.m" Then W = 10000 End If '---Tensão--- If Unidade = "Kgf/mm2" Then W = 100 End If If Unidade = "Kgf/cm2" Then W = 1 End If If Unidade = "Kgf/m2" Then W = 0.0001 End If If Unidade = "Tf/mm2" Then W = 100000 End If If Unidade = "Tf/cm2" Then W = 1000 End If If Unidade = "Tf/m2" Then W = 0.1 End If If Unidade = "N/mm2" Then W = 10 End If If Unidade = "N/cm2" Then W = 0.1 End If If Unidade = "N/m2" Then W = 0.00001 End If If Unidade = "KN/mm2" Then W = 10000 End If If Unidade = "KN/cm2" Then W = 100 End If If Unidade = "KN/m2" Then W = 0.01 End If If Unidade = "MPa" Then W = 10

Page 115: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 115

End If End Sub 9.38 - Sub Zera31

Zera alguns dados de entrada e saída que poderiam causar problema se o programa rodar mais de 1 vez seguida. Sub Zera31() Text9.Text = "" Text10.Text = "" Text11.Text = "" Text12.Text = "" Text13.Text = "" Text14.Text = "" Text19.Text = "" Text25.Text = "" Text26.Text = "" Text27.Text = "" Text28.Text = "" Text29.Text = "" Text30.Text = "" Text30.BackColor = vbWhite For i = 0 To 7 1992 Text7(i).BackColor = vbWhite 1993 Text7(i).ForeColor = &H80000013 Next i For i = 0 To 22 Label9(i).Visible = False Next i ErroFck = "n" If nãoZerar = "" Then For i = 1 To 40 Form11.Text1(i - 1).Text = "" Form11.Text2(i - 1).Text = "" Form11.Text3(i - 1).Text = "" Form11.Text4(i - 1).Text = "" Form11.Text5(i - 1).Text = "" Form11.Option1(i - 1).Visible = False Next i Command9.Visible = False Command10.Visible = False Command11.Visible = False Text8.Visible = False End If Pes = 0 End Sub

Page 116: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 116

9.39 - Sub Grava32 Grava valores de entrada em um arquivo.TXT Sub Grava32() Open Arquivo For Output As #1 Print #1, Text23.Text 'Dimensões 1 Print #1, Text1.Text 'Dimensões 2 Print #1, Text2.Text 'Dimensões 3 Print #1, Text31.Text 'Dimensões 4 Print #1, Text32.Text 'Dimensões 5 Print #1, Text4.Text 'Arranjo 6 Print #1, Text5.Text 'Arranjo 7 Print #1, Text3.Text 'Arranjo 8 Print #1, Text3.Enabled 'Arranjo 9 Print #1, Command17.Enabled 'Arranjo 10 Print #1, Check1.Value 'Arranjo 11 Print #1, Text16.Text 'Esforços 12 Print #1, Text17.Text 'Esforços 13 Print #1, Text18.Text 'Esforços 14 Print #1, Text20.Text 'Esforços 15 Print #1, Text21.Text 'Esforços 16 Print #1, Text22.Text 'Esforços 17 Print #1, Combo4.Text 'Esforços 18 Print #1, Combo5.Text 'Esforços 19 Print #1, Combo6.Text 'Esforços 20 Print #1, Combo1.Text 'Esforços 21 Print #1, Combo7.Text 'Esforços 22 Print #1, Option3.Value 'Estribos 23 Print #1, Check5.Value 'Outros 24 Print #1, Option5.Value 'Estribos 25 Print #1, Option6.Value 'Estribos 26 Print #1, Combo3.Text 'Estribos 27 Print #1, Option7(0).Value 'Estribos 28 Print #1, Option7(1).Value 'Estribos 29 Print #1, Combo2.Text 'Cobrimento 30 Print #1, Option1.Value 'Cobrimento 31 Print #1, Option2.Value 'Cobrimento 32 Print #1, Form8.Text2.Text 'Outros 33 Print #1, Form8.Text1.Text 'Outros 34 Print #1, Text6.Text 'Escala 35 Print #1, Text6.Enabled 'Escala 36 Print #1, Check2.Value 'Escala 37 Print #1, Form8.Combo1 'Outros38 Print #1, Form8.Combo3 'Outros39 Close #1 End Sub

Page 117: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 117

9.40 - Sub Carrega33

Lê dados de entrada de um arquivo .TXT Sub Carrega33() Dim Valor(1 To 100) As String Call Zera31 Open Arquivo For Input As #1 For i = 1 To 39 Input #1, Valor(i) Next i Close #1 Text23.Text = Valor(1) 'Dimensões Text1.Text = Valor(2) 'Dimensões Text2.Text = Valor(3) 'Dimensões Text31.Text = Valor(4) 'Dimensões Text32.Text = Valor(5) 'Dimensões Text4.Text = Valor(6) 'Arranjo Text5.Text = Valor(7) 'Arranjo Text3.Text = Valor(8) 'Arranjo Text3.Enabled = Valor(9) 'Arranjo Command17.Enabled = Valor(10) 'Arranjo Check1.Value = Valor(11) 'Arranjo Text16.Text = Valor(12) 'Esforços Text17.Text = Valor(13) 'Esforços Text18.Text = Valor(14) 'Esforços Text20.Text = Valor(15) 'Esforços Text21.Text = Valor(16) 'Esforços Text22.Text = Valor(17) 'Esforços Combo4.Text = Valor(18) 'Esforços Combo5.Text = Valor(19) 'Esforços Combo6.Text = Valor(20) 'Esforços Combo1.Text = Valor(21) 'Esforços Combo7.Text = Valor(22) 'Esforços Option3.Value = Valor(23) 'Estribos Check5.Value = Valor(24) 'Estribos Option5.Value = Valor(25) 'Estribos Option6.Value = Valor(26) 'Estribos Combo3.Text = Valor(27) 'Estribos Option7(0).Value = Valor(28) 'Estribos Option7(1).Value = Valor(29) 'Estribos Combo2.Text = Valor(30) 'Cobrimento Option1.Value = Valor(31) 'Cobrimento Option2.Value = Valor(32) 'Cobrimento Form8.Text2.Text = Valor(33) 'Outros Form8.Text1.Text = Valor(34) 'Outros Text6.Text = Valor(35) 'Escala Text6.Enabled = Valor(36) 'Escala Check2.Value = Valor(37) 'Escala

Page 118: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 118

Form8.Combo1 = Valor(38) 'Outros38 Form8.Combo3 = Valor(39) 'Outros39 Cls Image1.Visible = True End Sub 9.41- Sub Imprime37 Sub Imprime37() 1800 Text9.Text = Format(AsMin, "##0.00") ' Área total de aço Teórica 1805 Text10.Text = Format(AsTotTeor, "##0.00") ' Área total de aço Mínima 1810 Text11.Text = Format(AsTotR, "##0.00") ' Área total de aço Real 1815 Text12.Text = Format(AsunitMin, "##0.00") ' Área de cada barra mínima 1820 Text13.Text = Format(AsUnitTeor, "##0.00") ' Área de cada barra teórica 1825 Text14.Text = Format(AsUnitR, "##0.00") ' Área de cada barra efetiva 1830 Text19.Text = Format(Pes, "##0.00") & "%" ' Peso 1835 Text25.Text = Format(cN, "##0.00") ' cob. nominal 1840 Text26.Text = Format(Cobrimento, "##0.00") ' cob. efetivo 1845 Text27.Text = Zona ' Zona 1850 Text28.Text = Format(Bx, "##0.000") ' Bx 1855 Text29.Text = Format(Bx * H, "##0.0") ' Altura da L.N. 1857 Text8.Text = CombEscolhida 1860 For i = 4 To 11 1865 If AsUnitR = Afi(i) Then 1870 Text7(i - 4).BackColor = &HC00000 1875 Text7(i - 4).ForeColor = vbWhite 1880 Else 1885 Text7(i - 4).BackColor = vbWhite 1890 Text7(i - 4).ForeColor = &H80000013 1895 End If 1897 Next i End Sub

Page 119: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 119

9.42 - Funções atribuídas a commands, options, checks ..., comandos para não permitir digitação indesejáveis em alguns campos de texto. 'BOTÕES BOTÕES BOTÕES BOTÕES BOTÕES BOTÕES Private Sub Command1_Click() Check3.Value = 0 Call Programa0 End Sub Private Sub command8_click() Form11.Option1(0).Value = True Check3.Value = 1 Combinaçao = 0 PesoOpçao(1) = 9E+35 Call Ler02 Call Bitolas22 450 If ErroFck = "s" Then GoTo 1996 For nY = 2 To nyMax For nX = 2 To nxMax For eEe = 1 To UltimoFiEstribo fIestribo = Dfi(eEe) PesoEstribo = Pfi(eEe) Call Programa0 Next eEe Next nX Next nY If Combinaçao = 0 Then Form2.Label1.Caption = "Nenhum arranjo de armaduras pode ser usado para os esforços plicados" Form2.Label2.Caption = "" Form2.Show vbModal GoTo 1996 End If 1967 Call EscolheValores43 1968 Call ValoresnoForm1144 CombEscolhida = 1 Text4.Text = Val(Form11.Text1(0).Text) Text5.Text = Val(Form11.Text2(0).Text) If Form11.Text3(0).Text = "5" Then Combo3.Text = "5 mm" End If If Form11.Text3(0).Text = "6.3" Then Combo3.Text = "6.3 mm (1/4'')" End If If Form11.Text3(0).Text = "8" Then Combo3.Text = "8 mm (5/16'')" End If If Form11.Text3(0).Text = "10" Then Combo3.Text = "10 mm (3/8'')"

Page 120: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 120

End If Option3.Value = True Check3.Value = 0 nãoZerar = "s" Call Programa0 nãoZerar = "" Command9.Visible = True Command10.Visible = True Command11.Visible = True Text8.Visible = True GoTo 2100 1996 Cls 1997 Call Zera31 1998 Text30.BackColor = vbRed 1999 Text30.Text = "erro" 2100 End Sub Private Sub Command11_Click() Command9.Visible = False Command10.Visible = False Command11.Visible = False Text8.Visible = False 1969 Form11.Option1(0).Value = True 1970 Form11.Show vbModal Check3.Value = 0 nãoZerar = "s" Call Programa0 nãoZerar = "" End Sub Private Sub Command9_Click() Call Form11.BotaoMais Call Form11.Escolhe Check3.Value = 0 nãoZerar = "s" Call Programa0 nãoZerar = "" End Sub Private Sub Command10_Click() Call Form11.BotaoMenos Call Form11.Escolhe Check3.Value = 0 nãoZerar = "s" Call Programa0 nãoZerar = "" End Sub Private Sub Command2_Click() '''''''''''''''''++++ Text4.Text = Text4.Text + 1 Call Programa0 End Sub

Page 121: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 121

Private Sub Command3_Click() '''''''''''''''''---- If Text4.Text > 2 Then Text4.Text = Text4.Text - 1 Call Programa0 End If End Sub Private Sub Command4_Click() '''''''''''''''''++++ Text5.Text = Text5.Text + 1 Call Programa0 End Sub Private Sub Command5_Click() '''''''''''''''''---- If Text5.Text > 2 Then Text5.Text = Text5.Text - 1 Call Programa0 End If End Sub Private Sub Command6_Click() ''''''''''''''''SAI End End Sub Private Sub Command12_Click() Text16.Text = Text16.Text + 1 Call Programa0 End Sub Private Sub Command13_Click() Text1.Text = Text1.Text - Val(Text31.Text) Call Programa0 End Sub Private Sub Command14_Click() Text2.Text = Text2.Text - Val(Text32.Text) Call Programa0 End Sub Private Sub Command15_Click() Text2.Text = Text2.Text + Val(Text32.Text) Call Programa0 End Sub Private Sub Command16_Click() Text1.Text = Text1.Text + Val(Text31.Text) Call Programa0 End Sub Private Sub Command17_Click() Form5.Show vbModal End Sub Private Sub Command7_Click() Arquivo = "C:\Documents And Settings\Beto fodão\Meus documentos\TCC 2\Programa\Padrão.txt" Call Carrega33 End Sub Private Sub Form_Load() Arquivo = "C:\Documents And Settings\Beto fodão\Meus documentos\TCC 2\Programa\Padrão.txt"

Page 122: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 122

Call Carrega33 End Sub Private Sub Label29_Click() If Check1.Value = 0 Then Check1.Value = 1 Else Check1.Value = 0 End If End Sub Private Sub mnuItemAbout_Click() Form6.Show vbModal End Sub Private Sub mnuItemCarregpadr_Click() Arquivo = "C:\Documents And Settings\Beto fodão\Meus documentos\TCC 2\Programa\Padrão.txt" Call Carrega33 End Sub Private Sub mnuItemExit_Click() End End Sub Private Sub mnuItemload_Click() CommonDialog1.Filter = "Text files (*.TXT)|*.TXT" CommonDialog1.ShowSave Arquivo = CommonDialog1.FileName If Arquivo <> "" Then Call Carrega33 Close #1 End If Call Programa0 End Sub Private Sub mnuItemPrecisao_Click() Form8.Show vbModal End Sub Private Sub mnuItemSave_Click() CommonDialog1.Filter = "Text files (*.TXT)|*.TXT" CommonDialog1.ShowSave Arquivo = CommonDialog1.FileName If Arquivo <> "" Then Call Grava32 Close #1 End If End Sub Private Sub mnuItemSaveDefault_Click() Arquivo = "C:\Documents And Settings\Beto fodão\Meus documentos\TCC 2\Programa\Padrão.txt" Call Grava32 End Sub Private Sub Option1_Click() Option2.Value = False End Sub

Page 123: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 123

Private Sub Option2_Click() Option1.Value = False End Sub Private Sub Check1_Click() If Check1.Value = 1 Then Text3.Enabled = False Command17.Enabled = False Else Text3.Enabled = True Command17.Enabled = True End If End Sub Private Sub Check2_Click() If Check2.Value = 1 Then Text6.Enabled = False Else Text6.Enabled = True End If End Sub Private Sub Option3_Click() Check5.Enabled = True End Sub Private Sub Option5_Click() Check5.Enabled = True End Sub Private Sub Option6_Click() Check5.Value = 0 Check5.Enabled = False End Sub 'TRANCA TEXTO - TRANCA TEXTO - TRANCA TEXTO - TRANCA TEXTO - TRANCA TEXTO Private Sub text1_KeyPress(KeyAscii As Integer) 'Permite apenas digitar: números, backspace If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = 0 Beep End If End Sub Private Sub text2_KeyPress(KeyAscii As Integer) 'Permite apenas digitar: números, backspace If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = 0

Page 124: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 124

Beep End If End Sub Private Sub text3_KeyPress(KeyAscii As Integer) Const vbKeyDecPt = 46 'Permite apenas digitar: números, ponto(.), backspace If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyDecPt Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = 0 Beep End If End Sub Private Sub text4_KeyPress(KeyAscii As Integer) 'Permite apenas digitar: números, backspace If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = 0 Beep End If End Sub Private Sub text5_KeyPress(KeyAscii As Integer) 'Permite apenas digitar: números, backspace If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = 0 Beep End If End Sub Private Sub text6_KeyPress(KeyAscii As Integer) Const vbKeyDecPt = 46 'Permite apenas digitar: números, ponto(.), backspace If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyDecPt Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = 0 Beep End If End Sub Private Sub text8_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub text9_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep

Page 125: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 125

End Sub Private Sub text10_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub text11_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub text12_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub text13_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub text14_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub text19_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub text25_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub text26_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub text27_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub text28_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub text29_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub text30_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub combo1_KeyPress(KeyAscii As Integer)

Page 126: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 126

KeyAscii = 0 Beep End Sub Private Sub combo2_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub combo3_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub combo4_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub combo5_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub combo6_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub combo7_KeyPress(KeyAscii As Integer) KeyAscii = 0 Beep End Sub Private Sub text15_KeyPress(KeyAscii As Integer) Const vbKeyDecPt = 46 'Permite apenas digitar: números, ponto(.), backspace If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyDecPt Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = 0 Beep End If End Sub Private Sub text17_KeyPress(KeyAscii As Integer) Const vbKeyDecPt = 46 'Permite apenas digitar: números, ponto(.), backspace If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyDecPt Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = 0 Beep End If End Sub Private Sub text18_KeyPress(KeyAscii As Integer)

Page 127: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 127

Const vbKeyDecPt = 46 'Permite apenas digitar: números, ponto(.), backspace If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyDecPt Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = 0 Beep End If End Sub Private Sub text20_KeyPress(KeyAscii As Integer) Const vbKeyDecPt = 46 'Permite apenas digitar: números, ponto(.), backspace If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyDecPt Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = 0 Beep End If End Sub Private Sub text16_KeyPress(KeyAscii As Integer) Const vbKeyDecPt = 46 Const vbKeymenos = 45 'Permite apenas digitar: números, ponto(.), backspace, menos(-) If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyDecPt Or KeyAscii = vbKeyBack Or KeyAscii = vbKeymenos Then Exit Sub Else KeyAscii = 0 Beep End If End Sub Private Sub text21_KeyPress(KeyAscii As Integer) Const vbKeyDecPt = 46 'Permite apenas digitar: números, ponto(.), backspace If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyDecPt Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = 0 Beep End If End Sub Private Sub text22_KeyPress(KeyAscii As Integer) Const vbKeyDecPt = 46 'Permite apenas digitar: números, ponto(.), backspace If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyDecPt Or KeyAscii = vbKeyBack Then Exit Sub

Page 128: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 128

Else KeyAscii = 0 Beep End If End Sub Private Sub text23_KeyPress(KeyAscii As Integer) Const vbKeyDecPt = 46 'Permite apenas digitar: números, ponto(.), backspace If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyDecPt Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = 0 Beep End If End Sub Private Sub text31_KeyPress(KeyAscii As Integer) 'Permite apenas digitar: números, backspace If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = 0 Beep End If End Sub Private Sub text32_KeyPress(KeyAscii As Integer) 'Permite apenas digitar: números, backspace If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = 0 Beep End If End Sub 9.43 - Código do Form2 Neste formulário são dadas as mensagens de erro. Private Sub Command1_Click() Form2.Hide End Sub 9.44 - Código do Form4

Calcula d’ f( cobrimento nominal, bitola do estribo e barras longitudinais). Também calcula cobrimento nominal (multiplo de 0,5), se o diâmetro do agragado graúdo > 1,2 x Cnom. Private Sub Command1_Click()

Page 129: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 129

eRRo = "s" Form4.Hide End Sub Private Sub Command2_Click() If Label3.Caption = "Item 7.4.7.6 do Projeto de revisão da NB1 / 2001" Then Call CalccNAgr End If If Label3.Caption = "Item 7.4.7 " Then Call CalcdLinha End If If Label3.Caption = "Item 7.4.7.5" Then Call CalcdLinhaFi End If Form4.Hide End Sub Sub CalcdLinha() EstribY = H - 2 * cN EstribY = Int(EstribY) Cobrimento = (H - EstribY) / 2 dLinha = Cobrimento + fI / 2 + fIestribo Form1.Text3.Text = Int(dLinha) & "." & Int(((dLinha - Int(dLinha)) * 100000) * 10000 + 0.5) / 10000 Recalcular = "s" End Sub Sub CalcdLinhaFi() Cobrimento = fI - fIestribo cN = Cobrimento 'arredonda de 0,5 em 0,5 If Cobrimento - Int(Cobrimento) = 0 Then GoTo 10 If Cobrimento - Int(Cobrimento) <= 0.5 Then Cobrimento = Int(Cobrimento) + 0.5 Else Cobrimento = Int(Cobrimento) + 1 End If 10 '------------------ If dLinha < Cobrimento + fI / 2 + fIestribo Then dLinha = Cobrimento + fI / 2 + fIestribo Form1.Text3.Text = Int(dLinha) & "." & Int(((dLinha - Int(dLinha)) * 100000) * 10000 + 0.5) / 10000 Recalcular = "s" End If End Sub Sub CalccNAgr() cN = Dagregado / 1.2 '----- arredondando de 0,5 em 0,5 : If cN - Int(cN) = 0 Then GoTo 10 If cN - Int(cN) <= 0.5 Then

Page 130: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 130

cN = Int(cN) + 0.5 Else cN = Int(cN) + 1 End If 10 End Sub 9.45 - Código do Form5

Formulário para estimar d’ f( cobrimento nominal, bitola do estribo e barras longitudinais). É aberto quando apertamos no botão “estimar d´” do Form1 Private Sub Combo1_Click() Call Calcula End Sub Private Sub Combo2_Click() Call Calcula End Sub Private Sub Command2_Click() Call Calcula Call Aceita End Sub Private Sub Command4_Click() Call Calcula End Sub Private Sub Command3_Click() Form5.Hide End Sub Sub Calcula() Dim E, B, C As Double If Combo1.Text = "5 mm" Then E = 5 End If If Combo1.Text = "6,3 mm (1/4'')" Then E = 6.3 End If If Combo1.Text = "8 mm (5/16'')" Then E = 8 End If If Combo1.Text = "10 mm (3/8'')" Then E = 10 End If If Combo2.Text = "10 mm (3/8'')" Then B = 10 End If If Combo2.Text = "12,5 mm (1/2'')" Then B = 12.5 End If If Combo2.Text = "16 mm (5/8'')" Then

Page 131: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 131

B = 16 End If If Combo2.Text = "20 mm (3/4'')" Then B = 20 End If If Combo2.Text = "22,5 mm (7/8'')" Then B = 22.5 End If If Combo2.Text = "25 mm (1'')" Then B = 25 End If If Combo2.Text = "32 mm (1 1/4'')" Then B = 32 End If If Combo2.Text = "40 mm" Then B = 40 End If C = Val(Text1.Text) DEst = C + E + B / 2 Text2.Text = DEst End Sub Sub Aceita() DEst = DEst / 10 Form1.Text3.Text = Int(DEst) & "." & Int((((DEst - Int(DEst)) * 1000000) * 10000 + 0.5) / 10000) Form5.Hide End Sub 9.46 - Código do Form6

É aberto quando abrimos o menu “arquivo>sobre”. Private Sub Command1_Click() Form6.Hide End Sub 9.47 - Código do Form7

Formulário utilizado para escolha manual dos estribos. Public K As Double Private Sub Command1_Click() 10 For i = 1 To j 20 If Option1(-1 + i).Value = True Then 25 i = (j + 1) - i 30 GoTo 70 'fim 40 End If

Page 132: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 132

50 Next i 60 Call MelhorSolução 70 K = i 80 Call zera 90 i = K 100 Form7.Hide End Sub Sub MelhorSolução() 60 For i = 1 To j - 1 70 Quant(i) = Afi(i) / SEst2(i) 80 Next i 82 Quant(j) = Afi(j) / SEst 85 QuantMenor = Quant(j) 90 For i = 1 To j - 1 100 If Quant(i) < QuantMenor Then 110 QuantMenor = Quant(i) 120 End If 130 Next i 140 For i = 1 To j 150 If QuantMenor = Quant(i) Then GoTo 200 160 Next i 200 End Sub Sub zera() For i = 0 To 3 Option1(i).Caption = "" Option1(i).Enabled = False Next i End Sub 9.48 - Código do Form8

Formulário para atribuirmos o valor da precisão, diâmetro máximo do agregado graúdoe diâmetro máximo dos estribos e barras longitudinais. É aberto quando abrimos o menu “precisão>valor da precisão”.

Private Sub Command1_Click() Call UltimoDiametroEstribo Call UltimoDiametroLongitudunal Form8.Hide End Sub Sub UltimoDiametroLongitudunal() If Form8.Combo3.Text = "10 mm (3/8'')" Then UltimoFi = 4 End If If Form8.Combo3.Text = "12.5 mm (1/2'')" Then UltimoFi = 5 End If If Form8.Combo3.Text = "16 mm (5/8'')" Then UltimoFi = 6

Page 133: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 133

End If If Form8.Combo3.Text = "20 mm (3/4'')" Then UltimoFi = 7 End If If Form8.Combo3.Text = "22.5 mm (7/8'')" Then UltimoFi = 8 End If If Form8.Combo3.Text = "25 mm (1'')" Then UltimoFi = 9 End If If Form8.Combo3.Text = "32 mm (1 1/4'')" Then UltimoFi = 10 End If If Form8.Combo3.Text = "40 mm" Then UltimoFi = 11 End If End Sub Sub UltimoDiametroEstribo() If Form8.Combo1.Text = "5 mm" Then UltimoFiEstribo = 1 End If If Form8.Combo1.Text = "6.3 mm (1/4'')" Then UltimoFiEstribo = 2 End If If Form8.Combo1.Text = "8 mm (5/16'')" Then UltimoFiEstribo = 3 End If If Form8.Combo1.Text = "10 mm (3/8'')" Then UltimoFiEstribo = 4 End If End Sub 9.49 - Código do Form9 Sub EstriboSuplementarH29() eXEixo = ((B - 2 * dLinha) / (nX - 1)) 9300 For i = 1 To nX 9301 EstribSup(i) = "" 9302 Next i 9310 Barmeio = Int(nX / 2 + 0.5) 9410 DistSupl = eXEixo 9420 If DistSupl > 20 * fIestribo Then 9430 For i = 2 To nX - 1 9440 EstribSup(i) = "s" 9450 Next i 9455 GoTo 13000 9460 End If '----------------------------------------- 9470 If 2 * DistSupl > 20 * fIestribo And nX >= 5 Then 9480 If nX - 6 * (Int(nX / 6)) = 0 Then

Page 134: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 134

9490 EstribSup(Barmeio) = "s" 9500 j = Barmeio - 2 9510 Do 9520 If j <= 1 Then GoTo 9560 9530 EstribSup(j) = "s" 9540 j = j - 3 9550 Loop 9560 j = Barmeio + 3 9570 Do 9580 If j >= nX Then GoTo 9630 9590 EstribSup(j) = "s" 9610 j = j + 3 9620 Loop 9630 End If 9640 '------------------------------------------------ 9650 If nX - 6 * (Int(nX / 6)) = 1 Then 9660 EstribSup(Barmeio) = "s" 9670 j = Barmeio - 3 9680 Do 9690 If j <= 1 Then GoTo 9730 9700 EstribSup(j) = "s" 9710 j = j - 3 9720 Loop 9730 j = Barmeio + 3 9740 Do 9750 If j >= nX Then GoTo 9790 9760 EstribSup(j) = "s" 9770 j = j + 3 9780 Loop 9790 End If 9810 '------------------------------------------------ 9820 If nX - 6 * (Int(nX / 6)) = 2 Then 9830 EstribSup(Barmeio) = "s" 9840 j = Barmeio - 3 9850 Do 9860 If j <= 1 Then GoTo 9900 9870 EstribSup(j) = "s" 9880 j = j - 3 9890 Loop 9900 j = Barmeio + 1 9910 Do 9920 If j >= nX Then GoTo 9960 9930 EstribSup(j) = "s" 9940 j = j + 3 9950 Loop 9960 End If 9970 '------------------------------------------------ 9980 If nX - 6 * (Int(nX / 6)) = 3 Then 9990 j = Barmeio - 1 10010 Do

Page 135: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 135

10020 If j <= 1 Then GoTo 10060 10030 EstribSup(j) = "s" 10040 j = j - 3 10050 Loop 10060 j = Barmeio + 1 10070 Do 10080 If j >= nX Then GoTo 10120 10090 EstribSup(j) = "s" 10100 j = j + 3 10110 Loop 10120 End If 10130 '------------------------------------------------ 10140 If nX - 6 * (Int(nX / 6)) = 4 Then 10150 j = Barmeio - 1 10160 Do 10170 If j <= 1 Then GoTo 10210 10180 EstribSup(j) = "s" 10190 j = j - 3 10200 Loop 10210 j = Barmeio + 2 10220 Do 10230 If j >= nX Then GoTo 10270 10240 EstribSup(j) = "s" 10250 j = j + 3 10260 Loop 10270 End If 10280 '------------------------------------------------ 10290 If nX - 6 * (Int(nX / 6)) = 5 Then 10300 EstribSup(Barmeio) = "s" 10310 j = Barmeio - 2 10320 Do 10330 If j <= 1 Then GoTo 10370 10340 EstribSup(j) = "s" 10350 j = j - 3 10360 Loop 10370 j = Barmeio + 2 10380 Do 10390 If j >= nX Then GoTo 10430 10400 EstribSup(j) = "s" 10410 j = j + 3 10420 Loop 10430 End If 10435 GoTo 13000 10440 End If '------------------------------------------------------------ 10500 If nX >= 7 Then 10510 If nX - 10 * (Int(nX / 10)) = 0 Then 10520 EstribSup(Barmeio) = "s" 10530 j = Barmeio - 4 10540 Do

Page 136: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 136

10550 If j <= 1 Then GoTo 10590 10560 EstribSup(j) = "s" 10570 j = j - 5 10580 Loop 10590 j = Barmeio + 5 10600 Do 10610 If j >= nX Then GoTo 10650 10620 EstribSup(j) = "s" 10630 j = j + 5 10640 Loop 10650 End If 10660 '------------------------------------------------ 10670 If nX - 10 * (Int(nX / 10)) = 1 Then 10680 EstribSup(Barmeio) = "s" 10690 j = Barmeio - 5 10700 Do 10710 If j <= 1 Then GoTo 10750 10720 EstribSup(j) = "s" 10730 j = j - 5 10740 Loop 10750 j = Barmeio + 5 10760 Do 10770 If j >= nX Then GoTo 10810 10780 EstribSup(j) = "s" 10790 j = j + 5 10800 Loop 10810 End If 10820 '------------------------------------------------ 10870 If nX - 10 * (Int(nX / 10)) = 2 Then 10880 EstribSup(Barmeio) = "n" 10890 j = Barmeio - 2 10895 If j <= 1 Then GoTo 10950 10896 EstribSup(j) = "s" 10897 j = Barmeio - 5 10900 Do 10910 If j <= 1 Then GoTo 10950 10920 EstribSup(j) = "s" 10930 j = j - 5 10940 Loop 10950 j = Barmeio + 2 10955 If j >= nX Then GoTo 11110 10956 EstribSup(j) = "s" 10957 j = Barmeio + 6 10960 Do 10970 If j >= nX Then GoTo 11110 10980 EstribSup(j) = "s" 10990 j = j + 5 11100 Loop 11110 End If 11120 '------------------------------------------------

Page 137: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 137

11130 If nX - 10 * (Int(nX / 10)) = 3 Then 11140 EstribSup(Barmeio) = "n" 11150 j = Barmeio - 2 11160 If j <= 1 Then GoTo 11240 11170 EstribSup(j) = "s" 11180 j = Barmeio - 6 11190 Do 11200 If j <= 1 Then GoTo 11240 11210 EstribSup(j) = "s" 11220 j = j - 5 11230 Loop 11240 j = Barmeio + 2 11250 If j >= nX Then GoTo 11330 11260 EstribSup(j) = "s" 11270 j = Barmeio + 6 11280 Do 11290 If j >= nX Then GoTo 11330 11300 EstribSup(j) = "s" 11310 j = j + 5 11320 Loop 11330 End If 11340 '------------------------------------------------ 11430 If nX - 10 * (Int(nX / 10)) = 4 Then 11440 EstribSup(Barmeio) = "n" 11450 j = Barmeio - 2 11460 If j <= 1 Then GoTo 11570 11470 EstribSup(j) = "s" 11480 j = Barmeio - 6 11490 Do 11500 If j <= 1 Then GoTo 11570 11510 EstribSup(j) = "s" 11520 j = j - 5 11530 Loop 11570 j = Barmeio + 2 11580 Do 11590 If j >= nX Then GoTo 11630 11600 EstribSup(j) = "s" 11610 j = j + 5 11620 Loop 11630 End If 11640 '------------------------------------------------ 11650 If nX - 10 * (Int(nX / 10)) = 5 Then 11660 EstribSup(Barmeio) = "n" 11680 j = Barmeio - 2 11690 Do 11700 If j <= 1 Then GoTo 11740 11710 EstribSup(j) = "s" 11720 j = j - 5 11730 Loop 11740 j = Barmeio + 2

Page 138: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 138

11750 Do 11760 If j >= nX Then GoTo 11800 11770 EstribSup(j) = "s" 11780 j = j + 5 11790 Loop 11800 End If 11810 '------------------------------------------------ 11950 If nX - 10 * (Int(nX / 10)) = 6 Then 11960 EstribSup(Barmeio) = "n" 11980 j = Barmeio - 2 11990 Do 12000 If j <= 1 Then GoTo 12040 12010 EstribSup(j) = "s" 12020 j = j - 5 12030 Loop 12040 j = Barmeio + 3 12050 Do 12060 If j >= nX Then GoTo 12100 12070 EstribSup(j) = "s" 12080 j = j + 5 12090 Loop 12100 End If 12110 '------------------------------------------------ 12150 If nX - 10 * (Int(nX / 10)) = 7 Then 12160 EstribSup(Barmeio) = "s" 12180 j = Barmeio - 3 12190 Do 12200 If j <= 1 Then GoTo 12240 12210 EstribSup(j) = "s" 12220 j = j - 5 12230 Loop 12240 j = Barmeio + 3 12250 Do 12260 If j >= nX Then GoTo 12300 12270 EstribSup(j) = "s" 12280 j = j + 5 12290 Loop 12300 End If 12310 '------------------------------------------------ 12350 If nX - 10 * (Int(nX / 10)) = 8 Then 12360 EstribSup(Barmeio) = "s" 12380 j = Barmeio - 3 12390 Do 12400 If j <= 1 Then GoTo 12440 12410 EstribSup(j) = "s" 12420 j = j - 5 12430 Loop 12440 j = Barmeio + 4 12450 Do 12460 If j >= nX Then GoTo 12500

Page 139: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 139

12470 EstribSup(j) = "s" 12480 j = j + 5 12490 Loop 12500 End If 12510 '------------------------------------------------ 12650 If nX - 10 * (Int(nX / 10)) = 9 Then 12660 EstribSup(Barmeio) = "s" 12680 j = Barmeio - 4 12690 Do 12700 If j <= 1 Then GoTo 12740 12710 EstribSup(j) = "s" 12720 j = j - 5 12730 Loop 12740 j = Barmeio + 4 12750 Do 12760 If j >= nX Then GoTo 12800 12770 EstribSup(j) = "s" 12780 j = j + 5 12790 Loop 12800 End If 12810 '------------------------------------------------ 12820 End If 13000 N3 = 0 For i = 1 To nX If EstribSup(i) = "s" Then N3 = N3 + 1 End If Next i End Sub Sub EstriboSuplementarV30() eYEixo = ((H - 2 * dLinha) / (nY - 1)) 9300 For i = 1 To nY 9301 EstribSupV(i) = "" 9302 Next i 9310 BarmeioV = Int(nY / 2 + 0.5) 9410 DistSuplV = eYEixo 9420 If DistSuplV > 20 * fIestribo Then 9430 For i = 2 To nY - 1 9440 EstribSupV(i) = "s" 9450 Next i 9455 GoTo 13000 9460 End If '----------------------------------------- 9470 If 2 * DistSuplV > 20 * fIestribo And nY >= 5 Then 9480 If nY - 6 * (Int(nY / 6)) = 0 Then 9490 EstribSupV(BarmeioV) = "s" 9500 j = BarmeioV - 2 9510 Do 9520 If j <= 1 Then GoTo 9560

Page 140: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 140

9530 EstribSupV(j) = "s" 9540 j = j - 3 9550 Loop 9560 j = BarmeioV + 3 9570 Do 9580 If j >= nY Then GoTo 9630 9590 EstribSupV(j) = "s" 9610 j = j + 3 9620 Loop 9630 End If 9640 '------------------------------------------------ 9650 If nY - 6 * (Int(nY / 6)) = 1 Then 9660 EstribSupV(BarmeioV) = "s" 9670 j = BarmeioV - 3 9680 Do 9690 If j <= 1 Then GoTo 9730 9700 EstribSupV(j) = "s" 9710 j = j - 3 9720 Loop 9730 j = BarmeioV + 3 9740 Do 9750 If j >= nY Then GoTo 9790 9760 EstribSupV(j) = "s" 9770 j = j + 3 9780 Loop 9790 End If 9810 '------------------------------------------------ 9820 If nY - 6 * (Int(nY / 6)) = 2 Then 9830 EstribSupV(BarmeioV) = "s" 9840 j = BarmeioV - 3 9850 Do 9860 If j <= 1 Then GoTo 9900 9870 EstribSupV(j) = "s" 9880 j = j - 3 9890 Loop 9900 j = BarmeioV + 1 9910 Do 9920 If j >= nY Then GoTo 9960 9930 EstribSupV(j) = "s" 9940 j = j + 3 9950 Loop 9960 End If 9970 '------------------------------------------------ 9980 If nY - 6 * (Int(nY / 6)) = 3 Then 9990 j = BarmeioV - 1 10010 Do 10020 If j <= 1 Then GoTo 10060 10030 EstribSupV(j) = "s" 10040 j = j - 3 10050 Loop

Page 141: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 141

10060 j = BarmeioV + 1 10070 Do 10080 If j >= nY Then GoTo 10120 10090 EstribSupV(j) = "s" 10100 j = j + 3 10110 Loop 10120 End If 10130 '------------------------------------------------ 10140 If nY - 6 * (Int(nY / 6)) = 4 Then 10150 j = BarmeioV - 1 10160 Do 10170 If j <= 1 Then GoTo 10210 10180 EstribSupV(j) = "s" 10190 j = j - 3 10200 Loop 10210 j = BarmeioV + 2 10220 Do 10230 If j >= nY Then GoTo 10270 10240 EstribSupV(j) = "s" 10250 j = j + 3 10260 Loop 10270 End If 10280 '------------------------------------------------ 10290 If nY - 6 * (Int(nY / 6)) = 5 Then 10300 EstribSupV(BarmeioV) = "s" 10310 j = BarmeioV - 2 10320 Do 10330 If j <= 1 Then GoTo 10370 10340 EstribSupV(j) = "s" 10350 j = j - 3 10360 Loop 10370 j = BarmeioV + 2 10380 Do 10390 If j >= nY Then GoTo 10430 10400 EstribSupV(j) = "s" 10410 j = j + 3 10420 Loop 10430 End If 10435 GoTo 13000 10440 End If '------------------------------------------------------------ 10500 If nY >= 7 Then 10510 If nY - 10 * (Int(nY / 10)) = 0 Then 10520 EstribSupV(BarmeioV) = "s" 10530 j = BarmeioV - 4 10540 Do 10550 If j <= 1 Then GoTo 10590 10560 EstribSupV(j) = "s" 10570 j = j - 5 10580 Loop

Page 142: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 142

10590 j = BarmeioV + 5 10600 Do 10610 If j >= nY Then GoTo 10650 10620 EstribSupV(j) = "s" 10630 j = j + 5 10640 Loop 10650 End If 10660 '------------------------------------------------ 10670 If nY - 10 * (Int(nY / 10)) = 1 Then 10680 EstribSupV(BarmeioV) = "s" 10690 j = BarmeioV - 5 10700 Do 10710 If j <= 1 Then GoTo 10750 10720 EstribSupV(j) = "s" 10730 j = j - 5 10740 Loop 10750 j = BarmeioV + 5 10760 Do 10770 If j >= nY Then GoTo 10810 10780 EstribSupV(j) = "s" 10790 j = j + 5 10800 Loop 10810 End If 10820 '------------------------------------------------ 10870 If nY - 10 * (Int(nY / 10)) = 2 Then 10880 EstribSupV(BarmeioV) = "n" 10890 j = BarmeioV - 2 10895 If j <= 1 Then GoTo 10950 10896 EstribSupV(j) = "s" 10897 j = BarmeioV - 5 10900 Do 10910 If j <= 1 Then GoTo 10950 10920 EstribSupV(j) = "s" 10930 j = j - 5 10940 Loop 10950 j = BarmeioV + 2 10955 If j >= nY Then GoTo 11110 10956 EstribSupV(j) = "s" 10957 j = BarmeioV + 6 10960 Do 10970 If j >= nY Then GoTo 11110 10980 EstribSupV(j) = "s" 10990 j = j + 5 11100 Loop 11110 End If 11120 '------------------------------------------------ 11130 If nY - 10 * (Int(nY / 10)) = 3 Then 11140 EstribSupV(BarmeioV) = "n" 11150 j = BarmeioV - 2 11160 If j <= 1 Then GoTo 11240

Page 143: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 143

11170 EstribSupV(j) = "s" 11180 j = BarmeioV - 6 11190 Do 11200 If j <= 1 Then GoTo 11240 11210 EstribSupV(j) = "s" 11220 j = j - 5 11230 Loop 11240 j = BarmeioV + 2 11250 If j >= nY Then GoTo 11330 11260 EstribSupV(j) = "s" 11270 j = BarmeioV + 6 11280 Do 11290 If j >= nY Then GoTo 11330 11300 EstribSupV(j) = "s" 11310 j = j + 5 11320 Loop 11330 End If 11340 '------------------------------------------------ 11430 If nY - 10 * (Int(nY / 10)) = 4 Then 11440 EstribSupV(BarmeioV) = "n" 11450 j = BarmeioV - 2 11460 If j <= 1 Then GoTo 11570 11470 EstribSupV(j) = "s" 11480 j = BarmeioV - 6 11490 Do 11500 If j <= 1 Then GoTo 11570 11510 EstribSupV(j) = "s" 11520 j = j - 5 11530 Loop 11570 j = BarmeioV + 2 11580 Do 11590 If j >= nY Then GoTo 11630 11600 EstribSupV(j) = "s" 11610 j = j + 5 11620 Loop 11630 End If 11640 '------------------------------------------------ 11650 If nY - 10 * (Int(nY / 10)) = 5 Then 11660 EstribSupV(BarmeioV) = "n" 11680 j = BarmeioV - 2 11690 Do 11700 If j <= 1 Then GoTo 11740 11710 EstribSupV(j) = "s" 11720 j = j - 5 11730 Loop 11740 j = BarmeioV + 2 11750 Do 11760 If j >= nY Then GoTo 11800 11770 EstribSupV(j) = "s" 11780 j = j + 5

Page 144: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 144

11790 Loop 11800 End If 11810 '------------------------------------------------ 11950 If nY - 10 * (Int(nY / 10)) = 6 Then 11960 EstribSupV(BarmeioV) = "n" 11980 j = BarmeioV - 2 11990 Do 12000 If j <= 1 Then GoTo 12040 12010 EstribSupV(j) = "s" 12020 j = j - 5 12030 Loop 12040 j = BarmeioV + 3 12050 Do 12060 If j >= nY Then GoTo 12100 12070 EstribSupV(j) = "s" 12080 j = j + 5 12090 Loop 12100 End If 12110 '------------------------------------------------ 12150 If nY - 10 * (Int(nY / 10)) = 7 Then 12160 EstribSupV(BarmeioV) = "s" 12180 j = BarmeioV - 3 12190 Do 12200 If j <= 1 Then GoTo 12240 12210 EstribSupV(j) = "s" 12220 j = j - 5 12230 Loop 12240 j = BarmeioV + 3 12250 Do 12260 If j >= nY Then GoTo 12300 12270 EstribSupV(j) = "s" 12280 j = j + 5 12290 Loop 12300 End If 12310 '------------------------------------------------ 12350 If nY - 10 * (Int(nY / 10)) = 8 Then 12360 EstribSupV(BarmeioV) = "s" 12380 j = BarmeioV - 3 12390 Do 12400 If j <= 1 Then GoTo 12440 12410 EstribSupV(j) = "s" 12420 j = j - 5 12430 Loop 12440 j = BarmeioV + 4 12450 Do 12460 If j >= nY Then GoTo 12500 12470 EstribSupV(j) = "s" 12480 j = j + 5 12490 Loop 12500 End If

Page 145: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 145

12510 '------------------------------------------------ 12650 If nY - 10 * (Int(nY / 10)) = 9 Then 12660 EstribSupV(BarmeioV) = "s" 12680 j = BarmeioV - 4 12690 Do 12700 If j <= 1 Then GoTo 12740 12710 EstribSupV(j) = "s" 12720 j = j - 5 12730 Loop 12740 j = BarmeioV + 4 12750 Do 12760 If j >= nY Then GoTo 12800 12770 EstribSupV(j) = "s" 12780 j = j + 5 12790 Loop 12800 End If 12810 '------------------------------------------------ 12820 End If 13000 N4 = 0 For i = 1 To nY If EstribSupV(i) = "s" Then N4 = N4 + 1 End If Next i End Sub 9.50 - Código do Form10 Sub AsReal23() '--- calc. AsuninReal, AsTotReal, fi '-----------------verifica: se AsUnit é muito grande, diâm máx, diâm mín 7731 If AsUnit > Afi(UltimoFi) Then GoTo 7763 7735 For i = 4 To UltimoFi 7740 If Afi(i) - AsUnit >= 0 Then GoTo 7750 7745 Next i 7750 AsUnitR = Afi(i) 7755 AsTotR = Afi(i) * Ntot 7757 fI = Dfi(i) 7758 PesFi = Pfi(i) 7760 GoTo 7785 7763 eRRo = "s" 7766 AsUnitR = 0 7770 AsTotR = 0 7780 GoTo 7800 7785 If fI > MenorDim / 8 Then 7790 eRRo = "s" 7798 End If 7800 End Sub

Page 146: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 146

Sub AsMinMax24() ' taxa máxima e mínima de armadura 7801 AsMin = (0.15 * Nd) / Fyd 7805 If AsMin <= (0.004 * Ac) Then 7810 AsMin = 0.004 * Ac 7815 End If 7817 AsunitMin = AsMin / Ntot 7820 AsMax = (0.08 * Ac) / 2 'fora da região de emendas 7830 If AsTotR < AsMin Then 10 AsTot = AsMin 20 AsUnit = AsTot / Ntot 30 If AsUnit > Afi(UltimoFi) Then GoTo 130 40 For i = 4 To UltimoFi 50 If Afi(i) - AsUnit >= 0 Then GoTo 70 60 Next i 70 AsUnitR = Afi(i) 80 AsTotR = Afi(i) * Ntot 90 fI = Dfi(i) 100 PesFi = Pfi(i) 120 GoTo 140 130 eRRo = "s" 140 'não apagar 7880 End If 7881 If AsTotR > AsMax Then 7882 eRRo = "s" 7888 End If 7890 End Sub Sub Espaçamento26() 7900 7905 eXFace = ((B - 2 * dLinha) / (nX - 1)) - fI 7910 eYFace = ((H - 2 * dLinha) / (nY - 1)) - fI 7915 eXEixo = ((B - 2 * dLinha) / (nX - 1)) 7920 eYEixo = ((H - 2 * dLinha) / (nY - 1)) 7925 Eixo = "" 7930 mErro = "" 7935 '--------------------------------------------------------------------- 7940 If (4 * fI) < (1.2 * Dagregado) * 2 Then 7950 SMin = (1.2 * Dagregado) * 2 7955 mErro2 = " 2,4 vezes o diâmetro máximo do agragado, fora das emendas" 7960 Else 7970 SMin = (4 * fI) 7975 mErro2 = " 4 vezes o diâmetro da barra longitudinal" 7980 End If 7985 '-------------------------------------------- 7990 If eXFace < SMin Then 7995 eRRo = "s" 8050 End If 8055 '--------------

Page 147: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 147

8060 If eYFace < SMin Then 8070 eRRo = "s" 8130 End If 8140 '--------------------------------------------------------------------- 8150 If (2 * MenorDim) >= 40 Then 8160 SMax = 40 8170 mErro2 = "máximo permitido" 8180 Else 8190 SMax = 2 * MenorDim 8200 mErro2 = " 2 vezes a menor dimensão do trecho considerado" 8210 End If 8220 '-------------------------------------------- 8230 If eXEixo > SMax Then 8240 eRRo = "s" 8300 End If 8305 '-------------- 8310 If eYEixo > SMax Then 8320 eRRo = "s" 8380 End If 8390 8400 mErro = "" 8410 mItem = "" 8415 mErro2 = "" End Sub Sub Cobrimento27() '-- Cobrimento nominal, cobrimento real, tamanho dos estribos '-- Verifica se o cobrimento nominal foi respeitado 8450 If Recalcular = "s" Then GoTo 8525 8460 Call Form1.CobNominal40 '------------------------------------------------------------------------- 8525 Recalcular = "n" '------------------------calcula CobEf. >= Cnom--------------------------- 8526 Cobrimento = dLinha - fIestribo - fI / 2 8527 If Int(cN * 10000 + 0.5) / 10000 > Int(Cobrimento * 10000 + 0.5) / 10000 Then 8528 Call Form4.CalcdLinha 8536 End If '------------------------calcula Cob. das barras longitudinais----------- 8537 If Int((Cobrimento + fIestribo) * 10000 + 0.5) / 10000 < Int(fI * 10000 + 0.5) / 10000 Then Call Form4.CalcdLinhaFi 8546 End If '------------------------------------------------------------------------- 8547 EstribX = B - 2 * Cobrimento 8550 EstribY = H - 2 * Cobrimento 8600 Call Form1.Ganchos41 8675 CompEst = 2 * (EstribX + EstribY) + EstribAnc 8680 Qest = Int(1 + (L / SEst)) End Sub Sub Estribo28() '--- Fiestribo,espaçamento mínimo entre estribos

Page 148: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 148

8600 '----------------------------------Fi Estribo mínimo------------ 8605 If fI / 4 > 0.5 Then GoTo 8630 8610 fIeMin = 0.5 8620 GoTo 8690 8630 fIeMin = fI / 4 8690 '----------------------------------Espaçamento mínmo------------ 8740 If MenorDim < 20 Then 8750 SEst = Int(MenorDim) 8760 Else 8770 SEst = 20 8775 End If 8777 '----------Espaçamento mínmo pra CA-25------------ 8780 If Form1.Combo1.Text = "Aço CA-25A" Or Form1.Combo1.Text = "Aço CA-25B" Then 8790 If SEst > Int(24 * fI) Then 8800 SEst = Int(24 * fI) 8810 End If 8820 End If 8825 '----------Espaçamento mínmo pra CA-50------------ 8830 If Form1.Combo1.Text = "Aço CA-50A" Or Form1.Combo1.Text = "Aço CA-50B" Then 8840 If SEst > Int(12 * fI) Then 8850 SEst = Int(12 * fI) 8860 End If 8870 End If If Form1.Check5.Value = 1 Then 8877 '----------Espaçamento mínmo pra estribos com menor dimenção que o limite--- 8880 For i = 1 To 3 8890 SEst2(i) = Int(9000 * ((10 * Dfi(i)) ^ 2 / (10 * fI)) / (Fyk / 10)) 8895 Next i 9010 '--------------------escolha 4 solução com mesmo tipo de aço---------- For i = 1 To 3 If i = eEe Then If SEst2(i) > SEst Then SEst2(i) = SEst End If SEst = SEst2(i) End If Next i GoTo 9050 End If If fIestribo < fIeMin Then eRRo = "s" End If 9050 End Sub 9.51 - Código do Form 11

Page 149: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 149

Private Sub Command1_Click() Call Escolhe End Sub Sub Escolhe() For i = 1 To 40 If Option1(i - 1).Value = True Then CombEscolhida = i Form1.Text4.Text = Val(Text1(i - 1).Text) Form1.Text5.Text = Val(Text2(i - 1).Text) Form1.Option3.Value = True If Text3(i - 1).Text = "5" Then Form1.Combo3.Text = "5 mm" End If If Text3(i - 1).Text = "6.3" Then Form1.Combo3.Text = "6.3 mm (1/4'')" End If If Text3(i - 1).Text = "8" Then Form1.Combo3.Text = "8 mm (5/16'')" End If If Text3(i - 1).Text = "10" Then Form1.Combo3.Text = "10 mm (3/8'')" End If End If Next i Form1.Command9.Visible = True Form1.Command10.Visible = True Form1.Command11.Visible = True Form1.Text8.Visible = True Form11.Hide End Sub Sub BotaoMais() If Option1(Combinaçao - 1).Value = True Then GoTo 100 For i = 1 To 40 If Form11.Option1(i - 1).Value = True Then Form11.Option1(i - 1).Value = False Form11.Option1(i - 1 + 1).Value = True GoTo 100 End If Next i 100 End Sub Sub BotaoMenos() If Option1(0).Value = True Then GoTo 100 For i = 1 To 40 If Form11.Option1(i - 1).Value = True Then Form11.Option1(i - 1).Value = False Form11.Option1(i - 1 - 1).Value = True GoTo 100 End If

Page 150: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 150

Next i 100 End Sub 9.52 - Module1.bas Global B, H, L, dLinha As Double Global Md, Nd, Fck, Fyk, Es, Fcd, Fyd As Double Global c2, SigCd, SigYd, Ac, eYd, Sig2 As Double Global GamaC, GamaS, FykMpa As Double Global Precisao As Double Global i, j, K, q As Integer Global Asi(1 To 500) As Double Global nX, nY As Integer Global Ntot As Integer Global AsTot, AsUnit, AsTotTeor, AsUnitTeor As Double Global X(1 To 500, 1 To 500), Y(1 To 500, 1 To 500) As Double Global di(1 To 500), Nbar(1 To 500) As Double Global eSd(0 To 501), SigSd(0 To 501) As Double Global Z, oX, oY As Double Global BetaC2, Delta, Delta1, Delta2 As Double Global Beta(1 To 500) As Double Global NI, MI, Bx, Teta, epcmil, epc0, ETA, ETALIN, NICRIT, NICRITInf, NICRITSup As Double Global Caso As Integer Global BxAC, ETAC, ETALINAC, KapAC, OmegAC, BxEC, ETEC, ETALINEC, KapEC, OmegEC As Double Global BxInf, ETAInf, ETALINInf, KapInf, OmegInf, BxSup, ETASup, ETALINSup, KapSup, OmegSup As Double Global AK, BK, CK, Kapa, Omega As Double Global MiAC, MiEC, MiInf, MiSup As Double Global PA, F, YY, Y0, ec1, MiZero As Double Global Zona As String Global CaZon As Integer Global RO As Double Global BxInic, BxFin, ec1Inic, ec1Fin As Double Global Afi(1 To 11), Dfi(1 To 11), Pfi(1 To 11) As Double Global eRRo, mErro, mItem As String Global AsTotR, AsUnitR, fI, MenorDim As Double Global AsMin, AsMax, AsunitMin As Double Global Dagregado As Double Global CoefAdic As Double Global eXFace, eYFace, eXEixo, eYEixo, SMin, SMax As Double Global mErro2 As String Global dC, cN, Cobrimento, EstribX, EstribY, CompEst, EstribAnc As Double Global Recalcular As String Global fIeMin, fIestribo, SEst, DEst, QuantMenor, FiPreEstrib, Qest As Double Global SEst2(1 To 3), Quant(1 To 4) As Double Global Unidade As String Global W As Double

Page 151: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 151

Global Sobra Global Esp1, Esp2, Esp3, Esp4, Borda, Zx, Zxy, Zy, Zyx As Double Global Detalhamento, Redesenha As String Global Arquivo As String Global ErroFck As String Global EstribSup(1 To 500) As String Global Barmeio As Integer Global DistSupl, CompSuplementarH As Double Global EstribSupV(1 To 500) As String Global BarmeioV As Integer Global DistSuplV, CompSuplementarV As Double Global nyMax, nxMax As Integer Global PesFi, Pes As Double Global PesoEstribo, PesoPreEstrib, EstribAncSupl, eEe, CompEstTotal As Double Global Combinaçao, CombEscolhida As Integer Global PesoOpçao(1 To 1000000), BarrasX(1 To 1000000), BarrasY(1 To 1000000), EeStribos(1 To 1000000) As Double Global MelhorPeso(1 To 1000000), MelhorX(1 To 1000000), MelhorY(1 To 1000000), MelhorEstribo(1 To 10000000) As Double Global nãoZerar As String Global UltimoFi, UltimoFiEstribo As Single Global N3, N4 As Single Global FiEscolhido(1 To 1000000), MelhorFi(1 To 1000000) As Double Global fiEstriboRec, PesoEstriboRec, SEstRec As Double

Page 152: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 152

9.53 - Resumo da função das sub-rotinas do Form1 e variáveis utilizadas.

SUB Nome Função da rotina 0 Programa0 Sub-Rotina principal que chama todas as outras 1 dLinha01 calcula d' ou Lê diretamente dos ddos de entrada 2 Ler02 Lê dados de entrada 3 SArran1R03 Arranjo das barras 4 Aço04 Constantes relativas ao Aço 5 SigSd05 Tensão f(eYd)-->(Deformação) 6 SNiCrit06 Calcula NI Crítico (k->infinito) 7 SBxTeta07 epcmil e Teta como f(Bx). ETA e ETALIN

8 SEta08 Calcula ETA e ETALIN f(Teta e epcmil) 9 SEtalin09 Com os dados de SEta08 calcula ETALIN

10 SConstZ10 Constantes das delimitações das zonas A,C,E 11 SEpSig11 Calcula esd(i) e Sigsd(i) em f(Bx) 12 SKapa12 Calcula Kapa e Omega f(Bx)

13 SMiACEC13 Determina retas de limites entre zonas A,C,E --> MiAC e MiEC f(NI)

14 SMiZero14 Limite da Zona O, para cada valor de NI, calcula MIzero 15 Szona15 Determina a Zona de Solicitação f(MI e NI) 16 SRO16 Calcula a taxa de armadura RO f(NI e MI) 17 SProc_BC17 Proc. Iter. ec1, com o correspond. bx --> RO é calculado com BK 18 SEc1Bx18 Cálculo de Bx f(ec1) e calcula epcmil, TETA, ETA e ETALIN 19 SProc_BK19 Procura iterativa de Bx - RO será calculado com BK 20 SProc_AK20 Procura iterativa de Bx - Ro será Calculado com AK

21 Critico21 Impede que se caia na "área crítica da precisão" que dá problema e trava tudo

22 Bitolas22 Dá todos os valores de diâmetro e Área das barras 23 AsReal23 Área unit. real - área tot. real - fi real. Verifica diâm máx 24 AsMinMax24 Taxa máxima e mínima de armadura

25 CeoficienteAdic25 Calcula Menordimensão e Coeficientes adicionais p/ pilares com b < 19

26 Espaçamento26 Verifica espaçamentos máximos e mínimos entre as barras

27 Cobrimento27 Calcula e verifica se cob. Efetivo =< Nominal, calcula comprimento de estribos.

28 Estribo28 Calcula o diâmetro e o espaçamento dos estribos] 29 Peso29 Calcula o peso da armadura do pilar

30 Unidades30 Possue constantes para escolha das unidades de Nd, Md, Fck e Es

31 Zera31 Zera alguns dados do programa 32 Grava32 Grava valores de entrada em um arquivo

33 Carrega33 Carrega valores de entrada de um arquivo 34 - -

Page 153: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 153

35 Desenha35 Detalha o pilar na área do desenho 36 DesenhaSup36 Detala os estribos suplementares 37 Imprime37 Escreve os valores nos campos de saída de dados 40 CobNominal40 Calcula o cobrimento nominal 41 Ganchos41 Calcula o comprimento dos ganchos os estribos 42 GuardaValores42 Armazena valores para gerar tabela da melhor solução

43 Escolhe valores43 Ordena os valores armazenados na sub-GuardaVAlores42 EstriboSuplementarH29 - estribos suplementares na direção X (pertence ao Form11) EstriboSuplementarV30 - estribos suplementares na direção Y (pertence ao Form11)

Form4.CalcdLinha Calcula d´ em função do cobrimento, diâm. do estribo e diâm das barras longitudinais

Variável Notação Descrição

Variáveis relativas à parte teórica B b base do pilar H h altura do pilar L - comprimento do pilar

dLinha d´ dist. do centro de grav. da 1a camada de barras até a borda inf.

Md Md momento fletor de cálculo

Nd Nd esforço normal de cálculo

Fck fck resistência característica do concreto Fyk resistência característica do aço

Es Es módulo de elasticidade do aço

Fcd fcd resistência de cálculo concreto

Fyd fyd resistência de cálculo aço

c2 c2 distância do centro de gravidade da seção, à borda superior

SigCd σcd Resistência do concreto usada no cálculo de E.L.U = 0,85 Fcd

Ac Ac área da seção de concreto

eYd yd def. no aço correspondente ao início do escoamento (em o/oo)

Sig2 - Tensão no aço correspondente a uma deformação de 2 o/oo

GamaC γc coeficiente de minoração da resistência do concreto

GamaS γs coeficiente de minoração da resistência do aço AA A Variável auxiliar usada no cálculo de Sigsd(i) (variável local) BB B Variável auxiliar usada no cálculo de Sigsd(i) (variável local) CC C Variável auxiliar usada no cálculo de Sigsd(i) (variável local) Precisao - Precisão de cálculo do programa I - Variável auxiliar do programa j - Variável auxiliar do programa Asi(1 To 500) - Área de aço da camada ide barras

Page 154: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 154

nX nx Número de barras na primeira e última camada nY ny Número de camadas de barras Ntot n número total de barras de aço

AsTot As área total de aço na seção

AsUnit As,unit área de uma só barra AsTotTeor - Área total de aço teórica AsUnitTeor - Área unitária de aço teórica X(1 To 500, 1 To 500) - posição no eixo X de umad determinada barra Y(1 To 500, 1 To 500) - posição no eixo Y de umad determinada barra

di(1 To 500) di distância da camada genérica i à borda superior

Nbar(1 To 500) ni número de barras na camada i

eSd(0 To 501) sd deformação específica do (em o/oo)

SigSd(0 To 501) σsd valor de cálculo da tensão do aço Z - variável relativa escala do desenho oX - posição zero do eixo X do desenho oY - posição zero do eixoY do desenho

BetaC2 βc2 Relação: c2 / h Delta δ Relação: d' / h Delta1 δ1 Relação: d1' / h Delta2 δ2 Relação: d2' / h Beta(1 To 500) β Dist. relat. (sobre h) da camada I de barras à borda sup. (di / h) NI ν Força normal reduzida adimensional (Nd/(sigcd.Ac)) MI µ Momento fletor reduzido adimensional (Md/(sigcd.Ac.h))

Bx βx Profundidade relativa da linha neutra (x / h) Teta θ Valor relativo da curvatura (1000.h.curv)

Epcmil c Valor do encurtamento relat. Máx. Do concreto, dado (em o/oo)

epc0 co Encurt. espec. mín. do concreto (em o/oo) num diagrama de def. ETA η Valor reduzido adimensional de Rcc ETALIN η’ Valor reduzido adim. do momento de Rcc em rel. à borda sup.

NICRIT νcrit Valor de NI correspondete a βx = 0,5

NICRITInf νcritInf Valor de NI correspondete a βx = 0,5 - Precisao

NICRITSup νcritSup Valor de NI correspondete a βx = 0,5 + Precisao Caso - Variável auxiliar

BxAC BxAC Valor de βx correspondente ao limite entre as zonas A e C

ETAC ηAC Valor de ETA corresponde a βx = BXAC

ETALINAC η'AC Valor de ETALIN corresponde a βx = BXAC

KapAC κAC Valor de KAPA corresponde a βx = BXAC

Page 155: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 155

OmegAC ΩAC Valor de OMEGA corresponde a βx = BXAC

BxEC BxEC Valor de βx correspondente ao limite entre as zonas E e C

ETEC ηEC Valor de ETALIN corresponde a βx = BXEC

ETALINEC η'EC Valor de ETA corresponde a βx = BXEC

KapEC κEC Valor de KAPA corresponde a βx = BXEC

OmegEC ΩEC Valor de OMEGA corresponde a βx = BXEC

BxInf BxInf Valor de βx = 0,5 - Precisao

ETAInf ηInf Valor de ETA corresponde BxInf ETALINInf η'Inf Valor de ETALIN corresponde BxInf

KapInf κInf Valor de KAPA corresponde BxInf OmegInf ΩInf Valor de OMEGA corresponde BxInf

BxSup BxSup Valor de βx = 0,5 + Precisao ETASup ηSup Valor de ETA corresponde BxSup ETALINSup η'Sup Valor de ETALIN corresponde BxSup

KapSup κSup Valor de KAPA corresponde BxSup OmegSup ΩSup Valor de OMEGA corresponde BxSup AK A Coeficiente com dimensão (numerador da relação KAPA) BK B Coeficiente com dimensão (denominador da relação KAPA) CK C Coeficiente adimensional usado no cálculo de Ro

Kapa κ Coeficiênte adimensional definido por (6.12) Omega Ω Variável definida por (6.15)

MiAC µAC Val.de MI (em função de NI) corresp. ao lim. entre as zonas A e C

MiEC µEC Val. de MI (em função de NI) corresp. ao lim. entre as zonas E e C

MiInf µInf Valor de MI (em função de NI) corresp. βx = 0,5 - Precisao

MiSup µSup Valor de MI (em função de NI) corresp. βx = 0,5 + Precisao

PA - Variável auxiliar (passo numa iteração) F - Variável auxiliar (valor de uma função que se quer igual a zero) YY - Variável auxiliar (valor que se quer guardar na memória) Y0 - Variável auxiliar (valor que se quer guardar na memória)

ec1 c1 Deformação específica (em o/oo) do concreto na borda 1 (borda inf.)

MiZero - Valor de MI (em função de NI) corresp. ao lim. entre as zonas O

Zona - String para definir a zona de solicitação

CaZon - Variável auxiliar (número correspondente a zona de solicitação)

RO ρ Taxa geométrica de armadura longitudinal

BxInic - Valor inicial de βx numa iteração

Page 156: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 156

BxFin - Valor final de βx numa iteração

ec1Inic - Valor inicialde c1 numa iteração UltimoFi - Valor máximo do diâmetro longitudinal a ser utilizado UltimoFiEstribo - Valor máximo do diâmetro dos estribos a ser utilizado

ec1Fin - Valor final c1 numa iteração

Variáveis relativas à Normatização Afi(1 To 11) Área de uma determinada barra de aço Dfi(1 To 11) Diâmetro de uma determinada barra de aço eRRo Variável auxiliar mErro mensagem de erro para ser aplicada ao label do Form2 mItem mensagem de erro para ser aplicada ao label do Form2 AsTotR Área total de aço efetiva AsUnitR Área unitária de aço efetiva fI Diâmetro da barra ongitudinal MenorDim Menor dimensão da seção do pilar AsMin Área de aço mínima segundo a norma AsMax Área de aço máxima segundo a norma AsunitMin Área de aço unitária mínima segundo a norma Dagregado Dimensão máxima característica do agregado graúdo

CoefAdic Coefic. p/ majorar cargas, para pilars com menor dimensão < 19 cm

eXFace Espaçamento horizontal entre as façes das barras de aço eYFace Espaçamento vertical entre as façes das barras de aço eXEixo Espaçamento horizontal entre eixos das barras de aço eYEixo Espaçamento vertical entre eixos das barras de aço Smin Taxa de armadura mínima segundo a norma SMax Taxa de armadura mánima segundo a norma mErro2 Mensagem de erro dC Tolerância de execução para o cobrimento cN Cobrimento nominal Cobrimento Cobrimento efetivo EstribX Comprimento dos lados horizontais do estribo EstribY Comprimento dos lados verticais do estribo CompEst Comprimento total do estribo EstribAnc 2 x o comprimento de ancoragem dos estribos Recalcular Variável auxiliar fIeMin Diâmetro mínimo do estribo segundo a norma fIestribo Diâmetro efetivo do estribo SEst Espaçamento entre estribos

DEst d' em função do combrimento, diâmtro do estribo e barras long.

QuantMenor Variável auxiliar ( menor quantidade de aço por metro p/

Page 157: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 157

estribos)

FiPreEstrib Diâmetro do estribo pré definido Qest Quantidade total de estribos SEst2(1 To 3) Espaçamento entre estribos Unidade Unidade de força, momento ou tensão W Variável que multiplica esforços em função da unidade Sobra % de sobra de aço (100.(AsTotR - AsTotTeor) / AsTotR)

Variáveis relativas ao detalhamento Esp1 Espaçamento entre detalhamento do pilar e texto à direita Esp2 Espaçamento entre texto e detalhamento dos estribos à direita Esp3 Espaçamento entre detalhamento do pilar e texto à baixo Esp4 Espaçamento entre texto e detalhamento dos estribos à baixo Borda Borda do detalhamento Zx Zoom calculado para detalhamento lado a lado Zxy Zoom calculado para detalhamento lado a lado Zy Zoom calculado para detalhamento em cima e abaixo Zyx Zoom calculado para detalhamento em cima e abaixo

Detalhamento Variável que define se o detalhamento será lado a lado ou cima e baixo

N3 relativas ao detalhamento N4 relativas ao detalhamento Redesenha Variável auxiliar

Variável para gerar arquivo Arquivo Caminho do arquivo ao qual se queira gravar dados

Variáveis para cálculo do estribo suplementar EstribSup(1 to 500) variável auxiliar Barmeio barra do meio na direção X DistSupl variável auxiliar CompSuplementarH comprimento total dos estribos suplementares na direção X EstribSupV(1 To 500) variável auxiliar BarmeioV barra do meio na direção Y DistSuplV variável auxiliar CompSuplementarV comprimento total dos estribos suplementares na direção Y

Variáveis para cálculo da melhor solução nyMax número máximo possível de barras na direção Y nxMax número máximo possível de barras na direção X eEe variável auxiliar para looping das 4 opções de uso de estribos Combinaçao número de combinações possíveis que respeitam a norma CombEscolhida opção que será detalhada

PesoOpçao(1 To 1000000) armazena valores do peso total de aço para uma determinada opção

BarrasX(1 To 1000000) armazena valores das barras horizontais para uma determinada

Page 158: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 158

opção

BarrasY(1 To 1000000) armazena valores das barras verticais para uma determinada opção

EeStribos(1 To 1000000) armazena qual o estribo de uma determinada opção MelhorPeso(1 To 1000000) valores ordenados do peso total de cada opção

MelhorX(1 To 1000000) valores ordenados do número de barras horizontais de cada opção

MelhorY(1 To 1000000) valores ordenados do número de barras vertical de cada opção MelhorEstribo(1 To 10000000) valores ordenados dos estribos FiEscolhido(1 To 1000000) armazena valores do diâmetro das barras longitudinais MelhorFi(1 To 1000000) valores ordenados do diâmetro das barras longitudinais

nãoZerar vriável auxiliar para não apagar tabela de opções após nova iteração

Variáveis para cálculo do peso de aço PesFi Peso / m da bitola das barras longitudinais Pes Peso total de aço PesoEstribo Peso / m da bitola dos estribos PesoPreEstrib Peso / m da bitolapré-determinada para os estribos EstribAncSupl 2 x comprimento dos ganchos dos estribos sup CompEstTotal comprimento total dos estribos suplementares

Page 159: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 159

9.54 - Formulários

Form1

Form2

Page 160: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 160

Form3

Form4

Page 161: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 161

Form5

Form6

Page 162: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 162

Form7

Form8

Page 163: Elaboração de programa para dimensionamento e detalhamento ... - Alberto... · Visual Basic ... do ponto de vista da engenharia ... programa que permite a criação de aplicativos

TCC - Elaboração de programa para dimensionamento e detalhamento de pilares retangulares submetidos a flexo-compressão normal com armadura distribuída ao longo das faces.

Aluno: Alberto Smaniotto - Orientador: Daniel D. Loriggio 163

Form11