Você está na página 1de 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
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.

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

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


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.

Í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

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


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.

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

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


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.

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

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


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.

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.

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


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.

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.

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


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.

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.

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


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.

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

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


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.

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

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


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.

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:
σ 1 σ
ε sd = sd + ( sd − 0,7) 2
E s 45 f yd
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:

B + B 2 − 4 AC
σ sd =
2A

1 1,4 1 0,49
com A= 2
; B= − ; C= − ε sd
45 f yd 45 f yd Es 45
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.ε ε

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


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.

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.

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


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.

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.
βx = x h (4.1)

βi = d i h (4.2)

εc 2 14 14.β x
= = ⇒ εc =
x x−
3h 7 x − 3h 7β x − 3
7
(4.3)
ε c1 2 14 14.( β x − 1)
= = ⇒ εc1 = (4.4)
x − h x − 3h 7 x − 3h 7β x − 3
7

Invertendo (4.3) e (4.4) temos:

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


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.

3ε c
βx = (4.5)
7ε c − 14

3ε c1 − 14
βx = (4.6)
7ε c1 − 14

Deformação εsdi :

ε sdi εc β x − βi
= ⇒ ε sdi = ε c . (4.7)
x − di x βx

14.( β x − β i )
levando em conta (4.3): ε sdi = (4.8)
7βx − 3

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

3,5 ε β x − βi
= sdi ⇒ ε sdi = 3,5 (4.9)
x x − di βx

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


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.

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

ε sdi 10 10.( x − d i ) 10.( β x− β i )


= ⇒ ε sdi = ⇒ ε sdi = (4.10)
x − di h − d '− x h − d '− x 1−δ − βx

Relação entre εc e βx:

εc 10 10.β x
= ⇒ εc = (4.11)
x − di h − d '− x 1−δ − βx

ε c .(1 − δ )
Reciprocamente: β x = (4.12)
ε c + 10

εc 10
A (4.11) mostra que: = ; levando essa relação na eq. (4.10), temos:
βx 1 − δ − β x

β x − βi
ε sdi = ε c . (4.13)
βx

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


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.

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


εc −εs ε .(h − d ' )
= ⇒ isolando x ⇒ x = c ⇒ dividindo tudo por h:
x h − d '− x εc −εs

ε c .(1 − δ )
βx = (4.14)
εc −εs
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:

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


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.

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

0.(1 − δ )
βx = =0⇒ βxLim 1-2 = 0 (4.15)
0 + 10

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

3,5.(1 − δ ) 3,5 3,5


βx = = .(1 − δ ) ⇒ βxLim III-II = .(1 − δ ) (4.16)
3,5 + 10 13,5 13,5

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

x h
βx = = =1⇒ βxLim II-I = 1 (4.17)
h h

3.4.4 Curvaturas

Demonstra-se que a curvatura do eixo da peça numa seção considerada é dada por:
1 ε c 2 − ε c3
= (4.18)
r c
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.)
1
= curvatura. Grandeza com dimensão: pode ser expressa em cm-1 , por exemplo.
r
Para trabalhar com adimensionais, o que é vantajoso, define-se uma curvatura majorada adimensional
θ:
1
θ = 1000h. (4.19)
r
Se considerarmos c = x, teremos (εc2 - εc3) = (εc - 0), levando esta relação em (4.18):
1 ε c 2 − ε c3 ε − 0 ε c
= = = (com εc em número puro). Substituindo esta relação em (4.19):
r c x x

1 εc εc
θ = 1000h. = 1000h. = 1000 (com εc em número puro), ou ainda:
r x βx

εc
θ= (4.20)
βx
com εc em o/oo

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


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.

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

1 ε c 2 − ε c 3 0 − (−10) 10
= = =
r c h − d' h − d'

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

10 10
θ = h. = (4.21)
h − d' 1−δ

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).

1 ε c 2 − ε c 3 ε c − (−10) ε c + 10
= = =
r c h − d' h − d'

ε c + 10
θ= (4.22)
1−δ

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).

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


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.

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:

Rcc
η= (5.1)
σ cd . Ac

Rcc .a
η' = (5.2)
σ cd . Ac .h

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

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


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.

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.

50
εcu = 3,5. para 50 N/mm2 ≤ fck ≤ 80 N/mm2. Fig 5.1 Diagramaσc - εc
fck

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


εc
σ c = σ cd . .(4 − ε c ) para εc < 2 (5.3)
4
σ c = σ cd para 2 ≤ εc ≤ εcu (5.4)

f ck
- Ordenada máxima: σ cd = 0,85 f cd = 0,85 (5.5)
γc
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.

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


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.

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 − y)
εc '= εc. (5.6)
x

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 − h)
ε co = ε c . quando x > h (5.8)
x

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


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.

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 h
Rcc = ∫ σ 'c .b.dy se x ≤ h ou ∫ σ ' .b.dy
c se x > h (5.9)
0 0

x h
Rcc .a = ∫ σ 'c .b. y.dy se x ≤ h ou ∫ σ ' .b. y.dy
c se x > h (5.10)
0 0

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

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


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.

3.5.4.4 Outras relações

No item 3.4.4, foi visto que:

εc
βx = (5.11)
θ
x
onde β x = (5.12)
h
é a profundidade da linha neutra, e
1
θ = 1000.h. (5.13)
r
é 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:

h
y= .(ε c − ε c ' ) (5.16)
θ

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

dy h h
= − ; donde: dy = − .dε c ' (5.17)
dε c ' θ θ

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


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.

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 + se εc > θ (5.19)
7

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

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


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.

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:

14 β x 14
εc = e θ= para βx > 1 (5.20)
7β x − 3 7β x − 3

3,5 3,5
ε c = 3,5 e θ= para (1 − δ ) ≤ βx ≤ 1 (5.21)
βx 13,5

10.β x 10 3,5
εc = e θ= para βx < (1 − δ ) (5.22)
1−δ − βx 1−δ − βx 13,5

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

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


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.

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:

εc '
σ c ' = σ cd . .(4 − ε c ' ) (5.3)
4

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

εc '
Rcc = σ cd . .(4 − ε c ' ). Ac
4

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

εc
Rcc = .(4 − ε c ).σ cd . Ac
4

εc
donde: η = .(4 − ε c ) (5.23)
4
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:

h h
Rcc .a = σ c '.∫ .b. y.dy = η.σ cd .∫ b. y.dy = η.σ cd .S 2
0 0
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:

c2
η ' = η. = β c 2 .η (5.25)
h

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

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


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.

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 2 h
Rcc = ∫ σ cd (ε 'c − )b(− )dε ' c
εc
4 θ

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

ε co
1
η=− ∫ (4ε ' −ε ' c ).dε ' c
2


c
ε c

efetuada a integração resulta:

ε c 2 (6 − ε c ) − ε co 2 (6 − ε co )
η= (5.27)
12θ

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
4ε ' −ε '
2
h h
Rcc .a = ∫ σ cd ( c c )b .(ε c − ε ' c ).(− )dε 'c
εc
4 θ θ

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

ε co
1
η' = ∫ε (4ε ' −ε ' c ).(ε c − ε ' c )dε 'c
2

4θ 2 c
c

efetuada a integração resulta:

ε c 3 (8 − ε c ) − ε co 2 (24ε c − 16ε co − 4ε c ε co + 3ε co 2 )
η' = (5.28)
48θ 2

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


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.

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
(4ε ´c −ε 'c )
2 2
h h
Rcc = ∫ σ cd b(− )dε 'c + ∫ σ cd . b ( − ) d ε 'c
εc
θ 2
4 θ

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ε c − 8 − ε co (6 − ε co )
2
η= (5.29)
12θ

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

ε co
(4ε ´c −ε 'c ) h
2 2
h h h
Rcc .a = ∫ σ cd b (ε c − ε c ' )(− )dε 'c + ∫ σ cd . b (ε c − ε c ' )(− )dε 'c
εc
θ θ 2
4 θ θ

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

η' =
2
[
16 − 32ε c + 24ε c − ε co 24ε c − 4ε co (ε c + 4) + 3ε co
2 2
] (5.30)
48θ 2

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

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


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.

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:


N d − Rconcreto − Raço = 0
ny
N d − Rcc − ∑ Asi .σ sdi = 0
1

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


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.

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:
ny
As ,tot
N d − Rcc −
ntot
∑ n .σ
1
i sdi =0 (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:


ny
N d .c 2 − M d − Rcc .a − ∑ Asi .σ sdi .d i = 0 ou:
1

ny
As ,tot
N d .c 2 − M d − Rcc .a −
ntot
∑ n .σ
1
i sdi .d i = 0 (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

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


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.

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:

ntot
( N d − Rcc ). ny
= As ,tot (6.5)
∑ n .σ
1
i sdi

ntot
( N d .c 2 − M d − Rcc .a). ny
= As ,tot (6.6)
∑ n .σ
1
i sdi .d i

Levando (6.5) em (6.6):

ntot ntot
( N d − Rcc ). ny
= ( N d .c 2 − M d − Rcc .a ). ny

∑ n .σ
1
i sdi ∑ n .σ
1
i sdi .d i

ny

∑ n .σ i sdi .d i
( N d − Rcc ). 1
ny
= ( N d .c 2 − M d − Rcc .a )
∑ n .σ
1
i sdi

ny ny

∑ n .σ i sdi .d i ∑ n .σ i sdi .d i
Nd . 1
ny
− Rcc . 1
ny
− N d .c 2 + M d + Rcc .a = 0
∑ n .σ
1
i sdi ∑ n .σ
1
i sdi

 ny   ny 
 ∑ ni .σ sdi .d i   ∑ ni .σ sdi .d i 
 1
N d . ny − c 2 + M d + Rcc .a − Rcc . 1 ny
  = 0 , dividindo tudo por σ .A .h:
    cd c

 ∑ ni .σ sdi   ∑ ni .σ sdi 
 1   1 

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


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.

 ny   ny 
 ∑ ni .σ sdi .d i   ∑ ni .σ sdi .d i 
Nd  1
. ny 
− c2 +
Md
+
Rcc .a

Rcc
. 1 ny =0
σ cd . Ac .h   σ cd . Ac .h σ cd . Ac .h σ cd . Ac .h  
 ∑ ni .σ sdi   ∑ ni .σ sdi 
 1   1 
 ny d   ny d 
 ∑ ni .σ sdi . i   ∑ ni .σ sdi . i 
Nd  1 h c2 
. 1 ny =0
Md Rcc .a Rcc h
. ny − + + − (6.7)
σ cd . Ac  h  σ cd . Ac .h σ cd . Ac .h σ cd . Ac  
 ∑ ni .σ sdi   ∑ ni .σ sdi 
 1   1 

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:
Nd
ν= = esforço normal de cálculo reduzido adimensional (6.8)
Ac .σ cd
Md
µ= = momento fletor de cálculo reduzido adimensional (6.9)
Ac .σ cd .h

ny

∑ n .σ i sdi .β i
A= 1
(6.10)
ntot
ny

∑ n .σ i sdi
B= 1
(6.11)
ntot
ny

A
∑ n .σ i sdi .β i
K= = 1
ny
(6.12)
B
∑ n .σ
1
i sdi

c2
βc 2 = (6.13)
h
di
βi = (6.14)
h
Ω = η '− K η (6.15)
As ,tot
ρ= = taxa de armadura (6.16)
Ac
η e η’ = ver item 3.5.1

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


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.

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


ny

As ,tot ∑
ni .σ sdi
Nd Rcc
− − . 1
=0 introduzindo os coeficientes adimensionais:
Acσ cd Acσ cd Acσ cd n.tot
ρ
ν −η − B=0 (6.17)
σ cd

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


ny

N d .c 2 Md R .a As ,tot ∑ n .σ i sdi .d i
− − cc − 1
= 0 introduzindo os coeficientes adim.:
Acσ cd .h Acσ cd .h Acσ cd .h Acσ cd h.ntot
ρ
ν .βc 2 − µ − η '− A=0 (6.18)
σ cd

Introduzindo os coeficientes adimensionais em (6.7):


 ny d   ny d 
 ∑ ni .σ sdi . i   ∑ ni .σ sdi . i 
Nd  1 h c2 
. 1 ny =0
Md Rcc .a Rcc h
. ny − + + −
σ cd . Ac  h  σ cd . Ac .h σ cd . Ac .h σ cd . Ac  
 ∑ ni .σ sdi   ∑ ni .σ sdi 
 1   1 

ν .( K − βc 2 ) + µ + η '−η.K = 0 (6.19a)
ν .( K − βc 2 ) + µ + Ω = 0 (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:
(ν − η )σ cd
ρ= (6.20)
B

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


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.

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):
( βc 2ν − µ − η ' )σ cd
ρ=
A
chamando C = βc 2ν − µ − η (6.21)
Cσ cd
resulta: ρ = (6.22)
A
que, levada na primeira eq. De equilíbrio (6.3), resulta:
C
ν −η − =0 (6.23)
K

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:

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


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.

- 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:

µ = ( βc 2 − K ).ν − Ω = ( βc 2 − K ).ν + Kη − η ' (6.24)


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

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


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.

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:
Ω AC = η ' AC − K ACη AC (6.26)

µ AC = ( βc 2 − K AC )ν − Ω AC (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:
µ EC = ( βc 2 − K EC )ν − Ω EC (6.29)

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

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


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.

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:
η.( K − βc 2 ) + µ + η '−η.K = 0
η.K − η.βc 2 + µ + η '−η.K = 0
− η.βc 2 + µ + η ' = 0
µ = η.βc 2 − η '
µ o = η.βc 2 − η ' (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 η’
- µ o = βc 2ν − η '

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


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.

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
δ .h − x h − δ .h − x
A Fig. 6.6 mostra que : = , isolando x, e dividindo por h vem o valor procurado:
ε yd 10
ε yd (1 − δ .) − 10δ
βx = (6.33)
ε yd − 10
Em resumo: na zona E, basta fazer βx variar desde o valor de (6.33) até δ.

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


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.

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 aberturas 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.

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


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.

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

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


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.

Tabela 4 - Correspondência entre classe de agressividade 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 pilares 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

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


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.

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

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


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.

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.

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


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.

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.

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


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.

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

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


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.

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:

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


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.

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.

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


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.

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.

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


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.

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.

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


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.

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.

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


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.

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:

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


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.

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:

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


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.

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

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


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.

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.

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


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.

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:

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


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.

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”:

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


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.

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:

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


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


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.

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 

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


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.

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

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


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.

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

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


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.

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.

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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.

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


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.

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.

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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  βxLim III-II. eq. (4.16)
4125 For i = 1 To ny
4130 eSd(i) = 10 * (Bx - Beta(i)) / (1 - Delta - Bx)  calcula εsd(i) eq. (4.10)
4135 Call SigSd05  calcula σsd(i), f(εsd(i))
4140 Next i
4145 GoTo 4199
4147
4150 If Bx > 1 Then GoTo 4180  βxLim II-I. eq. (4.17)
4155 For i = 1 To ny
4160 eSd(i) = 3.5 * (Bx - Beta(i)) / Bx  calcula εsd(i) eq. (4.9)
4165 Call SigSd05  calcula σsd(i), f(εsd(i))
4170 Next i
4175 GoTo 4199
4180 For i = 1 To ny
4185 eSd(i) = 14 * (Bx - Beta(i)) / (7 * Bx - 3)  calcula εsd(i) eq. (4.8)
4190 Call SigSd05  calcula σsd(i), f(εsd(i))
4195 Next i
4199 End Sub

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


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.

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 (σsd(i)) p/ cada camada de barras
4930 For i = 1 To ny
4935 AK = AK + Nbar(i) * Beta(i) * SigSd(i) / Ntot  (6.10)
4940 BK = BK + Nbar(i) * SigSd(i) / Ntot  (6.11)
4945 Next i
4950 If Abs(BK - 0) <= Precisao Then GoTo 4970  se BK ≅ 0 , vai para (4970)
4955 Kapa = AK / BK  (6.12)
4960 Omega = ETALIN - Kapa * ETA  (6.15)
4965 GoTo 4980
4970 BK = 0  BK → 0
4975 Kapa = 9.999999E+37  KAPA → ∞
4980 End Sub

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

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


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.

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

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


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.

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.

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


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.

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.

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


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.

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.

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


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.

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  compressão centrada
5720 If NI < 0 And MI = 0 Then GoTo 5959  tração centrada
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 pesquisa da zona
5724 If CaZon = 4 Then GoTo 5890 'zona O
5725 '--------------------------------------------------------------------- -------------
5730 BxInic = (10 * Delta - eYd * (1 - Delta)) / (10 - eYd)  (6.33)
5735 Bx = BxInic
5740 BxFin = Delta  (6.28) zona E
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 zona C
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 zona A
5875 PA = 0.2
5880 Call SProc_BC17
5885 GoTo 5910
5890 '---------------------------------------------------------------------
5891 RO = 0
5895 GoTo 5990 zona O
5899 '---------------------------------------------------------------------

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


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.

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 tração centrada
5965 RO = NI * SigCd / BK
5970 GoTo 5990
5971 '---------------------------------------------------------------------
5975 Bx = 10000
5984 BK = Sig2
5985 ETA = 1 compressão centrada
5988 RO = (NI - ETA) * SigCd / BK
5989 '---------------------------------------------------------------------
5990 If RO > 0 Then GoTo 5999
5992 RO = 0
5999 End Sub

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

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


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.

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

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


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.

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

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


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.

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.

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


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.

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.

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


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.

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”.

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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)

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


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.

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

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


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.

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

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


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.

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)

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


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.

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

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


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.

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

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


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.

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

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


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.

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 +

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


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.

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)

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


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.

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
'-------------------------------------------------

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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'')"

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


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.

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

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


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.

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"

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


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.

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

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


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.

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

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


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.

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

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


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.

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)

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


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.

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)

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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 '------------------------------------------------

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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 '--------------

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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

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


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.

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)
Determina retas de limites entre zonas A,C,E --> MiAC e MiEC
13 SMiACEC13 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
Impede que se caia na "área crítica da precisão" que dá
21 Critico21 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
Calcula Menordimensão e Coeficientes adicionais p/ pilares com
25 CeoficienteAdic25 b < 19
26 Espaçamento26 Verifica espaçamentos máximos e mínimos entre as barras
Calcula e verifica se cob. Efetivo =< Nominal, calcula
27 Cobrimento27 comprimento de estribos.
28 Estribo28 Calcula o diâmetro e o espaçamento dos estribos]
29 Peso29 Calcula o peso da armadura do pilar
Possue constantes para escolha das unidades de Nd, Md, Fck e
30 Unidades30 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 - -

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


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.

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)
Calcula d´ em função do cobrimento, diâm. do estribo e diâm
Form4.CalcdLinha 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

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


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.

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

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


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.

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)
Val.de MI (em função de NI) corresp. ao lim. entre as zonas A
MiAC µAC eC
Val. de MI (em função de NI) corresp. ao lim. entre as zonas E
MiEC µEC eC
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)
Deformação específica (em o/oo) do concreto na borda 1 (borda
ec1 c1 inf.)
Valor de MI (em função de NI) corresp. ao lim. entre as zonas
MiZero - O
Zona - String para definir a zona de solicitação
Variável auxiliar (número correspondente a zona de
CaZon - solicitação)
RO ρ Taxa geométrica de armadura longitudinal
BxInic - Valor inicial de βx numa iteração

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


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.

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
Coefic. p/ majorar cargas, para pilars com menor dimensão <
CoefAdic 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
d' em função do combrimento, diâmtro do estribo e barras
DEst long.
QuantMenor Variável auxiliar ( menor quantidade de aço por metro p/

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


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.

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
Variável que define se o detalhamento será lado a lado ou cima
Detalhamento 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
armazena valores do peso total de aço para uma determinada
PesoOpçao(1 To 1000000) opção
BarrasX(1 To 1000000) armazena valores das barras horizontais para uma determinada

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


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.

opção
armazena valores das barras verticais para uma determinada
BarrasY(1 To 1000000) 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
valores ordenados do número de barras horizontais de cada
MelhorX(1 To 1000000) 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
vriável auxiliar para não apagar tabela de opções após nova
nãoZerar 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

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


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.

9.54 - Formulários
Form1

Form2

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


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.

Form3

Form4

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


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.

Form5

Form6

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


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.

Form7

Form8

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


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.

Form11

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

Você também pode gostar