Está en la página 1de 139

Universidad de Costa Rica

Facultad d e Ingeniería
Escuela d e Ingeniería Civil

Método de Análisis y Cálculo Automatizado de Muros Esbeltos


de Mampostería con Cargas Perpendiculares a su Plano

Informe del Trabajo de Graduación para obtener la Licenciatura en Ingeniería Civil

Preparado por:
Yanis Montoya Solórzano

Diciembre de 1 999
Montoya Solórzano, Yanis
Método de Análisis y Cálculo Automatizado de Muros Esbeltos de Mampostería con Cargas
Perpendiculares a su Plano.
Proyecto de Graduación - Licenciatura en Ingeniería Civil, San José, Costa Rica:
Y. Montoya S., 1 999
12 7: ils,-1 8 refs. Apéndices (Listado del Programa)

Resumen

El comportamiento estructural de los muros esbeltos de mampostería depende de la interacción de la


carga axial y la flexión a la que se ve sometido el muro. El UBC-97 toma esta premisa como base para
el desarrollo del métalo de análisis y diseño propuesto en el mismo, que consiste en un proceso
iterativo para los valores de momento y deformación de servicio a la mitad de la altura, o de
momento y deformación últimos 41 la mitad de la altura del muro, según se rija el diseño por
condiciones de sewicio o últimas, re$bectivamente.

La construcción de muros esbeltos presenta varias ventajas como economía, ya que permiten alturas
de construcción mayores, ahorro de espacio, permitiendo una mayor área de piso disponible y
eliminan la necesidad del uso de columnas de concreto o acero para el apoyo de las estructuras de
techo cuando la carga debido a estas estructuras puede considerarse como distribuida.

Adicionalmente al estudio del compartamiento de los muros esbeltos, se propone un método de


ariálisis y cálculo automatizado de muros esbeltos de mampostería con cargas perpendiculares a su
Plano. Este métocfo consiste en un programa realizado en Microsott-Excel 97, y puede ser utilizado en
versiones rnás recientes del misn-io.

facilita el análisis ya que permite revisar varios tipos de secciones para optimizar la
Esla ~utorriuiización
elección, sin necesidad de realizar numerosos cá~culositerativos y repetitivos.

MURO ESBELTO, MAMPOS~.ER[A,


R E F U E R ~ CARGAS
, PERPENDICULARES,EXC;ENTRILIUAD, PANDEO, UISENC~
UL'IIMO,
CONDICIONES
DE SERVICIO, CÓDIGOUBC-97,CÓDIGOS~SMICO
DE. COSTA RICA, PROGRAMA

Alvaro Poveda Vargas, MSc


Escuela de Ingeniería Civil.
Dedicatoria

Dedico este trabajo a mi familia, a quien debo todo en la vida.


Agradecimientos

En primer lugar, doy gracias a Dios por haberme dado tantas kndiciones y oportunidades.

Agradezco a mis padres y hermana porque sin ellos no sería hoy la persona que he llegado a ser,

Doy gracias a todas las personas que de una u otra forma colaboraron en la elaboración de este
trabajo, de manera muy especial al Ing. Álvaro Poveda, quien siempre demostró su interés en el éxito
del mismo, y a mis asesores, Ing. Alejandro Navas e Ing. Rafael Mora,

Agradezco a mis compañeros y amigos, porque el apoyo de las personas más cercanas, es la mejor
motivación.
Miembros del Comité Asesor

Director
ing. Álvaro Poveda, MSc.

Asesores
Ing,Alejandro Navas, MSc.
Ing. Rafael Mora, MSc.
2 OBJETIVOS ....................................................................................................................................................
3

3 ANTECEDEXTES ..........................................................................................................................................4
4 ALCANCES Y LIMITACIONES .............................................................................................................
5

5 DISENO DE MUROS ESBELTOS DF MMPOSTER~A SEGGN EL UBC-97 .........................................8

6 DESCRIPCIÓNDEL PROGRAMA ............................................................................................................ 21

RECOMENDACIONES ....................................................................................................................................... 31

REFERENCIAS ....................................................................................................................................................
33

DIAGRAMA Dk FLUJO DEL PROGRAMA ..................................................................................................... 36

EJFYIPLOS DE CALCULO Y CORRlDAS DEL PROGRAMA ......................................................................38


(ómhitlczciorws de cwgcz ................................................................................................................................. 40
.4cero............................................................................................................................................................... 42
ireracrotrespura (kndicioi~esde I¿esisfeilcia (Drserlo ifltrmoj......................................................................... 13
I¿evisiórt cit? Cortanfe ........................................................................................................................................ 46
E J I . M ~ .2( ............................ .
....................................................................................................................... 55
l t e r ~ ~ c i o pura
~ws orliiiciortrs de Senacio ........................................................................................................ 56

LISTADO DEL PROGIWiMA .............................................................................................................................


63
Lista de Figuras

FIGURA 1.1 . MODELO PARA ANÁLISISY DIENODE MUROS ESBELTOS DE MAMPOSTER~A CON CARGAS
PERPENDICULARES A SU PLANO.....................................................................................................................
9

FIGURA 1.3. CRITERIO DE DISENOESTRUCTURAL ILUSTRADO POR UNA CURVA IDEALIZADA DE CARGA-
DEFLEXION..................................................................................................................................................
15

FIGURA 2.1 . ENTRADA DEL FROGRAMA.......................................................................................................


25

!!GURA 2.3. MENSAJE DE ERROR PAR4 NÚMEROS NEGATIVOS O CERO......................................................


26

FIGURA 2.4. MENSAJE DE ERROR PARA CARACTERES QUE NO SON NÚMEROS............................................26

FIGURA 2.5. MENSAJE DE ERROR PARA PROSEGUIR CON EL METODO.........................................................26

FlGURAAl.1 . EJEMPLO 1 .....................................................................................


.........................................

FIGURA All.2 . SECCIÓN TRANSVERSAL DEL MURO. (TOMADA DE REFERENCIA 18) ........................................
42

DE LOS BLOQUES .......................................................................................


FIGURA All.3 . CARACTER~STICAS 48

DEL REFUERZO...........................................................................................
FIGURA All.4 . CARACTER~STICAS 48

FIGURA All.5 . CARACTER~STICAS ..................................................................


DEL MURO Y LA MAMPOSTER~A 49

FIGURA All.6 . FACTORES A USAR Y ZONA EN LA QUE ESTÁEL MURO.............................................................


49

FIGURA Al.7 . RESUMEN DE LOS DATOS A UTILIZAR........................................................................................


50

97 ...............................................................................................................................................................
50

FIGURA All-9 . INFORME DE LA CARGA QUE RIGE EL ANÁLISIS.......................................................................


51
FIGURA ,411-10,INFORME DEL CRITERIO DE DISENOk SEGUIR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

FIGURA Al-1 1 , DATOS INGRESADOS PARA EL EJEMPLO 2 . , . . . , . . . . . . . . . . . . . , ., ..........,,.....~...........,,..........,L,,,,~8m 58


Lisfa de Tablas

TABLA 1- 1 . VALORES DEL FACTOR DE REDUCCIÓNPARA FLEXIÓN


................................................................. 10

TABLA 2.3 . SUBRUTINAS DEL PROGRAMA TSW-99..........................................................................................23

TABLAAII-1 . DENSIDADDE LA MAMPOSTER~A DE REFERENC~A18).....................39


(SEGÚN RECOMENDACI~N

TABLA All . 1 ITERACIONES PARA RESOLUCIÓN


DE EJEMPLO 1 ........................................................................45

DE EJEMPLO 2 ........................................................................ 57
TABLA A11.2 ITERACIONES PARA RESOLUCIÓN
a: profundidad del bloque de esfuerzos debido a cargas factoradas
kv:
área de la sección de mampostería considerada para cortante
4:área de acero
4,:
área de acero efectiva
b: ancho efectivo del elemento
c: profundidad del eje neutro
d: distancia desde el centroide del acero hasta la fibra extrema en compresión
Cu: carga última
Cp: carga permanente
Ct: carga temporal
Cs: carga de sismo (carga última)
Cv: carga de viento
e: excentricidad
e:, excentricidad mínima
:E, módulo de elasticidad de la mampostería
E,: módulo de elasticidad del acero
:,'f esfuerzo máximo en compresión para la mampostería
f,: m&ulo de rotura de la mampostería
f,: esfuerzo de fluencia del acero de refuerzo
h: altura libre del muro
I,: momento de inercia de la sección transversal agrietada
: ,1 momento de inercia grueso de la sección transversal
M,: momento de agrietamiento del muro
M,: momento nominal de la sección
M
:, momento de servicio del muro, a media altura, incluyendo los efectos PA
M,: momento último
n: razón modular
Po: carga superimpuesta al muro
P,: carga axial factorizada
P:, peso propio total de la mitad del muro
: ,P carga axial última debida al peso de la mitad superior del muro
Po,: carga axial Última debida a la carga superimpuesta en el muro
S: separación del acero medido de centro a centro de varillas
: , ,S separación máxima del acero
t: espesor de la pared del bloque de mampostería
Vn: cortante nominal
Vu: coriante último
ws: carga uniformemente distribuida correspondiente al sismo, sin factorar
wu: carga lateral uniformemente distribuida factorada
wusis: carga última de sismo
wuwind: carga última de viento
wwind: carga uniformemente distribuida correspondiente al viento, sin factorar

As: deflexión horizontal a media altura bajo cargas de servicio

Au: deflexión horizontal a media altura bajo cargas últimas

4m: factor de reducción en flexión

$v: factor de reducción en cortante

ym: densidad de la mampostería

yr: densidad del repello

pb: cuantía de acero que asegura la falla balanceada

pg: cuantía de acero gruesa

pgmáx: cuantía máxima de acero

pgmín: cuantía mínima de acero

xii
La mampostería consiste de unidades prefabricadas relativamente pequeñas unidas con mortero,
algunas veces rellenas y reforzadas con acero, Las unidades pueden ser piedra, barro o arcilla cocida,
concreto, vidrio o cerámica.

Aparte de su uso en viviendas, la mampostería, en Costa Rica, no ha sido vista tradicionalmente como
un material estructural, probablemente por la formación misma de los ingenieros y arquitectos en
nuestro medio. La mayoría de los ingenieros diseñan con acero, concreto e incluso madera, aún
cuando en muchas ocasiones la mampostería es el material mas adecuado. Si se usa eficientemente,
la mampostería, o albañilería como se le conoce en otros países, puede cumplir el papel de cerrar o
dividir espacios y de ser parte del sistema estructural de la obra.

Existen varios tipos de muros, columnas, pilastres, vigas y dinteles que pueden construirse con
elementos de mampostería. La forma en la que se colocan las unidades de mampostería también
difiere entre los mismos tipos de elementos.

En nuestro país, se acostumbra un sistema constructivo en el cual se combinan la mampostería


confinada (con vigas corona, vigas de fundación, vigas medianeras y columnas) o de marcos rellenos
confinados y la integral [en la que las varillas de acero de refuerzo o mallas está integrado dentro de
todos o algunos bloques y en las uniones).

Los muros se clasifican como de retención, de corte, etc., según la función del mismo, la carga que
debe soportar y su ubicación en el edificio.

Un muro esbelto de mampostería se define básicamente como aquel que posee una altura
considerable con respecto a su espesor, pero posteriormente se verá que también se deben tomar en
cuenta otros factores a la hora de clasificar un muro como esbelto. Al tener relaciones de altura a
espesor apreciables, estará sometido al fenómeno 'PA' (que es el, incremento en el momento debido
al pandeo lateral).Además, estos muros están sujetos a flexión perpendicular a su plano debido a las
cargas de peso propio, a otras cargas gravitacionales, sismo, viento u otras. El efecto principal de estas
cargas gravitacionales es retardar la falla por la precompresión inicial a la que es sometido el muro, o
cea,aumentan la resistencia a flexión.
Dichos muros son utilizados en estructuras como bodegas, naves industriales, gimnasios, auditorios,
casas y supermercados, entre otras, en las cuales se requiere muros muy altos y que sean económicos.
La construcción de muros esbeltos presenta varias ventajas como economía, ya que permiten alturas
de construcción mayores, ahorro de espacio, permitiendo una mayor área de piso disponible y
eliminan la necesidad del uso de columnas de concreto o acero para el apoyo de las estructuras de
techo cuando la carga debido a estas estructuras puede considerarse como distribuida.

Al adoptar este sistema constructivo, se evita el costo elevado que se tiene al construir muros con las
limitaciones de alturalespesor, ya que estas obligan a la construcción de vigas medianeras y
elementos confinantes.

En muchas ocasiones, debido a que en el pasado el diseño en mampostería era más un arte que una
ciencia, se desarrollaron '?reglas de dedo" y un diseño completamente empírico. Algunas de estas
reglas y procedimientos aún existen hoy día, obteniéndose niveles de seguridad satisfactorios si los
detalles de construcción, materiales y condiciones de carga son concisterites con la experiencia. En
algunos códigos se incluyen secciones separadas para el diseño empírico, limitado según el riesgo
sísmico de la zona, dimensiones del edificio y condicimes de carga. Además, se establecen
recomendaciones para el diseño por resistencia, el cual incorpora límites de deformaciones por
funcionalidad y límites p a resistencia última de los materiales. Para el desarrollo de estas secciones en
los códigos de diseno, son esenciales los modelos de comportamiento no lineal de la mampostería y
el uso de cargas factoradas, lo que es particuiarmente importante en el estudio de los efectos
combinados de cargas como carga axial y flexión en secciones de muros,
+ Comprender el comportamiento estructural de los muros esbeltos de mampostería sometidos a
cargas perpendiculares a su plano, en específico, muros de mampostería de concreto, de
unidades huecas, reforrados integralmente y de un solo paño.

+ Realizar la automatización de cálculo para el diseño y análisis de muros esbeltos de mampostería


con cargas perpendiculares a su plano, según las prescripciones técnicas vigentes del UBC-97
(Código Uniforme de Construcción)y el CSCR-86 (Código Sísmico de Costa Rica).

2.2 ESPEC~FICOS
OBJETIVOS

+ Identiíicar los casos en los que puede ser a-uado utilizar o no muros esbeltos de mampostería
en ta construcción de bodegas, naves industriales, gimnasios y otras obras similares.

+ Prog~~rriar-un
algoritmo que permita realizar iteraciones con valores de deformación y momento,
según los parámetros establecidos por el UBC-97,el CSCR-86y el Reglamento de Construcciones.

+ Optimizar las dimensiones adecuadas para muros esbeltos de mampostería,


3 AMECEDEMES

En la revisión bibliográfica que se realizó, no se encontró ningún otro proyecto de graduación que
tratase el tema de muros esbeltos con cargas perpendiculares a su plano. Sin embargo, existe una
amplia bibliografía técnica y didáctica que explora el tema en cuestión.

Se han realizado varios proyectos que incluyen un programa de cómputo que facilita el diseño de
estructuras, cuyo objetivo principal es disminuir el tiempo requerido para tal diseño.

Entre estos proyectos se encuentra el de Ricardo Vargas Freer, de 1 985, en el cual elaboró un
"Programa para el Análisis y el Diseño de Edificios de Mampostería Reforzada". Este programa empleó
la teoría elástica y se basó en el libro "Reinforceá Mansonry Enginnering Handbook" de E. Amrrehin, el
CSCR de 1 974, el Uniform Building C a e (UBC) de 1 976 y el código ACI 531-79 (Building Code
Requirements for Concrete Mansoniy).

Existen además otros programas para el cálculo de diagramas de interacción de paredes de


mampostería integral, por Eduardo Vega Morales, 1 989); diseño de muros estructurales de
mampostería, por Saúl Ramírez Oviedo (1 4), 1 996 y análisis y diseño de estructuras tipo cajón a base
de mampoctería integra!; pur Steve Rodríguez ( 1 51, 1 998. El primero se basó en la teoría elástica, y fue
adaptado a las especificaciones del CSCR (5)de 1 986 y el UBC de 1 985; fue elabaado en lenguaje
BASIC. El segundo es un programa en lenguaje Turbo Pascal, que utiliza la teoría Última y se adaptó a
las especificaciones del ACI 530 - 92 y el CSCR (5) de 1 986. El último, fue programado en lenguaje
Visual Basic y se basa en el CSCR (5) de 1 986.

Los documentos mencionados anteriormente servirán como referencia para la realización del
proyecto, pero ninguno de ellos trata específicamente sobre muros esbeltos de mampostería
cometidos a cargas perpendiculares a su plano.
El método del UBC en el que se basa este proyecto, tiene varias limitaciones. Utiliza como deformación
máxima en compresión en la mampostería 0,003, que es un promedio de las deformaciones medidas
en pruebas realizadas. Supone un comportamiento perfectamente bilineal del acero. Además, la
adherencia perfecta entre el acero y la mampostería es una suposición de que se tienen bajo control e
inspección constante, todas las variables de las que depende la adherencia (calidad del concreto de
relleno, rugosidad del acero, rugosidaden los bloques, etc.),

Por otro lado, divide el diseño según la magnitud de la carga axial, de manera que considera por
aparte el diseño de muros cuya carga vertical provoca un esfuerzo en el punto de máximo momento
que es 0,04f'm o menor, o que excede 0,04f'm. el límite máximo para este análisis es de 0,2f'm.

El CSCR presenta la limitación ae relación h/t<25, cuando e n realidad la esbeltez depende de otros
factores, como el radio de giro y Icr magnitud y dirección de las cargas a las que el muro es sometido,

Otra de las limitaciones que se tiene es que el método fue desarrollado con base en las características
de la mampostería estadounidense, por lo que debe ser adaptado a las características de la
mampostería nacional.

El modelo de análisis supone únicamente apoyos simples en los extremos, y el programa a desarrollar
no es extensivo a otras condiciones de soporte. Por ello, considera el momento máximo a la mitad de
la altura del muro.

El estudio que se realizara se aplica únicamente a muros de mampostería integral considerados como
esbeltos de acuerdo con especificaciones técnicas vigentes y sometidos a cargas perpendiculares a
su plano, y que se ajusten al modelo descrito en la Figura 1.1.

Las cargas laterales producto de sismos corresponden al método estático del CSCR (5)y las producidas
por viento según el Reglamento de Construcciones del Colegio Federado de Ingenieros y Arquitectos
(CFIA)y del Instituto Nacional de Vivienda y Urbanismo (INVU).

El programa realizara las combinaciones para carga última más críticas que presentan el CSCR (5) y el
UBC (9). Además analiza los muros aplicando diseño por resistencia última, cegún el UBC (9). Este
código incorpora regulaciones y requerimientos de varios códigos estadounidenses desarrollados por
entidades como la Sociedad Americana para Pruebas y Materiales (ASTM). el Instituto Americano de
Estándares Nacionales (ANSI), la Sociedad Americana de Ingenieros Civiles (ASCE),el Instituto Americano
del Concreto (ACI), la Asociación de Ingenieros Estructurales de California (SEAOC), La Sociedad de
Mampostería (TMS), La Conferencia Internacional de Edificaciones (ICBO) y la Oficina de California de
Arquitectura Estatal (OSA).entre otras.

El programa está hecho en Excel-97, por lo que puede ser usado por usuarios que tengan ese
programa o versiones nuevas o actualizadas del mismo que sean co,patibles en el ambiente de Visual
Basic.
Capítulo 1
5 O MUROS ESBELTOS DE MAMPOSTER~Á
D E E ~ ~DE SEGÚN EL UBC-97

Para el análisis y diseño de muros esbeltos de mampostería, se considera un modelo como el que se
describe en la Figura 1 .l,
el cual consiste en apoyos simples en la base y en la parte superior del muro,
Un muro puede ser considerado como simplemente apoyado cuando está soportado en los extremos
solamente y cuando la rigidez rotacional es casi nula en los soportes. En la mayor cantidad de las
estructuras de un solo piso. los muros se suponen simplemente apoyados, con los soportes en la
fundación y en el diafragmo del techo, cuando este último se encuentra también apoyado en otra
pared paralela al muro en cuestión,

Las cargas a considerar son la carga axial (correspondiente al peso propio del muro y al peso del
entrepiso sobre el mismo u otras cargas) y la carga perpendicular a su plano (generalmenteviento o
sismo]. Para la carga axial (Po)se considera un factor de excentricidad (e), y la deflexión máxima del
muro (A) se calcula a la mitad de su altura (h).

el efecto PA).
La falla de estos muros se da generalmente por flexocompresión (incl~~~erido
Figura 1 . l . Modelo para análisis y diseño de muros esbeltos de mampostería con cargas perpendiculares a su
plano.

Para este tipo de apoyo, se tiene una capacidad de carga axial antes de la falla cuatro veces mayor
que la de un muro en voladizo. A partir del modelo descrito anteriormente se obtienen las ecuaciones
que establece el UBC-97 (9).
5.2 MÉTODODEL UBC-97

En la tabla siguiente, se dan una serie de valores para el factor de reducción en flexión que dependen
de las condiciones de la inspxción ( 1 7). La buena inspección consiste en una inspección continua en
el proceso constructivo de la pared de mampostería, por parte de un profesional que tenga amplios
conocimientos en esta labor.

Tabla 1-1. Valores del factor de reducción para flexión.

Valores de 4 Con buena inspección Sin inspección confirmada

Muros de bloques huecos de más de 15cm 0,8 3,5

Muros de bloques hueca de 12,5cm o menos 0,6 0,4

Muros de bloques huecos de 12,5cm o menos 0,8 0,5


pero usando arañas para asegurar la posición
del acero
-

Según el CSCR [5)2.12.1.2,el factor de reducción 4 para flexión en mampostería, debe ser de 0,75. Sin
embargo, no se explica con qué criterio se recomienda. El UBC-97 (2108.1.4,2, recomienda un valor de
0,8.

En el diseño por resistencia se requiere de las combinaciones de carga, tanto del CSCR (5)como del
Reglamento de Construcciones (81, las cuales se muestran a continuación:
+ CSCR
+ Reglamento de Construcciones

Además, el CSCR (51, en su sección 3.6.1.b hace referencia a los muros esbeltos y establece como
requisito que 'La relación máxima de altura sin soporfe lateral a espesor será de 25'.

El UBC (91,
establece lo siguiente (traduccióny transcripción del código]:

2108.2.4.4 Muros con carga axial de 0,04P, o menos. Los procedimientos establecidos en esta
sección, los cuales consideran la esbeltez de paredes por el efecto de fuerzas axiales y la deflexión en
el cálculo de momentos, deben ser usados cuando el esfuerzo vertical en el punto de máxi!no
momento no excede 0,04P,calculado con la fórmula (8-19).El valor de P, no debe ser mayor que 420
kg/cm2.

Las paredes deben tener un espesor nominal mínimo de 153 mm.


El momento requerido y la fuerza axial deben ser determinados a la mitad de la altura de la pared y
deben usarse para diseñar. El momento factorado, M, a la altura media de la pared debe
determinarse con la fórmula (8.20)

Donde:

A,= deflexión a la altura media debida al valor de cargas

* Nótese que esta ecuación puede obtenerse al hacer equilibrio de momentos de la mitad del muro según el
modelo de la figura 1 . l .
La resistencia de diseño para cargas fuera del plano debe ser determinada por la fórmula (8.22)
M, r $M, (8.22)
Donde:
M, = A,f(d -a / 2) (8-23)

Q = (P, -A,f,)l 0,85 f,' b (8-25)

2108.2.4.5 Muros con carga d a l mayor que 0,04f',. Los procedimientos establecidos en esta sección, deben ser
usados para el diseño de muros de mampostena cuando el esfuerzo veriical en el punto de m&mo momento
excede 0,04P, pero es menor que 0,2P, y la razón de esbeltez h/i no excede 30.

La resistencia de diseño proveída para la sección del muro en términos de la fuerza axial, el cortante y
el momento debe ser caiculada como la resistencia nominal multiplicada por el correspondiente valor
de 4, especificado en la sección 2 108.1.4, de tal manera que la resistencia de diseño exceda la
requerida.

El cortante nominal se de& determinar con la fórmula (8-26).

2108.2,4.6 Diseño por deflexión. La deflexión máxima a media altura, A,. bajo cargas de servicio
laterales y verticales (sin factor de carga) debe ser determinada por la relación:

El efecto PA debe ser considerado en el cálculo de la deflexión, La deflexión a media altura debe
calcularse con la siguiente fórmula:
As 5~,.h\
= --- para Mc, c M,.
48E,I

A,
5Mcrh2 5(M,;
= ---
+ -M., b2 Para Mo<M,,<M,
48E,I 48E,I

El momento de agrietamiento del muro debe ser determinado de la fórmula:

M, = Sf,

El módulo de ruptura, f,, debe ser como sigue:


1 . Sección totalmente llena

f, = 1 , 0 6 K , 16.5 kg/cm2como máximo

2. Sección parcialmente llena

f, = 0,67&, 8,75 kg/cm2como máximo

El cálculo de los esfuerzos de cortante para muros sujetos a cargas fuera del plano, es similar al cálculo
de 1 cortante para vigas. Estos esfuerzos no deben exceder los máximos permisibles establecidos en los

códigos. El UBC (9) establece una resistencia nominol en cortante de 0.53 *A,,& kg, Si el cortante

excede los esfuerzos establecidos en los códigos, se debe incrementar el espesor del muro o
incrementar la resistencia en compresión. El área &, a considerar para cortante consiste en una celda
rellena con concreto grueso y tres paredes de bloque, sin incluir la sisa (ver Figura 1.2). Otra opción
puede ser usar acero de refuerzo para cortante, pero esta acarrea problemas constructivos y
económicos.

Esta ecuación corresponde a la defonación en el centro del claro de una viga simplemente apoyada
sometida a una carga unifomemente distribuida entre sus apoyos.
[Jnu celda I.\ena t r e s paredes
slri Inclulr l a slsa lntermedla

Figura 1.2. Área a considerar en cortante.


Como se ha visto, el diseño de muros de mampostería es secuencial e iterativo, para llevar a la
solución que mejor se adapte tanto a las necesidades del cliente como a las normas vigentes. En este
proceso se integran criterios de estado límite en cuanto a resistencia, estabilidad y funcionalidad. En
zonas sísmicas, se debe contemplar también criterios de ductilidad y capacidad de absorción de
energía. En la siguiente figura se muestran los criterios de diseño.

Resistencia límite

' b.lA

7 ~?cionalidTd
blA

Ductilidad

Figura 1.3. Criterio de diseño estructural ilustrado por una curva idealizada de carga-deflexión.Adaptada de
referencia 7, página 70.

Los límites de deflexión, la resistencia última y el potencial de absorción de energía dependen


únicamente de las propiedades del muro. Como se observa en la figura, la ductilidad es expresada
como la deformación luego de que se ha alcanzado el límite de fluencia. En estos términos, puede ser
una medida de la capacidad del muro de absorber energía aún cuando ha llegado a su resistencia
última. En zonas de alto riesgo sísmico las estructuras deben ser dúctiles y capaces de disipar energía
bajo acciones inelásticas.

El mecanismo de falla puede ser complejo y depende del tipo de apoyos y la magnitud de la carga
axial de peso propio y la superpuesta, la excentricidad de la misma y de la magnitud de la carga
perpendicular al plano. Para el tipo de muros que se tratan, según pruebs realizadas (71, el modo de
falla común fue una grieta extendida a lo largo de los soportes en la base y la parte superior, en la cara
de tensión, y desprendimiento del mortero y de la mampostería en la cara de compresión.

5.5 FUNCIONALIDAD

Se debe limitar el desplazamiento lateral de las paredes, para asegurar de este modo la integridad
estructural. Al permitir que la pared sufra cierto desplazamiento bajo condiciones de servicio y
considerando el efecto 'PA', no se impide totalmente el agrietamiento o la penetración del agua. De
esta forma, el capítulo para el sur de California del Instituto Americano del Concreto (ACI-SC)y la
Asociación de Ingenieros Estructurales del Sur de California (SEAOSC) recomiendan un máximo
desplazamiento lateral del 1 % de la altura de la pared,

Bajo cargas factorados según los factores del UBC (9)y del CSCR (51, las paredes deben tener un
comportamiento dhctil, y su resistencia debe ser mayor que las solicitaciones a las que se verán
expuestas. El con:portamiento dúctil se asegura limitando la cantidad de acero al máximo de 0,5*p,
dado por la siguiente ecuación:

a) El diseño se basa en condiciones de equilibrio y en la compatibilidad de las deformaciones


unitarias.
b) Las deformciones unitarias del refuerzo y de la mampostería se asumen directamente
proporcionales a la distancia desde el eje neutro. Esto es, las secciones planas antes de la flexión
permanecen planas después de la flexión, El eje neutro pasa a través del cent.roidede la sección
transversal agrietada.
c) La deformación última máxima de la mampostería a compresión se toma como 0,003.
d) El comportamiento del acero de refuerzo se supone elástico hasta alcanzar fy, con un módulo de
elasticidad E,. Para un esfuerzo mayor que fy, se tiene la cedencia del material, en el rango de
deformaciones inelásticas [rango piástico).
e) La resistencia de la mampostería a la tensión se debe considerar despreciable en los cálculos de
flexión. Sin embargo debe ser considerada al calcular deformaciones de secciones agrietadas o
sin agrietar.
f) Bajo cargas facloradas, la distribución de esfuerzos en la mampostería se puede considerar
rectangular. El esfuerzo máximo de la mampostería se considera igual a 0,85 f'm y uniformemente
distribuida hasta una profundidad a = 0'85 c, donde c es la distancia de la fibra extrema en
compresión hasta el eje neutro.

Para el acero de refuerzo se supone un comportamiento elastoplástico. Para la mampostería, la


relación esfueno-deformación es más difícil de establecer, porque la forma de la curva es más
variable y las mediciones de resistencia última a la compresión oscilan en un rango muy amplio. Sin
embargo, una representación similar al bloque de esfuerzos rectangular (modelo de Whitney) para el
concreto reforzado puede usarse en el caso de la mampostería. La mayoría de las pruebas indican
que la deformación última priía la mampostería varía entre 0,0025 y 0,0035 (para mampostería
estadounidense). Por ello, puede tomarse el valor de 0,003 como una buena aproximación a la
deformación última (7).

Para la mampostería nacional se tienen datos recientes (12) obtenidos a partir de experimentación
para unidades huecas de concreto, de las dimensiones más usadas en el país, 12 x 20 x 40 cm
(conocidas como bloque Patarrá). Según tales pruebas, para el tipo de bloques disponibles y más
utilizados a nivel nacional, se puede decir que la resistencia a la compresión de la mampostería, f',,
se encuentra entre 64 y 75 kg/cm2.El módulo de elasticidad, ,E, se encuentra entre 52 656 y 73 095
kg/cm2,

5.8 COMPORTAMIENTO
Conforme se aumenta la carga, se pueden distinguir varias etapas en la respuesta del elemento
cometido a flexión.
1 . Esfuerzos en el rango elástico, sección no agrietada
Cuando el esfuerzo en la fibra extrema en tensión es menor que el módulo de ruptura de la
mampostería, se mantiene una relación lineal esfuerzo-deformación,La contribución del acero puede
despreciarse.
2. Sección agrietada
Tanto el acero como la mampostería se encuentran aún en el rango elástico, si el esfuerzo en el acero
es menor que el esfuerzo de cedencia y el esfuerzo a compresión en la mampostería es
aproximadamente menor que u'n tercio de la resistencia en compresión de esta. Sin embargo, la fibra
extrema en tensión de la mampostería ha alcanzado el esfuerzo de ruptura y su contribución a la
tensión es ignorada. Esta etapa es un estado Iímite en la cual las deflexiones son revisadas por
funcionalidad comparándolas con deflexiones permisibles (ver fórmula 8-29 del UBC y las secciones
2108.2.4.4 y 21 08.2.4.5 del mismo, traducidas anteriormente en este capítulo], El UBC (9) especifica
una deflexión máxima para cargas de servicio de 0,007h.

3. Esfuerzos inelásticos, sección agrietada


Dependiendo de la cantidad de acero de la sección, puede que la fluencia del acero se dé antes o
después de la falla en compresión de Ic mampostería (falla dúctil o frágil, respectivamente).Si el acero
ha a!canzado la cedencia y la mampostería aún esta trabajando en el rango elástico, se puede
analizar como sección agrietada suponiendo una distribución lineal de esfuerzos en la zona en
compresión. Posteriormente la mampostería también alcanza el esfuerzo inelástico (estado límite).Esta
es la condición de falla preferida, ya que se trata de un comportamiento dúctil en el cual se tienen
grandes deformaciones antes de que se dé la falla del elemento. Lo contrario sucede cuando se da la
falla frágil, en la cual se llega a una deformación límite de la mampostería antes de que el acero de
refuerzo llegue al esfuerzo de cedencia.

La interacción entre carga axial y flexión es sumamente importante, Debido a la condición de


excentricidad en los muros, se presenta flexión adicional (efecto P-A] que es también el resultado más
relevante de la esbeltez de los muros, aún mas que la reducción de la capacidad de la sección.

Conforme aumenta la altura del muro decrece la capacidad axial de la mampostería. En el caso de
muros muy esbeltos, esta disminución en la capacidad de la mampostería puede asociarse con el
pandeo elástico, pero en el caso de las alturas usuales esta baja capacidad es el resultado de la falla
del material debido a la combinación de carga axial y flexión. Se debe tomar en cuenta que en
cualquier tipo de muro, la deflexión causa momentos flectores adicionales (7). En un principio, el efecto
de esbeltez se consideraba al multiplica; la capacidad de la sección por un factor de reducción en
términos de la razón altura-espesor (hfl), pero la tendencia actual es utilizar la razón altura-radio de giro
(hir],
Una predicción racional del efecto de ia esbeltez es muy compleja, ya que se deben considerar
factores adicionales, aparte de los momentos flectores, como la posición y cantidad de refuerzo.
resistencia a la rotación en los extremos del muro, variación del módulo de elasticidad, agrietamiento y
flujo plástico, entre otros.
6 DESCRWÓN DEL PROGrZAMA

El programa tsw-99, como se ha mencionado anteriormente, se basa en las recomendaciones del


UBC-97(9)y en los requisitos del CSCR (5).Con los datos suministrados por el usuario, que son solicitados
Wr el programa, realiza la revisión por diseño último o por condiciones de s e ~ c í o
para muros esbeifos
de mampostería sometidos a cargas perpendiculares a su plano. Estas revisiones las hace por medio
ds iteraciones de momento de servicio y deformación en la mitad de la altura del muro para dicho
momento, ya que ambas ecuaciones son dependientes o de iteraciones de momento último y
deflexión última, hasta que llega a un valor de convergencia. El vc:or de convergencia se toma
arbitrariamente como aquel valor de deformación (tanto para revisión de servicio como última) para el
que la dlferencia entre una deformación calculada y la iteración anterior es rnenor que 0.0001 cm.
Además, hace la revisión para cortante máximo en el muro. Es muy importante el hecho de que en
todo el programa el usuario es quien decide el dato a suministrar. y se brindan recomendaciones de
los códigos mencionados y según las características más comunes de la mowpostería de concreto
costarricense.

El ambiente del prqrama es el mismo del Microsofi-Excel 97, y está hecho en lenguaje Visual Basic,
combinando las características de las hojas de cálculo u hojas electrónicas con ¡a programación de
algoritmos que conforman subrutinas en módulos y formularios. Es importante mencionar que la
separación de decimales en la computadora debe ser configurada a punto, no coma.

El programa funciona con el manejo de 144 variables en total que incluyen 28 suministradas por el
usuario y 1 1 6 que son internas o calculadas dentro de las subrutinas, Además hay 4 constantes: el
módulo de elasticidad del acero (E, - 2.1X1 O6 kg/cm2),la densidad del repello (2000 kg/m3), x
(3.14159265359) y el valor mínimo para la cuantía de acero según el UBC-97 (0.002). Para un detalle
del tipo de variables, ver el Apéndice III, Listado del Programa.
Al iniciar [Figura 2.1), se va al módulo PRIMERO, que contiene la declaración de variables y constantes,
oculta las hojas de salida de resultados y datos, inicializa algunas variables y llama al primer formulario
que debe llenar el usuario, con las características de los bloques (Figura AII-3). Posteriormente, se van
desplegando en pantalla los formularios que deben ser llenados con información acerca del acero
(Figura Al-4), del muro en sí (Figura 41-51 y de los factores de reducción, características de la
mampostería y de la zona en la que se ubica el muro (Figura All-6).El Último formulario que aparece
(Figura All-71 contiene el resumen de los datos que han sido ingresados. En cualquiera de estos
formularios, es posible retroceder y cambiar alguno o varios datos. En alg~inoscasos se hacen
recomendaciones para ciertos valores, Por ejemplo, el valor del factor de reducción para flexión que
aparece en el formular¡¡es seleccionado según la tabla 1 . 1 (Capítulo 1) y permite ser cambiado en el
rango de 0.75 a 1. El valor del factor para el módulo de elasticidad es sugerido, pero puede
modificarse en el rango de 750 a 1000 (Figura 2.2).

Cada formulario está diseñado de manera que cuando el usuario ingresa algún valor no permitido
(Figura 2,3), aparece un mensaje de error, que es específico según el valor introducido sea rnenor o
mayor que los límites preestablecidos, o si en lugar de números se ingresan caracteres, o cuando la
separación decimal es digitada como coma en lugar de punto (Figura 2,4).

Cuando el valor del esfuerzo mial excede 0,2*f'm, aparece el mensaje de que no se considera que
ese muro se comporte como esbelto, y finaliza el prcgrama (Figura 2.5).

Una vez que se ha completado la entrada de datos por parte del usuario, el programa calcula todos
los parámetros de diseño restantes y realiza las iteraciows correspondientes para dar los resultados
finales, todo esto en una secuencia de pasos divididos en subrutinas. A continuación se presenta una
tabla en la que se resumen las acciones de cada subrutina, en el orden en el cual son Ilarr~adas
en el
programa.
Tabla 2.3. Subrutinas del programa tsw-99.
/ Nombre de la subrutina , Acciones que realiza , Móduloenel 1
l 1 que se encuentra
1
Acerosub Calcula el área de acero, la cuantía de acero Aceromod
,
I i real y balanceada y compara la primera con los i I
limites permisibles. I

Axial , Calcula
I

el peso del muro, considerando el


l
Cargaaxial
j repello e interpdando la densidad de la 1 j
1 !

/ mampostería según la separación de varillas, j I


I
Lateral
1

! Calcula la carga lateral distribuida sobre el muro. / Cargalateral 1


!
1
1
tomando el coeficiente sismko e interpelando 1 1

l según las tablas de Reglamento de 1


l
1 1 Construcciones para obtener la carga de viento. 1 I
Combina
I
N Realizn las combinaciones de carga Fjara la / Combinaciones 1
l l /
1 carga que rige, Si es sismo, según el CSCR-86: si 1
1 es
1
viento. según el Reglamento de /
I
,
/ Construcciones, j
'
I l

Valdis Calcula el módulo de elasticidad, el modulo de 1 Valoresdiseño


1
I
1 rotura, la razón modular y la distancia del 1
i
1 centroide del acero a la fibra extrema en
i
1
l / compresión (suponiendo que el acero se ubica
i
1
1 en el centro de las celdas. 1 1
i 1 I
Inercias 1 En esta subrutina se calculan las inercias gruesa y 1 Inercia
1

I !
I de agrietamiento, los momentos de 1 l

i
i agrietamiento y nominales. !
I

Condservicio i Realiza las iteraciones para calcular el valor del /


I l
Servicio I
i
momento de servicio y la deformación de /
i
Í
l l
i

I
seMCio a la mitad de la altura del muro, según el 1 !

1
/ UBC-97. Compara el valor de la deformación i 1
1 con la deformación máxima permisible según el I
I
1
i
l Disultimo Realiza las iteraciones para calculas el valor del
momento último y la deformación Última a la
Último

mitad de la altura del muro, según el UBC-97. , 1

Compara el valor del momento con el del ;


momento nominal reducido.

1 Revcort Hace ki revisión de cortante y lo compara con el 1 Cortante 1

I i

I
cortante nominal mivtimo reducido, según el i
1

I Valores 1 Llena la hoja de salida "Valores de Diseño" 1 Resvalordiseño 1


ServicioSismo ' Llena
l

1
la hoja de salida "Resultados SeMcio
1

l
Ressersis I
1i

l
1
i Sismo" y "Revisiones Servicio Sismo", si se ha
1 l li

l 1
1 hecho análisis de servicio para carga de sismo.
/
Servicioviento i Llena la
1
hoja de salida "Resultados SeMcio Resservien

l 1 Viento" y
I
"Revisiones Se~cioViento", si se ha 1I
' hecho análisis de servicio para carga de viento.
j
l
1
UltimoViento i Llena la hoja de salida "Resultados Ultimo Viento" Resultvien 1
/ y "Revisiones Último Viento". si se ha hecho I,
I 1 análisis último para carga de viento. l
l 1

UltimoCismo / Llena la hoja de salida "Resultados Ultimo Sismo" /


1
Resultsis 1
I y 'Revisiones Último Sismo", si se ha hecho análisis i
1
,
!
I
i
i
i último para carga de sismo. 1
1 i
La hoja de Valores de Diseño se llena en todos los casos, en cambio las otras hojas de salida se llena
según el análisis que se haya hecho,
Proyec* de Gaduaión
Es~uelade TngenicrKi C i d
ünkrsidad de Costa Rica

Iniciar 1 1999

Figura 2.1. Entrada del programa.


El vSIJC'~del t o ~ t o w
r ~ elam&lo I& e l m t i c i d a i que ingtwsó es muy
peql~eño,sl t w q permitido
~ es de 75U"f 'm a 1000"ftmkgcm2

Figura 2.2. Mensoje de error al incumplir límite.

O No ingrese ruímnm negativos ni cero

Figura 2.3. Mensaje de error parca números negativos o cero.

La separación para decimales es punto, no coma. No ingrese letras.


úniconiente Mímeros

Figura 2.4. Mensaje de error para caracteres que no son números.

La carga axid excede el n&im permitido por el UBC-97 de O.Tf'm para


análisis de mum esbelto

Figura 2.5. Mensaje de error para proseguir con el método.


En el Apéndice III. Listado del Programa, se pueden ver las ecuaciones en cada subrutina (Sub) con las
que el programa hace los cálculos necesarios para realizar las iteracionesy la revisión de cortante.
Canclusiones y Recomendaciones
El comportamiento estructural de los muros esbeltos de mampostería sometidos a cargas
perpendiculares a su plano está gobernado por la interacción entre carga axial y flexión, considerando
la flexión adicional debida al efecto P-A, La carga axial aumenta la capacidad del muro en flexión,
pero al darse el pandeo del elemento, esta carga contribuye incrementar el momento flector.

La mampostería de concreto reforzada presenta ventajas significativas sobre otro tipo de materiales.
Por ejemplo, permite construir muros de gran attura y espesor pequeño que son relativamente livianos.
La importancia del peso propio de las estructuras radica en que, como las fuerzas de sisrno son
directamente proporcionales a la masa de éstas, en las zonas de alto riesgo sísmico, como lo es
nuestro país, al disminuir el peso de la estructura se disminuye la carga de sismo que podría actuar .
sobre ella.

Si las estructuras de mampostería de concreto reforzada se diseñan y construyen adecuadamente,


pueden resultar relativamente eficientes al comparar costo de materiales y comportamiento ante
diferentes solicitaciones de carga de las mismas, con el de estructuras muy similares hechas con
materiales como el concreto.

Es factible construir muros esbeltos de mampostería de concreto reforzada en bodegas, naves


industriales, gimnasios y otras obras simikires siempre que lo permitan las condiciones de la zona
(sismicidad y patrón de vientos) y cuando se considere más económico o eficiente el uso de la
mampostería ontes que el de otro material.

Los parámetros vigentes para decidir si un muro es esbelto o no, aún se hsan en reglas dictadas por la
experiencia. Esto no está del todo mal, pero se dejan de lado aspectos como la naturaleza de las
cargas que pueden hacer que la flexión vertical no sea el criterio que gobierne el comportamiento de
un muro que tenga relación de altura/espesor considerable, y que por ello no sea adecuado diseñarlo
o analizarlo como esbelto.

La metodología de análisis y diseño para muros esbeltos de mampostería con cargas perpendiculares
a su plano, descrita en el UBC-97, constituye una herramienta muy importante para obtener así
provecho de la capacidad de la mampostería como materiial estructural, ya que tclmc en cuenta el
hecho de que la carga axial que se tenga sobre el muro (incluyendo el peso propio) va a aumentar la
capacidad del muro en flexccompresión. Ademús, se puede decir que es realista al considerar los
efectos dei pandeo o del muro en el aumento del momento al que se ve sometido el muro.

Sin embargo, este método también es limitado en el sentido de que se aplica Únicamente cuando las
condiciones de soporte del muro permiten considerarlo como simplemente apoyado.

Al diseñar muros esbeltos, se suponen primero las dimensiones de la sección y una cierta distribución
del acero de refuerzo, y luego se analiza el comportamiento de esta configuración ante las cargas a
las que se verá sometido. Si la respuesta del muro no es adecuada, se debe proponer otra geometría y
repetir los cálculos. El método del UBC-97es iterdivo, ya que se debe obtener el valor de convergencia
de la deformación a la mitad de la altura de la pared (por condiciones últimas o de servicio), Por ello,
la automatización de estos cálculos permite realizar este proceso varias veces sin necesidad de repetir
todos los cálculos y obtener así la sección óptima, cuando se está diseíiando.

Una de las ventajas del programa tsw-99, es que permite que sea el usuario el que ingrese los valores
de disefio y le brinda recomendaciones según las normas técnicas vigentes, para así dejar a criterio del
profesional la eiección de dichos valores,
El comportamiento de muros esbeltos de mampostería sometidos a cargas perpendiculares a su
plano, puede entenderse de mejor manera si se realizan pruebas de laboratorio en las que se modele
y simule las condiciones de carga y geometría de los mismos. Además, se podría realizar un análisis
comparativo en costos y eficiencia en el comportamiento de este tipo de muros hechos con otros
materiales.

La elaboración de programas que realicen métodos iterativos de diseño análisis es muy conveniente,
ya que significa ahorro de tiempo y recursos en la labor del ingeniero civil.

Para que este programa sea útil en realidad, debe ser utilizado por profesionales entendidos en la
muteria y que conozcan la metodología de diseño y recomendaciones técnicas lligentes de los
códigc~sde diceíio, por lo menos del UBC-97 y del CSCR-86.
REFERENCIAS

1 . ACI. auildinu Code Reauirement for Masonrv Structures and S~ecifications


for Masonrv Structures.
1 995.

2. Amefican Concrete Institute. Masonrv Desianers' Guide, The Masonry Society. USA, 1 993.

3, Amrhein, James; Lee, Donald, üesian of Reinforced Masonrv, Tall Siender Walls, Western States Clay
Products Association. San Francisco, California. 1 984.

4. Arce Aita, Gabrieia. Automatización de Cálculos Para el Análisis de Miembros de Acero Sometidos a
F ~ ~ x o c o ~ D ~de s ~ G ~ con el Método de Coeficientes de Carua v Resistencia ILRFDJ.
~ Acuerdo
lnforme del proyecto de graduación para obtener el grado de Licenciatura en Ingeniería Civil
de la Universidad de Costa Rica. 1 999,

5 . Colegio Federado de Ingenieros y Arquitectos (CFIA). Códiao Sísmico de Costa Rica. Editorial
Tecnológica
decosta Rica. 1 986.

6. CFIA, INW. Realamento de Construcciones,

7. Drycdale, Robert y otros, Masonrv Structures, Behavior and üesian. Prentice-HallInc,,New Jersey,
USA, 1 994.

8. González E., Esteban. Modelado Teórico del ComDortamiento a Flexión de Muros de Mam~ostería
lnconfinada Sometidos a Caraa Monotónica. Informe del proyecto de graduación para
obtener el grado de Licenciatura en Ingeniería Civil de la Universidad de Costa Rica. 1 998.

9. lnternational Conference of Building Officials. Uniform Buiklina Code. Workman Mill Road, 1 997.

10. ivlicrosoft Corporatbn, ExcelNisual Basic Proarammer's


- Guide. USA. Microsoft Press. 1 995.

1 1 . Microsoft Corporation. ExcelNisual Basic Reference, Segunda Edición. USA. Microsoft Press. 1 995.
12. Navas, Aiejandro. Prodedades Mecánicas de la Mampostería de Concreto. Tesis sometida a la
consideración de la Comisión del Programa de Estudios de Posgrado en Ingeniería Civil para
optar por el grado de Magister Scientiae, Universidad de Costa Rica, 1 999.

13. Priestley, M. J. N. y otro. Seismic Cesign of Reinforced Concrete and Masonw BuildinQs. John Wiley
and Sons, Inc, 1 992.

14. Ramírez, Saúl. Diseño de Muros Es-tructuralesen Mampostería. lnforme del proyecto de graduación
para obtener el grado de Licenciatura en Ingeniería Civil de la Universidad de Costa Rica.
1 996.

15. Rodríguez, Steve. Automatización del Análisis y Diseño de Estructuras Tipo Caión a Base de
Nam~oste&.lnforme del proyecto de graduación para obtener el grado de Licenciatura en
Ingeniería Civil de la Universidad de Costa Rica. 1 998.

16. Schneider, Robert; Dickey, Walter. Reinforced Masonrv Desiun. Tercera edición. Editorial Prentice Hall,
USA, 1 994.

1 7. Webb, Jeff. Usina Visual Basic for hlicatioi-is, Eclitorial QUE. E A . 1 994.

18. Notas del curso de Diseño de Estructuras de Mampostería, impartido por el Ing. Álvaro Poveda,
1 999.
Apéndice 1
D M G R N DE FLUJO DEL PROGRAMA

E3Iniciar

ri. Bloques

+
AceroForm

1
Inercia
I
Apéndice 11
EJEMPLOS DE CÁLCULOY CORRIDAS DEL P R O G M

EJEMP~O 1
(Tomadode referencia 18).

Muro de bloque de concreto de 15 cm con una altura entre apoyos de 5 m, ubicado en Quepos,
frente al mar. No se repeila. El acero usado es grado 40, con varillas #4 @ 80 cm en el centro del
muro, sin usar arañas. Tómese f'm = 95 kg/cm2. En la parte superior, hay tres hiladas de bloque
ornamental de 20 cm de aítura, 20 cm de espesor y 40 cm de largo cada uno, el peso de cada
bloque es de 10.6 kg, Además, se tiene una viga en la parte superior e inferior del paño ornamental.
Dichas vigas son de 20 X 20 cm, de concreto reforzado. Se da inspección continua.

Cotas en c m

Figura AH- 1 . Ejemplo 1 .


CÁLCYLODE LAS CARGAS

La densidad de la mamposteria se toma de la siguiente tabla:

Tabla Al-1. Densidad de la mampostería (según recomendación de referencia 18).


separación del acero (cm) Densidad de la mampostería ym
1

I (kS/m3)

Como la separación de las varillas verticales es de 80 cm, se toma ym = 1 650 kg/m3,


La densidad del concreto es 2 400 kg/m3.

Según la tabla #1, el factor de reducción a flexión debe ser = 0,8, ya que el muro es de 15 cm y hay
inspección continua.

Así, el peso del muro es de 1 650 kg/m3*0,1 5 m = 2 4 7 5 kg/m2.


Tomando el peso de la mitad superior del muro para el diseño:

ks = 192-
Pcoronas = 2 * 0,2m* 0,2m * 2400 - kg
m3 m
10 6kg kg
Pornamental = 3 * = 79,5 -
0,4m m

Revisión del valor de carga axial (UBC-97,ecuación 8-19):


Tomando 1 m (1 00 cm) de muro para diseño, el área gruesa de la sección corresponde a:

Ag = 100 cm* 15 cm = 1500 cm2

por lo que según el esfuerzo debido a las cargas axiales a la mitad de la altura se debe diseñar
considerando las condiciones últimas.

Según el CSCR 3.5.2.3, Quepos corresponde a zona 111, y tomando el coeficiente para vivienda, el
coeficiente sísmico resulta ser c = 0,33

Según el Reglamento de construcciones, para zona rural, de la tabla XX1 1.9.2,para una altura de 5 m,
se tiene una presión de diseño básica debida al viento (q,,,,,,) de 8 6 7 kg/m2.Usando un factor de
forma de 0'8 y un factor de importancia de 1 :

ks
Wwind = 86,7-*lm*0,8*1= 69,3-kg
m2 m

Comparando los valores obtenidos para viento y sismo, rige este último, pues es mayor:

Wu = Wsis = 81,7 kg/m

COMBINACIONES
M CARGA

Según el CSCR 2 . 5 6 a), se deben realizar las combinaciones de carga tomando la paflicipación de
todas ias acciones.
Tabla Al-2. Combinaciones de carga
Combinación Carga Axial P (kg) i Momento Flector M (kg-m)
l
1 - CU = 1,4CP + 1,7CT 1,4*(Po + PNj = 1247.5 / - O*
II - III CU = 0,75*(1,4CP + 1.7CT) t C S 0,75*1 PO PO 7 Fw) = 935,29 I 0,75*0 + Mp
1
IV - V CU = 0,95CP & CS 0,95*(P0 + Fw) = 846.21 O,95*O + M

lEl momento &bido a la carga superimpuesta, calculado a la mitad de la altura del muro, en su línea de centro,
con una excentricidad mínima de la cuarta parte de¡ espesor del muro resulta ser Po*t/8, lo que se puede
considerar como muy pequeño para efectos prácticos al seleccionar la combinación crítica.
M es función de la carga última Wu
A C E ~

~ tkne varilla
C o m se #4 (A = 1.27 cm') @ 80 cm:

1.2 7cm2* 1OOcm cm2


As= = 1,5 -
80cm m

p, =0.72*-* '," (6~~h/)=0.017

Como d = t12 = 15 cm 1 2 = 7,5 cm, el acero estructural se toma como:

p=-e
As - 1,58cm2 = 0.0011
b * d 1 OOcm * 7,5cm

Según el U K , la cuantía W m a de acero es de 0.006 para el acero grado 40, por lo que el límite
superior se cumpie. El límite inferior es de 0.001 en el UBC, pero de 0.002 en el CSCR, p o r lo que no se
cumple este último. Se cumple con el requerimiento para zona sísmica en cuanto a que la cuantía cfe
acero debe ser la mitad o menos de la cuantía de acero balanceada.

Espesor f.deltodas las p a r f d c s : 1,9 cm


C o t a s en cm

Figura All-2. Sección transversal del muro. (Tomadade referencia 18)


Módulo de Elasticidad:
Se tonla el módulo e elasticidad como:

que es menor que el límite establecido por ei UBC-97 sección 2106.2.12,lde 2 10 000 kg/cm2

Razón Modular:
Tomando el módulo de elasticidad del acero como 2 100 000 kg/cm2,se tiene:

Móc?ulode Rotura:

fr = 0,67 * , / K 0 , 6 7 * = 6,53 kg / cm2

lnercic sin agrietar:


Las dimensiones de la sección sólida en un metro de muro es el siguiente (ver Figura All- 1 ):

Ancho = 7.5 paredes * 1.9 cm + 16,65 cm = 30,9

La altura de las celdas huecas es:

Altura = 15 cm-1,9 cm*2 = 11,2 cm

6.53 kg * 1 9396.88 cm2


fr * lg -
-

Mcr =- -
cm2 =16889kg-cm= 168,89kg-m
t 7,5 cm
lnercia de la sección agrietada:
ni + AS * iy 846 7 1.59 * 2800 =
Ase = -
- cm2
fY 2800

Para ia combinación III:


Profundidad del Bio~uede Esfuerzos:

Pu + As * ty - 846.21 + 1.59 * 2800 =


a= -
cm
0,85 * f'm * b 0,85 * 95 * 100

Ubicación del Eje Neutro:

c=- a = 0,77 cm < 1,9 cm 3 OK, queda dentro de pared de bloque


0.85

b*c3
Icr = ri * Ase * (d - +- = 22,1* 1,9 * (7,5- 0,7712 + O0 * = 1 903 -56 cm4
3 3

Excentricidad de la Carga Superimpuesta:

Cálculo del Momento Nominal:


ITERACIONES ÚLTIMO)
DE RESISTENCIA (DISENO
PARA CONDICIONES

si Mui > Mcr

si Mui 5 Mcr

Para la primera iteración (i = 1 ) :

3 Mul = 260'1 5 kg - m > 52.9kg - m

De la misma forma, para las siguientes iteraciones se tiene:

Tabla Al. 1 lteraciones para resoluci6n de ejemplo 1 .

iteración (i) A"(¡ - 1) Mui (kg-m) Au(i) (cm)


l
Las últimas dos iteraciones se aproximan al valor de convergencia, por lo que se interrumpe el prmeso
iterativo y se toma como valor de¡ momento Último el de 264,24 kg-m, y 1,61 cm para la deformación
última a la mitad del muro.

(PMn = 0,8 * 378,73 = 302,99 kg - m > Mu = 264.24 kg - m 3 OK!

Según el UBC-97, el cdante nominal que resiste el muro está dado por:

Vn = 0,53~,&

para este caso, el área en cortante (ver Figura 1.3)corresponde a:

,A
, = 16,65 * 1 1,2 + 1,9 * 1 5 * 3 + 1,9 * 2 * 1 6,65 = 335,25cm2

De la misma fama en que se hizo pura la combinación de carga III, se hace para las combinaciones I
y IV.

Por lo que se puede decir que, con los materiales propuestos y las características del muro analizado,
no se exceden los valores permisibles y el muro es seguro para la zona descrita y las condiciones de
carga y geometría dadas, siempre y cuando se dé inspección continua en el proceso constructivo del
mismo. Debe tomarse en cuenta que las coronas deben ser diseñadas (se puede utilizar para ellas la
teoría Última) y también la fundación del muro.
A continuación s e presenta la corrida del ejemplo anteriormente resuelto, en el programa tsw-99.

Lo primero que se hace es iniciar el programa en el botón "Iniciar" (ver Figura 2.1). Posteriormente, se
siguen los pasos que se muestran.
hiota el largo (lag)correspar& a b dismemiai fanada de cedro
acentroentresisoa Elespesor(efp)~dekaunldad,sinrepeHo.

Paso 2

Cuicelar
i1

Figura 41-4. Características del refuefzo.


Paso 3
. J . . . .. . ' ... . . . ... . . . . . . . ;. ;,:,..,
..; :.:!í::I::.:.:>
'
: -< , . . . . . . .:. . - - , j j;;,,- ,;,v;$$,.
"
,,,;*<,.;::;
;
.<,-: ..
,..*. ~ %. r .,
' 3 . .
&&
!
;,,
&.;

~spesorCM r e o (esptepr 1 0 a

Figura NI-5. Caract4sticas del muro y la mamposten'a

Paco 4

Fada dereducclh para catante: 1-K El m u r o s e u k a e>z c n a

El rnidubde [duraseccikxilaá c a n a r(i(;7*r&c u d o c b &hc.m ~ c m 2

Figura Al-6. Fuctores a usa y zona en la que &a el muro.


Figura Al-7. Resurnen c?elos datos a utiiiiar.

A paitir de este paso, el programa no solicita más informaci6n al usuario, y ejecuta las subnitinas
pfogrcmudas, realizando las revisiones correspondientes y dando los siguientes m i e s :

Figura Ail-8. Aviso de T e no se está cumpfiendo c m la cuantía de acero que requiere el UK-97
. ~

. La i n debebida
~ n~T i m o es mayor que lo de viento, por lo que ri* el s i m a

Figura Al-9. Infame de ki carga que rige el análisis.

La cargaaxid es m r que 0.04V'm par lo que se ha& d l i s i s ultimo.


@ q í h e l "E-97

Figura Al-1O. Infame del criterio de d i a seguir.

Posteriormente, el programa realiza las itecaciones bajo condicimes de carga úitima y da la salida en
las dos hojas que se muestran a continuación.
Si se resuelve el problema anterior pero cambiando la carga superimpuesta y el valor del cceficiente
sísmico (supónganse, por ejemplo que el muro se encuentra ahora en Coronado), se tiene que la
carga que rige el diseño es la de viento, y que se hará un análisis bajo condiciones de servicio.

Según el CSCR 3.5.2.3, Coronado corresponde a zona 11, y tomando el coeficiente para vivienda, el
coeficiente sísmico resulta ser c = 0.22

kg * lm = 54,45 -
Wsis = 0,22 * 247,s - kg
m* m

Como la carga de viento no cambia, ya que se mantienen la altura, el factor de forma y de


importancia, la carga de diseño que rige es la de viento:

Wu = Wwind = 69,3 kg/m

Inercia de la sección agrietada:


P+As'fy -
618-6900-1.58*2800=4,40cm2
Ase = -
fv 2500

Profundidad del Bloque de Esfuerzos:

P-As*@ - -
618+6900+1,58*2800 = 1.53 c m
a=
0.85 * f'm * b 0,85*95*100

Ubicación del Eje Neutro:

c=- a = 1,8 cm < 1.9 cm 2 OK, queda dentro de pared de bloque


0.85

b*c3
Icr = n * Ase * (d - c )+~-= 22,1* 4,40 * (7.5 - 1,8)' + O0 * = 3359.65 cm4
3 3

Cálculo dei Momento Nominal:

ITERACIONES
PARA CONDICIONES
DE SERVICIO

=+
MSW~ W*h2 - P O * e + ( ~ O + ~ W ) * ~ S O - i l
8 2

si Mseri > Mcr


5 * Mcr * h2 5 * (Mseri- Mcr]* h2
AS¡ = +
48*Em*lg 48 * Em * lcr

si Mseri 5 Mcr
5 * Mseri * h2
Asi =
48*EmXlg

Para la primera iteración (i = 1 1:

69,3*52 (6900+619)*3,75X10* + O = 296,04 kg-m


AsO=O Mserl= A
8 2

3 Mserl z 1 68,89kg -m

De la misma forma, para las siguientes iteraciones se tiene:

Tabla A1.2 iteraciones para resdución de ejemplo 2.

Así, se observa ,que n o se llega rápidamente al valor de convergencia, Luego de realizar aún más
iteraciones (1 51, se llega a un valor de defoemación de 3,30 15 que es menor que el límite de 0,007*h
= 3,5cm

por lo que no se ha sobrepasado el límite de cortante.


,ajuacLiiqJaiuoo w a i ~UJa\qold
la oiod s ~ p ~ u a ~s~p!los
q o so; A ~ U D J D S ~ : ~ ~w,L3 S O ~ D
D U J D : ~ JID so1~ uoiyanw as quol3rnu!jiio3
t/
Carga axial superimpuesta Po (en kg/m) 6900.00
Peso de la mitad superior del muro Pw (kg/m) 618.75
Distancia del acero a la fibra extrema en compresi6n d (cm) 7.50
Momento de agrietamiento Mcr (kg-m) 168.89

POR CORTANTE
FEEYSSI~N
Area de cortante (cm2) 335.25
Cortante nominal Vn (kg) 1731.84
Cortante nominal reducido $*Vn (kg) 1039.10
Cortante calculado V (kg) 83.40
P
USTilDO DEL PROGlZAMA

Option Explicit

'DECWCION DE VARIABLES

Variables suministradas por el usuario


Public t As Single
Public esp As Single
Public lag As Single
Public sepvar As Single
Public h As Single
Public hn As Single
Public espfep As Single
PuMic Po As Singie
Pubiic exc As Single
Public coefsism As Singie
Public rot As Singie
Public Modeiast As Single
Public ficolt As Single
Public fi As Single
Public fiflex As Single
Public Ffom As Single
Public Fimpolt As Single
Public grad As Single

Public b As lnteger
Public araña As lnteger
Public inspeccont As IntC3gef
Public dosla As lnteger
Public zona As lnteger
Pubiic numvar As lnteger
Pubiic celdllenas As lnteger

Pubiic aratext As String


Public lnspetexiAs Stnng
Public zonatext As String
Public llenatext As Stnng
Public robtext As String
Public rorndext As Shing
Public rornintext As String
Public rornintertexi As String
Public elastrndext As String
Public elastmintext As Shing
Public rotmintext As String
Public rotmaxpartext As String
Pubiic rotmcoctottext As String
Public compretext As Stnng
Public momtext As Stnng
Public dettext As String
Public corttexi As String

Variables temporales
Public t i As Single
Public espl As Single
Public lag1 As Single
Public sepvarl As Singie
Pubiic h1 As Single
Public fml As Single
Public esprepl As Single
Pubiic Po1 As Single
Public el As Single .

Public ficortl As Single


Public fiflexl As Single
Public Fforml As Single
Public fimporil As Single
Public Modelastl As Single
Public rot 1 As Single
Public coefsisml As Single
Public numvarl As lnteger
Public gradl As Single
Public Msg As Stnng
Public Iit As String

'Variables calculadas en d programa


Public Avar As Single
Public Ast As Single
Public fy As Single
Public rog As Single
Public rob As Single
Public rogmax As Single
Public rogmin As Single
Public cuanimin As Single
Public gammam As Single
~ublic.~
~smSinde
Public Pr As Single
Public Pw As Single
Public Ag As Single
Pu~!icC m As Single
Public Wusis As Single
Public Wuwind As Single
Public qbasic As Single
Pubiic Wu As Single
Public P As Single
Public Pu As Single
Public Pul As Single
Public Pu2 As Single
Public Pu3 As Single
Public Em As Single
Public fr As Singie
Public Pou As Single
Public Pou1 As Single
Public Pou2 As Single
Public Pou3 As Single
Public Pwu As Single
~ublicP w 1 As Single
~ublicM 2 As Single
public m 3 AS Single
Public n As Single
Fublic d As Single
Public a As Singk
Public al As Single
Public a2 As Single
Public a3 As Single
Public c As Single
Public c 1 As Single
Public c2 As Single
Public c3 As Single
Public numparedes As Single
Public anchoceldas As Single
Public numceldllenas As Single
Public anchosecsol As Single
PuMic lg As Single
Public Acai As Single
Pubiic Icr As Single
Public Icrl As Single
Public lcr2 As Single
Pubiic lcr3 As Single
Public Ase As Sir~gle
Pubiic Ase1 As Single
Pubiic Ase2 As Single
Public Ase3 As Single
Pubiic Mcr As Single
Public Mn As Single
Pubiic Msef As Single
Public Mn1 As Single
Public Mn2 As Single
Pubiic Mn3 As Single
Public V1 As Single
Public V2 As Single
Public V3 As Single
Public V As Singie
Public Vn As Single
Pubiic w As Single
Public ds As Single
Public dsl As Single
Pubiic dsmax As Single
Public du As Single
Public du 1 As Singie
Public du2 As Single
Public du3 As Single
Public du4 As Sngle
Pubiic Mu As Single
Pubiic Mucl As Single
Pubiic Muc2 As Single
Public Muc3 As Single

'Constantes usadas en el programa. Aquí se pueden modificar para que


'cambien de valor si se desea personalizar el programa
Public Consí gammarep = 2000
Public Const Es = 2 100000
Pubiic Const pi = 3.14 159265359
Public Const rcgminubc = 0.002

Sub Primero(]

Sheets("Resu1tadosServicio Viento").Visible= Fdse


Sheets("ResuitadocÚltimo Vienton).Vkible= Falce
Sheets("RecultadosSeMcio SismoW).Visible
= False

Sheets("Resu1tadosÚltimo Sismo4).Wsibie
= Faise

Sheets("Valoresde diseñoU).Visible
= Faise

Sheets("RebisionecÚltimo Sismo"].Visible= Falce


Sheets("RevisionesÚltimo Viento")).Visible
= False

Sheets("RevisionesSeMcio Sismo1').Visible= False


Sheets("RebisionesSeMcio V¡to').Visible = Fdse

araña = O
aratext = 'No'
inspeccont = O
lnspetext = "No"
dosla = O
zona = 1
zona-text = "Urbana"
celdllenas = O
llencrtext - "No"
robtext = "Sí"
romaxtext = "Si"
rornintext = "SS'
romintertexi - 'SS'
dastmaxiext = "Sí"
eiastmintext = "Sr'
rolmintext = "SS'
roimc~cpariext= "Sí"
rotmaxtcitte~t "Si" -

compretext = "Sr'
compretext - "Si"
momtext - "Sí"
deftext - Sí
corttexi - 'Sí'

End Sub

Pnvate Sub Continuar-ClickO


Unload Bloques

'Formato de los números


With Bloques
.Texí%oxt= Formaqt, ' ! # # ,##")
.TextBoxesp = Formut(esp, " # #,##")
.TextBoxlarg = Format(larg, " # # # . # + Y u )
EndWtth

'Cuando se introducen letras en vez de números o el separador decimal como coma en vez de puntc-
On Error GoTo Error

'Valores de las variables tempocales en las que se almacenan los datos introducidos
'por el usuario

t1 = \/al(TexiBoxt.Text)
espl = Val(TextBoxesp.Text)
larg1 = Val(TextBoxiarg.Text)

'Mensajes de error para cuando se introducen valores fuera de los rangos permitidos
'Si los valores caen dentro del rango, se asiynan a las variables definitivas t, esp y iarg
' AJ final de la subrutina las variables temporales se vuelven a poner en cero

If TextBoxt.Text = "" Then


Msg = "Debe digitar el valor del espesor de pared del bloque "
Tit = 'Valor no permitido para espesor de pareaes del bloque"
MsgBox Msg, vbOKOnly t vblntical, Tit
With Bloques
.TextBoxesp - espl
.TextBoxlarg = larg1
End With
Bloques.Show
E>atSub
Else
If TextBoxt.Text < = O Then
Msg = "Noingrese números negativos ni cero"
lt = "Valor no permitido para espesor de paredes del bloque"
MsgBox Msg, vbOKOnly + Writical, Tit
W~thBloques
,TextBoxesp - espl
.TextBoxlag = largl
End With
Bloques.Show
Exit Sub
Else
If TextBoxt.Text > 2.5 lhen
Msg = "El espesor de pared que ingresó es muy grande"
Tit = 'Valor no permitido para espesor de paredes del bloque''
MsgBox Msg, vbOKOnly + vblrilical, Tit
With Bloques
.TextBoxesp = espl
.TextBoxlarg - larg1
End Wiih
Bloques.%ow
E>atSub
Etse
If TextBoxt.Text < 1 lhen
Msg = "El espesa de pared que ingesó es muy pequetio"
Tit = 'Valor no permitido para espesor de pared del bloque"
MsgBox Msg, WKOnly + vblritical. Tit
Wiih Bloques
.TextBoxesp - espl
.TextBoxlarg = lag1
End With
Bloques.Show
Else
t = Val(TextBoxt.Text)
With Bloques
.TextBoxt - t
.TextBoxesp = espl
.TextBoxbrg brgl
End Wiih
End If
End If
End If
End If

If TextBoxesp.Text = "" Then


Msg = "Debe dgitar el valor del espesor del bloque"
Tit = "Valano permitido para espesor del bloque"
MsgBox Msg, vbOKOnly + Writical, Tit
With Bloques
.TextBo>durg= largl
End Wiih
Bloques.Show
Exit Sub
Else
If TextBoxesp.Text < = O Then
Msg = No ingrese números negativos ni O"
Tit = "Valor no permitido para espesor del bloque"
MsgBox Msg, WKOnly + vbCritical, Tit
Wiih Bloques
.TexíBoxJarg= larg1
End With
BloquesShow
Exit Sub
Else
If TextBoxesp.Text > 35.5 Then
Msg = "El espesor del bloque es muy grande"
Tit = 'Ycdor no permitido para espesa del bloque"
MsgBox Msg, mOKOniy - vblritical, Tti
With Bloques
. TextBoxlarg - larg1
End Wiih
Bloques.Show
mt sub
Else
If Textí3oxesp.Texi < 12 ihen
Msg = "El espesor del bloque es muy pequeño. El UBC-97 recomienda espesor mínimo de 15 cm, aunque
se puede usar 12 cm según el CSCRBó;'
Tit = Valor no permitido para espesa del bloque"
MsgBox Msg, WKOnly + vbCritical, Tit
Wih Bloques
.TextBo>daa= lara 1
End With
Bloques.Show
Exit Sub
Else
If TextEbxesp.Text < 1 5 Then
Msg = "Se permiten paredes de menos de 12 cm según el CSCR-86, pero El UBC-97 recomienda
espesa mínimo de 15 cm"
Tit = "Recomendación"
MsgBox Msg, vblnfmaiion, Tit
esp = Val(TextBoxesp.Text)
With Bloques
.TextBoxt = t
.TextBoxesp = esp
.TextBoxlarg = largl
End Wih
Eke
esp = Val(TextBoxesp.Text)
With Bloques
.TextBoxt = t
.TextBoxesp = esp
.TexiBoxiarg= largl
End Wih
End If
End If
End If
End If
End If
If TextBoxlarg.Text - "" Then
Msg - "=be digitar el valor de largo nominal del bloque
Tit = 'Valor no permitido para ei largo nominal"
MsgBox Msg, ~kOKOnly+ vblntical. Tit
Bloques.Show
Exit Sub
Else
If TexiBoxlarg.Text í= O ihen
Msg = 'No ingrese números negativos ni O"
Tit = "Valor no permitido para el largo nominal"
MsgBox Msg. vbOKOnly + kbcritical, Tit
Bloques.Show
Exit Sub
Else
If Text8oxfarg.Tex-í> 200 ihen
Msg = "El largo nominal es muy grande"
Tit = "Valor no pernilido para el largo nominal"
MsgBox Msg, vbOKOnh/ + vblritical, Tit
Bloques.Show
Exit Sub
Else
If Text8oxfarg.Tex-í< 20 Then
Msg = "El largo nominal es muy pequeñon
Tit - 'Valor no permitido para el largo nominal"
MsgBox Msg, vbOKOnly + vbCritical. Tit
Bloques.Show
Exit Sub
Else
larg = Val(Text8oxlarg.Text)
With Bloques
.TexiBoxi :t
.TexiBoxesp = esp
.TextBoxlarg = larg
End Wih
End If
End If
End If
End lf
With Mtos
arañadef Enabled = False
inspecdef.Enabled - False
.Ilenasdef.Enabled- False
.dosladosdef.Enubled- False
End Wiih

Aceroform Show

'Mensaje para cuando se introducen letras en vez de números o el separador decimal como coma en vez de
punto
Error:
Msg = "La separación para decimales es punto, no coma. No ingrese Ieiras, únicamente números"
Tit = "Error de ingreso en las características de los bloques"
MsgBox Msg. vbCritical + WKOnly, Tit
Bloques.Chow

End Sub

Option Explicit
Private Sub UserForm-lnitid¡e()
If araña = 1 ihen
Arañas.Value = Ttue
Else
Arañas.Value = False
End If
End Sub

Private Sub Arañas-Change()

'Cuando el usuario selecciona la opción de arañas, la variable araña torna el valor de 1.


se activa el indicador en el formulariode datos definitivos. En el caso de que no la
'seleccione, la variable araña es O y se desactiva el indicador en el formulario datos
If Arañas 'dalie - True Then
araña - 1
uratext - Sí
Wittl Datos
arañadef.Enabied = True
End Wiih
Else
araña = O
aratext = No"
Wittl Datos
.arañadef Enabled = False
End Wiih
End If
tnd Sub

Private Sub Atrjs-Click()


Unlcad Aceroform
Bloques.Sfiow
End Sub

Private Sub V«ncelar-Click()


End
End Sub

Private Sub Continuar-Click()


Unlcad Aceroforrn

'Cuando se introducen letras m vez de números o el separador decimal como coma en vez de punto
On Error GoTo Error

Valores de las variabies temporales en las que se almacenan los datos introducidos
'por el usiario
numvar 1 = Val(TextBoxnumvar.Text)
sepvar 1 = Val(TextBoxsepvar.Text)
grad 1 = Val(TextBoxgrad.Text)

'Mensajes de error para cuando se inircducen valores fuera de los rangos permitidos
'Si los valores caen dentro del rango. se asignan a las variables definitivas
If TextEbxncimvar.Text- "" Then
Msg - "Debe digitar el vulor del número de varilla"
fit = "\/alano permitido para el número de varilla'
MsgBox Msg. vbOKOnly + Kritical, Tit
With Aceroform
.TextBoxsepvar = sepvarl
.TextBoxgrad - grad 1
End W~ih
Acerofom .Show
Exit Sub
Else
If TextBoxnumvar.Text < = O Then
Msg = "No ingrese números negativos ni cero"
Tit = "Valor no permitido para el número de varilla"
MsgBox Msg, vbOKGnly + Sritical, Tit
Wih Aceroform
.TextBoxsepvar - sepvarl
.TextBoxgrad - graci1
End Wiih
Aceroform.Show
Exit Sub
Else
If TextBomumvar.Text > 1 1 lhen
Msg = "El número de varilla que ingresó es muy grande. El m&mo diámetro recomendado para el acero
vertical es esp/l0"
Tit = 'Valor no permitido para el número de varilld'
Msgbx Msg,.WOKOniy + vbCntical. Tit
With Acerofom
.TextBoxsepvar = gsad1
.TextBoxgrad = gradl
End Wiih
Aceroform.Show
Wt Sub
Else
If TextBoxnumvar.Text < 2 Then
Msg = "El número de vailla que ingresó es muy pequeñou
Tit = ''Valor no permitido para el número de varilla"
MsgBox Msg, vbO~0nly+ Writical, Tit
With Aceroforrn
.TextBoxsepvar - sepvarl
.TextBoxgrad = gradl
End With
Acerofm .Chow
Exit Sub
Else
numvar = Vai(TextBoxnumvar.Textl
With Acerofom
.TextBoxnurnvar = numvar
.TextBoxsepvar = sepvarl
.TextBoxgrad = grad1
End Wiih
End If
End If
End If
End If

lf TextBoxsepvar.Text = '"' Then


Msg = "Debecfigitar el valor de la separación entre varillasu
Tit = "Valor no pemitido para la separacih entre varillas"
MsgBox Msg, vbOKOnly + vbCnticd, Tit
W i Aceroform
.TextBoxgrad - gradl
End Wiih
Acerofm .Show
Exit Sub
Else
If TextBoxsepvar.Text< = O Then
~ s =g "NO ingrese números negativos ni cero,'
Tit - "Valor no permitido para la separación enlre vanlb"
MsgBox Msg, vbOKOniy + &Critica¡. Tit
Wiih Aceroform
,TextBoxgrad = gradl
End With
Aceroforrn.Show
Exit Sub
Else
If TextBoxsepvar.Texi i 100 ihen
Msg :"La separación de varilla que ingresó es muy grande"
Tit = 'Valor no permitido para la separación entre vurillas"
Msgbx Msg, vbOKOniy -. vbCritical. Tit
Wiih Aceroform
.TextBoxgrad - grad 1
End With
Aceroform.Show
Wt Sub
Else
If Tex-tBoxsepvar.Text < 20 Then
Msg = 'La separación de varilla que ingresó es muy pequeña"
Tit = "Valor no pemitido para la separación entre varillas"
MsgBox Msg, vbOKOnly + vblritical. T i
With Aceroform
.TextBoxgrud = grad1
End With
Acerofm .Show
Exit Sub
Eise
sepvar = Val(TextBoxsepvar.Tefl

With Acerofm
.TextBoxnumvm - numvar
.TextBoxsepvar = sepvar
.TextBoxgrad = gradl
End Wth
End If
End If
End If
End If

If TextB0xgrad.Tex-t "" ihen -


Msg = "Debe digitar d valor del grado del acero vertical"
lit = "Valor no permitido para el grado del acero"
MsgBox Msg. vl>OKOnly+ vblriticd. Tit
Aceroform.Show
Wt Sub
Else
If TexK3oxgrad.Tex-t(= O lhen
Msg = No ingrese números nqativos ni cero
Tit = Valor no permitido para el grado del acero"
MsgBox Msg, WKOnly + vbcritical, Tit
Aceroform.Show
Exit Sub
Else
If TextBoxgrad.Text > 40 Then
Msg = "El grado del acero que ingesó es muy grande"
Tit = "Valor no permitido para el grado c i d acero"
MsgBox Msg, hOK0nly + vblritical, Tit
Aceroform.Show
Ekit Sub
Else
If TextBoxgr@d.Text< 40 Then
Msg = "Elgrado del acero que ingresó es muy pequeño"
Tit = ''Valor no permitido para d grado del acero"
MsgBox Msg, vbOKOniy + W,ritical, T i
Aceroform.Show
Exit Sub
Else
grad = Val(TexBoxgrad.Textj

With Aceroform
.TextBoxnumvar - numvar
. TextBoxsepvar = sepvar
.TexiBoxgrad = grad
End W~th
End If
End If
End If
End lf

'Mensaje pc;ra cuando se introducen letras en vez de números o el separador decimal como coma en vez de
punto
Error:
Msg = "No ingrese letras. únicamente números"
Tit = "Error de ingreso en las características del refuerzo"
MsgBox Msg, vbCritical + vbOKOnly. Tit
Acerofom .Show
Exit Sub

End Sub

Pnvate Sub UserFom-lnitialize()


If dosla = 1 lhen
doslados,Value = True
Else
doslados,Value = False
End If

If inspeccont = 1 lhen
Inspección.Value = True
Else
Inspección.Value = False
End If

If celdilenas = 1 lhen
Llenas.Value= True
Else
Llenas.Value = Fdse
End If

End Sub

Pnvate Sub AtrásClick(]


Unlcad Muro
Aceroforrn .Show
End Sub

Pnvate Sub Cancelar-Click()


End
End Sub

Private Sub Continuar-Click()


Unlcad Muro
'Cuandose in?roducen letrcis en vez de números o el separa.dor decimal como coma en vez dt
On Error GoTo EITO~

Valores de las variables temporales en las que se almacenan los datos introducidos
bor el usuario

h1 = V d [TextBoxh.Text)
fm 1 = \/al(TextBoxfm.Text)
esprepl = Val(TextBoxesprep.Textj

Po1 = Val(TextBoxPo.Text]

e1 = V d [textbxexc.Text)

'Mensajes de error para cuando se introducen valores fuera de los rangos penitidos
'Si los valores caen dentro del rango, se asignan a las \~miables
definitivas

If TextBoxh.Text - "" Then


Msg - "Debe diatar el valor de la altura del muro "
lt = 'Valor no permitido para altura de muro"
MsgBox Msg, vbOKOnly + Writical, Tit
Wiih Muro
.TextBoxesprep - esprepl
.TextBoxfrn = fml
.textboxexc - el
.TextBoxPo - Po1
End Wth
Muro.Show
Exit Sub
Else
If TextBoxh .Text < = O Then
Msg = 'No ingrese números negativos ni cero"
Tit - 'Valor no permitido para altura de muro"
MsgBox Msg, vbOKOnly + vbCritical, Tit
'JViih Muro
.TextBoxesprep = esprep 1
.TextBoxfm - fml
.textboxexc = el
.TextBoxPo - Po1
End With
Muro.Show
Exit Sub
Else
If TextBo>b-i.Text> 100 Then
Msg = "El valor de altura del muro que ingresó es muy grande"
Tit ; 'Valor no pemitido para altura de muro
MsgBox Msg, vbOKOnIy vbCritical, Tit
With Muro
.TextBoxesprep = esprep 1
.TextBoxfm = fml
,textboxexc = e l
.TextBoxPo = Po1
End Wiih
Muro.Show
EMt Sub
Else
If Text8oxh.Text < 1 Then
Msg = "El valor de altura del muro que ingresó es muy pequeño"
Tit = "Valor no permitido para altura de muro"
MsgBox Msg, W K O n f y + Writical, Tit
Wiih Muro
.TextBoxesprep = esprepl
.Text&>xfm= fml
'textboxexc - e1
.Text&>xPo
= Po1

End With
Muro.Show
Exit Sub
Else
h = Val(TextBoxh.Text)
Wiih Muro
,TextBoxesprep = esprepl
.TextBoxfm = fml
.textboxexc = e l
.TextBoxPo = Po1
.TextBoxh = h
End With
End If
End If
End If
If Textkxfm . Text - "" Then
Msg = "Debe digitar el vala de la resistencia a la compresión de la mampostería "
Tti = 'Valor no permitido para resistencia a la compresión de la mampostería"
MsgBox Msg, vbOKOnly + vbCritical, Tit
With Muro
.TextBoxesprep = esprepl
.texthxexc = e l
.TextBoxPo = Po1
End Wiih
Muro.Show
Exjt Sub
Else
tf TextBoxfm.Text < = O Then
Msg = "No ingrese números negativos ni cero"
Tti = "Valor no permitido para resistencia a la compresión de la mampostería"
MsgBox Msg, vbOKOnly + vbcritical, Tit
Wilh Muro
.TextBoxesprep = esprepl
.texiboxexc = el
.TextBoxPo = Po1
End With
Muro.Show
Exit Sub
Else
If TextBoxfm.Text > 200 Then
Msg = "El valor de resistencia a la compresión que ingresó es muy g~ande"
Tit = 'Valor no permitido para resistencia a la compresión de la mampostená"
MsgBox Msg, WKOnly + vbCritical, Tit
With Muro
. TextBoxesprep = esprep 1
.textboxexc = e l
.TextBoxPo - Po1
End W~th
MuroShow
Exjt Sub
Else
lf Texiüoxfm Text -r 70 Then
Msg = El valor de resistencia a la compresión que ingresó 9 s muy pequeño
Tlt = 'Valor no permitido para resistencia a la compresión de la mampostería
MsgBox Msg, mKOnly + Writical. Tit
Wiih Muro
Texiüoxesprep = esprep1
.textboxexc = e l
.TextBoxPo = Po1
E n d Wiih
Muro.Show
Exit Sub
Else
fm = Val(TexF3oxfm.Text)
Wth Muro
.TextBoxesprep = esprepl
.texboxexc = el
.TextBoxPo = Po1
.TextBoxfm = frn
End Wiih
End if
End If
End If
End If

If TextBoxesprep,Text = "" Then


Msg = "Debedigitar el valor del espesor del repello "
Tfl = Valor no permitido para espesor del repello"
MsgBox Msg, vbOKOnly + Writical, Tit
Wth Muro
.textboxexc = e l
,TextBoxPo = Po1
End With
Muro.Show
Exit Sub
Else
If TextBoxesprep.Tex+< O ihen
Msg = ' No ingrese números negativos"
lt = "Valor no permitido para espesor del repello"
MsgBox Msg, vbOKOnly + ~2?Cribcal,Tit
Wiih Muro
temxexc = el
.TexBoxPo - Po1
End With
Muro.Show
Exit Sub
Else
If Texí%xesprep,Text > 5 Then
Msg = "El valor del espesor del repello que ingresó es muy grande"
Tit = 'Valor no permitido para espesor del repello'
MsgBox Msg, vbOKOniy - vblriticai, Tit
With Muro
.textboxexc : el
.TexiüoxPo = Po1
End Wih
Muro.Show
b t Sub
Else
esprep = Val(TextBoxesprep.Text)
W~ihMuro
textboxexc = el
.TexiBoxPo = Po1
.TextBoxesprep = esprep
End With
End If
End If
End If

If TextE3oxPo.Tex-i = "" Then


Msg = "Cebe digitar el valor de la carga superimpuesta "
lit - 'Valor no permitido para carga superimpuestd'
MsgBox Msg, vbOKOnly + ~Kntical,Tit
With Muro
.textboxexc = el
End Wth
Muro.Show
Wt Sub
Else
Msg = No ingrese números negarnos ni cero
lt = Valor no permitido para carga supeiirnpuss?sta''
MsgBox Msg, vbOKOnly + vblritical, Tit
With Muro
.textboxexc = e 1
End With
Muro.Show
Exit Sub
Else
If TextBoxPo.Text > 50000000 Then
Msg = "El valor de carga superimpuesta que ingresó es muy grande"
Tit = 'Ydor no permitido para carga superimpuesta"
Msgbx Msg, vt>OKOníy + vblritical, Tit
With Muro
.textboxexc = e 1
End Wth
Muro.Show
Exit Sub
Else
If TextBoxPo.Text < 1 Then
Msg = ''El valor de carga superimpuesta que ingresó es muy pequeño"
Tit = "Valor no permitido para carga superimpuesta"
MsgBox Msg, WKOnly + Writical. Tit
W1it-1Muro
.textboxexc = e l
End With
Muro.Show
Exit Sub
Else
Po = Val(Texii3oxPo.Text)
Wiih Muro
.textboxexc = e l
.Texi0oxPo = Po
End With
End If
End If
End If
End If
If textboxexc.Text = "" Then
Msg = "Debe datar el valor de la excentricidad "
Tti = Valor no pecmitido para la excentricidad"
MsgBox Msg, vbOKOnly + ;/bCritical, Tit
Muro.Show
Exit Sub
Else
If textboxexc.Text < = O ken
Msg = "No ingrese números negativos ni cero"
lit = ''Valorno permitido para la excentricidad"
MsgBox Msg, vbOKOnly + vblritical, Tit
Muro.Show
Exit Sub
Else
If textboxexc .Text > 10000 Then
Msg = "El valor de exceniricidad que ingresó es muy grande"
Tit = 'Ycior no permitido para la excentricidad'
MsgBox Msg, vbOKOnly + vblntical, Tit
Muro.Show
Exit Sub
Else
If textboxexc.Text< esp / 4 Then
Msg = "El valor de excentricidad que ingresó es muy pequeño, el UBC-97 recomienda una excentricidad
mínima de espf4"
Tit = 'Ydor no permitido para la excentricidad"
MsgBox Msg. vbOKOnly + vKritical, Tit
Muro.Show
Exit Sub
Else
exc = Vd(textboxexc. Text]
W~ihMuro
.TextBoxh = h
,TextBoxfm - fm
.Text&>xesprep
= esprep

.TextBoxPo = Po
.textboxexc = exc
End With
End If
End If
End If
End If

If dosla = 1 And esprep (= O Then


Msg = "Usted seleccionó repdlo. Debe ingresar un valor para d espesor del repello"
Tit = ' Repello"
MsgBox Msg, vbOKOnIy + vbCriticd, Tit
Muro.Show
EMt Sub
End If

'Selección del factor de reducción fi para flexjón dependiendo de


'si hay inspección y si se usan ardas, segun el espesor del muro

If inspeccont = 1 Then
If araña = 1 And esp < = 1 2.5 Then
fi = 0.8
Else
If esp > = 15 Then
fi = 0.8
End If
Ifesp <= 12.5Then
fi = 0.6
End If
End If
End If

If inspeccont = O Then
If araña = 1 And esp < 12.5 ihen
fi = 0.5
Else
If esp > = 15 Then
fi = 0.5
End If
If esp < = 12.5Then
fi = 0.4
End If
End If
End If

With ZonaFactores
.fiflex = fi
End Wiih

'Mensaje para cuando se introchx=en letras en vez de números o el sepaador decimai como coma en vez de
punto

Error:
Msg = "La separación para decimales es punto, no coma. No ingrese letras, únicamente números"
Tit = "Error de ingreso en las características del muro"
MsgBox Msg, vbCniical + vbOKOnIy, Tit
Muro.Show

End Sub

Private Sub doslados-Change()


If doslados.Value = True Then
W i Datos
.dosladosdef.Enabled = T n i e
End Wiih
dosla = 1
Else
With Datos
.dosladosdef.Enabied= False
End Wih
dosla = O
End If
End Sub

Private Sub Inspección-Change()


li Inspección.Vaiue = True lhen
With Datos
.inspecdef.Enabled True -
End Wth
inspeccont = 1
Inspetext = "Sí"
Else
With Dcltos
.inspecdef.Enabled = False
End W1it-1
inspeccont = O
Inspetext = "No"
End If
End Sub

Private Sub Llenas-Change()


i ; Lienas.Value = True Then
With Datos
.Ilenasdef.Enabied = Tnie
End Wlth
celdllenas = 1
llenatext - "S"
Else
With Datos
.Ilenasdef.ErmMed = Fdse
End lVth
celdllenas = O
llena-text= "No"
End If
End Sub

Privnte Sub UserFm-lnitiaiize()


If zona = 2 Then
Rural.Value = Tnie
Else
Rural.Value = False
End If

If zona = 1 Then
Urbana.Value - True
Else
Ubana.Valcie= False
End Sub
mivate Sub Atrás-Click()
Unload ZonaFactores
Muro.Show
End Sub

Pnvate Sub Cancelar-Click()


End
End Sub

Private Sub ~ural-~lick()


Rural.Value = íue
If Rural.Value = Tnie Then
zona = 2
With Datos
.zonadef = "Rural"
End Wih
End If
zoncrtext = "Rural"
End Sub

Pnvate Sub Urbana-Clickl)


Urbana.Value = True
If Ubana.Value = True Then
zona = 1
With Datos
.zcmadef = "Ubana"
End Wih
End If
zoncrtext = "Urbana"
End Sub

Pnvate Sub Continuar-Click()


Unload ZonaFactores

'Cuando se introducen letras en vez de números o el separador decimal como cana en vez de punto
On Error GoTo Error
Valores de las variables temporales en las que se almacenan los datos introducidos
'por el usuario
ficortl = Val(ficortt.Text)
fiflexl = Val(fif1ex.Tex-i)
F f m l = Val(Ffom.Text)
fimportl = Val(Firnport.Text)
Modelastl = Val(Modelast.Text)

rotl = Val(rotura.Tea]

coefsism1 = Val(TextBoxcoefsism)

'Mensajes de error para cuando se iniroducen valores fuera de los rangos permitida
'Si los valores caen dentro del rango, se asignan a las varicbles definitivas

If ficorti.Text - "" Then


Msg = "&be digitar el valor del coeficiente de reducción para cortante. El reC~endad0
es 0.6 "
Tit = "Valor no permitido para el coeficiente de reducción para cortante"
MsgBox Msg, vbOKOnly + vblniical, Tit
Wiih ZonaFactores
.fiflex = fiflexl
. F f m = Fforrnl
Fimport - fimportl
.Modelast = Modelast1
.rotura = rotl
.TextBoxcoefsism = coefsism1
End Wtth
ionaFactores.Show
Exjt Sub
Else
!f ficortt.Text < = O Then
Msg = "No ingrese números negativos ni cero.El recomendado por el UBC-97 es 0.6
Ti = 'Valor no permitido p u r a el coeficiente de reducción para cortante"
MsgBox ~ s gWKOnly
, + vt>Criticd,Tit
W~thZonaFactores
.fiflex = fiflexl
.Fform = Fforml
,Fimport = fimportl
.Modelast = Modelastl
.rohra = rotl
.TextBoxcoefsism = coefsism1
End With
ZonaFactores.Show
Exit Sub
Else
If ficortt.Text > 1 Then
Msg = "El valor de coeficiente de reduccmi para cortante que ingresó es muy grande. E! recomenda30 pof
el UBC-97es 0.6'
TI = 'Valor no permitido para el coeficiente de reducción para coriante"
MsgBox Msg, vbOKOniy c vKntical, Tit
With ZonaFactores
.fiflex = fiflexl
. F f m = Fforml
.Firnport = firnportl
. Modelast = Modelastl
.roKira = rol1
.TextBoxcoefsisrn = coefsism1
End Wiih
ZnnaFactores.Show
Exit Sub
Else
lf ficortt.Text < 0.1 Then
Msg = "El valor de coeficiente de reducción para cortante que ingresó es miuy pequeño. El recomendado
por d UBC-97es 0.6"
Tit = 'Valor no permitido para el coeficiente de reducción para cortante"
MsgBox Msg, vbOKOnly + vbCritical, Tit
Wiih ZonaFactaes
,fiflex = fiflexl
.Fform = Fforml
.Fimport = firnportl
.Moddast = Modelastl
.rotura = rotl
.TextBoxcoefsism = coefsism1
End With
ZonaFactores.Show
Exit Sub
Else
fiort = ficortt
W ~ i hZonaFactores
ficortt - ficort
fiflex - fiflexl
Ffom = Fforml
Fimpoit - firn~rtl
M~delast- Modelastl
rok ira :rotl
TextBoxcoefsism = coefsism 1
End With
End If
End If
End If
End If

If fiflex.Text = '"' Ther,


Msg = "Debedigitar el valor del coeficiente de reducci6n para ffexih. El recomendado por el UBC-97 es 0.8 y por
d CSCR-86 es 0.75 "
Trt = "\!alar no permitido para el coeficiente de reducción para flexión"
MsgBox Msg, vbOKOnly + vbCriticcil, Tit
With ZonaFactores
.Fform = Fforml
.Fimport = fimportl
.Modeiast - Modelast1
.rotura = rotl
,TextBoxcoefsism = coefsism 1
End W~ih
ZonaFactores.Show
Exit Sub
Else
If fiflex.T& .c = O Then
Msg = "Noingrese números negativos ni cero. El recomendado por el UBC-97es 0 8 8 p r d CSCR-86es 0.75"
iit = "Valor no permitido para d coeficiente de reducción para flexión"
MsgBox Msg, WKOnly + i4Critical, Tit
With ZonaFactores
,Fform = Fforml
,Fimport = fimportl
.Modelast = Modelastl
.rotura = rotl
.TexH3oxcoefsism = coefsism 1
End With
ZonaFactores,Show
Exit Sub
Else
If fiflex.Texi> 1 Then
Msg = "El valor de coeficiente de reducción para flexión que ingresó es muy grande. El recomendado por d
UBC-97es 0.8 y por el CSCR-86es 0.75"
Tit - "Valor no permitjdo prlra el coeficiente de reducción para flexión"
MsgBox Msg, vbOKOnEy + vbliitical, Tit
With ZonaFactores
,Ffom = Fforml
,Firnpofi = fimportl
. Modelast = Modelastl
.roiura = rotl
. TextBoxccefsisrn = coefsicm1
End With
ZonaFactores.Show
Mt Sub
Else
If fiflex.Te>ct< 0.4 Then
Msg = "El valor de coeficiente de reducción para flexión que ingresó es muy pequdo. El recomendado
por el UBC-97es 0-8y por el CSCR-86 es 0.75"
T i = 'Vaior no pmitido para el cceficiente de reducción para flexión"
MsgBox Msg, WKOnly + vbCritical. T i
Wlth ZonaFactmec
.Ffom = Fforml
.Firnport = fimportl
. Modelast = Modelastl
.rokira = rotl
.TextBoxcceísisrn = coefsism1
End With
ZonaFactores.Show
Exit Sub
Else
fiflex = Val(fiflex.Text)
WI% ZonaFactores
.ficortt = ficort
.fiflex - fiflex
,Ffom = Fforml
.Firnport - firnWrtl
Modeiast = Modelastl
,rokira = rotl
.TextBoxcoefsisrn - coefsisrn1
End With
End If
End If
End If
End If

lf Fforrn.Text = "" Then


Msg = "Cebedigitar el valor ciei factor de forma. El rango según el Reglamento de Constntcciones es de -0.4 a 0.8
11

Tit = "Vabr no penniiido para d factor de forma"


MsgBox Msg, vbOKOnly + vblritical, Tit
W i i ZonaFactores
.Firnport = fimportl
.Modelas = Modelastl
.rotura = rotl
.TextBoxcoefsism = coefsisml
End W~
ZonaFactores.Show
Exit Sub
Else
If Fform.Text = O lhen
Msg = "No ingrese ceros. El rango segun el Reglamento de Cmslrucciones es de -0.4 a 0.8"
Tit = 'Valor no permitido para el factor de forma"
MsgBox Msg, WKOnly + vbCritical, Tit
With ZonaFactores
.Firnport = fimportl
.Modelast = Modelastl
.rotura = rotl
,TextBoxcoefsism = coefsism 1
End W i i
ZnnaFactaes.Show
Exit Sub
Else
If Fform.Text > 1.2 Then
Msg = "El valor del factor de forma que ingresó es muy grande. El rango según el Regiamento de
Construcciones es de -0.4 a 1.2"
Tit = 'Ydor no permitido para el factor de forma"
MsgBox Msg, vbOK0nbj - vblritical. lit
With ZonaFactores
,Firnport = fimportl
,Modelast - Modelastl
.rotura - rotl
.TextBoxcoefsisrn = ccefsisrn1
End W~ih
ZonaFactores.Show
Exit Sub
Else
If Fform.Text c -0.4 lhen
Msg = "El valor d d factor de forma que ingresó es muy pequko. El rmgo según el Reglamento de
Consirucciones es de -0.4 a 1.2"
Tit = 'Ydor no pecmitido para d factor de forma"
MsgBox Msg, vbOKOnly + vbCritical, Tit
W~ihZonaFactmes
.Firnport = fimportl
.Modelast = Moddastl
.rotura = rot 1
.TextBoxcoefsism = coefsisml
End Wiih
ZonaFactores.Show
Exit Sub
Else
Fform = Val(Fform.Text]
Wiih ZonaFactores
.ficorit = ficort
.fiflex = fiflex
.Fform = F f m
.Firnport = fimporil
. Modelast = Modelastl
.rokira = rotl
. TextBoxcoefsism = coefsism1
End Wiih
End If
End If
End If
End If
If Firnport.Text = "" Then
Msg - "Bbe digitar I valor del factor de importancia. El rango según el Reglamento de Construccimes es de 0.7
a 1.2 "
Tit - "valor m permitido para el factor de importanciau
MsgBc,x Msg, WKOniy + Writicai, Tit
Wiih ZonaFactores
.Modelast = Moddastl
.rotura = rotl
.TextBoxcoefsism = coefsism1
End Wiih
ZonaFactores .Show
Exit Sub
Else
if Firnport.Text (= O Then
Msg = "Noingrese números negahvos ni cero. El rango según el Regbmento de Consifuccbnes es de 0.7 a 1.2"
M - "Valor no permitido para el factor de importancia"
MsgBox Msg, vt4)KOnly + Sritical, Tit
Wiih ZonaFactores
,Mcdelast - Mcdekistl
.rotura = rotl
.TextBoxcoefsism= coefsism1
End With
ZonaFactores.Show
Exit Sub
Else
If Fimport.Te.xt> 1.2 Then
Msg = "E! valor del factor de importancia que ingresb es muy grande.El rango segun el Reglamento de
Construcciones es de 0.7 a 1.2"
Tit = 'Valor no pmitido para el factor de irnmancid'
MsgBox Msg, vbOKOnh/ + vbCriiicai, Tit
wtm ZonaFactores
.Modelast = Modelastl
.rotura = rotl
.TextBoxcoefsism = coefsisml
End Wiih
ZonaFactores .Show
Exit Sub
Else
If Fimport.Text < 0.7 Then
Msg = ''El valor del factor de importancia que ingresó es muy pqueri.3. El rango según el Reglamento de
Construcciones es de 0.7 a 1.2"
Tit - 'Valor no permitido par* d factor de importancia"
MsgBox Msg, vbOKOnly + Writical; Tit
With ZonaFactores
.Mdelast :Mdelastl
.rotura rotl
-
;

.TextBoxcoefsism coefsism1
End W~th
ZonaFactores.Show
Exit Sub
Else
Fimpott = Val(Fimport.Text)
Wtih ZonaFactores
.ficortt = ficort
.fiflex = fiflex
.Ffom - Fform
.Fimport = Fimport
.Moddast = Modelastl
.roiura - rotl
.TextBoxcoefsism coefsisrn1
End With
End If
End If
End If
End If

If Moddast.Text- "" Then


Msg = "Debedigita el valor paa calcular el módulo de elasticidad. El rango según el UPC-97 y el ACI 530-95 es de
750*f'ma 1OOO*flmkg/cm2"
Tri = 'Valor no permitido parci el factor del mddulo de elasticidad"
MsgBox Msg, vbOKOnly + Writical. Tit
With ZonaFactores
.rotura - rotl
.Textf3oxcoefsism = coefsism1
End Wiií-1
ZonaFactores.Show
Eat Sub
lf Modelast.Text < = O Then
Msg = ,Noingrese números negativos ni cero.El rango según el UBC-97 el ACI 530-95 es de 750*fLma 1000*f'm
kg/cm2"
Trt = "\/alar no permitido para el factor del módulo de elasticidad"
MsgBox Msg, vbOKOnly + vbcritical, Tit
Wtih ZonaFactores
.rotura - rotl
.TextBoxcoefsism :coefsism 1
End With
ZonaFactores.Show
Exit Sub
Else
If Mcdelast.Texi> 1000 Then
Msg = "El valor dei factor para el módulo de ekisticidad que ingresó es muy gran&.El rango según el UBC-97
y d ACI 530-95 es de 750*f'm a 1000*f'mkglcm2"
Trt = "Valor no permitido para el factor del módulo de elasticida&
MsgBox Msg, WKOnIy + vbcritical, Tit
With ZonaFactores
.rotura = rotl
.TextBoxcoefsism = coefsism1
End With
ZonaFactores.Show
Exit Sub
Else
If Modelast.Text < 750 Then
Msg = "El valor del factor paa el módulo de elasticidad que ingresó es muy pequeño, el rango permitido
es de 750*Prn a l,000*f'mkgIcm2"
Tit = "Valor no permitido para el factor del módulo de elasticidad
MsgBox Msg, vbOKOnly + vbCrilical, Tit
With ZonaFactores
.rokira = rotl
.TextBoxcoefsism = coefsism1
End Wiih
ZonaFactores.Show
Exit Sub
Else
Mcdelast = Vai(Moddast.Text)
Nth ~ona~actores
.ficofit = f i c d
.fiflex = fiflex
.Ffoml = F f m
,Firnport = Fimport
.MocHast = Modelast
,rotura = rotl
.TextBoxccefsism - cwfsism1
End With
End If
End If
End If
End If

If rokira.Text = "" Then


Msg = "Debe digitar ei valor para el factor del módulo de rotura "
Trt = "Valor no permitido para factor del mCIcfulo de rolura"
MsgBox Msg, vbOKOniy + vblritical, Tit
With ZonaFactaes
.Texií3oxcoefsism= coefsism1
End Wtih
ZonaFactores.Show
i3t Sub
Else
If rotura.Text< = O kien
Msg = 'No ingrese números negativos ni cero"
Tit = 'Valor no permitido para factor del módulo de rotura"
MsgBox Msg, vbOKOnly + vt>lritical. Tit
Wth ZonaFactores
.TextBoxcoefsism = coefsism1
End With
~ona~actc;res.~how
Exit Sub
Else
If roiura.Text > 1 .O6 Then
Msg = "El valor dei factor para el módulo de rotura que ingresó es muy grande según el UBC-97. El rango va
de 0.67 para celdas parcialmente llenas a 1 .O6 para todas las celdas llenas'
Tit "Valor no pmitido para factor del mí>dulode rotura"
-
=

MsgBox Msg, &OKOniy vbCritical, Tit


With ZonaFactores
.TextBoxcoefsism = coefsisml
End With
ZonciFactaes.Show
Wt Sub
Else
If rotura.Text < 0.5 Then
Msg = 'El valor del factor para el módulo de rotura que ingresó es muy pequefio según el UBC-97. El valor
mínimo aceptado es 0 . 5
Tit = 'Ydor no permitido para factor del módulo de rotura"
MsgBox Msg. WKOnly + W,ritical, Tit
W~ihZmFactcfes
.TextBoxcoefsism = coefsism 1
End With
ZonaFactores.,Chow
Exit Sub
Else
rot = Val(rotura.Text)
Wrth ZonaFactores
.ficortt = ficott
,fifiex - fiflex
. F f m = Ffam
.~idiport= Fimpori
Moddast = Modelast
.rotura = rot
.TextBoxcoefsism = ccefsism1
End With
End if
End If
End If
End If

If TextBoxcoefsism.Text = "" Then


Msg = "Debe digitar d valor del coeficiente sísmico según d CSCR-86 "
M = "\/abrno permitido para el coeficiente sísmico"
MsgBox Msg, vbOKOnly + vblnticd, Tit
ZonaFactores.Show
EMt Sub
Else
If TextBoxcwfsism Text < = O Then
Msg = 'No ingrese numera negativos ni cero"
Tit = '\/alar no permitido para el coeficiente sísrnico"
MsgBox Msg, WKOnly + vblritical, Tit
2onaFactores.Show
Exit Sub
Else
If TextBoxcoefsism.Text > 1 Then
Msg = "Elvalor de coeficientesísmico que ingresó es muy grande según d CSCR-86"
Tit = 'Valor no permitido para el coeficiente sísmico"
MsgBox Msg, *OKOnly + vbCntical. Tit
ZonaFactores.Show
Exjt Sub
Else
< 0.1 Then
If T~xtEioxcoefsism.Text
Msy = "Elvalor de coeficiente sísmico que ingresó es muy pequeño según d CSCR-86"
Tit = 'Valor no permitido para el coeficiente sísmico8'
+
MsgBox Msg, vbQKOnly vbCritical, Tit
ZonaFactores.Show
Exit Sub
Else
coefsisrn = Vai(TextBoxcoefsism,Text)
With ZonaFactwes
.ficortt = ficort
.fiflex - fiflex
. F f m =' Ffmm
.Fimport = Fimport
.Moddast - Modelasi
.rotcira = rot
.TextBoxcoefsism = ccefsism
End With
End If
End If
End If
End If

'Asignación de valores a los campos


Wttl Datos
.tdef = t
.espdef - esp
Jargdef - Img
nurrivardef = ncimvar
sepvadef = sepvar
graddef = grad
.hdef - h
.fmdef - fm
.espre@ef = esprep
.Podef - Po
,excdef - exc
,Ffomdef = Fforrn
.Fimportdef - Fimpoft
.ficortdef = ficort
,fiflexdef = fiflex
, Modelastdef = Modelost
. Modrotdef = rot
,coefsisdef = coefsism
End W~ih

'Mensaje para cuando se introducen !&as en vez de números o el separador W i m d como coma en vez de
punto
Error:
Msg = "La separación para decimales es punto. no coma. No ingrese letras, únicamente números"
l t = "Error de ingreso"
MsgBnx Msg, Writical + vbOKOniy, Tit
ZonaFactores .Show

End .Sub

Private Sub Acepta-Click()


Unload b t o s
ifom - Fforml
Fimport = fimpoFt1
ficort = ficortl
fiflex = fiflexl
Modelast = Modelastl
rot - rotl
cnefsisrn - coefsism1
t tl
-
-

esp espl
larg = largl
nurnvar - numvarl
sepvar -- sepvarl
gad = gradl
h-hl
h = fml
esprep - esprepl
Po = Po1
exc = e l

Option Explicit
Sub Acerosub()

Avar = (2.54* numvar 18) A 2 * pi ,! 4

Ast = Avar * 1001 sepvar

rog = Asf / (100 * esp]

íy = grad * 70

If íy = 2800 Then
rogrnax = 0.006
rogmin = 0.001
Fnd If

If fy = 4200 Then
rocpnax = 0.004
rogmin = 0,001
End If

cuantmin = rocpnin * esp / sepvar * 10000

rob = 0.72 * fm 1 íy * (63001(6300 + fy]]


If rog -> 0.5 * r c b Then

Msg = "La cuantía de acero excede la cuantía de acero baianceada, por lo qus se podría presentar falh frágil
Debe disminuir el acero"
Tit = "Revisióncuantía de acero m&ima"
MsgBox Msg, vbOKOnly + vbCritical. T i
robtext = "W
Acerofom.Chow
End If

If rog > rcgmax ihen


Msg = "La cuantía de acero excede 4 límite establecido por el UBC. según el grado del acero'
Tti = "Rebtsióncuantía de acero máxima según grado"
MsgBox Msg, vbOKOnly + vblritical, Tit
romintext = "No"
End lf

If rog < rogmin Then


Msg = "La cuantía de acero es menor que el Iímite establecido pcx d UBC, se&n e
4 grado del acero"
Tit = "Revisióncuantía de acero mínima"
MsgBox Msg, vbOKOnly + vblritical, Tit
romintext = "Noo"
End If

If rog < 2 * 0.002 / 3 Then


Msg = "La cuantía de acero es menor que el límite establecido por el UBC, de 2/3*0.002"
Tit = "Revisióncuantía de acero mínima"
romintertexi = "No"
MsgBox Msg, vbOKOnly + vblritical, Tit

End If

End Sub
Option ExpIicit
Sub Axia!(!

lf celdllenas - 1 lhen
= 2250
~rnrnam
Else
gcmmam = - 10 * sepvar t 2450
End If

Pm = gammm * esp / 100

If dosia = 1 lhen
Pr = garnmarep * esprep * 2 !100
Else
Pr = garnrnarep * esprep / 100
End If

Pw = (Pm + Pr)* h / 2

Cax = (Pw + Po)!Ag

Lateral

End Sub

Sub Laterdo

'Cálculo de Ici carga última debida a sismo


Wusis = (Pm + Pr) * coefsisrn

'Calculo de la carga Última debida a viento, interpelando en la tabla del Reglamento


'de Construcciones según sea zona Urtxrna (tabla XX11.9.1)o Rural (tabiaXXil.9.2)
If zona = 2 Then
Select Case h
Casels < = 1
qbasic, = 70
C a s e ls <= 7
qbasc=25/6*h-(95-7*25/6)
C a s e Is <= 10
q b a = ~ ~ *h
~ 1013 7 (105- l o * 1013)
C a s e l s <= 15
qbas~=15/5*h-(120-15*15/5)
C a s e Is <= 20
5/5*h
q b a ~=i ~ + (125-20*5/5)
C a s e 1s <= A0
q b a s i c = 101 10 * h + (135 - 30 * 101 10)
C a s e Is <= 50
qba~1~=5/10*h+(l50-50*5/10)
Ccrse Is <= 75
qbasic = 15/25* h + (165- 75* 15/25)
C a s e Is <= 100
qh~1~=5/25*h+(170-100*5/25)
End Select
End If

lf zona = 1 Then
Select C a s e h
C a s e ls = O
q b a s i c = 55
C a e Is <= 15
qbcisic: = 20115" h + (75- 1 5 * 2 0 / 15)
C a s e Is <= 20
q b a s i ~= 1 0 / 5 * h - ( 8 5 - 2 0 * 1015)
C a s e Is < = 40
qbcisic = 1 0 / 1 0 * h + ( 9 5 - 3 0 * 1)
C a s e Is <= 50
q b a s k = 5 / 1 0 * h - ( 1 1 0 - W * 1015)
C a s e is <= 75
qbctsic = 1 0 / 2 5 * h + (120- 75* 10125)
C a s e Is < = 1 00

End S d e c t
End lf
Wuwind = qtxisic * Fform * Fimport

'Decisión de si la carga últirna de diseño (Wu) es la de sismo (Wusis)o viento (Wuwind)


If Wuwind > Wt lsis Then
Msg - "La carga debida a viento es mayor que ki de sismo. por lo que rige el viento"
Tti = Carga de disetío"
MsgBox Msg, vbOKOnly + vblnformation, Tit
Wu = Wuwind

Else
Msg = "La carga debida a sismo es mayor que la de viento, por lo que rige d sismo"
Tit = 'Carga de diseño"
MsgBox Msg, vbOKOnly + vblnformation, Tit
Wu = Wusis
End If

Combina

End Sub

Option Explicit
Sub Combina()

If Wu = Wcisis Then
Poul = 1.4 *Po
kil = 1.4 * Pw
Pul = Poul + Pwul

End If
If Wu = Wt.rwind Then
Pou = O 75 * 1.4 *Po
Pwu=O,75* 1.4*FW
Pu = - Pwu
Pou
MU = 0.75 * O + 1 0 ~ 0 0
End If

Valdis

End Sub

Opiion Explicit
Sub Vaidis()

If Em > 210000 Then


Msg = "Elmódulo de elasticidad calculado excede el máximo permitido pcx e
4 UBC-97, por lo que se utilizará el
pemiiido de 2 10000 kacm2"
Tit = "Valorde diseño"
MsgBox Msg, vbOKOnly + vblnformation, Tit
Em = 210000
elastrnaxtext = "No"
End If

If Ern ( 750 Then


Msg = 'El módulo de elaslicidad calculado es menor que el mínimo permitida p r el UBC-97. por lo que se
utilizará el permitido de 750*f'm kgIcm2"
lt = 'Valor de dseño"
MsgBox Msg, WKOnly + vbinformation, Tit
Em = 750 * fm
elastmintext = No"
End If

d = esp !2
tí = rot * Sq(fm)

If celdilenas = 1 lhen
If rot < 0.5 Then
Msg = " El rnbdulo de robra es menur que va!or permitido por el UBC-97 pcaa todas las celdas llenas"
Tit = " Valor de diseño;'
MsgBox Msg, WK0ni-y + vblnformaiion, Tit
rotmintext = 'No"
End If
If rot 1 1 .O6 And fr > 16.5Then
Msg = " El módulo de rotura excede el máximo valor permitido pc>r el UBC-97, por b que se utilizará el valor
permitido de 16.5 kg/cm2 para todas las celdas Ilenas"
Tit = " Valor de diseño"
MsgBox Msg, vbOKOniy + vbinformdon, Tit
fr = 16.5
roimapmkxt = "No"
End If
Else
If rot < 0,s Then
Msg = " El mjdulo de rotura es menor que valor permitido por el UBC-97 para celdas pcirciaimente llenas"
Tit = " Valor de diseño"
MsgBox Msg, WK0ni-y + vbinformaiion, Tit
rotmintext = "NO"
End If
If rot > 0.67.And fr > 8.75 Then
Msg = " El módulo de rotura excede el máximo valor permitido p r el UBC-97, por lo que se utilizará el valor
permitido de 8.75 kg/cm2 para celdas parcialmente llenas"
Tit = " Valor de disflno"
MsgBox Msg, vbOK0ni-y + vMnformdon, Tit
fr = 8.75
rotrr~axtottext= "No"
End If
End If

Inercias

End Sub
Option Expiicit
Sub Inercias()

numparedec = 100 * 3 / lar3

anchoceldas = esp - 2 * t

numceldllenas = lnt(100/ sepvar]

anchosecsd = numparedes * t + anchoceldas * numceldllenas

lg = 1 00 * (esp) A 3 / 12 - (1 O0 - anchosecsol) * (anchoceldas)A 3 / 1 2

'Calcular a para cada Pu según sea sismo o viento

If Wu = Wusis Then
a l =(Pul +Ast*fy)/(0,85*fm*100)
a2 = (Pu2 + Ast * íy)! (0.85* fm * 100)
a3 = (Pu3 + Ast* fy)/(0.85*fm* 100)
a = (P - Ast * fy)/ (0.85* hn * 100)

IfCw < = 0.04 *fmThen


Ifcl > tmen
Msg = a combinación de carga 1, según el CSCR, el centroide de la sección se ubica fuera de la pared
"bral
del bloque, por b que todas las celdas detenun ir llenas"
rlt- c > t "
MsgBox Msg, vbOKOnly + vbCritical, Tit
cornpretext = "No"
End lf

If c2 > t Then
Msg = "Para la combinación de carga II, según el CSCR, el centroide de la sección se ubica fuera de la pared
del bloque. por lo que todas las celáas debenan ir llenas"
rlt = 'c > t"
MsgBox Msg, vbOKOniy + vblritical, Tit
cornpretext = 'No"
End If

If c3 > t Then
Msg = "Para la combinación de carga I\/. según el CSCR. el centroide de la m c i h se ubica fuera de la pared
del bloque, por lo que todas las celdas deknán ir llenas"
lit = "c > l'
MsgBox Msg, vbOKOnly + vbcritical, Tit
compretext = "No"
End If

If c > t Then
Msg = *El ceniroide de la sección se ubica fuera de la pared del bigue, por lo que todas las celdas debetían i;
llenas"
lit = "c > t"
MsgBox Msg, WKOnly + vblritical, T i
cornpretext = "No"
End If
End If

Ase1 = (Pul + Ast * fy)/fy


Ase2 = (Pu2 + Ast * fy]/ íy
Ase3 = (Pu3 + Ast * fy) / íy
Ase = (P + Ast*'fy)/fy

lcrl =n*Asel * ( d - c l ) A 2 + 1M)/3*cl * 3


lcr2 =n*Ase2*(d-c3) A 2 + 100/3*c2 A 3
l ~ r 3 = n * A s e 3 * ( d - c 3 ) ~ 2 + 1 0 0 / 3^ *3~ 3
Icr = n * A s e * ( d - c ) * 2 + 100/3*c A 3

Mcr = f r * lg*2/esp

Mnl =Asel * f y * ( d - a l / 2 ) / 1 0 0
Mn2 =Ase2*íy*(d-a2/2)/100
Mn3 =Ase3 *fyC(d-a3/2]!100
Mn = A s e * f y * ( d - a / 2 ) / 1 0 0

End If
Tit = "Revisiin de relación altura-espesor"
MsgBox Msg, WKOnly + vbCritical, Tit
End
Exit Sub
End If

If C m > 0.04 * fm And Cax < = 0.2 * fm Then


Msg = "La carga axial es mayor que O.O4*f'm, por lo que se h a r á análisis por condiciones de servicio. según el UBC-
97"
Trt = "Revisihde carga axiaf"
MsgBox Msg, WKOniy + vblnformaiion, Tit

Else
If Cm > 0.2 * fm lhen
Msg = "La carga d d excede el m&mo permitido por el UBC-97 de 0.2*Pm pura análisis ds muro esbei-to"
Tit = "Revisiónde carga d a l "
MsgBox Msg, vbOKOnly + Writical, Tit
End
Exit Sub
Else
Msg = "La cargo axicil es menor que 0.04*f'm, por lo que se hará análisis ÚHirno, sgún el UBC-97"
Tit = "Revisión de carga axial"
MsgBox Msg, vbOKOniy + vblnfonnuiion, Tit
Disciltimo
End If
End If

End Sub

Option Explicit
Sub Condswicio()

'Inicializar variables
ds = 0
dsl = 10
dsmax = 0.007 * h

'Momento de s e ~ c i o
Mser=w*h"2/8+Po*exc1200+(Po~Pw)*d~/100
'Iteraciones para calcular ds según el valor de Mser para viento o viento
Do While Abs(ds - dsl) > 0.00001
dsl = ds
If Mser < = Mcr !100 Then
&=5*Mcr*(h*100) A 2/(48*Em*Ig)
Mser = wt h A 2/8 + Potexc!200 (Po -c Pw) *dsí 100
Else
If Mcr / 100 < Mser < = fiflex * Mn Then
ds = 5 * M c r * ( h f 100) * 2/(48*Em*Ig) +5*(Mser* 100-Mcr)*(h*100) A 2/(48*Em*Icr)
Mser=w*h A 2/8 Po*exc/200+ (Po + Pw)*&/100
Else
Msg = " El m e n t o de servicio excede d valor reducido del m e n t o nominalu
Tit = "Revisión p-
condiciones de servicio"
MsgBox Msg, Writicd + vbOK@nh/, Tit
momtext = "Non
Exit sub
End If
End If
LOOP

Ifds>dsmaxt 100Then
Msg = "La deformación por servicio calculada es mayor que la deformación rnicirna permisiMe, según el UBC-97"
lt = 'Deformaciónde servicio a la mitad de la altura del muro"
MsgBox Msg, Wntical + bbOKOniy, T i
deítext = 'No'
End If

End Sub

Sub Disultim@)

'Inicializarvariables
du = O
dul =o
'Momento último para cuando rige viento
If Wu - Wciwind Then
M u = W U * ~ ~ ~ ! ~ T P O U * ~ X C ! ~ ~ @ + ( P O U + ~ ) * ~ U ! ~ ~

'feraciones para calcular du según el valor de Mu para viento


Do While Abs[du - du4) > 0.0001
du4 = du
If Mu < = Mcr! 100Then
du = 5 * M c r * ( h * 100) A 2!\48*EmtIg)
Mu=Wu*h"2!8+Pou*exc!200+(Pou+Pwu)*du!1CH3
Else
IfMcr1 100 < MuAndMu <= fiflex*Mnihen
du = 5 * M c r * ( h * 1 0 0 ) ^ 2 / ( 4 8 * E m * l g ) + 5 * ( M ~ * 1 0 0 - M c r ) * ( h * l C H 3 2/[48*Emtlcr)
)~
Mu =Wu*h A 2!8 +Pou*exc/200 -(Pou ~Pwu)*du!100
Else
Msg = " El .momento último excede el vclor reducido del momento nominal, por !o que no se finalizará la
ejecución"
Tit = "Error para momento debido a la carga de viento "
MsgBox Msg, vbCritical + vbOKOnly. Tit
momtext = "No"
End If
End If
Lcnp

End If

'Momento último para cuando rige sismo


If Wu = Wusis Then
Mucl = Poul * exc/ 200 + (Poul 7 Pwul) * dul / 100
Muc2 = Wu*h A 2!8 + Pou2*exc!200 + (Pou2 + Pwu2)*du2/ 100
Muc3 = W u * h 218 -Pou3*exc!200 t[Pou3 +Pwu3)*du3/100

'Iteraciones para calcular du según el valor de Mu para sismo


Do While Abs(du1 - du4) > 0.0001
du4 - dul
If Mucl < = Mcr/ 100Ther-1
dul = 5 * M u c l *(hklOO) 2/(48*Em*ig)
Mucl = Poul * exel200 + [Poul + Pwul) * dul / 100
Else
IfMcr/ 100 < Mucl AndMucl < = fiflex* Mnl Then
dul = 5 * M c r * [ h * 100) A 2/(48*Em*lg)+5*(Mucl * 1 W - M c r ) * ( h * l W )" 2 / ( 4 8 * E m * l c r l )
Mucl = P a i l * exc / 200 + (Poul + Pwul) * dul / 100
Else
If Mucl > fiflex * Mnl Then
lit = " Revisión de momento Último para combinación de carga I"
Msg = " El momento úiiimo excede el \lalot reducido del momento nominal, por lo que no se finalizmá la
ejecución"
Msgbx Msg, vblrlkal + vbOKOniy, lit
momtext = "No"
End If
End lf
End If
LOOP

Do Whiie Abs[&2 - du4) > 0.0001


du4 = du2
If Muc2 < = Mcr / 100 Then
d ~ 2 = 5 * M ~ ~ 2 * ( h * 1"
002/(48*Em*ig)
)
Muc2 = Wu*h " 218 + Pou2 *exc/200 + (Pou2 + Pwu2)*du2/ 100
Else
If Mcr / 100 < Muc2 And Muc2 < = fiflex * Mn2 Then
du2=5*Mcr*[h*100) A 2 / ( 4 8 * ~ r n * i g ) + 5 * ( M u c 2 * 1 0 0 - M c r ) * ( h * 1 0 0 )" 2/(48*Em*IcR)
Muc2 = Wu * h A 218 + Pou2 *exc/200+ (Pou2 + Pwu2)*du2/ 100
Else
If Muc2 > fiflex * Mn2 Then
lit = " Revisión de momento último para combinación de carga II"
Msg = " El momento úiiimo excede el valor reducido del momento nominal, por lo que no se finalizará
la eiecución.'
MsgBox Msg, W M c d + vbOKOnly, lit
momtext = "No"
End If
End If
End If
L ~ P

Do While Ms(du3 - &4! > O 0001


du4 = du3
If Muc3 < = Mcrí 100Then
du3 = 5 * Muc3 * (h * 100) A 2 !(48 * Em * Ig)
Muc3 = W u * h A 2!8 J-Pou3*exc!200 t (Pou3 +PNu3)*du3!100
Else
If Mcr / 100 < Muc3 And Muc3 c = fiflex * Mr13 Then
du3 = 5 * M c r * ( h * 100) A 2/(48*Em*Ig] +5*(Muc3* 100-Mcr)*(h*100)* 2/(48*Em*lcr3)
Muc3=Wuhh A 218 +Pou3*exc/200+(Pou3 +Pwu)*du3/100
Else
If Muc3 3 fiflex * Mn3 Then
Tit = " Revisión de momento último para cmbinación de cGrga N"
Msg = " El momento ÚHimo excede d valor reducido del momento nominal, por lo que no se finalizará
la ejecución'
Msgbx Msg, vbCriticcil + vbOKOniy, Tti
momtext = "No"
End If
End If
End If
LOOP

End If

Revcort

End Sub

Option Explicit
Sub Revcort()

ficort = ficortl

Acod = (larg- 1 - 3 * t) !2 * (esp - 2 * t] + t * 2 * (larg'- 1 - 3 * t) / 2 + 3 * t * esp


Vn = 0.53 * Acort * Sq(frn)

IfCax>O04*fmThen
V=Abs(4!3*Pw*ds/lOC,/[3*h) +w*h!2-Poiexc/h!lOO)
If '4 > ficort * '/n Then
Msg = 'El cortante excede al cortante nominal reducido'
Iit = 'Revisión de cortante"
MsgBox Msg, WKOnly + vbCritical, Tit
coritext = "No"
End If
End If

If Wu = WwYind And Cax < = 0.04 * fm b n


V=Abs(4/3*Pwu*du/100/(3*h)+Wu*h/2-Pou*exc/h!100)
If V > ficort * Vn Then
Msg = "El cortante excede al cortante nominal reducido"
Iit = "Revisiónde cortante"
MsgBox Msg, vbOKOnly + vbcritical, Tit
coritext = "No"
End If
End If

If Wu = Wusis And Cm < = 0.04 * fm Then


V1 =Abs(4/3 * P w l * d u l / 100!(3*h)-Poul *exc!h/100)
V2 = A b s ( 4 / 3 * m i n i 2 * d u 2 ~ 1 0 0 ! ( 3 * h ) + W u * h ! 2 - P o u 2 * e x c l h ! 1 0 0 )
V3 = A b s ( 4 / 3 * ~ w u 3 * c l u 3 ~ 1 0 0 / ( 3 * h ) + W u * h / 2 - P 0 ~ 3 * e x c / h / l O C , )
If V1 > ficort 'V n lhen
Msg = "El cmante calculado a partir de ia combinación I excede al cortante nominal r a A I & b "
Tit = "Revisiónde cortante"
MsgBox Msg, vbOKOnIy - vblritical, Tit
corttexi = "No"
End If
If V2 ficort * Vn Then
Msg = "El cdante calculado a partir de la combinación III excede al cortante nominal reducido"
Tit = "Revisiónde cortante"
MsgBox Msg, W O n i y + vblritical, Tit
corttexi = ' No"
End If
If V3 > ficort * Vn Then
Msg = "El cmante cdculacjo a partir de la combinación IV ~xcedeal cortante nominal reducido"
Tit = "Revisión de cortante"
MsgBox.Msg. WOKOniy + vKntical, Tti
corttext = 'No"
E n d If
End If

Valores

End Sub

Sub Valores()

Sheetsí."Valoresde disef¡o").ViciWe= T r u e
Sheets('Yaloresde dseño").Select

'Llenando la hoja Valotes de Diseño con los valores de diseño suministrados y calculados

Range("Dql)= Famat(numvar,"#O')
0") = Fmcrtfsepvar,"##O.OCY)
RangeUD1
Range("D11")= Fomat(Ast,"##O.##")
Range("D12")= Fmat(fy, "###O.OO#")
RangeMD13")
= Format(Es."#####0.0#")

Range("D14")= aratext
Range("D17")= Fmcrtfccefsim, "0.0##")
Range("D18)= Formd(Fform, :'#O.##")
RangeHD19")'
= FmcrtfFimport."#O.##")

Range("D20')= Fmat(fifiex,"#0.0##")
Range("D2lU)
= F m c r t f k o r t , "#0.0##")

Range("D22")= Fomat(rob,"#0.0####")
RangeUD23")
= Fmatfrogmax '#0.0####")

Range("D24")= Formcrt(rogmin, "#0.0####")


Range("D2Y)= Fmcrtfcuanlrnin,"#0.0## ##")
RangeUD2ó")
= Fomat(n, "#0.0#")

Range("D27")= Fmcrtfb, "#0.0#")


Range("JT)= Format(larg, "##0.0#:')
Range("J10")= Fo¡lnd(e~p,
"##0.0#")
Range("J1l") = FonnNt, "##@.O#")
Range('Kl4")= Formcrt!h, '##O.O#")
Range("K1S") = Fmd(esprep, "##@.O#")
RangeVK1
6") = Fomut(Pr,"#####@.O#")
Range("K17")= Fomd(gamrnam, "#####0.0#")
Range("K18")= Fmat(Fw, "#####0.0#")
Range("K1Y) = FomdifPo. "#####O,@#")
Range("K20")= Fmat(exc, "###0.0#")
Range("K21")= Fomat(frn, "#000.0#")
Range"K22")= Format(Em,"####000.0#")
Range("K23")= Fmdiffr, "##0.0#")
Range("K24")= lnspetext
Range("K25")= zonatext
Rancle("K'26")= llenatext
Range("K27")= Fmdiflg, "#####000.0#")
Range("K28")= Fomcrt(Ag, "####00.0#")
Range("K2Y)= Fomat[rog, ;'#0.0####")
").Selec?
Range("A1

If Wu = Wusis And Cax > 0.04 * hThen


Se~cioSismo
End If

If WU = W~isisAnd Cm < = 0.04 * fm Then


UltimoSismo
End If

If Wu = Wwlnnd And Cax > 0.04 * ím Then


SeMcioViento
End If

If Wu = Wuwind And C m < = 0.04 * fm Then


UltimoViento
End If

End Sub
Sub ServicioSismo[)

If Wu = Wusis .And Cm > 0.04 * frn And Cm (= 0.2 * fm lhen


Sheets("ResultadosServicio Sismou).Visible= True
Sheets("ResultadosSeMcio Sismo").Wect

'Llenando la hoja Servicio Sismo

Range("D5)= Forrnat(O.04* frn, "#0,0##")


Range("D7")= Format(Cm, "#0.0##")
Range("D9")= Format(0.2* frn, "#0.0##")
Range("L5")= Fomut[Po, "## ##0.0##")
Range("L6")= Fomat[Pw, "####0.0##")
Range("L7")= Fomcrtfd. "#0.0##")
Range(L8")= Fomat(Mcr/ 100. "####O.O##")
Range('H12")= Fomcrt[Ase,"####0.0##")
Range("H13")= Fmat(a, "#O.O##")
Range("H14")= Formut(c, "#0.0##")
Ran@("H1 S") = Formcft[lcr, '#####0.0##")
Range("H16")= Fomd(dsrnax* 1 00, "#o.o###")
Range("H17")= FotmcrtfMser, "#####0.0##")
Range("H18")= Fomut(ds,"#0.0###")
Range("l2lM]
= Format(Ac&, "##0.0##")

Range("122")= Format(Vn, "#####0.0##")


Range("123")= Format(ficort * Vn, "#####0.0##")
Range("124")= Formaw, "#####0.0##")

Sheets("RevisionesSeMcio Sismou).Visible= True


'Llenando la hoja Revisiones Se~cio
Sismo
Sheets("RevisionesServicio Sismo").Sdect
Range("M5")= robtext
Range('Mó") = rornaxtext
Range(M7")= rornintex-t
Range('M8")= rornintertext
Range("MQ)= eiastmaxtext
Range("M10')= elastrnintext
Rang@"M
11") = roirnintext
Range("M12") = roirncixpartext
Range("M13")= rotmaxtottext
Range("M14'9 = compretexi
Range("M15)= m t e x t
Range("M16") = deftext
Range("M17") = c&xt
RangaMAl
").Select

End If
End
End Sub

Sub WtimoSisrno()
If Wu = WusisAndCax 0.04 * fm kten
Sh&["Resultados Últirno Sismo").WsiWe= True
Sheets["Resultados Último Sismo").Setect

'Llenando la hoja Último Sismo


Range("D5')= Format(0.04 * fm, "#O.O##")
Range("D7")= Format(Cax, "#0.0##")
= F m t ( 0 . 2 * fm, "#0.0##")
RangeND9")
Range("M5")= Formut(Wu, "###0.0##")
Range("Mó")= Format(Po, "####0.0##")
Range("M7")= Fonnat(Pw, "####0.0##")
Range("M8")= Forma-t(d,"#OSO##")
Range("M9")= Format(Mcr/ 100, "####O.O##')
Range("G12")= Fmat(Pou1, "####0.0##")
Range("G13")= Fomat(Pni1,"####0.0##")
Range("G14")= FormatfPu1, "####0.0##")
Range("G18)= Format(Ase1,"####0.0##")
Range("G16")= Fcfmcrtfal, "#0.0##")
.
Range"G17")= Fcfmcrtfcl "#0.0##")
Range("G18")= Fmcrtflcrl,"#####0.0##")
Range("G19")= Fomat(Mn1, "#####O.O##")
Range("G2CT')= Fomat(fiflex * Mnl , .'#####0.0##"]
Range("G2lU)
= Fmat(Muc1, "#####OSO##")

Range('G32")= Fmcrt(du1,"##0.0####")
Range("ll2")= Format(Pou2, "####0.0##")
Range("ll3")= Format(Pwu2, "####0.0##")
Range(',ll4')
= Format(Pu2,"####0.0##")

Range'l15)= Format(Ase2,"####0.0##")
Range("l1
6 ) = Famat(a2. "#0.0##")
Range("ll7")= Format(c2. "#0.0##")
Range("ll8")= Format(lcr2, "## ###0.0##")
Range(ll9) = Format(Mn2, "#####0.0##")
= Formaiffiflex* Mn2, "#####0.0##")
RangeM120')
Range("l21")= Format(Muc2,"#####0.0##")
Range("122")= Famafidu2, "##0.0####")
Range("K12")= Fmat(Pou3. "####0.0##")
Range("K13")= Fmat(Pwu3,"####0.0##")
Range("K14")= Formcrt(Pu3," # # ##O.O##")
Range("K15")= Fmat(Ase3, " ####0.0##")
Range("K16")= Fmcrt(a3, "#0,0##")
Range("K17")= Fmat(c3, "#0.0##")
RangqMK18")
= Fmat(lcr3, "#####0.0##")

Range("K19")= Fmat(Mn3."#####0.0##")
Range("K20')= Formut(fiflex * Mn3, "#####0.0##")
Range("K21")= Fmat(Muc3, "#####0.0##")
Range("K22")= Fmcrt(du3, "##0.0####")
RangeMG2C)
= Format(V1, "####0.0#")

RangeU124")
= Format(V2,"####0.0#")

Range("K24")= Format(V3, "####0.0#")


Range(T-2Y)= Format(Acort,"####0.0#")
Range("F26")= Fmcrt(Vn,"####0.0#")
Range("F27")= Fmat(ficort * Vn, "####0.0#")

Sheets("RevisionesÚltimo Sismo.').\/isible= True


'Llenando la t q a Revisiones Último Sismo
Sheets("RevisionesÚltimo Sismo").Select
Range("M5)= robtext
Range("Mó")= romaxtext
Range("M7")= romintext
Range("M8")= romintertext
Range("MQ)= dastrnaxiext
Range("M10') = dastmintext
Range("M1 1' ) = rotmintext
Range("M12") = rotrnaxpartext
Ranm 'M13") = rotmaxtottext
Range("M14")= compretext
Range('M15") = morntext
Range("M1
ó") = codtext
RangefNAl
").Select

End If
End
End Sub

Option Expicit

Sub CeMcioViento()

If Wu = Wuwind AndCax > 0.04 * hAndCax < = 0.2 * fm lhen


Sheets("ResuttadosS~PACK) \íientou).Visible= Tnie
Sheets("ResultodosServicio VientoU).Select

'Llenando la hoja SeMcio Viento


Range("D5)= Format(0.04* fm, "#0.0##")
Range("D7")= Forrnat(Cax, "#0.0##")
Range("D9')= Format(0.2* frn, "#0.0##")
Range("L5")= Fmat(Po, "####0.0##")
RangeULó")
= Fmat(Pw,"####0.0##")

Range"L7")= Fomat(d,"#0.0##")
= Fmat(Mcr / 1M), "####0.0##")
RanW1L8")
Range("H12")'
= Fmat(qbasic,"####0.0##)

Range("H1 3") = Fmat[Ase, "####0.0##")


Range("H14")= Fomat(a, "#O.O##")
RanW1H1
S") = Fmat(c, "#0.0##")
Range("H16")= Fomat(icr, "#####O.O##)
Rangs'H17')= Format(dsmax* 100, "#0.0###")
Range("H18")= FmqMser, "#####0.0##")
Range("H19")= Fomat(ds,"#0.0###")
RangeU122")
= Forrnat(Acort."##0.0##")
Range("12.3') = FormaifVn, "#####0.0##")
Range("l24")= Forrnaflficort * Vn, ':#####0.0##')
Range("125")= Formaw, " # # # ##0.0##")

Sheets("Revisi0nesServicio Viento").Visibie= True


'Llenando la hoja Revisiones SeMcio Wento
Sheets("RevisionesServicio Vientofl).Seiect
Range("M5")= robtext
RangeCMó")= romaxtext
Range("M7")= romintext
Range("M8")= romintertexi
Range("MQ)= eiastmmtexi
Range("M10 ) = eiasímintexi
Range("M11 ") = rotmintext
Range("M12") = rotmaxpartext
RangeUM13")
= rotmaxtotiext

Range("M14")= compretexi
Range("M15") - momtext
-
Range("Ml6) deftext
Range("M17")= cotttext
Range(AlU).Se!ect
End If
End
End Sub

Option Explicit

Sub üHimoViento()
If Wu = WcMiind And Cax < 0.04 * fm Then
Sheets("ResultadocÚltimo L'iento').Visible = True
Sheets["ResultadosÚltimo WentoU).Seiect

'Llenando la hoja último Viento


Range("D5)= Format(0.04* fin. "#0.0##")
Range("D7")= Format(Cax,"#0.0##")
Range("D9)= Format(0.2* fm, "#0.0##")
Range("M5")= Forrnat(Wu,"###0.0##")
Range("Mó")= Format(Po,"####0.0##")
Range("M7")= Format(Pw, "####0.0##")
Ronge( M%")- F m d ( d , "#O O# # ]
Range( M9") = Forrnut(McrI 100, " # # # # O O##")
Range( H12") - F m ~ q k x r s c".# Y # #O O# K " )
Range! H13") = Formut(Pou, # # # # O O## )
Rangq H14") Form@h~,# # # # O O##')
Rangef H15") - Fomat(Pu," # # # # O O # # )
" # # # # O O##"]
Range( H14")= F@mat(Ase,
Range( HIT) = Fomcrt(a,"#O O # # )
Range("Hi8")- Fmat[c, #O O##")
Rangq'H19"j = F m c r t ( i c r , # # # # # O O##")
Range( H20")= ForrncrtfMn, "#####O O##')
= Fomd(fiflex* Mn, "#####O
Range("H21M) O##")
Range( H22") = Format(Mu,"#####O O#)
Range('H23")= Fortncrlfdu, ##O O # # # P )
Range('127 ) = FomAcort, " # # # # O O#")
Range('l28) - FormaffVn, # # # # # O O#")
Range( 129 ) = Formaqficort * Vn, ' # # # # # O O#'')
Range( 130 ) - FormaijV, " # # # # # O O#')

Sheets("ReslsronesÚlhmo ?'ien:o"! Visible = True


'Llenando la hola Re~~siones
íiitlrr,o Viento
Sheets("ReusionesÚlhmo Went~")
Seiecf
Range( M5") - robtext
Ranga'Mó") - romaxtext
Ranw M7")= romintext
Range( M8") - romintertext
Range( MB") = ebstmcudexi
Range( M 1O ) - eiastmintext
Range( M11 ) = rotmintext
Range( M 12 ) = rotmcrxpcxtext
Range( M13 ) = rotmaAtotiext
Ranga M14 ) = comptetext
Rangs( M1 5 ) = momtext
Range( M16 ) = corttext
RangH'A l ") Select
Fnd If
End
End Sub

También podría gustarte