UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO.
FACULTAD DE INGENÍERIA CIVIL, SISTEMAS Y ARQUITECTURA.
ESCUELA PROFESIONAL DE INGENIERÍA CIVIL.
TESIS
“PROGRAMA EN VISUAL BASIC APLICADO AL DISEÑO DE
ESTRUCTURAS APORTICADAS DE CONCRETO ARMADO
UTILIZANDO EL MÉTODO MATRICIAL”.
Para Optar el Título de:
INGENIERO CIVIL.
RESPONSABLES: [Link] SILVA ROBERTO CARLOS.
Bach. GUEVARA NÚÑEZ MANUEL ANTONIO.
PATROCINADOR: ING. JUAN HERMAN FARÍAS FEIJOO.
FECHA : DICIEMBRE, DEL 2004
DEDICATORIA
A José Luis, quien desde el
cielo Observa con paciencia
el trabajo De los hombres,
especialmente de Sus padres
Manuel y Eliana. Sé Que
sólo espera la llegada de
nosotros luego de una
transformación radical, Aún
así dedico este pequeño
trabajo Material, buscando
con anhelo la Superación
personal total.
A mi paciente esposa Eliana,
que supo comprender las horas
de trabajo dedicadas a este
proyecto, por las cuales no
pude estar
Junto a ella, y a todas las
personas que me exigieron
acelerar el presente trabajo, que
sin sus
críticas hubieran durado más
tiempo.
A mis Padres Glicerio
Guevara y Maximila Núñez,
quienes me han apoyado hasta
ahora en toda acción que he
emprendido, quienes esperan
mucho de sus hijos como personas
y como profesionales.
Manuel Antonio.
A dios por ser siempre el amigo
que me da fuerza para seguir
adelante, iluminándome y
guiándome por el camino del
bien.
A mis padres José Roberto y Melania
Socorro por haber sido los principales
pilares para mi formación Profesional y
Personal, por haber estado siempre
conmigo, por quererme, comprenderme,
tenerme paciencia y haber confiado
siempre en mí.
A mi hermano: José luis a quien le
agradesco por haber creído en mí, y con
su apoyo espiritual aimpre ha estado
presente conmigo.
Roberto Carlos
AGRADECIMIENTO
- A Dios por estar siempre con nosotros y nunca desampararnos.
- A nuestro Patrocinador, Ing° Juan Hermán Farías Feijoo, a quien
estamos bastante agradecidos por sus enseñanzas que nos ha dado
durante nuestra carrera y por su constante apoyo en la realización
del presente Proyecto.
- A los miembros del jurado por permitir que se haga realidad el
presente proyecto de tesis.
- A nuestros padres, por su constante apoyo en el tiempo de ejecución
del presente proyecto.
- A nuestro amigo Miguel Mejía Correa, por sus desinteresadas
sugerencias en el LENGUAJE DE PROGRAMACIÓN VISUAL C++
ÍNDICE.
INTRODUCCIÓN.
CAPÍTULO I: GENERALIDADES.
1.1 Formulación del problema.
1.2 Objetivos del Proyecto.
1.2.1 Objetivos Generales:
1.2.2 Objetivos Específicos.
1.3 Antecedentes.
1.4 Importancia del proyecto.
1.5 Descripción del proyecto.
1.6 Justificación del proyecto.
1.7 Hipótesis.
1.8 Conccuencias Lógicas.
1.9 Operacionalización de variables.
CAPÍTULO II : MARCO TEÓRICO.
2.1 Diseño sismo resistente.
2.1.1 Filosofía y Principios del diseño Sismorresistente.
2.1.2 Parámetros de sitio.
2.1.3 Requisitos generales.
2.1.4 Análisis de edificios.
[Link] Análisis estático.
[Link] Análisis dinámico.
[Link] Sistema con un grado de libertad.
[Link] Respuestas a excitaciones dinámicas generales.
[Link] Propiedad de ortogonalidad de los modos normales.
[Link] Matriz de rigidez pórticos espaciales.
[Link] Propiedades de ortogonalidad de modos normales.
[Link] Desplazamientos relativos máximos.
2.2 Análisis sistemático de estructuras.
2.2.1 Análisis matricial de edificios.
[Link] Combinación Modal.
2.2.2 Sistema de coordenadas.
[Link] Sistemas particulares de coordenadas.
[Link] Geometría de la estructura.
[Link] Materiales.
[Link].1 Cuantificación de las propiedades mecánicas.
2.2.3 Vector fuerza o vector de carga.
2.2.4 Vector desplazamiento.
2.2.5 Grados de libertad.
2.2.5.1Condiciones de contorno de corrimiento.
[Link] Grados de libertad de corrimiento de un punto.
[Link] Descripción de la respuesta estructural.
[Link] Cantidades que describen la respuesta.
[Link] Métodos para calcular la respuesta.
2.2.6 Pórticos espaciales.
2.2.7 Matriz de transformación de desplazamiento.
2.2.8 Matriz de transformación de fuerzas.
2.2.9 Método dinámico.
[Link] Condensación estática.
[Link] Condensación estática aplicada a los momentos
dinámicos.
2.3 Diseño de estructuras en concreto armado.
2.3.1 Materiales.
[Link] Concreto.
[Link].1 Esfuerzos de compresión.
[Link].2 Esfuerzos de tensión en el concreto.
[Link].3 Efectos del tiempo en el concreto endurecido.
[Link] Acero de refuerzo.
2.3.2 Análisis y diseño por flexión.
[Link] Hipótesis de diseño.
[Link] Disposiciones Especiales para Elementos Resistentes a
Fuerzas de Sismo.
[Link] Refuerzo Máximo en Elementos Sujetos a Flexión.
[Link] Refuerzo mínimo en Elementos Sujetos a Flexión.
[Link] Distancia entre Apoyos Laterales de Elementos Sujetos
a Flexión (pandeo lateral)
[Link] Distribución del Refuerzo por Flexión en Vigas y
Losas en una Dirección, Control de Fisuración.
2.3.3 Diseño de escaleras.
2.3.4 Evaluación del ancho de las grietas.
2.3.5 Diseño por fuerza cortante y Torsión.
[Link] Resistencia al cortante.
[Link] Contribución del concreto en la resistencia al corte.
[Link] Contribución del refuerzo en la resistencia al corte.
[Link] Límites del espaciamiento del refuerzo por corte.
[Link] Resistencia a la torsión y corte combinados para
elementos de sección rectangular o en forma T.
[Link] Resistencia a la Torsión.
[Link] Resistencia del concreto.
[Link] Resistencia del refuerzo.
[Link] Cortante por Fricción
2.3.6 Columnas.
[Link] Flexocompresion.
[Link] Flexión Biaxial.
[Link] 1 Efectos de Esbeltez de Elementos a
compresión.
[Link].2. Efectos Globales de esbeltez.
[Link].3. Efectos de esbeltez para elementos en
flexión.
[Link] Elementos en flexocompresión.
2.3.7 Muros estructurales.
2.3.8 Análisis y diseño de losas.
[Link] Losa aligerada.
2.3.9 Análisis y diseño de cimentaciones.
[Link] Zapata aislada.
[Link] Zapata excéntrica.
[Link] Zapata combinada.
[Link] Zapata conectada.
[Link] Platea de cimentación.
CAPÍTULO III: INTRODUCCIÓN AL PROGRAMA.
3.1 Generalidades del Programa.
3.1.1 Datos generales.
[Link] Creadores del programa.
[Link] Campos de aplicación.
[Link] Instalación.
[Link] Equipo Mínimo Requerido.
3.1.2 Manual de Uso.
[Link] Estructuración del programa.
[Link] Entorno del programa.
[Link] Acceso al programa.
[Link] Descripción de la interfaz del usuario.
[Link].1 Menú.
[Link] Pasos a seguir en un diseño.
[Link].1 Acceder al programa.
[Link].2 Crear una aplicación.
3.2 Visual Basic.
3.2.1 Visual Basic 6.0
3.2.2 Entorno del Visual Basic 6.0
[Link] Barra de menús y las barras de herramientas.
[Link] Herramientas (toolbox).
[Link] Formularios (FORMS) y módulos.
[Link] Ventana de un proyecto.
[Link] Ventana De Propiedades (PROPERTIES)
[Link] Creación de Programas Ejecutables
[Link] Como utilizar la ayuda.
[Link] Utilización del Code Editor.
[Link] Utilización del Debugger
[Link].1 Ejecución controlada de un programa
[Link].2 Ventanas Immediate, Locals y Watches
[Link].3 Otras posibilidades del Debugger
3.2.3 Lenguaje Basic
[Link] Ámbito de las variables y los procedimientos.
[Link].1 Variables y funciones de ámbito local.
[Link].2 Variables y funciones de ámbito global
[Link] Variables.
[Link].1 Identificadores.
[Link].2 Variables y constantes.
[Link].3 Nombres de variables.
[Link].4 Tipos de datos.
[Link].5 Elección del tipo de una variable.
[Link].6 Declaración explícita de variables.
[Link] Operadores.
[Link] Sentencias de Control.
[Link].1 Sentencia IF ... THEN ... ELSE ...
[Link].2 Sentencia SELECT CASE.
[Link].3 Sentencia FOR ... NEXT.
[Link].4 Sentencia DO ... LOOP.
[Link].5 Sentencia WHILE … WEND.
[Link].6 Sentencia FOR EACH ... NEXT.
[Link] Algoritmos.
[Link] Funciones y Procedimientos.
[Link].1 Funciones (function)
[Link].2 Procedimientos Sub.
[Link] Arrays.
[Link].1 Arrays estáticos.
[Link].2 Arrays dinámicos.
[Link] Estructuras: Sentencia Type.
[Link] Funciones Matemáticas.
[Link] Eventos, Propiedades y Controles.
[Link].1 Eventos.
[Link] Algunas Propiedades Comunes a Varios Controles.
[Link] Controles más Usuales.
[Link].1 Botón de comando (Command Button).
[Link].2 Botones de opción (Option Button)
[Link].3 Botones de selección (Check Box)
[Link].4 Barras de desplazamiento (Scroll Bars)
[Link].5 Etiquetas (Labels)
[Link].6 Cajas de texto (Text Box)
[Link].7 Listas (List Box)
[Link].8 Cajas combinadas (ComboBox)
[Link].9 Controles relacionados con ficheros.
[Link].10 Control Timer
[Link].11 Print Dialog Control.
[Link].12 Color Dialog Control.
[Link].13 Apertura de controles en forma modal.
[Link].14 Arrays de Controles.
[Link] Menús.
[Link] Editor de Menús (Menu Editor).
[Link] Añadir Código a los Menús.
[Link] Arrays de Menús.
[Link] Representación hexadecimal de los colores.
[Link] Función RGB.
[Link] Controles Gráficos.
[Link] Método Print.
[Link] Sistemas de Coordenadas.
[Link] Barras de Herramientas (Toolbars)
[Link] Utilización de Impresoras.
[Link].1 Método PrintForm.
[Link].2 Objeto Printer.
[Link].3 Tipos de Ficheros.
[Link].4 Lectura y Escritura en Ficheros
Secuenciales.
[Link].5 Lectura y escritura de datos.
[Link].6 Ficheros de Acceso Aleatorio.
[Link] Números Enteros.
[Link] Números Reales.
[Link].1 Variables tipo Single.
[Link].2 Variables tipo Double.
3.3 Requisitos para su uso.
3.4 Características del programa creado.
3.5 Código del programa.
CAPÍTULO IV: APLICACIÓN PRÁCTICA.
4.1 Aplicación en un edificio en el cual no se han considerado muros
estructurales.
4.2 Aplicación en un edificio con muros estructurales.
CAPÍTULO V: CONCLUSIONES Y RECOMENDACIONES.
BIBLIOGRAFÍA.
PRÓLOGO
El Presente proyecto se ha desarrollado bajo los lineamientos del
anteproyecto de Tésis “PROGRAMA EN VISUAL BASIC APLICADO AL
DISEÑO DE ESTRUCTURAS APORTICADAS DE CONCRETO ARMADO
UTILIZANDO EL MÉTODO MATRICIAL”, el cual lo elaboramos con la finalidad
de crear un software que en su código refleje las Normas Peruanas de Estructuras, asi
como también resuelva problemas generales de los cursos de Resistencia de
Materiales, Análisis Estructural y Concreto Armado, abarcando gran parte de los
conocimientos impartidos en La Facultad de Ingeniería Civil Sistemas y Arquitectura
de la Universidad Nacional Pedro Ruiz Gallo.
Para la elaboración de la presente Tesis, los autores han deducido la matriz de
Rigidez, considerando las deformaciones de flexión, cortante, torsor y axial
mediante la aplicación de los trabajos virtuales, asi como también la matriz de
transformación de coordenadas mediante geometría analítica, a parte de esto también
se dedujeron el vector de fijaciones para todos los tipos de cargas que presenta el
software. Nosotros hemos convenido en colocar solo los resultados de la deducción,
ya que la presente es una tesis aplicativa y solo interesa las fórmulas que estamos
utilizando, además de que el lector puede corroborar nuestros resultados con la
diferente bibliografía al respecto.
La presente Tesis lo hemos estructurado de la siguiente manera: El Primer
capítulo Generalidades contiene la formulación del problema, los objetivos
perseguidos, la importancia y justificación de la investigación, asi también la
hipótesis , consecuencias lógicas y operacionalización de variables, teniendo en
cuenta que es una investigación aplicativa.
En el Segundo capítulo está el marco Teórico en el cual se fundamenta la
tesis, de manera especial el diseño sismorresistente y el análisis sistemático de
estructuras .También se muestra parte de las NPE en especial la norma E -030 y
E- 060 referida al diseño sismorresistente y concreto armado [Link]
mencionar También que aquí se muestra como se realiza un análisis modal espectral
considerando el espectro de aceleraciones de las NPE.
El Tercer capítulo es una introducción al programa, sus alcances y
limitaciones. Su utilización se ve mediante la aplicación de dos ejemplos prácticos.
También mostramos buena parte de los aspectos prácticos de programación en Visual
Basic 6.0 de manera tal que el lector pueda aprender de manera rápida y sencilla y
pueda ampliar el presente software.
El Quinto capítulo muestra las conclusiones y recomendaciones arribadas
luego de realizar la presente investigación y al final se muestra la Bibliografía
utilizada para la realización del presente estudio.
Esperamos que la presente tesis sea de su agrado y colme las expectativas en
los rubros de los cuales hemos tratado y sirva de base para la realización de
investigaciones futuras, ya que somos conscientes que el programa puede ampliarse
mucho más y en un futuro pueda tenerse un gran programa comercial.
Como en todo trabajo sabemos que hay errores y el nuestro no creemos que
sea la excepción y mucho más cuando es la primera versión. De ser asi, se pide a los
usuarios, hacer llegar a las direcciones indicadas en el programa y aprenderemos
mucho de ustedes.
LOS AUTORES.
INTRODUCCIÓN.
La aparición de nuevas materias en los programas de Ingeniería Civil, en
especial las relacionadas con la informática y el empleo cada vez mayor de los
microcomputadores en el ejercicio profesional son algunos de los problemas que
enfrenta hoy en día la enseñanza de la ingeniería estructural.
La información que se obtiene del mercado laboral es contradictoria: en
ocasiones se rechazan excelentes profesionales por no tener un amplio conocimiento
de los computadores y en otras se oye la queja que los recién egresados no pueden
hacer nada sino tienen un computador a su disposición. Esto mismo ocurre en otras
latitudes, hay quienes claman por más ciencia en ingeniería mientras otros reclaman
que no se le da suficiente importancia a los aspectos prácticos del diseño. Hay una
preocupación suficiente sobre como se debe enseñar Ingeniería estructural
.Naturalmente no se puede generalizar; es bien sabido que todo extremo es vicioso y
para la formación de las nuevas generaciones debe buscarse un balance óptimo para
el beneficio de nuestra patria.
El análisis matricial de estructuras de barras constituye, dentro del mundo
estructural, una referencia en base a la cual se plantean la mayoría de condiciones de
equilibrio de los entramados resistentes, fundamentalmente mediante el uso de
ordenador. El presente trabajo pretende poner al alcance del técnico y del estudiante
los recursos y las bases teóricas que permiten su aplicación tanto en situaciones
usuales como en otras más complejas.
El avance de las técnicas informáticas en los últimos años ha provocado un
aumento de la capacidad de cálculo de los ordenadores. El desarrollo continuado del
hardware y del software permite hoy en día el análisis de estructuras de gran tamaño
y/o complejidad, impensable hace unos pocos años. En el campo del Análisis de
Estructuras los métodos matriciales son muy adecuados para su implementación en
programas de ordenador debido al carácter sistemático que presentan.
El análisis de la respuesta de construcciones sometidas a las acciones de
impactos en general y de sismos en particular requiere una evaluación de su
comportamiento dinámico. La cuestión es por demás compleja en los casos reales.
Por un lado se tiene la realidad de la construcción misma, que pocas veces admite la
representación con modelos teóricos suficientemente sencillos como para que el
análisis sea posible con los medios disponibles.
Por el otro se tiene la complejidad de la excitación que en el caso de impactos
o de sismos es de características caóticas, tanto en lo que se refiere a la evolución de
la acción en el tiempo como en lo que se refiere a la intensidad máxima que la misma
puede tener y que tampoco admite esquematizaciones teóricas sencillas.
El advenimiento de las computadoras de escritorio (las PC cada vez más
poderosas) al mundo del trabajo profesional diario sumado al desarrollo de
programas con posibilidades de modelación cada vez más avanzadas, que llegan al
asombro, parecería que permite eliminar las dificultades antes mencionadas. Sin
embargo no es así. Las computadoras y los programas sólo descargan al usuario de la
tarea del trabajo rutinario de cálculo, pero dejan intacta la tarea de representar la
construcción y las acciones con un modelo teórico confiable y la tarea aún más
exigente de interpretar los resultados del análisis que eventualmente puede llevar
pocos segundos a la máquina. La masa de resultados suele ser imponente y al
profesional desprevenido puede resultarle muy difícil manejarla adecuadamente.
CAPÍTULO I
GENERALIDADES.
1.1 Formulación del problema.
¿De qué manera en el análisis matricial de estructuras, podemos considerar
parámetros, fuerza axial, cortante, momento flexionante, momento torsor y
aplicarlas a un diseño estructural de pórticos espaciales, utilizando Lenguaje de
Programación Visual Basic?
1.2 Objetivos del Proyecto.
1.2.1 Objetivos Generales:
El objetivo del presente proyecto es la creación de un programa en Visual
Basic que haga posible el diseño de estructuras aporticadas de concreto
armado utilizando el método matricial para cargas verticales y horizontales
logrando de esta manera un diseño eficiente.
1.2.2 Objetivos Específicos.
Aplicar el programa a diseños que tengan en cuenta el trabajo conjunto de los
elementos estructurales, analizados espacialmente y no como pórticos planos
utilizando el método matricial.
Ofrecer un programa a los profesionales y estudiantes de ingeniería civil, con
la finalidad de agilizar los cálculos correspondientes a la resolución de
pórticos espaciales.
Hacer un software manejable a nuestra realidad y que sirva de base para
futuros trabajos de investigación de la Universidad Nacional Pedro Ruiz
Gallo.
1.3 Antecedentes.
En el año 1944, un equipo de investigadores dirigido por el profesor Howard
Aiken terminó de construir la primera computadora, que recibió el nombre de
MARK I. Una computadora es una máquina automática especializada en el
tratamiento de la información y capaz de realizar rápidamente trabajos para los que
sería necesario emplear a muchas personas durante mucho tiempo.
La popularización de las computadoras se produjo en la década de los
ochenta, cuando se empezaron a comercializar con gran éxito las computadoras
personales. Actualmente, el 80 % de los habitantes de los países desarrollados utiliza
computadoras en sus centros de trabajo, y muchos de ellos también disponen de
computadoras en su hogar.
Es importante recalcar que la computadora ha facilitado el trabajo del
ingeniero mediante la utilización de software. Anteriormente el ingeniero tenía que
resolver muchos cálculos numéricos y haciendo suposición que simplifiquen e
problema despreciando ciertas variables, que en ciertas ocasiones llevaron a malos
diseños.
Actualmente podemos crear software que nos facilite considerar mas
parámetros, por tanto se podrá obtener mejores resultados.
Puesto que en muestro medio no abunda el uso y creación de software
aplicados a la ingeniería civil y que utilice en su algoritmo las normas peruanas de
estructuras en concreto armado, es necesario crear un software que nos permita
resolver cierto tipo de estructuras.
1.4 Importancia del proyecto.
El proyecto es importante porque permitirá realizar el modelaje de estructuras
con mayor facilidad, ahorrando dinero y tiempo en su análisis y diseño logrando
finalmente su eventual optimización.
Con el presente programa se pretende proporcionar una herramienta que
mediante textos, modos gráficos de alta calidad y, principalmente, diagramas de
momentos flectores, torsores o cortantes, desplazamientos modales que nos faciliten
el diseño en concreto armado: de vigas, columnas, cimentaciones, losas aligeradas,
escaleras, mediante el método tridimensional, ya sea estático ó dinámico, y
considerando las normas existentes (NORMA E-020 CARGAS, NORMA E-030
DISEÑO SISMORESISTENTE, NORMA E-060 CONCRETO ARMADO,
NORMA E - 050 SUELOS Y CIMENTACIONES).
Adicionalmente y tal como se ilustrará con los ejemplos expuestos en la presente
tesis se proporciona una herramienta de análisis para los siguientes casos:
- Análisis tridimensional de pórticos de concreto armado (Método Estático).
- Análisis tridimensional de pórticos de concreto armado (Método Dinámico).
- Verificación de momentos, flectores, torsores o cortantes para los distintos tipos
de cargas, combinaciones, y en caso del método dinámico para los distintos
modos de vibración).
- Análisis y diseño de vigas.
- Análisis y diseño de columnas.
- Análisis y diseño de placas.
- Diseño y dimensionamiento de zapatas aisladas.
- Diseño y dimensionamiento de zapatas excéntricas.
- Diseño y dimensionamiento de zapatas combinadas.
- Diseño y dimensionamiento de zapatas conectadas.
- Diseño y dimensionamiento de losas de cimentación.
- Diseño y dimensionamiento de escaleras.
- Diseño y dimensionamiento de losas aligeradas.
1.5 Descripción del proyecto.
La presente Tesis “Programa en Visual Basic aplicado al diseño de
estructuras aporticadas de concreto armado utilizando el método matricial”,
consiste en la creación de un Software en lenguaje de programación Visual Basic 6.0
.Con la finalidad que el usuario pueda familiarizarse de una manera rápida, el
presente software trabaja en un ambiente Windows para el cual se tiene una
visualización espacial del pórtico lo cual nos da una idea más real de lo que se está
diseñado.
El programa está confeccionado para el análisis y diseño de pórticos
espaciales de concreto armado empleando el método de la Rigidez, para varios tipos
de carga y combinaciones, realizando un análisis estático y dinámico modal
espectral. La ensamblada lo realiza por el método directo y la resolución por el
método de Gauss, teniendo en cuenta el método de la matriz bandeada, para darle
mayor rapidez en los cálculos. El análisis Modal Espectral lo realiza considerando
masas concentradas en los nudos de la estructura, ensamblando la matriz de Masa
con el mismo método de la matriz de Rigidez, luego realiza la condensación estática
de ambas matrices para reducir grados de Libertad y determinar los modos de
Vibración en la matriz reducida.
El espectro utilizado es el de las Norma Peruana de Estructuras. Para la salida
de resultados se han creado formularios que presentan de modo gráfico los axiales,
cortantes, momentos y torsores a lo largo de todas las barras, indicándonos su valor
en cualquier posición y además su valor máximo y la posición en la cual se
encuentra. También muestra los desplazamientos nodales para todas las cargas que se
han ingresado. Posteriormente realiza el diseño de los elementos de concreto armado,
mostrando en líneas azules los elementos que no cumplen los requisitos de cuantía.
Haciendo clic derecho previa selección de algún elemento nos muestra el área de
acero que requiere tal elemento. El Programa también permite la impresión de las
áreas de acero de todos los elementos, además de otras características.
1.6 Justificación del proyecto.
Debido a que en la Estructura Curricular se enseñan diseños provenientes de
una resolución de pórticos planos, pensamos que realizándolo de manera espacial
introduciendo las deformaciones por fuerza axial, cortante, momento flexionante,
momento flector , los diseños serian más reales ya que se tendrían en cuenta más
variables y mucho mejor sería si se plasma en un programa genérico que resuelva las
estructuras .Este es el motivo por el cual se creará el “Programa en Visual Basic
aplicado al diseño de estructuras aporticadas de concreto armado utilizando el
método matricial de la Rigidez”.
1.8 Hipótesis:
La creación del programa en Visual Basic aplicado al diseño de estructuras
aporticadas de concreto armado utilizando el método matricial facilitará mejores
diseños, rápidos y eficientes debido a que este se desarrolla en el entorno Windows.
1.9 Consecuencias Lógicas:
La consecuencia lógica de verificarse la hipótesis es que se incentivará a los
estudiantes de ingeniería civil a la utilización, creación de software y podrá ser
utilizado como herramienta de consulta para sus fines académicos.
1.10 Operacionalización De Variables:
El grado de eficiencia del programa se puede operacionalizar verificándolo en
problemas ya resueltos en las distintas literaturas existentes .Pero una verificación
exacta puede darse en el futuro, cuando se concrete un diseño con el programa.
CAPÍTULO II
MARCO TEÓRICO
2.1 Diseño sismo resistente.
2.1.1 Filosofía y Principios del diseño Sismorresistente.
La filosofía del diseño sismo resistente consiste en:
a) Evitar perdidas de vidas.
b) Asegurar la continuidad de servicios básicos.
c) Minimizar los daños a la propiedad.
Se reconoce que dar protección completa frente a todos los sismos no es
técnica ni económicamente factible para la mayoría d las estructuras. En
concordancia con tal filosofía se establecen en esta Norma los siguientes
principios para el diseño:
a) La estructura no debería de colapsar, ni causar daños graves a las personas
debido a los movimientos sísmicos severos que puedan ocurrir en el sitio
b) La estructura debería soportar movimientos sísmicos moderados que puedan
ocurrir en el sitio durante su vida de servicio, experimentando posibles daños
dentro de límites aceptables.
2.1.2 Parámetros de sitio.
Zonificación.
El territorio nacional también se considera dividido en tres zonas, como se
muestra en al figura N° 2.1.2. La zonificación propuesta se basa en la distribución
espacial de la sismicidad observada. Las características generales de los movimientos
sísmicos la atenuación de estos con la distancia espectral, así como la información
geotectónica. (NPE – E030)
FIGURA N°2.1.2.
Condiciones Geotécnicas.
Para los efectos de esta Norma los perfiles del suelo se clasifican tomando en
cuenta las propiedades mecánicas del suelo el espesor del estrato, el periodo
fundamental de vibración y la velocidad de propagación de las ondas de corte. Los
tipos de perfiles de suelo cuatro:
a) Perfil tipo S1: Roca o suelos muy rocosos.
A este tipo corresponden las rocas y suelos muy rígidos con velocidades de
propagación de onda de corte similar al de una roca, en los que el periodo
fundamental de baja amplitud no excede al 0.25 s, incluyéndose los casos en los
que se cimienta sobre:
Roca sana o parcialmente alterada, con una resistencia a la compresión, no
confinada o igual que 500 kPa. (5 Kg./cm2)
Grava arenosa densa.
Estrato de no más de 20 m. de material cohesivo muy rígido, con una
resistencia al corte en condiciones drenadas superior a 100 kPa. (1 Kg./cm 2),
sobre roca u otro material con velocidad de onda de corte similar a de la roca.
Estrato de no más de 20 m de arena muy densa con N30, sobre roca u otro
material con velocidad de onda similar al de una roca.
b) Perfil tipo S2: Suelos intermedios.
Se caracterizan como este tipo a los sitios con características intermedias entre
las indicadas para los perfiles S1 y S3.
c) Perfil tipo S3: Suelos flexibles o con estratos de grandes espesores.
Corresponde a este tipo los suelos flexibles o estratos de gran espesor en los
que el periodo fundamental, para vibraciones de baja amplitud es mayor que 0.6 s,
incluyéndose los casos en que el espesor del estrato de suelo excede los valores
siguientes.
Suelos cohesivos. Resistencia al corte típico Espesor del estrato (m) (*)
en condición no drenada
(kPa.)
Bandos. 25 20
Medianamente compactos. 25 – 50 25
Compactos. 50 – 100 40
Muy compactos. 100- 200 60
Suelos granulares Valores N típicos en Espesor del estrato (m) (*)
Ensayos de penetración
estándar (SPT)
Suelos. 4 – 10 40
Medianamente densos. 10 – 30 45
Densos. Mayor que 30 100
( * ) Suelo con velocidad de onda de corte menor que el de una roca.
d) Perfil Tipo S4: Condiciones excepcionales.
A este tipo correspondiente de los suelos excepcionales flexibles y a los sitios
donde las condiciones geológicas y/o topográficas sean particularmente
desfavorables.
Deberá considerarse el tipo de perfil que mejor se describa las condiciones
locales, usándose los correspondientes valores de Tp y el factor de ampliación del
suelo S dados en la tabla Nº 2.
En sitios donde las propiedades del suelo sean poco conocidas se podrá usar los
valores correspondientes al perfil tipo S3. Solo será necesario considerar un perfil
tipo S4 cuando los estudios geológicos así lo determinen.
TABLA Nº 2.
PARÁMETROS DEL SUELO.
TIPO DESCRPCIÓN TP (S) S
S1 Rocas o suelos muy rígidos. 0.4 1.0
S2 Suelos intermedios. 0.6 1.2
S3 Suelos flexibles o con estratos de gran 0.9 1.4
espesor.
S4 Condiciones excepcionales. -- --
( *) Los valores de TP y S para este caso serán establecidos por el especialista,
pero en ningún caso sarán menores a los especificados en el perfil tipo S 3
Factor de Amplificación Sísmica.
De acuerdo a las características de sitio, se define el factor de amplificación
sísmica ( C ) por la siguiente expresión.
T
C 2.5 P ; C ≤ 2.5
T
T Es periodo según se define en el Artículo 17 (17.2) ó en el Artículo 18 (18.2 a
de la NPE –E030)
Este coeficiente se interpreta como el factor de amplificación de la respuesta
estructural respecto a la aceleración del suelo.
Categorías de las Edificaciones.
Cada estructura puede ser clasificada de acuerda a las categorías indicadas en
la tabla N° 3. El coeficiente de uso o importancia (U), definido en la tabla N° 3 se
usara según la calcificación que se haga.
TABLA N° 3.
CATEGORIA DE LAS EDIFICACIONES.
CATEGORIA. DESCRIPCION FACTOR U.
Edificaciones esenciales cuya funcione no debería
interrumpirse inmediatamente después que ocurra
un sismo, como hospitales, centrales de
A comunicaciones, cuarteles de bomberos y policía,
subestaciones eléctricas reservorios de agua.
EDIFICACIONES Centros educativos y edificaciones que puedan 1.5
ESENCIALES. servir de refugio después de un desastre.
También pueden incluirse edificaciones cuyo
colapso puede representar un riego adicional,
como grandes hornos, depósitos de materiales
inflamables o tóxicos.
Edificaciones donde se reúnen gran cantidad de
B personas como teatros, estadios, centros
comerciales establecimientos penitenciarios, o que
EDIFICACIONES guardan patrimonios valiosos como museos, 1.3
IMPORTANTES. bibliotecas y archivos especiales.
También se consideran depósitos de granos y otros
almacenes importantes para el abastecimiento.
C Edificaciones comunes, cuya falla ocasionaría
perdidas de cuantía intermedia como viviendas
EDIFICACIONES oficinas hoteles restaurantes, depósitos e 1.0
COMUNES. instalaciones industriales cuya falla no acarree
peligros adicionales de incendios, fugas de
contaminantes, etc.
D Edificaciones cuyas fallas causan perdidas de
menor cuantía y normalmente la probabilidad de
EDIFICACIONES causar victimas es baja, como cercos de menos de (*)
MENORES. 1.50 m. de altura, depósitos temporales pequeñas
viviendas temporales y construcciones similares.
(*) En las edificaciones, a criterio del proyectista, se podrá omitir el análisis por fuerza
sísmica, pero debela proveerse de la resistencia y rigidez adecuadas para acciones laterales.
Sistemas Estructurales.
Los sistemas estructurales se clasifican según los materiales usados y el sistema
de estructuración sismo resistente predominante en cada dirección tal como se indica
en la tabla N° 6.
Según la clasificación que se haga de una edificación se usará un coeficiente de
reducción de fuerza sísmica ( R ) . Para el diseño por resistencia última las fuerzas
sísmicas internas deben de combinarse con factores de cargas unitarios. En caso
contrario se podrá usarse como ( R) los valores establecidos en la tabla N° 6 previa
multiplicando por el factor de carga de sismo correspondiente.
TABLA N° 6
SISTEMAS ESTRUCTURALES.
Sistema Estructural Coeficiente de Reducción, R
Para estructuras regulares.
ACERO.
Pórticos dúctiles con uniones resistentes a momentos. 9.5
Otras estructuras de acero.
Arriostres Excéntricos. 6.5
Arriostres en cruz 6.0
Concreto Armado.
Pórticos.(1) 8
Dual.(2) 7
De muros estructurales.(3) 6
Muros de dualidad limitada.(4) 4
Albañilería armada o confinada.(5) 3
Madera (Por esfuerzos admisibles) 7
1. Por lo menos el 80% del cortante en la base actúa sobre las columnas de los
pórticos que cumplan los requisitos de la NPE 060 Concreto Armado. En el
caso que tengan muros estructurales, estos deben diseñarse para resistir una
fracción de la acción sísmica total de acuerdo a su rigidez.
2. Las acciones sísmicas son resistidas por la combinación de pórticos y muros
estructurales los pórticos deben de ser diseñados para tomar por lo menos 25%
del cortante en la base. Los muros estructurales serán diseñados para las fuerzas
obtenidas del análisis según el Artículo 16 (16.2)
3. Sistema en que la resistencia sísmica esta dada predominantemente por muros
estructurales sobre los que actúa por lo menos el 80% del cortante de la base.
4. Edificación de baja altura con alta densidad por muros de ductilidad limitada.
5. Para el diseño por esfuerzos admisibles el valor de R será 6.
(*) Estos coeficientes son aplicados únicamente a estructuras en los que los
elementos verticales y horizontales permitan la disipación de la energía
manteniendo la estabilidad de la estructura. No se aplica a estructuras de tipo
péndulo invertido.
(**)Para estructuras irregulares los valores de R deben de ser tomados ¾ de los
anotados en la tabla.
Para construcciones de tierra referirse ala norma Técnica de Edificaciones E-
080. Ese tipo de construcciones no se recomienda en suelos S3, ni permite en
suelos S4.
2.1.3 Requisitos generales.
Configuración Estructural.
Las estructuras deben ser clasificadas como regulares o irregulares con el fin de
determinar el procedimiento adecuado de análisis y los valores apropiados del factor
de reducción de fuerza sísmica. ( Tabla N° 6)
a. Estructuras Regulares. Son las que no tienen discontinuidades significativas
horizontales o verticales en su configuración resistente a cargas laterales.
b. Estructuras Irregulares. Se definen como estructuras irregulares aquellas que
presentan uno o más de las características indicadas en la Tabla N° 4 o Tabla N° 5.
TABLA N° 4
IRREGULARIDADES ESTRUCTURALES EN ALTURA.
Irregularidades de Rigidez - Piso blando.
En cada dirección de la suma de las áreas de las secciones transversales de los
elementos verticales resistentes al corte de un entrepiso y muros es menor que 85%
de la correspondiente suma para el entrepiso superior, o es menor que el 90% del
promedio de los tres pisos superiores. No es aplicable en sótanos.
Para pisos de altura diferente multiplica los valores anteriores por ( hI / hd ) donde hd
es la altura diferente de piso y hl es la altura típica de piso
Irregularidad de Masa.
Se considera que existe irregularidad de masa, cuando la masa del piso es mayor que
el 150% de la masa de un piso adyacente.
No es aplicable en azoteas.
Irregularidad Geométrica Vertical.
La dimensión en planta de la estructura resistente a cargas laterales es mayor que
130% de la correspondiente revisión en un piso adyacente.
No es aplicable en azoteas ni en sótanos.
Discontinuidad en los Sistemas Resistentes.
Desalineamiento de elementos verticales, tanto por un cambio de orientación, como
por un desplazamiento de magnitud mayor que la dimensión del elemento.
TABLA N° 5
IRREGULARIDADES ESTRUCTURALES EN PLANTA.
IRREGULARIDAD TORSIONAL.
Se considera solo en edificios con diafragmas rígidos en los que el desplazamiento
promedio de algún entrepiso exceda del 50% del máximo permisible indicado en a
tabla N° 8 del Articulo 15 (15.1)
En cualquiera de las direcciones del análisis el desplazamiento relativo máximo
entre dos pisos consecutivos, en un extremos del edificio, es mayor que 1.3 veces el
promedio de un desplazamiento relativo que simultáneamente se obtiene en el
extremo opuesto.
Esquinas Entrantes.
La configuración de planta y el sistema resistente de la estructura, tiene esquinas
entrantes, cuyas dimensiones en ambas dimensiones, son mayores que el 20% de la
correspondiente dimensión total en planta.
Discontinuidad del Diafragma.
Diafragmas con discontinuidades abruptas o variaciones de rigidez, incluyendo áreas
abiertas mayores que el 50% del área bruta del diafragma.
2.1.3 Análisis de edificios.
Solicitaciones Sísmicas y Análisis.
En concordancia de los principios del diseño sismo resistente del acápite 1.2
del (NPE E -030) se acepta que las edificaciones tendrán incursiones inelásticas
frente a las solicitaciones sísmicas severas. Tanto las solicitaciones sísmicas de
diseño se consideran como una fracción de la solicitación sísmica máxima elástica.
El análisis podar desarrollarse usando las solicitaciones sísmicas reducidas con
un modelo de comportamiento elástico para la estructura.
Peso de la Edificación.
El peso ( P ), será calculado adicionalmente por la carga permanente y total
de la edificación un porcentaje de la carga viva o sobrecarga que se determinara de la
siguiente manera:
a) En edificaciones de las categorías A y B, se tomará el 50% de la carga viva.
b) En edificaciones de la categoría C, se tomará el 25% de la carga viva.
c) En depósitos, el 80% del peso total que es posible almacenar.
d) En azoteas y techos en general se tomará el 25% de la carga viva.
e) En estructuras de tanque, silos y estructuras similares se considerará el 100%
de la carga que se puede contener.
[Link] Análisis estático.
Generalidades.
Este método representa las solicitaciones sísmicas mediante un conjunto de
fuerzas horizontales actuando en cada nivel de la edificación.
Debe emplearse solo para edificios sin irregularidades y de baja altura según el
Artículo 14 (14.2) del NPE E-030.
Periodo Fundamental.
a) El periodo fundamental para cada dirección se estimará de la siguiente
expresión:
hn
T
CT
Donde:
CT = 35 Para edificios suyos elementos resistentes en la dirección
considerada sean únicamente pórticos.
CT = 45 Para edificios de concreto armado cuyos elementos sismorresistentes
sean pórticos y las cajas de los ascensores y escaleras.
CT = 60 Para estructuras de mampostería y para todos los edificios de
concreto armado cuyos elementos sismorresistentes sean
fundamentalmente muros de corte.
b) También podrá usarse un procedimiento de análisis dinámico que considere
las características de la rigidez y distribución de masas en la estructura. Como
una forma sencilla de este procedimiento puede usarse la siguiente expresión
:
n 2
Pi .Di
T 2 i 1n
g . Fi .Di
i 1
Cuando el procedimiento dinámico no considere el efecto de los elementos
no estructurales el periodo fundamental deberá tomarse como 0.85 del valor
obtenido por este método.
Fuerza Cortante en la Base.
La fuerza cortante total en la base de la estructura correspondiente a la
dirección considerada, se determinara por la siguiente expresión:
Z .U .C.S
V .P
R
Debiendo considerarse para C/R el siguiendo valor mínimo:
C
0.125
R
Distribución de la fuerza sísmica en Altura.
Si el periodo fundamental T es mayor que 0.7 s, se toma una parte de la fuerza
cortante denominada Fn, deberá aplicarse como fuerza concentrada en la parte
superior de la estructura la fuerza Fa se denomina mediante la expresión:
Fa 0.07.T .V 0.15V
Donde el periodo en la expresión anterior será el mismo que el usado para la
determinación de la fuerza cortante en la base.
El resto de la fuerza cortante, es decir (V – Fa) se distribuirá en los otros niveles
incluyendo el último, de acuerdo a la siguiente expresión:
Pi .hi
Fi n
.(V Fn )
F .h
j 1
i i
Efectos de Torsión.
Se supondrá que la fuerza en cada nivel ( Fi ) actuara en el centro de masas del
nivel respectivo y debe de considerare el efecto de excentricidades accidentales como
se indica a continuación.
Para cada dirección de análisis, la excentricidad accidental en cada nivel ( e i ),
se considerara como 0.05 veces la dimensión del edificio en la dirección
perpendicular a la de la acción de las fuerzas.
En cada nivel además de la fuerza actuante, se aplicará el momento accidental
denominado Mtr que se calcula como:
Mtr = Fi * ei
Se puede suponer que las condiciones mas desfavorables se obtienen
considerando las excentricidades accidentales con el mismo signo en todos los
niveles. Se considerara únicamente los incrementos de las fuerzas horizontales no así
las disminuciones.
Fuerzas Sísmicas Verticales.
La fuerza sísmica vertical se considerará como una fracción del peso. Para las
zonas 3 y 2 esta fracción será de 2/3Z. Para la zona 1 no será necesario considerar
este efecto.
[Link] Análisis dinámico.
Alcances.
El análisis dinámico de las edificaciones podrá realizarse mediante
procedimientos de combinación espectral o por medio del análisis de tiempo –
historia.
Para especificaciones convencionales podrá usarse el procedimiento de
combinación espectral; y para edificaciones especiales deberá usarse un análisis de
tiempo – historia.
Análisis por combinación modal espectral.
a. Modos de Vibración.
Los periodos naturales y Modos de vibración podrán determinarse por un
procedimiento de análisis que considere apropiadamente las características de rigidez
y la distribución de las masas de la estructural.
b. Aceleración Espectral.
Para cada una de las direcciones horizontales analizadas se utiliza un espectro
inelástico de Pseudo – aceleraciones definido por:
Z .U .C.S
Sa .g
R
Para el análisis en la dirección vertical podrá usarse un espectro con valores
iguales a los 2/3 del espectro empleado para las direcciones horizontales.
c. Criterios de Combinación.
Mediante los criterios de combinación que se indican, se podrá obtener la
respuesta máxima esperada ( r ) tanto para las fuerzas internas en los elementos
componentes de la estructura, como para los parámetros globales del edificio como
fuerza cortante en la base, los cortantes de entrepiso, momento de volteo,
desplazamientos totales y relativos de entrepiso.
La respuesta elástica esperada ( r ) correspondiente al efecto conjunto de los
diferentes modos de vibración ( r ) podrá determinarse usando la siguiente expresión:
m m
r 0.25 * ri 0.75 * r
2
i
i 1 i 1
Alternativamente, la respuesta máxima podrá estimarse mediante la
combinación cuadrática completa de los valores calculados para cada modo.
En cada dirección se considerara aquellos modos de vibración cuya suma de
masas efectivas sea por lo menos el 90% de la masa de la estructura, pero deberá
tomarse en cuenta por lo menos los tres primeros modos predominantes en la
dirección de análisis.
d. Fuerza Cortante Mínima en la Base.
Para cada una de las direcciones consideradas en el análisis, la fuerza cortante
en la base del edificio no podrá ser mayor que el 80% del valor calculado según el
Artículo 17 (17.3) para estructuras regulares, ni menor que el 90% para estructuras
regulares.
e. Efectos de Torsión.
La incertidumbre en la localización de los centros de masa de cada nivel, se
considerara mediante una excentricidad accidental perpendicular a la dirección del
sismo igual a 0.005 veces la dimensión del edificio perpendicular a la dirección de
análisis. En cada caso deberá considerarse el signo más desfavorable.
[Link] Sistema con un grado de libertad.
El movimiento de un plano de un cuerpo rígido y cinético con respecto al
plano de movimiento ( xy ), la ley de Newton da los siguientes resultados:
Fx = m(aG)x Ec.[Link].a.
Fy = m(aG)y Ec.[Link].b.
MG = IG . Ec.[Link].c.
Donde es la aceleración angular
También puede hallarse respecto al eje fijo:
MO = IO . Ec.[Link].d.
..
Ecuación: m y ky 0 ;
y A cos wt Bsenwt Ec.[Link].e.
.
y Awsenwt Bw cos wt Ec.[Link].f.
Condiciones iniciales:
.
t=0 , y y 0 , y v0 ; y 0 A , v0 Bv , luego
v0
Luego: y y0 cos wt senwt Ec.[Link].g.
w
k
w Ec.[Link].h.
m
[Link] Respuestas a excitaciones dinámicas generales.
El impulso produce un cambio de
F() Impulso = F(t)d velocidad: dv al actuar sobre un cuerpo
de masa “m”:
Ley de Newton:
dv F ( )d
m F ( ) , dv
dt m
se puede considerar a este incremento de
velocidad como v0 en el instante “”;
+d t además de y0=0 en “”
En el tiempo “t” produce un desplazamiento:
F ( )d
dy(t ) senw(t ) Ec.[Link].a
mw
La función de excitación puede considerarse como una serie de impulsos
cortos, cada d, cada uno de los cuales produce una respuesta diferencial en el
tiempo t de la forma (Ec. [Link].a) por lo tanto el desplazamiento total en el instante
”t”, debido a la acción continua de la fuerza F(t), es la suma de los desplazamiento
diferenciales dy(t) desde =0 hasta =t.
t
1
mw 0
y (t ) F (t ) senw(t )d Ec.[Link].b.
Integral de Duhamel.
Para incluir el efecto del desplazamiento inicial y0 y de velocidad v0 en un
tiempo t = 0; luego el desplazamiento total del sistema con un grado de libertad sin
amortiguamiento producido por una fuerza alternativa es:
t
v0 1
mw 0
y (t ) y 0 cos wt senwt F ( ) senw(t ).d Ec.[Link].c.
w
[Link] Propiedad de ortogonalidad de los modos normales.
Para un sistema de n grados de libertad y matriz de masa diagonal, la
condición de ortogonalidad entre dos modos cualesquiera i, j:
m
k 1
k .a ki a kj 0 ; i≠j
En general para un sistema con un grado de libertad:
ai T ma j 0 ; i≠j
NOTA: Las amplitudes de vibración en un modo normal son soló un valor relativo,
que puede NORMALIZARSE, hasta cierto punto como se desee.
La siguiente normalización es especialmente conveniente para un sistema
general.
aij
ij
a M a
j
T
j
Cuando M , es diagonal:
aij
ij n
Ec. [Link].a
m a
k 1
k
2
kj
ij: Componente normalizada i del vector nodal j.
Por vectores característicos normalizados, la condición de ortogonalidad esta dada
por:
Ti M j 0 ; i≠j
Ti M j 1 ; i=j
Antes se tenía: k a w 2 M a k j w 2 M j
Ti k j 0 ; i≠j
Ti k j w2 ; i=j
Luego, la condición de ortogonalidad general es:
T M I Ec. [Link].b.
[Link] Matriz de Rigidez Pórticos Espaciales.
Y
Z
G, E, I, M , J,A
X
K : Es la misma del análisis estático para el análisis dinámico.
MATRIZ DE MASA.
Matriz de masa concentrada para un elemento uniforme:
M mL 111 I 00111
I0
00 Ec. [Link].a.
2 A A
Lo anterior es una matriz diagonal
I0= Momento polar de inercia.
A= Área de la sección.
Matriz de Amortiguación.
En la práctica, la amortiguación es generalmente expresada en función de la
razón de amortiguación para cada modo de vibración, y estas son introducidas
directamente en las ecuaciones modales. Cuando se quiera determinar
explícitamente se procederá así:
M S y C S y K S y F (t )
.. .. .
Ec. [Link].b.
Si el suelo es el que se acelera entonces el desplazamiento relativo es:
u y yS
. . .
y u yS
.. .. ..
y u u S
M S u C S u K S u M S 1 y S (t )
.. . ..
Ec. 2.14.7.c.
1: Todos los elementos con 1.
Para desacoplarlos se hace: u z
: Matriz modal obtenida de la solución del sistema de vibración libre.
M S z C S z K S z M S 1 y S (t )
.. . ..
Ec. [Link].d.
Multiplicando el vector nodal de orden “n” transpuesto n , se obtiene:
T
)Tn M z Tn C z Tn k z Tn M 1Y S (t )
.. . ..
Ec. [Link].e
n = 1, 2, 3, ……………..,N
N: Numero de modos del sistema.
F t M 1 y S (t )
..
Ec. [Link].f.
[Link] Propiedades de ortogonalidad de modos normales.
Tn M m 0 Ec. [Link].a.
Tn k m 0 ; m≠n Ec. [Link].b.
Hace que los términos 1° y 3° de (Ec. [Link].b.) se acumulen excepto para el modo
de orden “n”
Además si se supone que: n C m 0
T
; n≠m
Reemplazando obtenemos:
.. .
) M n z n C n z Tn k n z Tn F (t )
T T
n
Mn 2εnwnMn w2n Mn Fn(t)
.. .
Mn z n + Cn z n + kn zn = F( t )
.. .
Mn z n+ 2 εn wn z n + wn2 M n zn = Fn ( t )
.. . F (t )
z n+ 2 εn wn z n + wn2 zn = n
Mn
Luego, si el vector n esta normalizado n M n 1 Mn = 1
T
..
.
Luego: z n 2 n wn z n wn2 z n Fn (t ) ; n= 1, 2, 3, …., N
PROCEDIMIENTO:
1° PASO: Cálculo de las Matrices locales: k , M .
2° PASO: Cálculo de las matrices de rotación de cada elemento: A .
3° PASO: Cálculo de las matrices globales: k A k A , M A M A .
T T
4° PASO: Ensamblar la matriz por el método directo: M S , k S .
5° PASO: Calcular las frecuencias naturales: k S w 2 M S 0
6° PASO: Cálculo de los modos normales para cada wi ; i= 1, 2, 3, …….., n
k w M a 0
S
2
i S
Si se hace aij= 1.00
a1i
a2i
a3i
ai = . ; a =Matriz de Modos
. Normales.
ani
7° PASO: Normalización de los modos normales:
aij aij
ij =
a M a
j
T
S j
n
m a k
2
kj
k 1
Cuando la Matriz de
masa es diagonal.
1i
2i
3i
i = . ; =Matriz Modal.
.
ni
8° PASO: Cálculo de las funciones zi:
T
Fi t i M S 1 y (t )
.. . ..
z i 2 i wi z i wi2 z i Fi (t ) ;
Donde i= 1, 2, 2, ….., n.
Suponer condiciones iniciales: t = 0, z = 0
Fi (t ) =(1i 2i . . . ni) M11 ..
y St
M22 ..
y St
.
.
.
.
..
Mnn y St
..
..
y St
Fi (t ) =(1i 2i . . . ni) M11 y St
..
..
M22 y St ..
y St .. ..
=1iM11 y St +2iM22 y St +……..+
. niMnn y St
.
.
.
..
..
Mnn y St y St
..
.. .. n
y St
Por tanto: Fi (t ) =-(1i 2i . . . ni) y St = - y St
j 1
ji M jj ..
y St
.. n
i ji M jj
.
F (t ) i y S (t ) ;
i 1 .
..
9° PASO: Se obtiene: y St
Z1 ..
Z2 y St
Z . ..
y St
.
.
Zn
.
..
10° PASO: Calcular: u z
y St
..
y St
..
y
u1 11 12 Z1 11Z1+12Z2+…..+1nZStn
u2 21 22 Z2 21Z1+22Z2+…..+2n. Zn
= 33 . = . .
. . . ..
un nn Zn y
n1Z1+n2Z2+…..+nnZStn
u1 n
i 1
z
1i i
u2 n
i 1
2i zi
. = .
. .
n
un
i 1
ni zi
.. . ..
Como z i 2 i wi z i wi2 z i i y S (t ) , hacemos un cambio de variables:
z i i g i ; Reemplazando se tiene:
.. . ..
g i 2 i wi g i wi2 g i y St
Posteriormente se tendrá que resolver la ecuación diferencial con las
siguientes condiciones iniciales:
Tiempo = 0, velocidad = 0, posición = 0.
11° PASO: Desarrollar la ecuación diferencial:
g = gc + gp
.. .
Calculo de gc: g i 2 i wi g i wi2 g i 0
. ..
Sea: g = c ept g =c p ept g =c p2 ept
Remplazando: c p2 ept + 2ε w (c p ept) + w2 (c ept) = 0
cept ( p2 + (2 w)p + w2) = 0
2w 4 2 w 2 4w 2 2w 2w 2 1
p= =
2 2
p = -εw ± w 2 1 p1= -εw - w 1 2 i
p2= -εw + w 1 2 i
g = c1e p1t + c 2 e p2t = c1e ( w w 1 2 i ) t
+ c 2 e ( w w 1 2 i ) t
1 2 i ) t 1 2 i ) t
Posteriormente se tiene: gc = c1e wt . e ( w + c 2 e wt e ( w
Usando las ecuaciones de Euler: eix = cos x + i sen x
e-ix = cos x - i sen x
Se obtiene:
g C e wt c1 (cos w 1 2 t [Link] 1 2 t ) c 2 (cos w 1 2 t [Link] 1 2 t )
g C e wt (c1 c 2 ) cos w 1 2 t (c 2 c1 )[Link] 1 2 t
g C e wt ( A. cos w 1 2 t [Link] 1 2 t )
Cálculo de gp, por el método de variación de parámetros se tiene:
g p (e wt cos w 1 2 t ).u1 (e wt senw 1 2 t ).u 2
g1 g2
.. ..
g 2 y S (t ) g1 y S (t ) g1 g2
u1= dt , u2= dt , w(g1,g2)= . ≠0 .
w( g1 , g 2 ) w( g1 , g 2 ) g1 g2
.
g 1 we wt cos w 1 2 t ( w 1 2 senw 1 2 t )e wt
.
g 1 we wt ( . cos w 1 2 t 1 2 .senw 1 2 t )
.
g 2 we wt senw 1 2 t ( w 1 2 cos w 1 2 t )e wt
.
g 2 we wt ( .senw 1 2 t 1 2 . cos w 1 2 t )
Reemplazando se tiene:
w e 2wt w 1 2
e wt senw 1 2 t ..
u1= . y S (t ).dt =
e 2wt w 1 2
1 ..
. e ewt ( senw 1 2 t )( y S (t ))dt
w 1 2
e wt cos w 1 2 t .. 1 ..
u2= . y S (t ).dt = . e ewt (cos w 1 2 t )( y S (t ))dt
e 2wt w 1 2 w 1 2
Luego la solución total es:
gt = gc + gp
g e wt ( A. cos w 1 2 t [Link] 1 2 t ) +
1 ..
.( senw 1 2 t. e ewt (cos w 1 2 t )( y S (t ))dt
w 1 2
..
- cos w 1 2 t. e ewt (senw 1 2 t )( y S (t ))dt)
[Link] Desplazamientos relativos máximos.
[Link] = 1i 2 g1. max 2 2i 2 g 2. max 2 .......... nin g n. max 2
Ec. [Link].a.
g j . max
n
[Link] = j ij ; i= 1, 2, 3, …., n.
j 1
También puede ser así:
[Link] = i11 g1. max + i 2 2 g 2. max + ……… + in n g n. max
n
[Link] = j 1
ij j g j. max Ec. [Link].b
Luego según el RNE:
g j . max Ec. [Link].c.
n n
[Link] = 0.25 j 1
ij j g j. max +0.75
j 1
j ij
Cuando halla muros de corte:
g j . max Ec. [Link].d.
n n
[Link] = 0.30 j 1
ij j g j. max +0.70
j 1
j ij
NOTA: cuando se tiene en cuenta la dirección del sismo:
Se tiene en:
i i M S 1
T
Ec. 2.1.4.8e.
1: Se considera un vector con 1 a los grados de liberta en la dirección del
sismo y cero a los otros grados. La llamemos J .
i i M S J
T
Ec. [Link].f.
Luego:
.
.. ..
Z i 2 i wi Z i w Z i i y S (t )
2
i
Entonces para las direcciones “x” e “y”, y hallaremos ix , iy
..
En el caso en que: y S (t ) = constante = a, tenemos:
g (t ) e wt ( A. cos w 1 2 t [Link] 1 2 t ) +
1 ..
.( senw 1 2 t. e ewt (cos w 1 2 t )( y S (t ))dt
w 1 2
..
- cos w 1 2 t. e ewt (senw 1 2 t )( y S (t ))dt) Ec. [Link].g.
Reemplazando en la expresión anterior, resolviendo tenemos:
a
g(t) = e wt ( A. cos w 1 2 t [Link] 1 2 t )
w2
Luego:
.
g (t ) = w.e wt A. cos w 1 2 t [Link] 1 2 t +
e wt A.w 1 2 senw 1 2 t B.w 1 2 cos w 1 2 t Ec. [Link].h.
.
Para lo cual las condiciones iniciales son: t = 0, g(0) = 0, g (o) = 0.
a a a
0=A+ A = - 2 ; 0=-εw(A)+Bw 1 2 B = - 2
w 1 2
2
w w
Remplazando se tiene:
a.e wt 2 a
g(t) = - cos w 1 - 2 t senw 1 - t 2 Ec. [Link].i.
w
w2 1- 2
Esta expresión se cumple para una aceleración constante = a
2.2 Análisis sistemático de estructuras.
Con término análisis sistemático se designa el tipo de análisis que emplea
representaciones de cálculo y rutinas sistematizadas con el fin de minimizar el
efecto de la complejidad de una estructura en la aplicación de los procedimientos
adecuados de análisis estructural. Debido a esta organización sistemática de los
cálculos, el álgebra antes que la geometría, se convierte en la principal herramienta
matemática utilizada en el análisis. La diferencia entre geometría y geometría
analítica es análoga a la diferencia entre análisis estructural ordinario y análisis
estructural sistemático.
La necesidad de sistematizar el análisis surge principalmente del uso de las
computadoras digitales en la resolución de problemas de análisis estructural. Para
describirle un problema a una computadora digital es necesario emplear arreglos de
números en lugar de esquemas. Una vez que la descripción del problema está en
forma de arreglos, no se hará ninguna referencia al esquema de la estructura durante
el manejo de aquellos, hasta que se hayan obtenido todos los resultados. Por esta
razón el álgebra matricial desempeña un papel muy importante en el análisis
estructural sistemático.
2.2.1 Análisis matricial de edificios.
Entre 1850 y 1875, grandes ingenieros como Menabrea, Maxwell,Castigliano
y Mohr, entre otros, sentaron las bases para el análisis de estructuras [Link]
este fructifero período se enunciaron importantes principios y se desarrollaron
métodos de análisis adecuados para estructuras pequeñas,con bajo grado de
[Link] procesos corresponden a los hoy llamados métodos de
flexibilidades ( o de fuerzas), en los que las incógnitas son típicamente fuerzas
redundantes.
Las herramientas de cómputo son hoy también muy diferentes a las que se
tenian al principio del siglo. Asi aunque los principios básicos del análisis son los
mismos, pueden utilizarse otros procedimientos de solución, resolviendo por
eliminación directa grandes sistemas de ecuaciones.
En todo proceso de análisis la estructura se considera descompuesta en
elementos o partes, estos deben ser suficientemente simples como para que su
comportamiento pueda conocerse sin dificultad. En los métodos matriciales, se
consideran elementos de dimensión finita. Resulta así un modelo “discreto” cuyo
comportamiento queda descrito por un número finito de parámetros.
En el análisis matricial la formulación más común es la de rigideces; los
parámetros que definen la solución son desplazamientos de los nudos.
En el caso particular del análisis modal espectral, la respuesta
correspondiente al modo i estará expresada como sigue:
Yi = Yi = Sdi i Xi
Donde Si es el valor medido del espectro de respuesta que se está usando y que
puede ser el valor máximo de la solución de la ecuación modal.
.. . ..
a (t) + 2 i i a (t) + i2 a (t) = - u g(t) i = 1, 2, 3, …….. n
o, el valor medido de un espectro teórico suavizado como los que se consignan en las
normas de diseño. Lo cierto es que, en ambos casos del especto se obtienen los
valores máximos de la aceleración desplazamientos o velocidad para una frecuencia
determinada y un amortiguamiento fijo que son el dato de entrada para la expresión:
Yi = Sdi i Xi
El factor de participación estática tiene la expresión presentada anteriormente
para el caso de una excitación sísmica.
i = XiT M I ó XjT M J
Nótese que los máximos para otros efectos como fuerzas en los elementos se
determinan para cada modo de un análisis estático, obteniendo los valores del juego
de desplazamientos Xi y multiplazos por Sdi y i.
[Link] Combinación Modal.
En el análisis modal espectral la determinación del efecto debido a la
superposición de todos los modos, solo puede ser hecha de forma aproximada
combinando (ya no superponiendo) las respuestas o participaciones modales. Como
es poco probable que todas las respuestas máximas de los modos coincidan en el
tiempo, sumar los valores absolutos de los valores modales máximos sería demasiado
conservador. El procedimiento establece que se deben calcular efectos modales para
la respuesta que se desee: desplazamientos, fuerzas globales, efectos locales en los
elementos y combinarlos siguiendo diversos criterios. Tradicionalmente se usaba
calcular la raíz cuadrada de la suma de los cuadrados de los máximos efectos
(RCSC) pero modernamente se están usando otras aproximaciones, cada una tratando
de acercarse a la respuesta predicha por el análisis tiempo historia.
Anteriormente se había usado tradicionalmente sólo la RCSC pero se ha
demostrado que es insegura para edificios de más de 8 pisos. La norma Peruana sin
embargo, se ha evaluado ser conservadora. Hay otras alternativas como el promedio
ponderado de las dos anteriores que dan en promedio resultados más cercanos a los
del análisis tiempo historia.
0.25 (ó 0.30 ) ABS + 0.75 (ó 0.70 ) RCSC
2.2.2 Sistema de coordenadas.
Considérense las estructuras compuestas de barras, vigas y columnas, las
cuales constituyen la mayor parte de las estructuras de ingeniería y son el principal
tema del análisis estructural ordinario. En tales estructuras, los elementos
estructurales se ponen en contacto, unos con otros, en puntos especiales llamados
nudos. Los puntos de un elemento estructural que están en contacto con los nudos se
llaman vértices. La geometría de la estructura está definida por las coordenadas de
los puntos nodales en un sistema general de coordenadas y por la información sobre
los vértices y las secciones transversales, registradas por los rótulos nodales, para
cada uno de los elementos. Si un grupo de elementos básicos se considera como un
elemento estructural, sus componentes se pueden definir de forma semejante.
Para cada uno de los elementos estructurales se puede escoger un sistema
particular de coordenadas cuyo primer eje se dirija desde el primer vértice hacia el
segundo. El primer vértice es aquel cuyo rótulo nodal está en el primer lugar de la
lista de rotulaciones nodales de los vértices de los elementos. En las estructuras no
planas, el segundo y tercer eje en particular se toman como ejes principales de la
sección transversal en el primer vértice.
Para definir completamente un sistema de coordenadas de este tipo, usualmente
se dan las coordenadas generales de un punto auxiliar localizado sobre el segundo eje
particular, como parte de la información del elemento, y se supone que el segundo
eje particular está dirigido desde el primer vértice hacia este punto. Los datos de la
sección transversal para elementos estructurales uniformes, en los cuales el centro de
la sección transversal coincide con el centro de cizallamiento, generalmente incluyen
el área, los momentos principales de inercia y la constante de torsión.
[Link] Sistemas particulares de coordenadas.
Es muy importante que los arreglos que definen la geometría de una
estructura sean suficientes para calcular los cosenos directores de los ejes
coordenados particulares en el sistema general de coordenadas. Los sistemas
particulares de coordenadas desempeñan un papel importante en la descripción de las
fuerzas que actúan sobre los elementos y los gradientes térmicos .Un sistema
particular de coordenadas queda determinado respecto al sistema general mediante
las coordenadas de su origen y los cosenos directores de sus ejes.
[Link] Geometría de la estructura.
La Geometría de una estructura está definida por el volumen de aquellas
partículas de material que se someten a tensiones para soportar las cargas aplicadas.
Generalmente este volumen es demasiado complicado para que pueda ser descrito
analítica o geométricamente. El análisis de estructuras puede llegar a ser muy
costoso, a menos que la geometría se idealice mediante formas sencillas.
Afortunadamente, los costos de fabricación, transporte y construcción y las
restricciones de tipo estético y funcional han forzado la geometría de las estructuras
hacia configuraciones modulares simples donde, generalmente, una o dos
dimensiones son mucho menores que las restantes, tal como sucede en las vigas,
barras, y sus contrapartes curvas. La larga experiencia con estos módulos, llamados
elementos estructurales, nos ha enseñado que el comportamiento general de las
partículas de material en las dimensiones cortas usualmente se puede describir con
una aproximación aceptable, utilizando leyes sencillas. Por ejemplo, la regla de
Euler- Navier establece que las secciones planas permanecen planas después de la
deformación. Con base en ésta regla se pueden representar una viga mediante su eje
y las propiedades de su sección transversal, y el análisis se simplifica puesto que el
comportamiento de las partículas en una sección transversal se puede expresar
fácilmente en función de los desplazamientos y las rotaciones de las partículas sobre
el eje de la viga. Desde luego, existen elementos estructurales, tales como los
bloques para cimentación, que no son delgados ni largos .Sin embargo, casi siempre
estos elementos son geométricamente sencillos.
[Link] Material.
Para analizar una estructura se requiere, fuera de la descripción geométrica
del volumen del material, la descripción cualitativa del propio material. La
descripción cuantitativa del material incluye la determinación numérica de su masa
unidad, sus coeficientes de expansión térmica y su relación tensión- deformación, es
decir, su ley constitutiva. En general, las propiedades de un material pueden cambiar
de una partícula a otra y en un punto determinado pueden cambiar con la dirección.
Si las propiedades no cambian de punto a punto, el material se llama homogéneo; de
lo contrario, no homogéneo. Si las propiedades en un punto determinado no
dependen de la dirección, el material se llama isotrópico; de lo contrario,
anisotrópico. Si un material anisotrópico presenta uno o dos planos de simetría en su
comportamiento se llama ortotrópico; de lo contrario, se denomina material
anisotrópico general. Las propiedades pueden ser funciones del tiempo y de la
temperatura y; según el caso, se habla de materiales dependientes del tiempo,
independientes del tiempo, dependientes de la temperatura o independientes de la
temperatura. Si la temperatura del material es una función de sus tensiones, el
material se denomina pareado termomecánicamente. Si las partículas de material
asumen nuevamente su configuración original cuando se retiran las cargas, el
material se llama elástico; de lo contrario, inelástico. Si las tensiones en el material
son funciones lineales de las deformaciones, el material se llama lineal; de lo
contrario, no lineal. Los métodos de análisis estructural sistemático nos facilitan la
resolución de los problemas de análisis estructural que involucran materiales con una
o más de estas cualidades. Como una estructura puede constar de muchos elementos
y cada uno de ellos puede ser de un material diferente, en el conjunto de la estructura
el material puede ser homogéneo por partes, es decir, homogéneo en un elemento
pero no homogéneo al pasar de un elemento a otro.
[Link].1 Cuantificación de las propiedades mecánicas
En los primeros estudios de la resistencia de los materiales se indica que se
necesitan cuatro constantes para describir un material isotrópico lineal: la masa
unidad, ρ, el coeficiente de expansión térmica, α, el módulo de Young, E y el módulo
de cizallamiento, G. Cuando se conocen las deformaciones lineal y angular ρ es
necesario para el cálculo del peso unidad, α para el cálculo de las deformaciones
térmicas y E y G para el cálculo de las tensiones normal y de cizallamiento. Sean:
λ = aceleración de la gravedad en la tierra.
Δt = incremento de temperatura.
g = peso unidad.
ε = deformación lineal.
γ = deformación angular.
σ = tensión normal.
τ = tensión de cizallamiento.
εo = deformación térmica.
Entonces se puede escribir:
g = λρ
εo = αΔt
σ = E(ε – εo)
τ = Gγ
Estas son las relaciones utilizadas para los elementos estructurales del tipo de
barras y las vigas, en los cuales solamente hay una dirección lineal de importancia
que es la dirección axial y generalmente sólo interesa el cambio de los ángulos rectos
con el eje del elemento.
Momentos de empotramiento.
j
i
12 6
2
X *Y Z
Ri = L L Ec. [Link].1.a.
L (1 )
1
6 X * * L2 * Y (4 ) * L * Z
Mi= 2 Ec. [Link].1.b.
L2 * (1 )
1
RJ= -Ri + *(w1+w2)*(B-A) Ec. [Link].1.c.
2
1 2
Mj= Ri*L-Mi - *(w1-w2)*(B-A)*L-B+ *(B-A) -
2 3
B A
w2*(B –A)*L-B+ Ec. [Link].1.d.
2
Donde:
B 4 A4 2 A( B 3 A3 ) A2 ( B 2 A2 ) ( w1 w2)
X= ½*w*l* *
4 3 2 6( B A)
( B 5 A5 ) 3 A( B 4 A4 ) A3 ( B 2 A2 )
A2 ( B 3 A3 ) + 1/2 * ( w1 – w2 ) *
5 4 2
L3 B 3 1
(B–A)* ( B 2 A)(L2 B 2 ) + w2 * ( B – A ) *
3 6
L3 B 3 1
( B A)(L2 B 2 ) Ec. [Link].1.e.
3 4
w1 1 1
Y= * ( B A) 2 ( w1 w2) * ( B A) 2 ( w1 w2) *
2 6 2
( B A) * ( L B) Ec. [Link].1.f.
1 1 1
Z= * ( w1 w2)(B A) 3 w1( B A) 3 ( w1 w2)(B A)(L B) 2
24 6 4
1 1
( w1 w2)(B A) 2 ( L B) + w2( B A)( L B ) 2
3 2
1
w2( B A) 2 ( L B ) Ec. [Link].1.g.
2
12EIk
Ec. [Link].1.h.
GL2
E: Módulo de elasticidad.
I: Inercia de la sección.
: Área de la sección transversal.
G: Módulo de elasticidad al cortante.
k: factor que depende de la forma de la sección transversal (K=1.2 para secciones
rectangulares).
i= (xi,yi,zi) , j= (xj,yj,zj)
x j xi
Siendo ax=
L
y j yi
ay =
L
z j zi
az =
L
L= x j x i y j y i z j z i
2 2 2
6 Mab
RA = Ec. [Link].1.i.
L3 (1 )
Mb(3a L L )
MA= Ec. [Link].1.j.
L2 (1 )
6 Mab
RB= Ec. [Link].1.k.
L3 (1 )
Ma(2 L 3a L )
MB= Ec. [Link].1.l.
L2 (1 )
Pb 2 L2
RA = 3 3a b Ec. [Link].1.m.
L (1 ) b
Pab 2 L
MA= 1 Ec. [Link].1.n.
L2 (1 ) 2b
Pa 2 L2
RB= a 3b Ec. [Link].1.ñ.
L3 (1 ) a
Pa 2b L
MB = 2 1 Ec. [Link].1.o.
L (1 ) 2a
Momentos de Empotramiento por peso propio
Sea : peso específico del concreto, entonces p = bh, : ángulo medido desde un
plano vertical paralelo a la barra hasta el eje Z local
p L
az
2
p L 2 2
a x a y sen
2
p L 2 2
a x a y cos
2
0
p L a 2 a 2 cos
2
12 x y
p L
2
a x a y sen
2 2
12
f° = Ec. [Link].1.p.
p L a
2 z
p L a 2 a 2 sen
2 x y
p L a 2 a 2 cos
2 x y
0
L2
p a x2 a y2 cos
12
w L2
p a x2 a y2 sen
12
2.2.3 Vector fuerza o vector de carga.
Las cargas generalmente están sobre la barra, pero para el análisis se trabaja
con fuerzas equivalentes en los nudos. Cada barra tiene su propio vector de fuerzas
que puede trabajarse en coordenadas locales o globales de la misma .Para analizar
una estructura se ensambla estas fijaciones que equivale a la resultante de fuerzas en
cada nudo de la estructura. Las fuerzas externas también se adjuntan a estas.
f ix
f
iy
f iz
m ix
m
iy
m iz
f° =
f jx
f jy
f jz
m
jx
m jy
m jz
2.2.4 Vector desplazamiento.
Es el vector que describe los desplazamientos en los extremos de la barra ya
sea en coordenadas locales o globales .Son desplazamientos relativos entre dichos
extremos, por eso se dice que están en coordenadas nodales.
ix
iy
iz
ix
iy
iz
=
jx
jy
jz
jx
jy
jz
2.2.5 Grados de libertad.
Es el número de coordenadas independientes con respecto a un marco de
referencia que son necesarias para localizar completamente el sistema en un marco
de referencia.
[Link] Condiciones de contorno de corrimiento.
Para una estructura dada, por lo general se tiene una información previa
acerca de los desplazamientos o rotaciones de algunas de las partículas del material,
tales como las de los puntos de apoyo. En efecto, el término de estructura se reserva
para los cuerpos en los cuales se impide el movimiento de cuerpo rígido, lo cual
significa que por lo menos los apoyos son estáticamente determinados. Por
consiguiente, la determinación de una estructura no será completa amenos que las
condiciones de sus apoyos sean claramente establecidas.
[Link] Grados de libertad de corrimiento de un punto.
Considérese una partícula de material localizada en un punto nodal
cualquiera, por ejemplo, i. Cuando se carga la estructura, la partícula se desplaza
hacia otro. El vector que une el nudo i con la nueva localización de la partícula se
denomina vector desplazamiento. Supongamos que se fija un determinado segmento
de línea a la partícula, antes de aplicar la carga. El segmento de línea asumirá una
orientación diferente cuando la partícula se mueve hasta su nueva localización. El
ángulo formado entre la orientación inicial y la final del segmento se llama
rotación. Como las rotaciones son ángulos muy pequeños, una rotación se puede
representar mediante un vector perpendicular al plano establecido por las
orientaciones origen y final del segmento de línea. Este vector se denomina vector
de rotación de la partícula. La magnitud del vector de rotación es la rotación y su
sentido es tal que define el sentido real de la rotación al aplicar la regla de la mano
derecha.
Sean di y θi las designaciones de los vectores de desplazamiento y de
rotación, respectivamente, de una partícula de material localizada en el nudo i, en un
sistema de coordenadas cartesianas. Para referirse simultáneamente al
desplazamiento y a la rotación de una partícula se utiliza el término corrimiento. Si
ui es la matriz columna que contiene los corrimientos de la partícula del punto i, ui
se puede representar en la forma:
ui T = [di T θiT ]
La cual es de orden seis, es decir, que tiene tres componentes de
desplazamiento y tres componentes de rotación. Cada una de las seis componentes
de ui es un grado de libertad de la partícula localizada en i.
[Link] Descripción de la respuesta estructural.
En la figura se define el análisis mediante tres bloques básicos:
Estructura, excitación y respuesta. Una estructura queda definida en forma
única por su geometría, su material, sus condiciones de contorno de corrimiento
(excluyendo los asentamientos de los apoyos) y sus condiciones de contorno de
fuerzas entre elementos. Nótese que todas estas condiciones se desarrollan durante
la construcción de la estructura y son responsables de su rigidez. Tan pronto como la
estructura ha quedado definida, lo que interesa es su comportamiento bajo la acción
de las cargas. Este es el objetivo del análisis estructural, es decir, que dada una
estructura, se debe determinar su comportamiento bajo la acción de una carga
cualquiera. El término excitación se utiliza para representar una o todas las posibles
cargas y la respuesta representa las cantidades que describen las deformaciones y las
tensiones internas de la estructura debido a la carga.
La estructura se puede considerar como una entidad que transforma las
excitaciones en respuesta. Las excitaciones constan de las condiciones de contorno
de carga-fuerza, es decir, las cargas sobre los nudos y los elementos, y de aquellas
condiciones de contorno de corrimiento que representan los asentamientos de los
apoyos.
ESTRUCTURA
Geometría
Material
Condiciones de
EXCITACIONES contorno de RESPUESTA
Asentamientos de corrimiento, sin incluir Corrimientos
apoyos los asentamientos nodales
Cargas nodales Condiciones de Fuerzas en los
contorno de fuerzas vértices
entre elementos
e= Gr G r=G-1e
[Link] Cantidades que describen la respuesta.
La respuesta de una estructura con comportamiento lineal ante una
determinada carga estática consta de los corrimientos y de las tensiones internas
debidas a la configuración deformada.
Los corrimientos se refieren, en realidad, a los nudos. El término corrimiento
realmente incluye los corrimientos de todas las partículas del material. No obstante,
es relativamente fácil calcular los corrimientos en un elemento cuando se conocen
los corrimientos de sus vértices.
En los elementos estructurales del tipo de barras y vigas, los elementos se
apoyan en sus vértices; y los corrimientos calculados para los vértices se toman
como asentamientos de los apoyos junto con las cargas impuestas sobre el elemento.
El análisis del elemento sometido a esta carga producirá la respuesta en las partículas
que no están en los nudos.
La respuesta de tensiones de la estructura consta de las cantidades que
definen el estado de tensiones en cada partícula del material. En el análisis
sistemático de estructuras del tipo de barras y vigas se considera que la respuesta de
tensiones está completamente definida cuando se han determinado las fuerzas en los
vértices de cada elemento, puesto que las resultantes de tensión y los pares de
tensión se pueden calcular para otras secciones transversales mediante cálculos
sencillos.
[Link] Métodos para calcular la respuesta.
Se supone que la estructura es discreta, de tal modo que su respuesta
también se puede describir en forma de arreglos. Bajo la acción de una carga estática,
la relación entre las excitaciones y la respuesta es algebraica lineal, en donde G
representa las propiedades intrínsecas de la estructura, e las excitaciones y r la
respuesta. Físicamente G= er, representa dos condiciones: el equilibrio de fuerzas y
la compatibilidad de corrimientos. La condición de equilibrio de fuerzas es el
resultado de la exigencia de que todo elemento esté en equilibrio estático bajo la
acción de las cargas externas y sus fuerzas en los vértices y de que todo nudo esté en
equilibrio estático bajo la acción de las cargas nodales y las fuerzas en los vértices de
aquellos elementos que se encuentran en el nudo. La condición de compatibilidad de
corrimientos es el resultado de la exigencia de que las deformaciones de los
elementos estructurales sean geométricamente compatibles en los corrimientos
nodales.
2.2.6 Pórticos espaciales.
Z
X
Coordenadas locales
a) Desplazamientos
ix
iy
iz
ix
iy
iz
=
jx
Ec. 2.2.6.a.
jy
jz
jx
jy
jz
b) Fijaciones
f ix
f
iy
f iz
m ix
m
iy
m iz
f° =
f
Ec. 2.2.6.b.
jx
f jy
f jz
m
jx
m jy
m jz
Matriz de rigidez [M]:
Como se trata de una matriz simétrica, solo mencionaremos los términos de la
diagonal superior:
EA 6 EI Y
[M]1,1 = [M]3,11 =
L L (1 Y )
2
[M]1,2 = 0 [M]3,12 = 0
[M]1,3 = 0 GJ
[M]1,4 = 0 [M]4,4 =
L
[M]1,5 = 0 [M]4,5 = 0
[M]1,6 = 0 [M]4,6 = 0
EA
[M]1,7 = - [M]4,7 = 0
L [M]4,8 = 0
[M]1,8 = 0 [M]4,9 = 0
[M]1,9 = 0
[M]1,10 = 0 [M]4,10 = - GJ
L
[M]1,11 = 0 [M]4,11 = 0
[M]1,12 = 0 [M]4,12 = 0
[M]2,2 =
12EI Z ( 4 Y ) EI y
L (1 Z )
3 [M]5,5 =
(1 Y ) L
[M]2,3 = 0 [M]5,6 = 0
[M]2,4 = 0 [M]5,7 = 0
[M]2,5 = 0 [M]5,8 = 0
6 EI Z
[M]2,6 = 6 EI y
L (1 Z )
2
[M]5,9 =
L (1 Y )
2
[M]2,7 = 0
12EI Z [M]5,10 = 0
3
[M]5,11 = (2 Y ) EI y
[M]2,8 =
L (1 Z )
(1 Y ) L
[M]2,9 = 0
[M]5,12 = 0
[M]2,10 = 0
[M]2,11 = 0 [M]6,6 = (4 Z ) EI z
(1 Z ) L
6 EI Z
[M]2,12 = 2 [M]6,7 = 0
L (1 Z ) 6 EI Z
12EI y [M]6,8 =
[M]3,3 = L (1 Z )
2
L3 (1 Y ) [M]6,9 = 0
[M]3,4 = 0 [M]6,10 = 0
6 EI y [M]6,11 = 0
[M]3,5 = 2 ( 2 Z ) EI z
L (1 Y ) [M]6,12 =
(1 Z ) L
[M]3,6 = 0
[M]3,7 = 0 [M]7,7 = EA
[M]3,8 = 0 L
12EI Y [M]7,8 = 0
[M]3,9 = 3 [M]7,9 = 0
L (1 Y )
[M]7,10 = 0
[M]3,10 = 0 [M]7,11 = 0
[M]7,12 = 0
12EI Z
[M]8,8 =
L (1 Z )
3
[M]8,9 = 0
[M]8,10 = 0
[M]8,11 = 0
[M]8,12 = 6 EI Z
L2 (1 Z )
12EI Y
[M]9,9 =
L3 (1 Y )
[M]9,10 = 0
6 EI y
[M]9,11 =
L (1 Y )
2
[M]9,12 = 0
[M]10,10 = GJ
L
[M]10,11 = 0
[M]10,12 = 0
[M]11,11 = (4 Y ) EI y
(1 Y ) L
[M]11,12 = 0
[M]12,12 = (4 Z ) EI z
(1 Z ) L
2.2.7 Matriz de transformación de desplazamiento.
Matriz de rotación.
Siendo:
x j xi
ax = L= x j x i y j y i z j z i
2 2 2
L
y j yi
ay =
L
z j zi
az =
L
Para miembros inclinados
Miembros Inclinados
Cuando se conoce el ángulo:
ax ay az
a y Cos a x a z Sen a x Cos a y a z Sen a x2 a y2 Sen
a a x2 a y2 a x2 a y2
a y Sen a x a z Cos a y a z Cos a x Sen a x2 a y2 Cos
a x2 a y2 a x2 a y2
Ec. 2.2.7.a
Miembros Verticales
Cuando se conoce el ángulo:
0 0 az
a | = sen -cos 0
cos sen 0
Ec. 2.2.7.b
Luego, la matriz de Rotación para cualquier elemento es:
a . . .
A= Ec. 2.2.7.c.
. a . .
. . a .
. . . a
Desplazamientos Locales = A *desp. Globales
Desplazamientos Globales = At *desp. Locales
2.2.8 Matriz de transformación de fuerzas.
La misma matriz anterior se utiliza para transformar el vector de fuerzas ya
sea de coordenadas locales a globales o viceversa.
Fij. Locales = A*fij. Globales
Fij. Globales = At*fij. Locales
2.2.9 Método dinámico.
[Link] Condensación estática.
Un método práctico para, lograr la reducción de la matriz de rigidez, es
identificar aquellos grados de libertad que se desea condensar o reducir como grados
de libertad dependientes o secundarios y expresarlos en función de los grados de
libertad seleccionados como independientes o primarios. La relación entre los grados
de libertad primarios o secundarios se establece por medio de relaciones estáticas; a
ello se debe su nombre, método de condensación estática (Guyan, R.J.,1975). Estas
relaciones proveen los medios para reducir la matriz de rigidez. El método de
condensación estática se usa también, en problemas estáticos, para eliminar grados
de libertad internos de los elementos usados en la aplicación del método de los
elementos finitos.
Aquellos grados (secundarios) que serán reducidos o condensados, son
designados por las primeras s coordenadas y grados de libertad que quedan
(primarios) son designados por las últimas coordenadas. Con este arreglo de las
coordenadas la ecuación de rigidez de la estructura, puede ser escrita usando matrices
con particiones, como
[Kss] [Ksp] {ys} {0}
=
[Kps] [Kpp] {yp} {Fp}
Ec. [Link].a.
donde {ys}, es el vector desplazamiento que corresponde a los s grados de libertad
por reducir, e {yp} el vector correspondiente a los grados de libertad restantes, que
fueron seleccionados como independientes o primarios. En la ecuación anterior se ha
supuesto que no existen fuerzas externas aplicadas a los s grados de libertad
secundarios. Esta suposición no es obligatoria (Gallaher, R. H., 1975) pero sirve para
simplificar las explicaciones sin afectar los resultados finales. La simple operación
de multiplicar las matrices indicadas en la ecuación anteriormente citada, produce las
ecuaciones siguientes:
[Kss] {ys} + [Ksp] {yp} = {0} Ec. [Link].b.
[Ksp] {ys} + [Kpp] {yp} = {Fp} Ec. [Link].c.
la ecuación anterior es equivalente a :
{ys} = [ T ] {yp} Ec. [Link].d.
donde [ T ] es la matriz de transformación dada por
[ T ] = - [Kss] -1 [Ksp] Ec. [Link].e.
Aplicando la ecuación {ys} = [ T ] {yp}, y haciendo uso de la ecuación [ T ] =
-1
- [Kss] [Ksp], se obtiene la ecuación reducida de rigidez, que relacionan las fuerzas
y los desplazamientos para las coordenadas primarias, esto es:
[ K ] {yp} = {Fp} Ec. [Link].f.
en donde [ K ] es la matriz reducida de rigidez dada por:
[ K ] = [Kpp] - [Kps] [Kss] -1 [Ksp] Ec. [Link].g.
La ecuación [ T ] = - [Kss] -1 [Ksp], que expresa la relación estática entre las
coordenadas secundarias {ys} y las coordenadas primarias {yp}, puede ser también
escrita, usando la identidad {yp} = [I]{Fp}, como
{ys} [T ]
= {yp} Ec. [Link].h.
{yp} [I]
ó
{y} = [T] {yp}
donde:
{ys} [T ]
{y} = y [T] =
{yp} [I]
Aplicando la ecuación Ec. [Link].h. en la ecuación general y multiplicando
por [T]T se demuestra que la matriz reducida de rigidez [K] puede expresarse como la
transformación de la matriz de rigidez del sistema [K]:
[ K ] = [T]T [K] [T]
Podría parecer que el cálculo de la matriz reducida de rigidez [ K ], dada por
la ecuación [ K ] = [Kpp] - [Kps] [Kss] -1 [Ksp], requiere el cálculo de la matriz inversa
[Kss] -1 que es relativamente engorroso cuando el número s de coordenadas
secundarias es alto. Sin embargo, la aplicación del método de condensación estática
no requiere la inversión de matrices. La matriz reducida de rigidez [ K ] y la matriz
de transformación [ T ] pueden, en realidad, obtenerse con la aplicación del método
de Gauss – Jordan aplicando sistemáticamente a la matriz de rigidez del sistema [K],
para eliminar las s coordenadas secundarias {ys}, en el punto del proceso
eliminatorio, la ecuación de rigidez, la ecuación general, ha sido transformada en:
[I] [T ] {ys} {0}
= Ec. [Link].i
[0] [K] {yp} {Fp}
Multiplicando las matrices indicadas en el primer miembro de la ecuación
anterior e igualando los resultados a los correspondientes términos del segundo
miembro de esta ecuación, se puede ver que las matrices designadas en esta ecuación
como [ T ] y [ K ] son precisamente las matrices de transformación y de rigidez ya
definidas anteriormente. De esta manera, el proceso de eliminación de Gauss –
Jordan, aplicado a la matriz de rigidez del sistema, produce la matriz de
transformación [ T ] y la matriz reducida de rigidez [ K ]. Por tanto, no es necesario
calcular la matriz inversa [Kss]-1 para reducir las coordenadas secundarias del
sistema.
[Link] Condensación estática aplicada a los problemas dinámicos.
Para reducir las matrices de masa, y amortiguación se supone que la misma
relación estática entre los grados de libertad secundarios y primarios permanece
válida en el problema dinámico. Consecuentemente, la misma transformación basada
en la condensación estática para reducir la matriz de rigidez, es también usada para
reducir la matriz de masa o para reducir la matriz de amortiguación. En general, este
método para reducir el problema dinámico no es exacto e induce errores en los
residuos. La magnitud de estos errores depende del número de grados de libertad
reducidos, como también de la selección específica de los grados de libertad de una
estructura dada.
Vamos a considerar primero el caso que la discretización de las masas nos da
un número de grados de libertad sin masa, En estos casos sólo es necesario efectuar
la condensación estática de la matriz de rigidez y suprimir en la matriz de masa las
filas y columnas correspondientes a estos grados de libertad sin masa. En este caso,
el método de condensación estática no altera el problema original y, por tanto, se
convierte en un problema característico equivalente, sin introducir error alguno.
En el caso general, o sea en el caso que incluye la condensación con grados
de libertad para los cuales el proceso de discretización ha asignado masa a
coordenadas secundarias, la masa se obtiene usando una transformación análoga a la
transformación indicada por la ecuación
K T K T
T
Específicamente, si [M] es la matriz de masa del sistema, la matriz reducida
de masa viene dada por
M T M T T
Donde [T] es la matriz de transformación.
2.3 Diseño de estructuras de concreto armado.
2.3.1 Materiales.
[Link] Concreto.
[Link].1 Esfuerzos de Compresión.
a. Esfuerzos de Compresión Uniaxial.
Por lo general la resistencia a la compresión del concreto se obtiene
del ensayo de probetas de 12” de altura por 6” de diámetro. Las probetas
se cargan longitudinalmente en una tasa lenta de deformación para
alcanzar la deformación máxima en 2 o 3 minutos. La curva esfuerzo-
deformación se obtiene de este ensayo en el cual se relaciona la fuerza de
compresión por unidad de área versus el acortamiento por unidad de
longitud.
C u r v a e s fu e r z o -D e fo r m a c i ó n
400
Esfuerzo f'c
(kg/cm2)
200
0
0 0 .0 0 1 0 .0 0 2 0 .0 0 3 0 .0 0 4
d e fo r m a c i ó n U n i ta r i a E c
La curva que se presenta corresponde a un ensayo de corta duración
del orden de unos cuantos minutos.
Se puede observar que el concreto no es un material elástico, sin
embargo se puede considerar una porción recta hasta aproximadamente el
40% de la carga máxima.
Además el colapso se produce comúnmente a una menor que la
máxima.
En el ensayo de cilindros de concreto simple, la carga máxima se
alcanza a una deformación del orden de 0.002 .El colapso de la probeta
que corresponde al extremo de la rama descendente se presenta en
ensayos de corta duración a deformaciones que varían entre 0.003 y
0.007, según las condiciones del espécimen y de la máquina de ensayo.
A continuación se describe los efectos que tienen la edad, la relación
agua/ cemento, efectos de velocidad de carga, velocidad de deformación,
esbeltez y tamaño del espécimen.
Efectos de la edad.
Debido al proceso continuo de hidratación del cemento, el concreto
aumenta su capacidad de carga con la edad, por tanto el aumento de
capacidad de carga del concreto depende de las condiciones de curado a
través del tiempo.
Efecto de la relación agua/cemento.
La resistencia del concreto depende de la relación agua / cemento: a
mayor relación agua / cemento, menor resistencia.
Efecto de la velocidad de carga.
Las resistencias de una probeta en el que la carga máxima se alcanza a
centésimas de segundo es aproximadamente 50% mayor que la que
alcanza su carga máxima en 66 segundos. Por otra parte para una probeta
en que la carga máxima se alcanza en 69 minutos, la resistencia
disminuye en un 10%.
Efectos de la velocidad de deformación.
Si la velocidad de deformación es grande, la rama descendente es
brusca, en tanto que si la deformación se aplica lentamente, la rama
descendente es bastante suave.
Efectos de esbeltez y del tamaño del espécimen.
Se ha tomado arbitrariamente como 100% la resistencia de una
probeta con relación de esbeltez igual a dos. Para esbelteces mayores de
seis la resistencia baja hasta llegar a un 85%. En especimenes
geométricamente semejantes pero de distinto tamaño la resistencia
disminuye para un espécimen mayor.
b. Comportamiento a esfuerzos Combinados.
En muchas estructuras el concreto está sujeto a esfuerzos directos y
cortantes que actúan en varias direcciones. Considerando el equilibrio de
las fuerzas que actúen en un elemento de concreto, se demuestra que se
puede reducir cualquier combinación de esfuerzos combinados a tres
esfuerzos normales que actúan en tres planos perpendiculares.
Investigadores han llegado a la conclusión de que la resistencia del
concreto sujeto a compresión biaxial puede ser mayor hasta un 27% que
la resistencia uniaxial. Para esfuerzos biaxiales iguales de compresión el
aumento de resistencia es aproximadamente de un 16%.
Se han hecho ensayos de probetas de concreto sujeto a compresión
triaxial.
En estos ensayos el estado triaxial de esfuerzos se crea rodeando al
espécimen de aceite acierta presión (presión de confinamiento lateral) y
aplicando una carga axial hasta la falla. Se encontró la siguiente relación:
f1= f’c + 4.1f2
Donde:
f1 = resistencia a la compresión axial del espécimen.
f’c = resistencia a la compresión uniaxial del espécimen no confinado
f2 = presión de confinamiento lateral.
Es evidente que un aumento en la presión lateral produce aumentos
significativos en ductilidad al igual que en la resistencia.
[Link].2 Esfuerzos de Tensión en el concreto.
El someter a tensión axial directa, no ha sido muy utilizado para propósitos
de investigación debido a dificultades experimentales. En lugar de ello se ha
utilizado la prueba brasilera, que en esencia consiste en someter una probeta de
concreto a compresión lineal diametral.
El esfuerzo de ruptura de tensión a través del diámetro se encuentra de la
relación 2P/( hd), en que P es la carga aplicada durante la ruptura, h la longitud del
cilindro y d el diámetro.
Para pruebas realizadas se ha encontrado que el esfuerzo de tracción del
concreto está dado por la siguiente relación:
ft = 1.5 f ' c (kg/cm2) Ec. [Link].2.a.
También es posible evaluar la resistencia a la tensión del concreto por medio
de pruebas de flexión realizadas en vigas de concreto simple. Esto se determina con
frecuencia ensayando un prisma de concreto simplemente apoyado, sujeto a uno o
dos cargas concentradas. La resistencia de tensión en flexión, conocida como módulo
de ruptura fr se calcula de la fórmula de flexión M/Z en que M es el momento
flexionante y Z el módulo de la sección.
Un valor usual aproximado encontrado para el módulo de rotura es:
fr = 2 f ' c (kg/cm2) Ec. [Link].2.b.
[Link].3 Efectos del tiempo en el concreto endurecido.
Cuando se aplica una carga a un espécimen de concreto, éste adquiere una
deformación inicial. Si la carga permanece aplicada, la deformación aumenta con el
tiempo, aun cuando la carga no se incrementa. Las deformaciones que ocurren con el
tiempo en el concreto se deben esencialmente a dos causas: Contracción y flujo
plástico.
Contracción.
Las contracciones por contracción se deben esencialmente a cambios en el
contenido de agua del concreto a lo largo del tiempo. La contracción tiende a
producir esfuerzos debido a la restricción al libre desplazamiento del
elemento. Se puede estimar que las deformaciones unitarias debidas a
contracción varían entre 0.0002 y 0.0010.
Flujo plástico.
El flujo plástico es un fenómeno relacionado con la aplicación de la carga; se
trata esencialmente de un fenómeno de deformación bajo carga continua,
debido a un reacomodo interno de las partículas que ocurre al mismo tiempo
que la hidratación del cemento.
Efecto de la permanencia de la carga.
Se pude decir con cierto grado de seguridad, que el concreto puede tomar
indefinidamente, sin fallar, cargas hasta el 60% de su capacidad. Cargas
mayores del 70-80%, aplicadas de modo permanente, acaban siempre por
provocar la falla del espé[Link]ón
[Link] ACERO DE REFUERZO.
El acero de refuerzo en concreto armado son varillas de sección redonda, las
cuales tienen corrugaciones cuyo fin es restringir el movimiento longitudinal de las
varillas relativas al concreto que las rodea. Las varillas comunes que se producen en
nuestro medio son:
Tabla [Link].a
Barra Diámetro Peso Área Perímetro
Núm Pulg cm. Kg/m cm2 cm
3 3/8 0.98 0.559 0.71 2.99
4 ½ 1.27 0.993 1.27 3.99
5 5/8 1.59 1.552 1.98 4.99
6 ¾ 1.91 2.235 2.85 5.98
7 7/8 2.22 3.042 3.88 6.98
8 1 2.54 3.973 5.07 7.98
9 1 1/8 2.86 5.028 6.41 8.98
10 1¼ 3.18 6.207 7.92 9.97
11 1 3/8 3.49 7.511 9.58 10.97
12 1 1/2 3.81 8.938 11.40 11.97
Generalmente el tipo de acero se caracteriza por el límite o esfuerzo de
fluencia, entre estos tenemos los de grado 40, 50 y 60, que corresponden a los límites
de fluencia de 2800, 3500 y 4200 kg/cm2.
Las curvas esfuerzo- deformación del acero muestran una porción inicial
elástica lineal, una plataforma de fluencia (es decir donde la deformación continua
sin aumento del esfuerzo, a este valor del esfuerzo se le llama esfuerzo de fluencia)
una región de endurecimiento por deformación, y finalmente una zona donde el
esfuerzo decae hasta ocurrir la fractura. Ver gráfico.
Curva Esfuerzo-Deformación del acero
6000
5000
Esfuerzo (kg/cm2)
4000
3000
2000
1000
0
0 0.05 0.1 0.15
deformación Unitaria
Fig. [Link].a
El módulo de elasticidad del acero está dado por la pendiente de la porción
elástica lineal de la curva esfuerzo- deformación, el valor del módulo de elasticidad
de los distintos tipos de acero cambia muy poco y generalmente se toma igual a 2
*106 kg/cm2.
2.3.2 Análisis y diseño por flexión.
Alcance
Las disposiciones de este capítulo se aplicarán al diseño de elementos como
vigas, losas, muros de contención, escaleras y en general cualquier elemento
sometido a flexión, excepto que para vigas de gran peralte, losas armadas en dos
direcciones y zapatas se deberá cumplir con lo estipulado en los capítulos
respectivos.
El diseño de las secciones transversales de los elementos sujetos a flexión
deberá basarse en la expresión:
Mu Mn
Donde.
Mu es la resistencia requerida por flexión en la sección analizada
Mn es la resistencia nominal a la flexión de la sección
[Link] Hipótesis de diseño.
El diseño por resistencia de elementos sujetos a flexión deberá satisfacer las
condiciones de equilibrio y compatibilidad de deformaciones y deberá
basarse en las siguientes hipótesis:
a) Las deformaciones en el refuerzo y en el concreto se supondrán
directamente proporcionales a la distancia al eje neutro.
b) Existe adherencia entre el concreto y el acero de tal manera que la
deformación del acero es igual a la del concreto adyacente.
c) La máxima deformación utilizable del concreto en la fibra extrema a
compresión se supondrá igual a 0.003.
d) El esfuerzo en el refuerzo deberá tomarse como Es veces la deformación
del acero: para deformaciones mayores a las correspondientes a fy, el
esfuerzo se considerará independiente de la deformación e igual a fy.
e) La resistencia a tracción del concreto no será considerada en los cálculos.
f) El diagrama esfuerzo –deformación para la zona de esfuerzos de
compresión del concreto se puede definir como:
- Un esfuerzo constante en el concreto de 0.85f’c que se supondrá
uniformemente distribuido en una zona equivalente de compresión,
limitada por los bordes de la sección transversal y una línea recta paralela
al eje neutro, a una distancia a = β1.c de la fibra de deformación unitaria
máxima d4e compresión.
- La distancia c, desde la fibra de deformación unitaria máxima al eje neutro
se medirá en dirección perpendicular a dicho eje.
- El factor β1 deberá tomarse como 0.85 para resistencias de concreto f’c
hasta de 280 kg/cm2, β1 disminuirá a razón de 0.05 por cada 70kg/cm2 de
aumento de f’c, con un valor mínimo de 0.65.
El diseño por resistencia de elementos sujetos a flexión requiere que sean
satisfechas dos condiciones:
1) El equilibrio estático y
2) La compatibilidad de deformaciones.
Las fuerzas de compresión y de tracción que actúan en la sección, a la
resistencia nominal, deben equilibrarse y debe haber compatibilidad entre los
esfuerzos y las deformaciones del concreto y el acero.
a) se ha observado en diferentes tipos de ensayos que la deformación máxima
del concreto al aplastamiento por compresión, varían entre 0.003 y valores
superiores a 0.008 bajo condiciones especiales; no obstante la deformación a
la cual se desarrolla el momento último está generalmente alrededor
alrededor de 0.003 a 0.004 para elementos de proporciones y materiales
normales.
b) Para refuerzo corrugado se puede asumir que el esfuerzo en el refuerzo es
proporcional a la deformación, para niveles por debajo de la resistencia a la
fluencia fy. En el cálculo de la resistencia, la fuerza desarrollada en el
refuerzo a tracción o compresión se calcula de la siguiente manera:
Si εs < εy (deformación de fluencia)
Asfs = As Es εs
Si εs ≥ εy Asfs = As fy
Donde εs es el valor obtenido del diagrama de deformación en el punto de
ubicación del refuerzo y fs es el esfuerzo en el refuerzo calculado para las
cargas no amplificadas.
e) La resistencia a la tracción del concreto en flexión, (módulo de rotura) es
más variable que la resistencia a la compresión y su valor es de
aproximadamente 10 a 15 por ciento de3 la resistencia a la compresión,
siendo despreciada en el diseño por resistencia.
Sin embargo la resistencia del concreto a tracción es importante cuando se
consideran aspectos como el agrietamiento y las deflexiones bajo cargas de
servicio.
f) Por razones prácticas, se permite el uso de una distribución rectangular de
esfuerzos en compresión, que reemplaza a una forma de distribución más
[Link] el bloque rectangular equivalente de esfuerzos, se usa un esfuerzo
promedio de 0.85f’c, siendo la profundidad del rectángulo a= β1c.
Al utilizar la distribución rectangular equivalente de esfuerzos del concreto,
las expresiones para la resistencia de diseño de secciones rectangulares o
con alas se resumen como se indica a continuación:
RESISTENCIA DE ELEMENTOS SUJETOS A FLEXION
1. Sección rectangular con refuerzo únicamente en tracción.
Para secciones rectangulares, el momento resistente de diseño ØMn puede
calcularse por medio de:
fy
ØMn =Ø[As fy d ( 1-0.59ρ )]
f ´c
ØMn = Ø[ As fy ( d- a/2)]
Donde:
a = As fy / 0.85f´c b
2. Secciones T con refuerzo únicamente en tracción.
Cuando el peralte del ala en compresión es igual o mayor que el espesor del
bloque rectangular equivalente de esfuerzos, a, el momento resistente de
diseño ØMn puede calcularse por medio de las ecuaciones dadas para una
sección rectangular con refuerzo en tracción únicamente.
Cuando el espesor del ala con refuerzo en compresión es menor que a, el
momento resistente de diseño ØMn puede calcularse por medio de:
ØMn = Ø[ ( As – Asf) fy (d-a/2) + Asf fy( d-0.5hf)]
Donde:
Asf = 0.85f’c (b- bw) hf/fy
a = (As – Asf) fy / (0.85 f’c bw)
Para la construcción de vigas T, según se define en la sección 9.8, el ancho de
la cara en compresión, b, es igual al ancho efectivo del ala.
3. Sección rectangular con refuerzo en compresión.
Para secciones rectangulares, el momento resistente de diseño ØMn puede
calcularse de la manera siguiente:
( As A' s ) f ' cd ' 6000
Si: ≥ 0.85β1 [ ]
bd fyd 6000 fy
ØMn = Ø [(As –A’s) fy (d- a/2) + A’s fy (d-d’)]
Donde:
a = ( As – A’s) fy / (0.85 f´c b)
Cuando el valor de (As – A’s)/bd es menor que el valor dado anteriormente,
el esfuerzo en el refuerzo en compresión es menor que la resistencia a
la fluencia fy. En este caso pueden no tomarse en consideración los efectos
del refuerzo en compresión y la resistencia al momento puede calcularse por
medio de las ecuaciones dadas para una sección rectangular con refuerzo en
tracción únicamente. De lo contrario, se puede hacer un análisis general
basado en las hipótesis que se indican en la sección 11.2.
4. Otras secciones transversales.
Para otras secciones transversales, la resistencia al momento de diseño ØMn
puede calcularse utilizando las hipótesis de la sección 11.2.
Asi mismo, deben satisfacer los requisitos de la sección 11.4.
[Link] Disposiciones Especiales para Elementos Resistentes a Fuerzas de Sismo.
Las disposiciones de esta sección son aplicables a elementos sometidos a
flexión que deban resistir fuerzas de sismo y en las cuales las fuerzas de
diseño relacionadas con los esfuerzos sísmicos, se han determinado en base a
la capacidad de la estructura de disipar energía en el rango inelástico de
respuesta (reducción por ductilidad). En este grupo se encuentran las vigas
que formen pórtico con columnas o placas.
Las vigas que deban resistir fuerzas de sismo deberán cumplir con lo
indicado en esta sección para lo referente al diseño del acero longitudinal, y
con lo indicado en el capítulo 13 Cortante y torsión para lo referente al
refuerzo transversal.
- La resistencia especificada del concreto (f´c) no será menor que 210 kg/cm2.
- La calidad del acero de refuerzo no excederá de lo especificado para acero grado
ARN 420 (414 MPa o 4200 Kg/cm2).
- La relación ancho a peralte de las vigas no deberá ser menor que 0.3
- El peralte efectivo (d) deberá ser menor o igual que un cuarto de la luz libre.
- El ancho de las vigas no será menor que 25 cm , ni mayor que el ancho de la
columna (medida en un plano perpendicular al eje de la viga) más tres cuartos
del peralte de la viga a cada lado.
- La carga axial (Pu) no deberá exceder de 0.1f’c Ag .En caso contrario, el
elemento deberá tratarse como elemento en flexocompresión .
- No deberán hacerse empalmes traslapados o soldados en el refuerzo dentro de una
zona localizada a “d” de la cara del nudo.
- Los empalmes traslapados del refuerzo en zonas de inversión de esfuerzos,
deberán quedar confinados por estribos cerrados espaciados a no más de 16 veces
el diámetro de las barras longitudinales sin exceder 30 cm.
Se exige un concreto de resistencia mínima f’c= 210Kg/cm2 para elementos
sismorresistentes, adoptando el criterio de esta resistencia mínima para estructuras
conformadas por pórticos y/o muros de concreto armado.
En estructuras de albañilería, como son las viviendas, los edificios multifamiliares
de pocos pisos o en general las edificaciones estructuradas con muros de albañilería
resistentes a cargas de gravedad y cargas de sismo, se permite usar concretos de
resistencia 175 Kg/cm2, ya que en estos, los elementos sismorresistentes van a ser los
muros de albañilería.
El esfuerzo de fluencia del refuerzo no excederá de fy= 4200Kg/cm 2, grado ARN
420, para asegurar que se cumplan condiciones de ductilidad. Los aceros de mayor
resistencia producen estructuras más frágiles.
La relación ancho a peralte exigida para las vigas, trata de evitar vigas muy
peraltadas en relación a su ancho, con el propósito de controlar el pandeo lateral
.Sin embargo esta exigencia podrá ser obviada en los casos en que su peralte
corresponda a razones arquitectónicas y no estructurales, o que se demuestre que el
problema del pandeo lateral no es crítico.
La condición de un peralte efectivo “d” menor o igual a un cuarto de la luz libre,
trata de evitar vigas muy peraltadas en relación a su luz, donde el comportamiento
es diferente al de las vigas normales y donde se producirán concentraciones de
esfuerzos debido a su considerable rigidez.
Se exige que los empalmes no se hagan en los extremos de las vigas, reconociendo
que estas zonas son de máximo esfuerzo y por tanto en ellas se pueden producir
rótulas plásticas.
[Link] Refuerzo Máximo en Elementos Sujetos a Flexión.
En elementos sujetos a flexión, el porcentaje de refuerzo ρ proporcionado no
deberá exceder de 0.75ρb, donde ρb es el porcentaje de refuerzo que produce la
condición balanceada, ver sección 9.6.3 del NPE E-060. En elementos con refuerzo
en compresión, la porción de ρb equilibrada por el refuerzo en compresión no
deberá reducirse mediante el factor 0.75 .Para la redistribución de momentos (ρ) o
(ρ- ρ’) no deberá exceder de 0.5 ρb.
La cuantía máxima de 0.75 del porcentaje balanceado busca la falla por
tracción, alejando la posibilidad de una falla por compresión.
En elementos sismorresistentes, donde siempre existirá refuerzo en
compresión
f ' sb
ρ máx = 0.75 b + ρ’
fy
Para secciones con alas y con refuerzo en tracción únicamente
bw
ρb = ( ρb + ρf)
b
donde
Asf f 'c
ρf = y Asf = 0.85 ( b- bw) hf
bwd fy
bw
ρ máx = 0.75 (ρb + ρf )
b
Se pueden derivar expresiones similares de ρb, para otras formas de
secciones utilizando la definición de condición balanceada.
Para una sección rectangula :
0.003 0.003
c=d = = d 6000
6000 fy
0.003 fy 0.003 fy
s 2 * 106
6000
T = ρb bd fy = C = b β1 c 0.85 f’c = 0.85 f’c b β1 d
6000 fy
Donde C = fuerza de compresión
T = fuerza de tracción
Resolviendo :
f ' c 6000
Ρb = 0.85 β1 .
fy 6000 fy
__
Fig. C 11.4.a – Deducción de ρb = ρb para una sección rectangular con refuerzo
en tracción únicamente
f ' sb
ρb bd fy = b bd fy + ρ’ bd f’sb ; ρb = b + ρ’
fy'
Donde:
b = Porcentaje del refuerzo para condiciones balanceadas en una sección
rectangular, con refuerzo en tracción solamente, como la obtenida en la figura
11.4.a
Deducción de ρb para una sección rectangular con refuerzo en compresión (ver
RNE).
[Link] Refuerzo mínimo en Elementos Sujetos a Flexión.
En cualquier sección de un elemento sometido a flexión, excepto zapatas y
losas, donde por el análisis se requiera refuerzo de acero, el área de acero que
se proporcione, será la necesaria para que el momento resistente de la
sección sea por lo menos 1.5 veces el momento de agrietamiento de la
sección no agrietada ( Mcr).
frIg
Mcr = donde fr = 2 √f’c
Yt
El área mínima de refuerzo de secciones rectangulares, podrá calcularse con:
0.7 f ' c
Asmin = bd
fy
Alternativamente, el área del refuerzo positivo o negativo, en cada sección
del elemento, deberá ser por lo menos un tercio mayor que la requerida por el
análisis.
En losas el área mínima de refuerzo cumplirá lo indicado en la sección 7.10,
teniendo en cuenta adicionalmente que el refuerzo en la cara inferior de losas
armadas en dos direcciones (momento positivo) y en la cara superior en el
caso de voladizos será como mínimo 0.0012 b h, este refuerzo se dispondrá
con el espaciamiento máximo indicado en la sección 7.6.
El refuerzo mínimo requerido en losas es algo menor que el requerido en vigas,
(lado que las cargas eventualmente excesivas pueden ser distribuidas lateralmente,
por lo que una falla repentina es menos probable. Este refuerzo debe ser por lo
¡plenos igual al requerido por contracción y temperatura especificado en la Sección
7. 10.
Las losas apoyadas en el terreno, no están consideradas dentro del contexto de esta
Sección a menos que transmitan cargas verticales de otros elementos de la
estructura al terreno. Las plateas de cimentación y losas que transmiten cargas
verticales al terreno deberían satisfacer los requerimientos de la Sección 11.5.4.
[Link] Distancia entre Apoyos Laterales de Elementos Sujetos a Flexión
(pandeo lateral)
La separación entre apoyos laterales de una viga no deberá exceder de 50 veces el
ancho menor b del ala o de la cara en compresión.
Se ha demostrado que las vigas con dimensiones razonables que no tienen arriostre
lateral, aún cuando sean muy peraltadas ' y angostas no fallarán por pandeo lateral
siempre que sean cargadas sin excentricidad lateral que pudiera causar torsión.
Las vigas sin arriostre lateral, a menudo son cargadas con una excentricidad lateral
o con una ligera inclinación, los esfuerzos y las deformaciones que ocurren son
perjudiciales para el caso de vigas angostas y peraltadas y esto es mayor a medida
que la longitud no arriostrada se incrementa. Apoyos laterales con un espaciamiento
menor que 50b pueden ser necesarios bajo condiciones reales de carga.
[Link] Distribución del Refuerzo por Flexión en Vigas y Losas en una Dirección,
Control de Fisuración.
Generalidades.
Esta Sección establece los requisitos para la distribución del refuerzo de
flexión, con el fin de limitar el agrietamiento por flexión en vigas y losas armadas en
una dirección. Las disposiciones de esta Sección son aplicables a elementos no
expuestos a un ambiente agresivo, y no impermeables. En caso contrario, deberán
tomarse precauciones especiales para controlar la fisuración.
Muchas estructuras diseñadas con el método de cargas de servicio ' y con
bajas resistencias en el acero han cumplido las funciones previstas con limitado
agrietamiento por flexión.
Con el uso de aceros de alta resistencia y los métodos de diseño por
resistencia, pueden esperarse agrietamientos visibles el? algunos elementos de la
estructura; en este caso se debe tener en cuenta la distribución del refuerzo para
controlar el agrietamiento y de esta manera proteger el refuerzo de la corrosión.
Para asegurar la protección del refuerzo contra la corrosión y por razones estéticas
es preferible tener muchas grietas finas antes que pocas visibles.
Con el fin de controlar el agrietamiento por flexión en vigas y losas, es
conveniente distribuir el refuerzo uniformemente usando más barras de menor
diámetro que pocas barras de mayor diámetro.
No hay evidencia experimental clara respecto al ancho de la grieta a partir
de la cual existe peligro de corrosión. Las pruebas indican que la calidad del
concreto, su adecuada compactación, un recubrimiento apropiado del refuerzo y su
distribución, son determinantes para la protección contra la corrosión.
Distribución del Refuerzo
El refuerzo de tracción por flexión deberá distribuirse adecuadamente en las
zonas de tracción máximas de un elemento de tal modo de obtener un valor Z menor
o igual a 31000 Kg/cm para condiciones de exposición interior y de Z, menor o igual
a 26 000 kg/cm para condiciones de exposición exterior.
El valor Z se calculará mediante la expresión:
3
Z = fs dc.A'
El esfuerzo en el acero fs puede estimarse con la expresión M / (0.9 d As), (M
es el momento flector en condiciones de servicio) ó suponerse igual a 0.6 fy.
Para controlar el agrietamiento, es mucho más efectivo tener varias barras de
refuerzo a un espaciamiento adecuado que una o dos barras con área equivalente.
La ecuación anterior proporciona una distribución que dentro de lo razonable,
controlará el agrietamiento por flexión. La ecuación está escrita en forma tal que por
si misma acentúa los detalles del refuerzo, en lugar del ancho de la grieta. El área
efectiva del concreto en tracción que rodea el refuerzo principal, y donde siempre
será necesaria la redistribución de momentos, se exige que p - p' sea menor a 0. 5 del
porcentaje balanceado, para conseguir la ductilidad mínima requerida en estos casos.
El refuerzo balanceado rb se obtiene tal como se indica en las figuras 11.4 a,
11.4 b y, 11.4 c. de la NPE E-050
Para secciones rectangulares con refuerzo en tracción:
f ' c 6000
b = 0.85 1
fy 6000 fy
max = 0.75 b
Para secciones rectangulares con refuerzo en compresión:
f ' sb
b = b + ’
fy
f ' c 6000
b 0.85 1. f ' c.
fy 6000 fy
Ver figura 11.4b.
f’sb es el esfuerzo del refuerzo en compresión en condiciones de deformación
balanceada, y se calculará con:
d'
f’sb = 6000 - (6000+fy) fy
d
Se define como aquella que tiene el mismo centroide que el refuerzo. Esta
área está limitada por las superficies de la sección transversal y una línea recta
paralela al eje neutro. El cálculo del área efectiva por varilla, A, se ilustra con el
ejemplo de la figura 11. 7.2, en la cual el centroide del refuerzo principal esta a 9.3
cm del fondo de la viga. El área efectiva en tracción será:
A = 2 x 9.3 x 30 / 5
Los límites indicados en Z corresponden a anchos límites de grietas de 0.4
mm y 0.3 mm respectivamente, los cuales parecen ser satisfactorios en términos de
experiencias prácticas con estructuras existentes.
1Cuando las alas de las vigas T estén sujetas a tracción, parte del refuerzo de
tracción por flexión deberá distribuirse sobre el ancho efectivo del ala de
acuerdo a lo especificado en la sección 9.8 ó en un ancho igual a 1/10 de la
luz del tramo, el que sea menor.
Si el peralte del alma excede de 90 cm, se deberá colocar cerca de las caras
del alma un refuerzo longitudinal cuya área sea por lo menos igual al 10% del
área de refuerzo de tracción por flexión. Este refuerzo se distribuirá en la
zona de tracción por flexión con un espaciamiento que no exceda de 30 cm ó
el ancho del alma.
Si el ancho del alma es mayor a 30 cm se recomienda usar como refuerzo
mínimo los siguientes números de barras:
35 < bw < 40 cm 3 barras
40 < bw < 60 cm 4 barras
60 < bw < 90 cm 5 barras
Independiente de la verificación del valor de Z en cada diseño.
Fig. C11. 7.2 Área efectiva del concreto en tracción (viga con cinco varillas)
2.3.3 Diseño de escaleras.
Fig. 2.3.3.a.
Ln Ln
t = ; donde:
25 20
t : espesor de la escalera.
b =Ancho de la escalera.
P : Paso.
Cp : Contrapaso.
Fig. 2.3.3.b.
MODELO ESTRUCTURAL.
Si los apoyos son vigas y/o zapatas.
(+) MDISEÑO = (+) Mumax. Ec. 2.3.3.a.
= 1.0, 0.9, 0.8
1
M DISEÑO = (+) MDISEÑO Apoyos monolíticos poco rígidos. Ec. 2.3.3.b.
3
1
M DISEÑO = (+) MDISEÑO Apoyos monolíticos rígidos. Ec. 2.3.3.c.
2
METRADOS DE CARGAS.
p.p = hm (b)*2.4
acabado = 0.10 t/m2 * b
wD = p.p + acabado
s/c = s/c t/m2 * b = wL
Cp t Cp
wu = 1.2 wD + 1.6 wL hm = ho + = + Ec. 2.3.3.d.
2 cos 2
Cp P
= arc tg cos = Ec. 2.3.3.d.
P P Cp 2
2.3.4 Evaluación del ancho de las grietas.
Las grietas se presentan en el concreto en forma inevitable cuando se excede
su resistencia a la tensión, por lo tanto lo que se busca es tan solo limitar el ancho de
éstas.
Para evaluar el ancho de las grietas se puede usar la expresión propuesta por
Gergely- Lutz:
wmáx = 0.1086*10-4βfs 3 dc A
donde:
wmáx = Ancho de la grieta en mm.
b = (h-c)/(d-c) = valor promedio del factor de profundidad, puede
tomarse igual a 1.2.
fs = Esfuerzo máximo en el acero al nivel de carga de servicio, en
kg/cm2.
dc = Espesor, en cm, del recubrimiento medido hasta el centro de la
primera línea de refuerzo.
A = Área de concreto en tensión entre el número de barras, en cm 2.
bt
A= donde, b= ancho de la sección.
bc
t = Profundidad del concreto en tensión se determina considerando
el centro de gravedad de las barras en tensión como el centroide
del área de concreto en tensión.
gbc = Se define como el número de barras en el lado de tensión si
todas las barras son del mismo diámetro; o el área total de acero
entre el área de la barra mayor.
La fórmula anterior no es aplicable a losas armadas en dos direcciones.
Es de notar que el refuerzo permisible de fs = 0.6 fy en lugar del valor real del
esfuerzo en el acero sólo es aplicable a estructuras normales. Deben tomarse
precauciones especiales para estructuras expuestas a climas muy agresivos, tales
como en instalaciones químicas o en estructuras portuarias.
En el caso de usar paquetes de barras como refuerzo, el ancho de la grieta,
wmáx en mm, se estima con la siguiente expresión:
Wmáx = 0.1086 *10-4βfs 3 d 'c A'
Donde:
d’c = profundidad del recubrimiento al centro de gravedad del paquete.
bt
A’ =
'bc
Para paquetes de dos barras → γ’bc = 0.815 γbc
Para paquetes de tres barras → γ’bc = 0.650 γbc
Para paquetes de cuatro barras → γ’bc = 0.570 γbc
Anchos de grieta permisibles.
Condición de exposición Ancho permisible
Aire seco o con membrana de protección 0.41 mm
Aire húmedo o suelo 0.30 mm
Agentes químicos 0.18 mm
Agua de mar 0.15 mm
Estructuras de contención de agua 0.10 mm
Factor z para verificación de control de grietas en Vigas y Losas.
La verificación de control de grietas sólo es necesaria cuando se usa acero en
tensión con resistencia de fluencia, fy, que excede a 2800 kg/cm2. el código ACI, en
orden de reducir el tamaño de los cálculos, recomienda usar un facor z, donde:
z = fs 3 d c A , en kg/cm para barras aisladas
z = fs 3 d ' c A , en kg/cm para paquetes de barras.
El valor de z no debe ser mayor que los valores indicados:
z ≤ 31000kg/cm para vigas en interiores, corresponde a wmáx = 0.40 mm
z ≤ 23200kg/cm para vigas en exteriores, corresponde a wmáx = 0.30 mm
z ≤ 27500kg/cm para vigas en interiores, corresponde a wmáx = 0.40 mm
z ≤ 20600kg/cm para vigas en exteriores, corresponde a wmáx = 0.30 mm
Debe enfatizarse que barras pequeñas de refuerzo a espaciamiento menores
dentro de la zona de tensión dan una mejor distribución del agrietamiento, por lo
tanto son preferibles para conseguir el control del agrietamiento. El uso del factor z
no es alentador, desde que no da indicación directa de la magnitud del ancho de la
grieta..
CONTROL DEL ANCHO DE GRIETAS.
El código ACI-99 (sección 10.6), menciona que el control de fisuras estará de
acuerdo a una adecuada distribución del refuerzo; para lo cual indica que el acero de
refuerzo en tensión, cercano a una superficie no deberá exceder a:
96000
s= - 2.5cc
fs
2520
y no mayor a : s ≤ 30
fs
Donde, cc es el recubrimiento en (cm) y fs (kg/cm2) es el esfuerzo calculado
mediante:
M
fs =
As jd
M, es el momento bajo cargas de servicio (no factorizado).
As, área de acero en tracción.
a c
Jd, es el brazo del momento interno, pudiendo ser: d - od-
2 3
Se permite tomar un valor de fs igual a 0.6fy
Las fórmulas anteriores han sido evaluadas para un ancho de grieta de 0.041
cm, por lo que se pueden modificar estas fórmulas dadas por el ACI para otros
anchos permisibles de grietas”w”.
96000 w
s = 2.5cc
fs 0.041
y no mayor a :
2520 w
s ≤ 30
f s 0.041
Ancho de Grieta permisibles.
Condición de exposición Ancho Permisible “w”
Aire seco o membrana de protección 0.041 cm
Aire húmedo o suelo 0.030 cm
Agentes químicos 0.018 cm
Agua de mar 0.015 cm
Estructura de contención de agua 0.010 cm
2.3.5 Diseño por fuerza cortante.
[Link] Resistencia al corte.
El diseño de las secciones transversales de los elementos sujetos a fuerza
cortante deberá basarse en la expresión Vu ≤ фVn
donde.
Vu = es la resistencia requerida por corte en la sección analizada.
Vn = es la resistencia nominal al corte de la sección.
La resistencia nominal Vn estará conformada por la contribución del concreto Vc
y por la contribución de acero Vs de tal forma que:
Vn = Vc + Vs
Al determinar la contribución del concreto Vc, cuando corresponda, deberán
considerarse los efectos de las fuerzas de tracción axial debidas a la fluencia y
contracción de fraguado y a cambios de temperatura en los elementos que
estén restringidos axialmente.
Las secciones situadas a una distancia menor que “ d “ desde la cara del
apoyo ,podrán ser diseñadas para la fuerza Vu calculada a una distancia “d”,
si se cumplen las siguientes condiciones:
a) Cuando la reacción del apoyo, en dirección del corte aplicado, introduzca
compresión en las regiones cercanas al apoyo del elemento.
b) Cuando no existen cargas concentradas entre la acara del apoyo y la
sección ubicada a una distancia “d”.
[Link] Contribución del concreto en la resistencia al corte.
La contribución del concreto Vc podrá evaluarse considerando:
a) Para miembros sujetos únicamente a corte y flexión:
Vc = 0.53 f 'c bw d
Si actúan momentos de torsión, ver sección13.4.3.2 del NPE E-050.
Para cálculos más detallados:
Vud
Vc = 0.5 f ´c 176w bwd 0.9 f ' cbwd
Mu
Donde Mu es el momento actuante simultáneamente con Vu en la sección
considerada.
El cociente Vu d/ Mu no debe considerarse mayor a 1 en el cálculo de Vc.
b) Para miembros sujetos adicionalmente a compresiones axiales:
Nu
Vc = 0.53 f ' c bw d (1 + 0.0071 )
Ag
Donde Nu se expresa en kg y Ag en centímetros cuadrados.
Para cálculos más detallados:
Vud
Vc= 0.5 f ´c 176w bwd
Mm
Donde:
Mm = Mu - Nu
4h d
8
Y donde el cociente Vud/Mm no está limitado a un valor menor o igual a 1,
sin embargo, Vc no deberá tomarse mayor que:
Nu
Vc = 0.9 f ' c bw d 1 0.028
Ag
Donde la cantidad Un/Ag está expresada en Kg/cm 2.
Cuando Mm resulte negativo, Vc debe calcularse por la expresión última
anterior.
[Link] Contribución del refuerzo en la resistencia al corte.
Refuerzo por corte
El refuerzo por corte puede estar compuesto por:
a) Estribos cerrados perpendiculares al eje del elemento.
b) Estribos perpendiculares al eje del elemento y barras dobladas que formen un
ángulo de de 30° o más con el eje del elemento.
c) Espirales
El refuerzo de fluencia de diseño del refuerzo por corte no debe ser mayor de
4200kg/cm2
Diseño del refuerzo por corte.
Cuando la fuerza cortante Vu exceda de фVc, deberá proporcionarse refuerzo por
corte de manera que se cumpla:
Vu ≤ ф Vn, Vn = Vc + Vs
a) Cuando se utilice estribos perpendiculares al eje del elemento.
Avfyd
Vs =
s
Donde Av es el área de refuerzo por cortante dentro de una distancia s
proporcionada por la suma de áreas de las ramas del o de los estribos
ubicados en el alma.
b) Cuando se utilice refuerzo por corte consistente en una barra individual o en
un solo grupo de barras paralelas, todas dobladas a la misma distancia del
apoyo:
Vs = Av fy senα
Vs no excederá de 0.8 f 'c bw d
c) Cuando el refuerzo por corte consista en una serie de barras paralelas
dobladas o grupos de barras paralelas dobladas a diferentes distancias del
apoyo:
Avfysen cos d
Vs =
s
Únicamente las tres cuartas partes centrales de la porción inclinada de cualquier
barra longitudinal doblada deberá considerarse efectiva como refuerzo por corte.
Cuando se emplea más de un tipo de refuerzo por corte para reforzar la misma
porción del alma, la resistencia al corte Vs deberá calcularse como la suma de los
valores Vs calculados para los diversos tipos.
La resistencia al cortante Vs no deberá considerarse mayor que:
2.1 f ´c bw d
[Link] Límites del espaciamiento del refuerzo por corte.
El espaciamiento del refuerzo por corte colocado perpendicularmente al eje del
elemento no deberá ser mayor de 0.5d ni de 60cm.
Cuando Vs exceda de (1.1 f ' c bw d), el espaciamiento máximo deberá
reducirse a la mitad.
Refuerzo mínimo por corte.
Deberá proporcionarse un área mínima de refuerzo por corte cuando Vu exceda de
0.5фVc, excepto en:
a) Losas y zapatas
b) Losas nervadas y/o aligerados
c) Vigas con peralte total que no exceda 25 cm, dos y media veces el espesor del
ala, la mitad del ancho del alma, eligiéndose el valor mayor.
El refuerzo mínimo por corte restringe el crecimiento del agrietamiento y por
consiguiente aumenta la ductibilidad y advierte el peligro de a falla. En un alma sin
refuerzo, la súbita formación de agrietamiento inclinado puede conducir a una falla
repentina. Este esfuerzo es de gran valor cuando el elemento esta sujeto a una fuerza
de tracción inesperada o a una carga catastrófica.
Se excluyen de este requisito los elementos estructurales señalados en las secciones
[Link] a, b, y c, de la NPE E-050 debido a la posibilidad que exista una repartición
de carga entres zonas fuertes y zonas debiles.
Cuando se deba usar refuerzo por corte de acuerdo con lo indicado en la sección
anterior o se requiera por análisis, el área mínima de corte será:
bws
Av = 3.5
fy
Donde bw y s están en centímetros.
Si actúan momentos de torsión, ver la sección [Link].
[Link] Resistencia a la torsión y corte combinados para elementos de sección
rectangular o en forma T.
Generalidades.
Los efectos de torsión deberán incluirse conjuntamente con la flexión, el corte,
siempre que el momento torsor (Tu) exceda de 0.13ф f ' c ∑x2 y.
En los elementos de sección T, el valor de ∑x 2 y, deberá considerarse para todos los
rectángulos componentes de la sección, debiéndose considerar un ancho máximo de
ala igual a tres veces su espesor a cada lado del alma
Una sección rectangular tipo cajón, podrá considerarse como una sección sólida,
siempre que el espesor de la pared € sea mayor o igual a [Link]én puede
considerarse como una sección sólida aquella que cumple la condición 0.1X< e <
0.25X, excepto que ∑x2 y deberá multiplicarse por 4e/X. Cuando e sea menor de
0.1X deberá considerarse en el análisis la rigidez de la pared.
[Link] Resistencia a la Torsión.
El diseño de las secciones transversales de los elementos sujetos a torsión deberá
basarse en la expresión:
Tu ≤ ф Tn
Donde:
Tu Es la resistencia requerida con respecto al momento torsor en la sección
analizada.
Tn Es la resistencia nominal con respecto al momento torsor.
El momento resistente nominal Tn estará conformado por la contribución del
concreto Tc y por la contribución del concreto Tc y por la contribución del acero Ts,
de tal forma que:
Tn = Tc + Ts
[Link] Resistencia del concreto.
La contribución del concreto a la torsión Tc, podrá evaluarse considerando:
0.20 f ' c X Y
2
Tc =
2
0.4 Vu
1
Ct Tu
La ecuación ara obtener Tc esta basada en un esfuerzo cortante por torsión límite de
0.64 f ' c . En el caso de torsión pura, el refuerzo cortante torsionante de 0.64
f ' c se supone que es la contribución del concreto a la resistencia máxima de una
viga con refuerzo en el alma. Este refuerzo corresponde a un par de torsión igual al
40% del par de agrietamiento de una viga sin refuerzo en el alma y predice de
manera conservadora el agrietamiento por torsión y la falla de una alma sin
refuerzo.
En consecuencia estas ecuaciones son conservadoras para cualquier combinación
de torsión, cortante y flexión en vigas sin estribos.
[Link] – La contribución del concreto al corte en las secciones en las cuales Tu
exceda de (0.13 f f ' c X2 Y), podra evaluarse considerando:
0.53 f ' c .bw.d
vc =
2
Tu
1 2.5Ct
Vu
bw.d
en ambas expresiones: Ct =
X 2Y
Para miembros sujetos adicionalmente a tracción axial significativa el aporte del
concreto a la resistencia al corte y a la torsión deberá considerarse nulo o (Tc = Vc =
0)
[Link] Resistencia del refuerzo.
Detalles del refuerzo.
a) El refuerzo por torsión, será proporcionado en dicción al refuerzo
requerido por corte, flexión y fuerzas axiales.
b) El refuerzo requerido por torsión, podrá combinarse con el que se
requiera para otras fuerzas internas, siempre que el área suministrada
sea la suma de las áreas requeridas individualmente para cada efecto,
y se cumpla que los requisitos mas estrictos para la clonación y el
espaciamiento.
c) El esfuerzo de fluencia de diseño del refuerzo para torsión no deberá
exceder de 4200 Kg/cm2.
d) El refuerzo requerido por torsión, estará compuesto por estribo
cerrados o espirales combinados por barras longitudinales.
e) El refuerzo por torsión deberá prolongarse por lo menos una distancia
( b + d ) mas allá del punto donde teóricamente es requerido.
f) Los limites de reparación del refuerzo por torsión deberán ser los
siguientes:
Para estribos cerrados:
Menor o igual a ( X1 + Y1 ) / 4 pero sin exceder 30 cm.
Para longitudinales:
Las barras longitudinales por torsión deberán ser distribuidas
alrededor del perímetro de los estribos cerrados con una separación
máxima de 30 cm.
Debe colocarse dentro de cada esquina de los estribos cerrados por lo
menos una barra longitudinal.
Cuando se empleen secciones T, también deben usarse estribos
cerrados y barras longitudinales en las partes sobresalientes de las alas
que se hayan considerado al determinar X 2Y
Los estribos deben ser cerrados, ya que el agrietamiento inclinado debido a la
tensión puede aparecer en todas las caras de un elemento.
Se proporciona un control del ancho de la grieta diagonal al limitar el esfuerzo de
fluencia de diseño del refuerzo por torsión a 4200 Kglcm2.
La limitación del espaciamiento de los estribos cerrados aseguran el desarrollo de
la resistencia máxima a la torsión de la viga, previniendo pérdidas excesivas de la
rigidez a torsión después del agrietamiento y controlando el ancho de las grietas.
Diseño del refuerzo:
a) Cuando el momento torsor Tu exceda la resistencia del concreto Tc
deberá proporcionarse refuerzo por torsión, evaluándose Ts de acuerdo
a:
TS At.t. X 1.Y1. fy / s
Donde At es el área de una rama del estribo dentro de una distancia s,
y t se evalúa considerando
t 0.66 0.33 Y 1 X 1 1.50
Donde X1 e Y1 son las dimensiones centro a centro del estribo (X1
Y1)
En secciones con alas, los estribos cerrados pueden colocarse en el rectángulo
mayor o en todos los rectángulos componentes. En el primer caso, el factor X1, Y1
de las ecuaciones se refiere a las dimensiones de los estribos cerrados colocados en
el rectángulo mayor Si en todos los rectángulos componentes se colocan estribos
cerrados se puede aplicar la ecuación por separado a cada rectángulo componente,
empleando X, Y, X1, Y1 para el rectángulo sujeto a consideración
Fig. C13.4.4.2 Rectangulos componentes para el calculo de X 2
Y
El espesor mínimo de la pared 0.1X evita la flexibilidad excesiva y el posible pandeo de la misma.
b) El área de las barras longitudinales distribuidas alrededor del
perímetro de los estribos cerrados, Al, se calculará considerando:
A1 2. At .
X 1 Y 1
s
28.x.s Tu X 1 Y 1
A1 2. At
fy Tu Vu s
[Link]
Lo que sea mayor:
El valor de A1 calculado con la formula anterior no necesita ser mayor al que se
obtendría sustituyendo
c) La resistencia al momento torsor Ts no excederá 4 veces Tc. En el
caso de miembros sujetos adicionalmente a tracción axial significativa
el valor de Tc que sirve como límite a Ts (Ts < 4 Tc) se calculará con
la fórmula de la sección [Link] multiplicada por el factor:
(1 - 0.0028 Nu / Ag)
Donde Nu es la tracción
El refuerzo por torsión debe diseñarse para alcanzar el esfuerzo de fluencia antes
del aplastamiento del concreto. Para torsión pura, el esfuerzo máximo de torsión
debe limitarse a: 3.2 f ' c
d) El área de estribos requeridos por torsión y corte deberá evaluarse
considerando:
Area _ de _ dos _ ramas _ del _ estribo As 2 At
s s s
REQUISITOS MÍNIMOS DEL REFUERZO.
Cuando Tu excede de 0. 13 f ' c X 2Y , y cuando se debe usar refuerzo por corte
de acuerdo a lo indicado en la Sección [Link] o el análisis lo indique, el área
mínima de estribos por torsión y corte será:
Av +2 At =3.5
[Link] Cortante por Fricción
Las disposiciones de esta Sección pueden aplicarse cuando sea apropiado
considerar la transmisión de la fuerza cortante a través de un plano dado, tal como el
caso de una grieta existente o potencia¡, una superficie de contacto entre materiales
distintos o una superficie de contacto entre dos concretos vaciados en diferentes
fechas.
Puede suponerse que a lo largo del plano de corte se producirá una grieta en
la cual el desplazamiento relativo es resistido por la fricción mantenida por la
armadura a través de la grieta supuesta.
El propósito de las disposiciones de esta Sección es proporcionar métodos de
diseño para condiciones en las que debe considerarse la transferencia de cortante;
tal como en superficies de contacto entre concretos vaciados en momentos
diferentes, superficies de contacto entre concreto y acero, así como en otras
situaciones en las que se considera apropiado investigar la transferencia de cortante
a través de un plano en el concreto estructural.
Cuando el cortante actúa a lo largo de una grieta ocurre un desplazamiento
de una cara de la grieta con respecto a la otra. Cuando las caras de la grieta son
ásperas e irregulares, este desplazamiento va acompañado por separación de las
caras de la grieta; esta separación es suficiente para esforzar el refuerzo que cruza
la grieta, hasta su punto de fluencia.
El área de refuerzo de cortante por fricción (Avf), a través del plano de cortante
deberá diseñarse según la fórmula:
Vu = Avf fy
para cuando Avf es perpendicular al plano de corte
o Vu = Avf ( sen f + cos f) fy
para el caso en que Avf este inclinado en relación con el plano de corte de manera
que la fuerza cortante produzca tracción en el refuerzo f es el ángulo entre el
refuerzo de corte por fricción y el plano de cortante y es el coeficiente de fricción.
Cuando el refuerzo de cortante por fricción está inclinado hacia el plano de cortante,
de manera que la componente de la fuerza de cortante paralela al refuerzo tienda a
producir tracción en el refuerzo, como se muestra en la Fig. 13.5.2, parte del cortante
lo resiste la componente de la fuerza de tracción en el refuerzo, que actúa paralela al
plano de cortante. Este comportamiento se refleja en la segunda ecuación de la
Sección 13.5.2 de la NPE-E050. Esta ecuación debe emplearse sólo cuando la
componente de la, fuerza cortante paralela al refuerzo produce tracción en el
refuerzo. Conforme el ángulo f se hace mayor de 90°, el esfuerzo en el refuerzo se
hace menor de fy y la segunda ecuación de la Sección 13.5.2 izo es válida.
Fig. C13.5.2 Refuerzo por fricción a cierto ángulo de la grieta superpuesta.
Para el caso de concretos de peso normal, el coeficiente de fricción deberá ser:
Para concreto vaciado monolíticamente = 1.4
Para concreto vaciado sobre concreto endureciendo con superficie
intencionalmente rugosa hasta una profundidad de aproximadamente 6 mm.
= 1.0
Para concreto vaciado sobre concreto endurecido no intencional mente rugoso
= 0.6
Para concreto anclado a acero estructural laminado, mediante pernos de
cabeza o mediante barras de refuerzo = 0.7
En el método de cálculo de cortante por fricción se supone que toda la resistencia al
cortante se debe a la fricción entre las caras de la grieta. Por eso se emplean valores
artificialmente elevados del coeficiente de fricción en las ecuaciones de cortante por
fricción, para concreto vaciado monolíticamente Y para concreto vaciado sobre
concreto endurecido con superficie intencionalmente rugosa, de manera que la
resistencia al cortante calculado concuerde con los resultados experimentales.
El cortante aplicado Vu no debe exceder (0.2 f’c Ac) ni de (56 Ac) en kg, donde
Ac es el área de la sección de concreto en cm 2 que resiste la transferencia de cortante.
El límite superior (0.2 f’c Ac) se especifica para evitar congestionamiento del
refuerzo y también porque las ecuaciones de la Sección 13.5.2 no son conservadoras
cuando Vu tiene un valor mayor.
Las fuerzas de tracción que pudieran existir a través del plano de corte, deberán ser
resistidas por refuerzo adicional.
Cuando una fuerza resultante La resistencia al momento torsor Ts no excederá 4
veces Tc. En el caso de miembros sujetos adicionalmente a tracción axial
significativa el valor de Tc que sirve como límite a Ts (Ts < 4 Tc) se calculará con la
fórmula de la sección 13.4.3.1de la NPE E-050 multiplicada por el factor: de
tracción actúa a través de un plano de corte, debe proporcionarse refuerzo para
soportar dicha tracción además del proporcionado por transferencia de cortante.
Las fuerzas de tracción resultantes, imprevista, han causado fallas de apoyos de
vigas. La tracción puede ser causada por restricción de deformaciones debidas a
cambios de temperatura, fluencia y contracción, etc.
El refuerzo cortante por fricción deberá distribuirse aproximadamente a lo largo del
plano de cortante, y deberá estar anclado para desarrollar la resistencia a la fluencia
en ambos lados, mediante ganchos o anclajes especiales.
Cuando ningún momento actúa sobre el plano del cortante, el refuerzo distribuido de
manera uniforme a lo largo del plano del cortante minimiza los anchos de las
grietas. Cuando un momento actúa a través del plano de cortante, es recomendable
distribuir el refuerzo por transferencia de cortante de manera que la mayor parte
quede en la zona de tracción por flexión.
Al actuar en tracción el refuerzo de cortante por fricción, debe tener pleno anclaje
de tracción en ambos lados del plano del cortante; este anclaje debe enlazarse con
el refuerzo principal para evitar la posible formación de una grieta potencial entre
el refuerzo de cortante por fricción y el cuerpo del concreto.
Elementos en F Lexión
Como criterio básico de diseño se trata de evitar una falla por cortante o
tracción diagonal, que es frágil, y, se quiere conseguir una falla por tracción en
flexión, que es dúctil.
Por este motivo se exige que la fuerza cortante para el diseño se obtenga en
base a los momentos nominales en flexión, calculados con el acero realmente
colocado. De esta forma se habrá proporcionado mayor resistencia en cortante que
en flexión y se evitará la falla frágil.
Puede presentarse fluencia por flexión en casos especiales de vigas con
carga permanente importante en las cuales es factible la formación de rótulas
plásticas en el interior del tramo.
Los requisitos de esta sección son aplicables si la carga axial (Pu) no excede
de 0.1 f'c Ag. En caso contrario, deberán aplicarse los requisitos indicados en la
sección 13.7.2 de la NPE E-050
La fuerza cortante (Vu) de los elementos en flexión deberá determinarse a
partir de la suma de las fuerzas cortantes asociadas con el desarrollo de las
resistencias nominales en flexión (Mn) en los extremos de la luz libre del elemento y
la fuerza cortante isostática calculada para las cargas permanentes.
El refuerzo transversal cumplirá con las condiciones siguientes, a menos que
las exigencias por diseño del esfuerzo cortante sean mayores:
a) Estará constituido por estribos cerrados de diámetro mínimo 3/8".
b) Deberán colocarse estribos en ambos extremos del elemento, en una longitud
(medida desde la cara del nudo hacia el centro de la luz), igual a dos veces el
peralte del elemento (zona de confinamiento), con un espaciamiento So que
no exceda el menor de los siguientes valores:
1) 0.25 d.
2) Ocho veces el diámetro de la barra longitudinal de menor diámetro
3) 30 cm. El primer estribo deberá ubicarse a la mitad del espaciamiento
So o 5 cm.
c) El espaciamiento de los estribos fuera de la zona de confinamiento no
excederá de 0.5 d.
Deberá proveerse el mismo confinamiento especificado en los párrafos anteriores a
cada lado de una sección donde pueda presentarse fluencia por flexión asociada con
los desplazamientos laterales inelásticos del pórtico.
2.3.6 Diseño de columnas.
[Link] FLEXOCOMPRESION.
Alcances
Las disposiciones de este Capítulo se aplicarán al diseño de elementos sometidos a
flexión y carga axial, como son columnas, muros de corte, muros de sótano y en
general cualquier elemento sometido a flexocompresión.
Hipótesis de Diseño
Las hipótesis de diseño para elementos en flexocompresión son las indicadas en el
capítulo 11.- Flexión, en Norma Peruana de Estructuras.
Principios y requisitos Generales.
En elementos sujetos a flexocompresión con cargas de diseño Pn menores a 0.10 f’c
Ag o Pb (la menor), el porcentaje de refuerzo máximo proporcionado debe cumplir
con lo indicado en el capítulo11 Flexión
La resistencia de diseño (ΦPn) de elementos en compresión no se tomará mayor que:
Para elementos con espirales:
Pn (máx) = 0.85Φ [0.85 f’c (Ag- Ast) + Ast fy]
Para elementos con estribos:
Pn (máx) = 0.80Φ [0.85 f’c (Ag – Ast) +Ast fy]
Toda sección sujeta a flexocompresión se diseñará para el momento máximo que
puede actuar con dicha carga.
La carga axial última Pu para una excentricidad dada no deberá exceder de Pn
(máx). El momento Mu deberá amplificarse para contemplar los efectos de esbeltez.
Para el diseño de columnas deberá además cumplirse con lo estipulado en el capítulo
7.- Detalles del refuerzo de la NPE.
Disposiciones Especiales para Columnas sujetas a Flexocompresión que
Resistan Fuerzas de Sismo.
Las disposiciones de esta Sección son aplicables al diseño de columnas sometidas a
flexocompresión que deban resistir fuerzas de sismo, y en las cuales , las fuerzas de
diseño relacionadas con los efectos sísmicos se han determinado en base a la
capacidad de la estructura de disipar energía en el rango inelástico de respuestas
(reducción por ductilidad)
Los requisitos de esta sección son aplicables si la carga de diseño ΦPn excede de
0.1f’c Ag o Pb (la menor). En caso contrario, elemento deberá cumplir los requisitos
para elementos en flexión.
- La resistencia especificada del concreto (f’c) no será menor que 210
Kg/cm2.
- La calidad del acero de refuerzo no excederá de lo especificado para acero
grado ARN (414 Mpa o 4200 kg/cm2).
- El ancho mínimo de las columnas será de 25 cm.
- La relación de la dimensión menor a la mayor de la sección transversal de
la columna no será menor que 0.4.
- La cuantía de refuerzo longitudinal (ρ) no será menor que 0.01 ni mayor
que 0.06. Cuando la cuantía exceda 0.04 los planos deberán incluir
detalles constructivos de la armadura en la unión viga- columna.
La resistencia a flexión de las columnas deberá satisfacer la ecuación:
∑Mnc > 1.4 ∑Mnv
donde:
∑Mnc es la suma de momentos, al centro del nudo, correspondiente a la
resistencia nominal en flexión de las columnas que forman dicho nudo: esta
resistencia en flexión se calculará para la fuerza axial actuante en la hipótesis que
considera las fuerzas de gravedad y de sismo en la dirección considerada,
verificando la condición que de cómo resultado la resistencia a flexión más baja.
∑Mnv es la suma de momentos, al centro del nudo correspondiente a las
resistencias nominales en flexión de las vigas que forman el nudo. Las
resistencias a la flexión deberán sumarse de manera que los momentos de la
columna se opongan a los momentos de las vigas.
Deberá satisfacerse la ecuación anterior para momentos de viga que actúan en
ambas direcciones del plano vertical del pórtico que considera.
La vigencia que las columnas tengan una mayor capacidad resistente en flexión
que las vigas concurrentes en el nudo, asegura que las rotulas plásticas se
formen en las vigas no en las columnas.
Los empalmes de la armadura longitudinal deberán cumplir lo especificado en la
sección 8.1.0. de la NPE.
Dimensiones de diseño para elementos sujetos a compresión con área
transversal mayor a la requerida.
Cuando un elemento sujeto a compresión tenga una sección trasversal mayor que
la requerida por las consideraciones de carga, el refuerzo mínimo de la resistencia
ultima, podrán basarse en una área efectiva, Ag, mayor o igual a ½ del área total.
Límites del refuerzo para elementos en compresión.
El área de refuerzo longitudinal para elementos sujetos a compresión (columnas),
no deberá ser menor que 0.01 ni mayor que 0.06 veces el área total de la sección.
El refuerzo longitudinal mínimo deberá ser de 4 barras dentro de estribos
rectangulares o circulares, 3 barras dentro de estribos triangulares y 6 barras en
caso de que se usen espirales.
La cuantía del refuerzo en espiral, rs; no deberá ser menor que el valor dado por:
Ag f ' c
ρs = 0.45 1
Ac fy
ni menor que:
f 'c
ρs = 0.12
fy
donde:
fy es el esfuerzo especificado de fluencia del acero de la espiral, no mayor de
4200 Kg/cm2.
El efecto del espiral a al aumentar la capacidad de carga del concreto dentro del
núcleo no se manifiesta si no hasta que la columna a quedado sujeta a una caga y a
una deformación suficiente para provocar el desprendimiento del recubrimiento
exterior del concreto.
La cantidad de refuerzo en espiral que requiere la ecuación dada en la Sección
12.6.3 de la N.P.E. pretende proporcionar una resistencia e carga adicional para
columnas cargadas concentricamente, igual o ligeramente mayor que la resistencia
perdida al desprenderse el recubrimiento.
Transmisión de Cargas de las Columnas a través del Sistema de Pisos.
Cuando la resistencia a la compresión especificada del concreto en una columna es
1.4 veces mayor que la especificada para el sistema de piso, la transmisión de la
carga a través del sistema de piso deberá lograrse de una de las siguientes formas:
Las disposiciones dadas en esta Sección indican que no es necesario tomar
precauciones especiales cuando la resistencia del concreto de la columna no excede
de la resistencia del concreto del piso en más del 40%.
a) El concreto de resistencia especificada para la columna deberá vaciarse en
el piso en la ubicación de la columna y en un área formada por 60cm
adicionales a cada lado de la cara de la columna.
El requisito de colocar el concreto a 60 cm adicionales a cada lado de la cara de la
columna permite localizar la entrecara entre concretos de columna y de piso lejos de
las zonas de cortante muy elevado.
b) La resistencia de la columna a través del sistema del piso deberá basarse
en el menor valor de la resistencia del concreto, con barras de transmisión
verticales y espirales según se requiera.
c) Para columnas arriostradas lateralmente por los 4 lados con vigas de un
peralte casi uniforme, o por losas macizas, la resistencia de la columna se
puede basar en un resistencia supuesta del concreto en las juntas de las
columnas, que es igual al 75% de la resistencia del concreto de la
columna más el 35% de la resistencia del concreto del piso.
Resistencia al aplastamiento
La resistencia última al aplastamiento no deberá exceder de 0.85 Φ f’c A1 excepto
cuando la superficie de apoyo sea más ancha, en todos los lados que el área cargada,
la resistencia última al aplastamiento en el área cargada podrá multiplicarse por
A2 A1 sin exceder de 2.
Donde:
A1 = área cargada.
A2 = área de la base inferior del mayor tronco de pirámide o cono recto,
contenido totalmente en el apoyo, que tenga como base superior el área cargada y
en el que tenga la pendiente lateral esté en razón de 1 vertical y 2 horizontal.
Esta Sección no se aplica a anclajes de tendones postensados.
En esta sección no se aplica a anclajes de tensores postensados.
– Cuando el área de apoyo sea mayor que todos sus lados que el área cargada, e
concreto circundante confina el área de aplastamiento, lo que da como resultado un
aumento de la resistencia al aplastamiento.
La figura anterior ilustra la aplicación de la pirámide para encontrar A2. la
pirámide no debe confundirse con la trayectoria en la que se distribuye una carga
que baja a través del área de soporte.
Dicha trayectoria de caga tendría lados mas inclinados. Sin embargo la pirámide
descrita tiene poca pendiente en las caras laterales planas, para asegurar que existe
concreto rodeando inmediatamente la zona de altos esfuerzos en la zona de
aplastamiento.
Fig. C12.8.1 Aplicación de la pirámide para determinar A2 en apoyos escalonados.
[Link]. Flexión Biaxial.
Cuando las columnas están sujetas simultáneamente a momentos flectores en
sus dos ejes principales, el dimensionamiento deberá hacerse a partir de las hipótesis
de la sección 12.2 de la NPE. Alternativamente se podrá usar el siguiente método
aproximado para columnas cuadradas o rectangulares.
1 1 1 1
=
Pu Pnx Pny Pno
Donde:
Pu es la resistencia última en flexión biaxial.
ΦPnx es la resistencia de diseño para la misma columna bajo la acción de
momento
únicamente e x (ey = 0)
ΦPny es la resistencia de diseño de la columna bajo la acción de momento
únicamente en Y ( ex = 0).
ΦPno es la resistencia de diseño para la misma columna bajo la acción de carga
axial únicamente.
ex =ey = 0
Esta ecuación es válida para valores de Pu/Φpno ≥ 0.1; para valores menores de
esta relación se usará la siguiente expresión:
Mux Muy
1.0
Mnx Mny
Donde ΦMnx y ΦMny son las resistencias de diseño de la sección con respecto a
los ejes X e Y.
[Link].1 Efectos de Esbeltez de Elementos a compresión
Evaluación aproximada de los efectos de esbeltez
Para tomar en cuenta los efectos de esbeltez deberán considerarse:
a) Los efectos globales ( δg ) que afecten a la estructura como conjunto;
b) Los efectos locales (δ1) que afecten a cada uno de los elementos individuales.
El momento de diseño para el elemento será:
Mc = δ1 Muv + δg Mus
Donde:
Muv = Momento en el elemento debido a cargas verticales amplificadas,
provenientes de un análisis de primer orden
Mus = Momento en el elemento debido a las cargas laterales amplificadas,
proveniente de un análisis de primer orden.
Efectos locales de esbeltez
Para tomar en cuenta los efectos locales de esbeltez dentro de cada columna
u otros elementos en compresión en los cuales sus extremos estén arriostrados
lateralmente, los momentos amplificados obtenidos de un análisis elástico de Primer
orden, deben multiplicarse por el factor δ1 calculado con:
Cm
δ1 = 1.0
Pu
1
Pc
EI
2
donde Pc =
ln 2
Si existen cargas laterales entre los apoyos del elemento Cm = 1, en caso
contrario:
Cm = 0.6 + 0.4M1/M2 > 0.4
EcIg EsIse
EI =
5
1 * d
o conservadoramente
EcIg
EI = :
2.51 * d
Si los cálculos muestran que no existe momento flector en ambos extremos
de un elemento, o que las excentricidades calculadas en los extremos del elemento
son menores que (1.5 + 0.03h) en cm. M1 y M2 en el cálculo de Cm deberá basarse
en una excentricidad mínima de (1.5 + 0.03h) en cm alrededor de cada eje principal
por separado.
Los efectos locales de esbeltez pueden ser despreciados si ln/r es menor que
34-12 M1/M2.
ln: Es la longitud es la longitud no apoyada del elemento en compresión y
puede tomarse como la distancia entre losas de entrepisos, vigas u otros
elementos capaces de proporcionar un apoyo lateral al elemento en
compresión.
Cuando existan cartelas o capiteles de columnas, la longitud ln debe
medirse en el extremo inferior del capitel o cartela en el plano considerado.
r: Radio de giro de la sección transversal del elemento en compresión y puede
ser
Calculado a partir de la sección total de concreto
[Link].2 Efectos Globales de esbeltez.
Los efectos globales de esbeltez se deberán evaluar de acuerdo a una de las
expresiones siguientes:
1
A) δg =
1 Q
Cm
B) δg =
1
Pc
Pc
A) Si se conocen las deformaciones laterales de los entrepisos, se calculará δg
con la expresión [Link] A donde:
Pu u
Q=
Vuh
Y:
Q : Indice de estabilidad del entrepiso.
∑Pu : Suma de las cargas de diseño, muertas y vivas ( cargas de servicio
multiplicadas por el factor de carga correspondiente) acumuladas desde el
extremo superior del edificio hasta el entrepiso considerado.
Δu : Deformación relativa entre el nivel superior y el inferior del entrepiso
considerado, debido a las fuerzas laterales amplificadas y calculadas de
acuerdo a un análisis elástico de Primer Orden. Para el caso de fuerzas
laterales de sismo, Δu Deberá multiplicarse por el factor de reducción por
ductilidad considerado en la determinación de estas fuerzas.
Vu : Fuerza cortante amplificada en el entrepiso, debida a las cargas laterales.
h : Altura del entrepiso considerado
De acuerdo al índice de estabilidad los entrepisos se clasificarán en:
a) Si el índice de estabilidad Q es menor que 0.06 se podrá considerar que el
entrepiso está arriostrado lateralmente, y los efectos globales de Segundo
orden pueden despreciarse (δg = 1), pero deberán analizarse los efectos
locales de esbeltez.
El momento de diseño para el elemento será:
Mc = δ1 Muv + Mus
b) Si el índice de estabilidad Q, está comprendido entre 0.06 y 0.25, los
efectos globales de esbeltez deberán considerarse multiplicando todos los
momentos flectores de vigas y columnas producidos por las cargas laterales
amplificadas y obtenidos mediante un análisis elástico de Primer Orden, por
el factor δg, que se indica en [Link].A.
El momento de diseño para el elemento será:
Mc= δ1 Muv + δg Mus
Cuando existen fuerzas laterales de carácter permanente como empuje de
tierra, el valor de δg se calculará con:
1
δg =
1 Q1 * d
c) Si el índice de estabilidad del entrepiso es mayor de 0.25 deberá realizarse
un análisis de Segundo Orden.
Pueden ignorarse los efectos d esbeltez producidos solo por las cargas
verticales amplificadas, cuando los desplazamientos laterales relativos del
entrepiso producidos por la asimetría de las cargas o de la estructura, por
asentamientos diferenciales o por otras causas sean menores de:
u
< 0.001
h
B) Si las estructuras están conformadas exclusivamente por pórticos, se podrá
evaluar los efectos globales de esbeltez; obviando el calculo de las
deformaciones laterales, mediante la expresión [Link] B, donde:
Cm = 1
∑Pu = es la sumatoria de las cargas axiales de todas las columnas del
entrepiso
∑Pc = es la sumatoria de las cargas críticas de pandeo de todas las columnas
del entrepiso y se evaluará mediante:
2 EI
Pc =
K * ln2
Donde:
EcIg Es * Ise
EI = 5
1 * d
O conservadoramente
EcIg
EI =
2.51 * d
K: factor de longitud efectiva de la columna.
Los efectos globales de esbeltez pueden ser despreciados cuando K*ln/r es menor
que 22.
Para todos los elementos sujetos a compresión cuyo valor de K*ln/r es mayor
que 100, deberá hacerse un análisis como el que se indica en la sección [Link].
del RNE
La principal ayuda de diseño disponible para estimar el factor de longitud efectiva
de las columnas en el caso de estructuras formadas solo por pórticos es el
monograma de Jackson y Moreland que permite determinar gráficamente el valor de
K para una columna de sección transversal constante en un pórtico de varios
tramos.
Donde:
A y B son los valores de en los extremos de la columna.
EI lc
EI l
que viene a ser una comparación entre las rigideces flexionantes de los miembros
concurrentes a un nudo, de las columnas en el numerador y de las vigas en el
denominador.
Factores de longitud efectiva para pórticos.
Los subíndices A y B se refieren a los nudos de los extremos de la columna en
estudio.
Indica que intervienen todos los miembros rígidamente conectándose al nudo
y se encuentran en un mismo plano en el cual se investiga el comportamiento
de la columna.
I Es el momento de inercia de la sección transversal de los miembros, tomando
respecto a un eje perpendicular al plano de pandeo.
lc Altura de columna medida centro a centro de losas.
l Luz libre del elemento.
[Link].3 Efectos de esbeltez para elementos en flexión.
El diseño de los elementos en flexión debe considerar el incremento de
momentos en la columna por desplazamiento lateral.
[Link] Efectos de esbeltez en elementos sometidos a flexión biaxial.
Para elementos en compresión sometidos a flexión alrededor de ambos ejes
principales, deberán amplificarse ambos momentos flectores calculado g y 1 para
cada dirección por separado.
[Link] Elementos en flexocompresión.
En forma igual a lo explicado en el acápite anterior se exige mayor
resistencia al cortante para evitar este tipo de falla frágil y se exige espaciamientos
en los estribos en las proximidades de los nudos y dentro de ellos.
La fuerza cortante (Vu) de los elementos en flexocompresión deberá
determinarse a partir de las resistencias nominales en flexión (Mn), en los extremos
de la luz libre del elemento, asociadas a la fuerza axial Pu que dé como resultado el
mayor momento nominal posible.
Deberán colocarse en ambos extremos del elemento estribos cerrados sobre
una longitud "lo" medida desde la cara del nudo (zona de confinamiento) que no sea
menor que:
a) Un sexto de la luz libre del elemento.
b) La máxima dimensión de la sección transversal del elemento.
c) 45 cm.
Estos estribos tendrán un espaciamiento que no deben exceder del menor de
los siguientes valores, a menos que las exigencias de diseño por esfuerzo cortante
sean mayores:
a) La mitad de la dimensión más pequeña de la sección transversal del elemento.
b) 10 cm.
El primer estribo deberá ubicarse a no más de 5 cm. de la cara del nudo.
El espaciamiento del refuerzo transversal fuera de la zona de confinamiento,
no deberá exceder de 16 veces el diámetro de la barra longitudinal de menor
diámetro, la menor dimensión del elemento, ó 30 cm, a menos que las exigencias por
diseño de esfuerzo cortante sean mayores.
Cuando el refuerzo transversal consista en un espiral, se deberá cumplir con
lo indicado en la sección 12.6.3 de la NPE E-050.
El área mínima de refuerzo transversal que deberá proporcionarse dentro del
nudo, deberá cumplir con:
bs
Av 7.0
fy
Donde "b" es el ancho del nudo en la dirección que se esta analizando
El espaciamiento s no deberá exceder de 15 cm.
Para el caso de muros de corte.
2.3.7 Muros Estructurales.
Las placas tienen por función principal, absorver un porcentaje de las fuerzas
laterales aplicadas a la edificación, disminuyendo el trabajo de los pórticos en la
misma dirección.
Falla por levantamiento en vilo de la cimentación.
Falla por levantamiento en vilo de la cimentación:
Centro de rigidez (CB):
Xcr =
Ky * x ; Ec. 2.3.8.a
ky
Ycr =
Kx * y Ec. 2.3.8.b
kx
Kx,y = Rigidez lateral en la dirección x,y
Centro de masa (CM).
Xcm =
P*x ; Ec. 2.3.8.c
P
Ycm =
P* y Ec. 2.3.8.d
P
sv = el menor (Lw/3, ó 3h, ó 45 cm.)
sh = el menor (Lw/3, ó 3h, ó 45 cm.)
SISTEMA APORTICADO Y PLACAS.
Cuantías mínimas:
Si se usan varillas menores a 5/8”:
mínimo horizontal = 0.0020
mínimo horizontal = 0.0012
Si se usan varillas mayores a 5/8”:
mínimo horizontal = 0.0025
mínimo horizontal = 0.0015
Cargas actuantes en placas:
Diseñar por flexión y por cortante.
DISEÑO POR FLEXIÓN:
Procedimiento:
Se asume Asf As = 3 Asf
Se calcula v=As/(Lw*h) Asf = Mu / (* fy * d)
Se calcula el momento resistente Mu y se compara con el Mu actuante: * fy * d
Muresistente Mu actuante = 0.9
Se asume un As más exacto. d = 0.8 Lw
Momento último resistente:
Fórmula resistente:
Fórmula de Cárdenas – Hanson (1970)
Nu 1 1 c c 2 2
Mu = * As * fy * Lw * 1 * 1 1 Ec.
As. fy 2 2 Lw Lw 2 3
2.3.8.e
= fy / 6000 Ec. 2.3.8.f
q
c = * Lw Ec. 2.3.8.g
2q 0.85 1
* fy
q= Ec. 2.3.8.h
f 'c
Nu
= Ec. 2.3.8.i
Lw * h * f ' c
1 = 0.85
* fy Nu
f 'c
Lw * h * f ' c
c= * Lw Ec. 2.3.8.j
2 * fy 0.85 1
f 'c
= 0.70
DISEÑO POR CORTE:
Esfuerzo cortante actuante:
vu =Vu / ( * h * 0.80 * Lw) ACTUANTE.
= 0.85
Esfuerzo cortante admisible
vc = 0.87 f ' c + Nu / (4 * Lw * h) Ec. 2.3.8.k
0.16 f ' c Lw(0.53 f ' c 0.2 Nu /( Lw * h))
vc = Ec. 2.3.8.l
( Mu / Vu Lw / 2)
Si vu ≤ vc / 2 usar mínimo:
min = 0.0020 5/8”
min = 0.0025 5/8”
Si vu vc / 2 diseñar por corte.
El refuerzo horizontal tiene una separación:
s = Ash* fy / ((vu – vc ) h) Ec. 2.3.8.l
2.3.8 Análisis y diseño de losas.
[Link] Losa aligerada.
Cuando el cortante actuante en una vigueta es mayor que el admisible por el
concreto. Hay que ensanchar la vigueta desde un ancho de 10 cm hasta b’, en una
longitud x, de tal manera que con mayor sección de concreto, la vigueta tiene mayor
resistencia al cortante.
Fig. [Link].a
Se metran las cargas y se obtienes wu1 en ton/m 2, luego se multiplica por 1m
de ancho de franja y se convierte a la carga lineal wu2 en ton/m, depues se
divide esta entre 2.5 viguetas que están contenidas en un metro de losa, o sea
wu3 = wu2/2.5.
Se calcula el cortante en los apoyos, usando los coeficientes del ACI, si son
aplicables, si no los son hay que resolver la viga por métodos elásticos.
Fig. [Link].b
V2 = 1.15 * wu3 * L1 /2 Ec. [Link].a.
Se obtiene el cortante a una distancia d de la cara del apoyo, y en ese caso del
apoyo de mayor cortante.
Vu = V2 – wu3 *d Ec. [Link].b.
Fig. [Link].c
El cortante Vu actuante hallado tiene que ser comparado con Vc admisible de
la vigueta.
Vc = * 0.53 * f ' c * db; donde = 0.85 Ec. [Link].c.
Si Vu es menor que Vc, se acepta la sección de la vigueta.
Si Vu es mayor que Vc, hay que ensanchar la vigueta, desde b = 10 cm hasta
b’.
Fig [Link].d.
Se iguala Vu = Vc
Vu = * 0.53 * f ' c * b’ d
Donde el ancho de vigueta vale:
Vu
b’ = Ec. [Link].d.
* 0.53* f ' c * d
La longitud donde se tiene que ensanchar la viga tiene que ser calculada
igualando el cortante actuante en la sección a una distancia x, con el cortante
resistente con la vigueta de ancho b’.
V2 – wu3 * x = Vc
De donde:
V 2 Vc
x= Ec. [Link].e.
wu 3
Se tiene que probar el cortante en todos los apoyos.
Como se mencionó anteriormente la vigueta se puede diseñar por métodos elásticos o
usando los Coeficientes del Reglamento del ACI.
COEFICIENTES PARA MOMENTOS DEL ACI.
Para poder usar los coeficientes del ACI, se tienen que cumplir las siguientes
especificaciones:
1. Debe existir 2 o más tramos.
2. Las luces que los separa a ambos deben ser aproximadamente iguales,
aceptándose a una diferencia máxima del 20% entre tramos adyacentes.
3. Deben de tratarse de elementos continuos con cargas uniformemente
distribuidas.
4. La carga viva unitaria no debe exceder en tres veces la carga muerta.
5. Los elementos son prismáticos.
Fig. [Link].e.
Para la fuerza cortante en tramos extremos en el primer apoyo interior:
Vu = 1.15 wu * Ln / 2 Ec. [Link].f.
Fuerza cortante en todos los demás apoyos:
Vu = wu * Ln / 2 Ec. [Link].g.
Fig. [Link].f
CÁLCULO DEL ACERO.
Se usan las siguientes ecuaciones:
As = Mu / fy ( d - a/2 ) Ec. [Link].h.
a = As fy / ( 0.85 fy * b ) Ec. [Link].g.
= 0.9, fy = 4200 kg/cm2, f’c = 210 kg/cm2 Ec. [Link].i.
d = H – recubrimiento – db/2 Ec. [Link].i.
rec = 2 cm.
Ast = 0.0025 * b * t (barra lisa) Ec. [Link].j.
Ast = 0.0018 * b * t (barra corrugada) Ec. [Link].k.
Considerar las cuantías máximas y mínimas:
Pmínimo = 0.7 f ' c / fy = 0.0024
Pmáximo = 0.75 Pb = 0.016
También hay que probar el esfuerzo cortante:
Esfuerzo cortante actuante:
vu = Vu / bd
Vu = Fuerza cortante a una distancia d de la cara del apoyo.
Esfuerzo cortante resistente:
vc = 0.53 f ' c kg/cm2 Ec. [Link].l.
= 0.85
Se debe cumplir que:
vu vc Ec. [Link].m.
CORTE DE VARILLAS CUANDO SE HAN USADO COEFICIENTES DEL ACI.
2.3.9 Análisis y diseño de cimentaciones.
[Link] Zapatas Aisladas.
n = Esfuerzo neto del terreno
n = t – hf m –S/C
m = Densidad promedio.
Debemos trabajar con condiciones de cargas de servicio, por tanto no se
factoran las cargas.
En caso que la carga P, actúe sin excentricidad, es recomendable buscar:
LV1 = LV2
Para lo cual debemos demostrar:
(t1 t2 )
T AZ +
2
(t1 t2 )
S AZ -
2
DIMENSIONAMIENTO DE LA ALTURA hZ DE LA ZAPATA.
La condición para determinar el peralte efectivo de zapatas, se basa en que la
sección debe resistir el concreto por penetración (punzonamiento).
Se asume que ese punzonamiento es resistido por la superficie bajo la línea
punteada.
(Debemos trabajar con cargas factoradas).
PU
Wnu =
AZap
Vu = Pu - Wnu * m * n
Vu = Cortante por punzonamiento.
Vc = Resistencia al cortante por punzonamiento
en el concreto.
4
Vc = 0.27 2 f ' c bo d Vc = 1.06 f ' c bo d
c
.d
Vc = 0.27 2 S f ' c bo d
bo
s = Parámetro igual a 40 para aquellas columnas en que la sección critica de
punzonamiento tiene cuatro lados, 30 para la que tiene tres lados, 20 para la que tiene
dos lados
s = 24 s = 30 s = 20
Dmayor
c = ; c 2 Vc = 1.06 f ' c bo d
Dmenor
bo = 2m + 2n (perímetro de los planos de falla)
Vu
Luego, se debe cumplir: Vc; = 0.75
Esta última nos dará una expresión en función a “d”, que debemos resolver:
Finalmente en la zapata se debe verificar la capacidad cortante como viga a
una distancia “d” de la cara de la columna de apoyo.
Peralte mínimo: El peralte de la zapata (por encima del refuerzo de flexión), será
mayor a 15 cm.
DISTRIBUCIÓN DEL REFUERZO POR FLEXIÓN (ACI 318-02)
En zapatas en una dirección y zapatas cuadradas en dos direcciones, el
refuerzo será distribuido uniformemente a través de todo el ancho de la
zapata.
En zapatas rectangulares en dos direcciones, el refuerzo será distribuido de
acuerdo a las siguientes recomendaciones.
El refuerzo en la dirección larga será distribuido uniformemente a través de
todo el ancho de la zapata.
El refuerzo en la dirección corta, se deberá repartir en dos partes, una
porción (la mayor) será distribuida uniformemente sobre la franja central
igual al ancho de la zapata en la dirección corta, siendo este refuerzo el dado
por:
As _ en _ la _ franja _ central 2
=
As _ total 1
longitud _ l arg a _ de _ la _ zapata
=
longitud _ corta _ de _ la _ zapata
El refuerzo restante será distribuido uniformemente sobre las franjas laterales.
TRANSFERENCIA DE LA FUERZA EN LA BASE DE LA COLUMNA.
Las fuerzas y/o los momentos en la base de la columna es transferido a la
zapata por apoyo sobre el concreto, con refuerzo de acero y/o dowells.
El refuerzo de contacto entre la columna y la zapata deberá exceder a la
resistencia de aplastamiento del concreto. La resistencia de aplastamiento del
concreto será:
Para la columna: (0.85 f’c)
A2 A2
Para la zapata: (0.85 f’c) A1 , siendo: 2
A1 A1
A1 = Área cargada.
A2 = Área máxima de la zapata que es geométricamente igual al área de la columna.
= 0.65 para columnas estribadas.
= 0.70 para columnas zunchadas.
En el caso que se exceda la resistencia de aplastamiento del concreto, se
usarán refuerzos o dowel. Pero sea este o no el caso, deberá tenerse el mínimo de
refuerzo de refuerzo o dowel igual a 0.005 Ag y no menor a cuatro varillas.
[Link] Zapata excéntrica.
Las cimentaciones de columna exterior pueden estar sujetas a cargas
excéntricas. Si la excentricidad es grande, puede resultar esfuerzo de tracción sobre
un lado de la cimentación. Es recomendable dimensionar de manera que la carga
este dentro del tercio central de manera de evitar esfuerzos de tracción en el suelo
que teóricamente pueden ocurrir antes de la distribución de esfuerzos
Caso 1: Excentricidad e T 6
1 = neto
En este caso, el esfuerzo directo de compresión es mayor que el esfuerzo de flexión:
P M
1,2 = C
AZ I
Donde:
P MC
AZ
I
P Pe.(T / 2)
1 = max = +
AZ S .T 3 / 12
P 6 Pe
1 = +
AZ S .T 2
P 6 Pe
1 = min = -
AZ S .T 2
Caso 2: Excentricidad e = T/6
En este caso el esfuerzo directo es igual al esfuerzo de flexión.
T T
P
Mc Pec 6 2 P P
= = = =
I I T 3 ST Az
S
12
P
1 = 2 , 2 = 0
Az
Caso 3: Excentricidad e T/6
Si la carga actúa fuera del tercio central, resulta esfuerzos de tracción en el
lado opuesto de la excentricidad. Si el esfuerzo máximo debido a la carga P no
excede el esfuerzo admisible neto, no se espera que se levante ese lado de la
cimentación y el centro de gravedad de la distribución triangular de esfuerzos
portantes debe coincidir con el punto de acción de la carga.
r = T/2 –e
P = ( ½ ) (3r) 1 S
2P 2P
1 =
3rS T
3 e S
2
Caso 4: excentricidad alrededor de dos ejes (Carga Biaxial)
P P.e1.c1 P.e2.c 2
max = + +
AZ I1 I2
[Link] Zapata Combinada.
Este tipo de cimentación puede ser conveniente en los siguientes casos:
a) Columnas muy cercanas entres si:
Para esta condición si se usaran zapatas aisladas, podrían traslaparse o bien
podrían resultar proporciones poco económicas.
Es conveniente que el punto de aplicación de la resultante de las cargas
actuantes coincida con el centro de gravedad de la zapata combinada para
poder tener una reacción uniforme repartida del terreno.
b) Columna exterior muy cercana del límite de propiedad.
El punto G fija la longitud de la zapata para una reacción uniforme repartida
del terreno.
Para el análisis de zapatas combinadas se usará el método convencional:
Método Rígido, de acuerdo a las siguientes hipótesis:
La cimentación es infinitamente rígida, por lo tanto la deflexión de la
cimentación no influye en la distribución de las presiones.
La presión del terreno está distribuida en la línea recta o en una superficie
plana.
Diseño de Cimentaciones combinadas por método convencional.
Procedimiento:
a. Determinación de las resultantes de las cargas actuantes ( R ) y la ubicación
de las resultantes.
R = QX = Q1 + Q2 + Q3 + ……..
Si cualquier columna está sujeta a momento flexionante, el efecto del
momento deberá ser tomado en consideración.
b. Determinación de la distribución de presiones.
c. Determinación del ancho de cimentación.
d. Determina el diagrama de fuerza cortante.
e. Determina el diagrama de momentos flectores.
f. Diseñar la cimentación como una viga continua.
g. Diseñar la cimentación en dirección transversal forma equivalente al de
zapatas aisladas.
Q1 e1 Q2 e 2 Q3 e3 M 2
e=
R
R
Si e ≤ L/6 , q1,2 = (1 ± 6 e/L )
L
2R
Si e ≤ L/6 , q1 =
3(1 / 2 e)
Determinación del ancho de la cimentación.
t
q1 m ( m)
B1 =
1 t
m2
Que esta expresado en t / unidad
de longitud de la cimentación.
Si e = 0
[Link] Zapata Conectada.
Dimensionamiento de una viga de conexión.
L1 P1 h
h= ; b= ≥
7 31L1 2
Donde:
L1 : espaciamiento entre la columna exterior y la columna interior.
P1 : carga total de servicio de la columna exterior.
Dimensionamiento de la Zapata Exterior.
La zapata exterior transfiere su carga a la viga de conexión, actuando la
zapata como una viga en voladizo a ambos lados de la viga de conexión. Se
recomienda dimensionarla en planta considerando una dimensión transversal igual a
2 ó 2.5 veces la dimensión en la dirección de la excentricidad.
Viga de conexión
Debe analizarse como una viga articulada a las columnas exterior e interior,
que soporta la reacción neta del terreno en la zapata exterior y su propio peso.
Zapata interior.
Se diseña como una zapata aislada. Puede considerarse la reacción de la viga
de conexión. En el diseño de cortante por punzonamiento se considera la influencia
de la viga de conexión en la determinación de la zona crítica.
[Link] Platea de Cimentación.
Se utiliza este tipo de cimentación cuando el número de pisos es alto, para
baja capacidad portante del suelo. Se acostumbra usar este tipo de cimentación
cuando el área del requerido es mayor o igual al 75% del área del terreno de la
edificación. También se usa como solución a la edificación de sótanos en las que el
nivel freático constituye un problema de filtración. En este caso hay que colocar
platea con muros de contención y aditivos para evitar el paso de agua al sótano.
Consiste en una losa de concreto, armada en ambas direcciones y colocada en
ambos lechos superior e inferior.
Elementos.
A, B = Dimensión de la platea.
P1, P2, P3,……P12 = Peso de las columnas 1, 2, 3,….. 12
L1X, L2X, L3X = Separación entre columnas en la misma dirección.
xR, yR = Coordenadas del centro de rigidez.
ex, ey = excentricidad en las direcciones x e y.
R = Resultante.
qadm = Capacidad admisible por falla a cortante o por asentamiento.
K = Coeficiente de Balasto o coeficiente de reacción del suelo.
CB = Factor de incidencia del ancho de la cimentación.
Ks = Coeficiente de Balasto afectado por el factor de incidencia del
ancho de la cimentación = CB * k
N = Número de golpes por 30 cm de penetración ensayo de
penetración estándar (SPT)
b = Ancho de cimentación por franja.
t = Espesor de la platea.
Ec = Módulo de elasticidad del concreto.
I = Momento de inercia.
= Peso especifico suelo.
s/c = Sobrecarga del piso.
Se determinan las superficies críticas por punzonamiento.
Se determina el espesor de la losa igualando el esfuerzo cortante por
punzonamiento actuante y el esfuerzo cortante resistente.
Se escoge la columna de mayor peso y se calcula la carga última actuante en
esa columna:
Pu = 1.5 PD + 1.8 PL
Pu7 = Vpunzona + qu * ( s + d ) ( t + d )
Vpunzona = Pu7 - qu * ( s + d ) ( t + d )
Vpunz actuante = [ Pu7 - qu * ( s + d ) ( t + d ) ] / ( Area lateral )
Vpunz actuante = [ Pu7 - qu * ( s + d ) ( t + d ) ] / ( bo * d ), bo= perímetro
Vpunz actuante = [ Pu7 - qu * ( s + d ) ( t + d ) ] / [ 2 * (s + d + t + d ) * d ]
V resistente = * 0.27 ( 2 + 4 / ) * f 'c , = 0.85
V resistente = * 1.1 * f 'c ,
De aqui despejamos d.
Hallamos la longitud de desarrollo a tracción o compresión.
Del mayor de los peraltes obtenidos en 3 y 4 determinamos el peralte a usar:
t = d + diámetro de varilla / 2 + recubrimiento
Verificamos la rigidez de la platea.
La rigidez de la platea se determina cumpliendo esta relación de separación
entre columnas:
L1x, L2x, L3x, L1y, L2y 1.75 /
Siendo
Ks * b
4 Ec. [Link].a
4 * Ec * I
Ec = 15000 * f 'c Ec. [Link].b
Ib = b t3 /12, remplazando se tiene:
3 * Ks
4 Ec. [Link].c
Ec * t 3
para fc = 210 kg-cm2, Ec = 2.17 E 6 ton / m2
Ks = CB * K =Coeficiente de Balasto afectado del factor de forma CB
K = N / 5.08 para B menor o igual a doce metros según Meyerhof ,
(kg/cm3)
K = N / 7.62 para B mayor que doce metros según Meyerhof, (kg/cm3)
N = Número de golpes del SPT para profundizar 30 cm.
CB = Factor de forma de la cimentación.
CB = ( B + 30 )2 / ( 2 * B )2, para suelos arenosos.
CB = ( B + 1 )2 / ( 2 * B ), según ACI
CB = ( n + 0.5 ) / ( 1.5 * n ), para suelos arcillosos
n = Lado Mayor / lado menor.
n = B / b , A/b
Como en nuestro caso se tiene 7 franjas de ancho b, tenemos 7 coeficientes :
b CB Ks Ec t 1.75/ ≥L
b1 CB 1 CB K 1 1.75/1 L1y, L2y
b2 CB 2 CB K 2 1.75/2 L1y, L2y
b3 CB 3 CB K 3
b4 CB 4 CB K 4
b5 CB 5 CB K 5 1.75/5 L1x,L2x,L3x
b6 CB 6 CB K 6 1.75/6 L1x, L2x, L3x
b7 CB 7 CB K 7 1.75/7 L1x,L2x, L3x
Se debe cumplir que L , en el caso contrario hay que aumentar el peralte
t, o hay que considerar la platea con un suelo con cimentación elástica.
Se calcula las presiones de contacto q(x,y):
Hay que calcular el centro de rigidez es decir el punto de ubicación de la
resultante xR, yR:
Tomando O como origen de coordenadas.
Carga Pi (Ton) xi (m) yi (m) Pi*xi Pi*yi
1 P1 x1 y1 P1*x1 P1*y1
2 P2 x2 y2 P2*x2 P2*y2
3 P3 x3 y3 P3*x3 P3*y3
4 P4 x4 y4 P4*x4 P4*y4
5 P5 x5 y5 P5*x5 P5*y5
6 P6 x6 y6 P6*x6 P6*y6
7 P7 x7 y7 P7*x7 P7*y7
∑Pi*xi ∑Pi*yi
XR = ∑Pi*xi / ∑Pi
XR = ∑Pi*Yi / ∑Pi Ec. [Link].d
Las excentricidades valen:
ex = XR – Xcg
ey = YR – Ycg Ec. [Link].e
Se calculan los esfuerzos sobre el suelo q( x, y ):
R=∑P Ec. [Link].f
Area = A * B Ec. [Link].g
Mx = R *ex Ec. [Link].h
My = R * ey Ec. [Link].i
Ix = B * A3 / 12 Ec. [Link].k
Iy = A * B3 / 12 Ec. [Link].l
R Mx * y My * x
q ( x, y ) = Ec. [Link].m
Area Ix Iy
Expresión queda en función de x e y, con la que se puede hallar los
esfuerzos q que actúen en cualquier punto de coordenadas dentro de la
superficie de la platea de aquí se deduce el máximo valor de esfuerzo en la
platea. De aquí se deduce que el máximo valor de esfuerzo se produce con el
signo positivo, y en el punto mas alejado del centro O de coordenadas:
x=B
y=A
R Mx * A My * B
q ( B, A ) = Ec. [Link].n
Area Ix Iy
Es el esfuerzo actuante máximo debido a cargas de las columnas.
El esfuerzo dado por la ecuación anterior, hay que sumarle el esfuerzo
producido por el peso propio de la platea, además sobrecarga de piso y
tabiquería del primer piso o sótano que estén encima de la platea.
Pp platea = 2400 kg/m3 * t Ec. [Link].o
Sobrecarga de piso = 250 Kg/m2 (oficinas). Ec. [Link].p
Tabaquería del primer piso = 150 Kg/m2 Ec. [Link].q
Sumar los valores de los esfuerzos dados por las ecuaciones ([Link].n,
[Link].o, [Link].p, [Link].q), obtenemos mayorados, hasta el esfuerzo
actuante máxima.
qmax = Ec. [Link].n + Ec. [Link].o +
Ec. [Link].p + Ec. [Link].q Ec. [Link].r
Se debe cumplir que:
qmax = q admisible
Se repite el proceso desde el cálculo del centro de rigidez, hasta la Ec.
[Link].q, pero con cargas de columnas y momentos mayorados, hasta
calcular el esfuerzo q (x,y) mayorado = q (x,y)u, debido a que se va ha
calcular el concreto y el acero.
Ru Mxu * y Myu * x
q (x, y )u = Ec. [Link].s
Area Ix Iy
Con la ecuación Ec. [Link].s, calculamos los esfuerzos en las coordenadas
correspondientes al eje de la columna.
Con los esfuerzos promediamos los correspondientes a cada dos columnas
extremas en cada franja y con ese esfuerzo promedio calculamos los
momentos actuantes mayorados.
CAPÍTULO III
INTRODUCCIÓN AL
PROGRAMA
3.1 Generalidades del programa.
3.1.1 Datos generales.
El presente proyecto de tesis ha sido creado con la finalidad de brindar una
ayuda computarizada para la resolucion de pórticos espaciales utilizando métodos
espaciales y se ha creido conveniente denominarlo: Pórticos 3D.
[Link] Creadores del programa.
Este software ha sido creado como proyecto de tesis “PROGRAMA EN
VISUAL BASIC APLICADO AL DISEÑO DE ESTRUCTURAS APORTICADAS
DE CONCRETO ARMADO UTILIZANDO EL MÉTODO MATRICIAL” con el
fin de obtener el grado de Ingeniero Civil por los bachilleres:
Bach. CACHAY SILVA ROBERTO CARLOS.
Correo: roberto_cachay_silva @ [Link]
Celular: 074 – 9731233
Bach. GUEVARA NUÑEZ MANUEL ANTONIO.
Correo: maguevaran @ [Link]
Teléfono: 074 - 417243
Patrocinador: Ing. JUAN HERMÁN FARÍAS FEIJOO.
El presente software se ha creado con recursos proios sustentado en la
“Universidad Nacional Pedro Ruiz Gallo”, Escuela Profesional de Ingeniería Civil.
[Link] Campos de aplicación.
Con el presente
programa se pretende
proporcionar una herramienta
que mediante textos, modos
gráficos de alta calidad y,
principalmente, diagramas de
momentos flectores, torsores o
cortantes, desplazamientos
modales que nos faciliten el
diseño en concreto armado: de
vigas, columnas,
cimentaciones, losas
aligeradas, escaleras, mediante
el método tridimensional, ya
sea estático ó dinámico, y
considerando las normas existes (NORMA E-020 CARGAS, NORMA E-030
DISEÑO SISMORESISTENTE, NORMA E-060 CONCRETO ARMADO,
NORMA E - 050 SUELOS Y CIMENTACIONES).
Adicionalmente y tal como se ilustrará con los ejemplos expuestos en la presente
tesis se proporciona una herramienta de análisis para los siguientes casos:
- Análisis tridimensional de pórticos de concreto armado (Método Estático).
- Análisis tridimensional de pórticos de concreto armado (Método Dinámico).
- Verificación de momentos, flectores, torsores o cortantes para los distintos tipos
de cargas, combinaciones, y en caso del método dinámico para los distintos
modos de vibración).
- Análisis y diseño de vigas.
- Análisis y diseño de columnas.
- Análisis y diseño de placas.
- Diseño y dimensionamiento de zapatas aisladas.
- Diseño y dimensionamiento de zapatas excéntricas.
- Diseño y dimensionamiento de zapatas combinadas.
- Diseño y dimensionamiento de zapatas conectadas.
- Diseño y dimensionamiento de losas de cimentación.
- Diseño y dimensionamiento de escaleras.
- Diseño y dimensionamiento de losas aligeradas.
[Link] Instalación.
El programa se suministra en CD-ROM para instalar en ordenadores
provistos de Windows 95, Windows 98, Windows Millennium, Windows NT 4.0,
Windows XP o posteriores. Configurar Resolución de Pantalla a resolución 600 x
800
Para instalar Pórticos 3D en un PC, introduzca el CD-ROM de instalación en
un dispositivo lector. Si la opción Auto arranque esta activada, el asistente se activara
automáticamente. En caso contrario, abrir el explorador de Windows y ejecutar el
programa “X:\Instalación\[Link]”, siendo X la letra de su lector de CD. Se
iniciará un asistente que le indicara en que unidad y directorio desea instalar el
programa. Para un correcto funcionamiento de Pórticos 3D, seleccionar un disco
duro local. En caso de instalar Pórticos 3D bajo Windows NT, el usuario debe
disponer de derecho de escritura en la ubicación seleccionada. El asistente para la
instalación continuará el proceso sin necesidad de intervención alguna del usuario.
Al finalizar el proceso de instalación, el programa Pórticos 3D estará disponible en
el menú inicio.
[Link] Equipo Mínimo Requerido.
Para instalar Pórticos 3D en un PC, es necesario un procesador Pentium
mínimo, 64 Mb. de Memoria RAM y 24 MB. de espacio disponible en el disco duro,
así como disponer mínimo de Windows 95.
3.1.2 Manual de uso.
[Link] Estructuración del programa.
El programa se estructura en tres etapas:
Entrada de datos.
Diseño estructural.
Diseño en concreto armado.
Otras opciones.
Ayuda (Archivo).
Acerca de Pórticos 3D.
Ayuda (Video).
[Link] Entorno del programa.
Para facilitar el manejo del programa, se ha hecho una interfaz de usuario en
la cual, el usuario puede acceder a cada una de las ordenes desde un menú
desplegable ó los diferentes botones que se muestran en la pantalla del mismo, para
facilidad del manejo del mismo los datos de entrada se pueden visualizar en una
perspectiva isométrica.
[Link] Acceso al programa.
Para tener acceso al programa,
hacer clic en el icono del programa Inicio
– Todos los programas - , ó hacer
doble clic en el icono del programa que se
encuentra en el escritorio.
[Link] Descripción de la interfaz del usuario.
[Link].1 Menú.
Archivo.
Nuevo:
Se utiliza para crear una aplicación en Pórticos
3D, también se puede acceder a esta orden desde el
teclado presionando las teclas Ctrl.+N.
Abrir:
Se utiliza para acceder a una aplicación ya
empezada del programa Pórticos 3D, es importante
recalcar que esta aplicación puede ser modificada en
cualquier momento; también se puede acceder a esta
orden desde el teclado presionando las teclas Ctrl.+A.
Guardar:
Como su mismo nombre dice se utiliza para guardar una aplicación, esta
aplicación será guardada en un formato designado por los creadores del software
(.p3d); es importante recalcar que al guardar la información no sólo se crea el
aplicativo .p3d pues, también se crean otros archivos que son utilizados por el
programa.
Otra manera de acceder a esta orden es desde el teclado presionando las teclas
Ctrl.+G.
Guardar Como:
Este comando se utiliza para poder guardar el archivo con un nombre
determinado, para ello el usuario debe hacer clic en Guardar Como, aparecerá una
ventana en la cual debemos colocar la ruta y el nombre con el cual queremos que se
guarde el archivo en el que se está trabajando.
Salir:
Esta opción se usa cuando el usuario desea salir de la aplicación, se
recomienda guardar los cambios respectivos antes de salir de ella.
Ver.
Barra de Herramientas:
La Barra de Herramientas es una barra de
comandos, y haciendo clic sobre ella tan sólo hacemos
que esta sea visible o no.
Barra de Estado:
La barra de Estado es una barra de comandos y haciendo clic sobre ella tan
sólo hacemos que esta sea visible o no.
Ver Marcas:
Esta opción sirve para poder ver los puntos que han sido ingresados por el
teclado.
Ver numeración de Barras:
Como su mismo nombre lo indica al hacer clic sobre el se visualizará sobre la
pantalla la numeración de las barras con la cual se esta trabajando.
Ver numeración de Nudos:
Como su mismo nombre lo indica al hacer clic sobre él se visualizará sobre la
pantalla la numeración de los nudos con la cual se esta trabajando
Definir.
Define tipo carga:
Esta opción permite al usuario definir los
tipos de carga, para ello debe hacer clic en menú –
Definir – Define tipo carga y aparecerá un cuadro
flotante en el cual el usuario podrá ingresar los
tipos de cargas.
Es importante recalcar que estas cargas tienen que estar de acuerdo con la
NORMA E-020 CARGAS .y siempre debe definir al menos una carga muerta.
Define Combinaciones:
Esta opción permite al usuario definir combinaciones de carga, para ello debe
hacer clic en menú – Definir – Define Combinaciones y aparecerá un cuadro flotante
el cual el usuario podrá definir las combinaciones respectivas.
Es importante recalcar que estas combinaciones deben estar de acuerdo con
la NORMA E-020 CARGAS
Asignar.
Restricciones:
Permite al usuario colocar
los apoyos de la estructura.
Resortes:
Permite idealizar el
comportamiento de una estructura
con resortes en una determinada
posición (nudo de la estructura).
Columnas:
Permite al usuario ingresar las características de la columna ya sean b, h,
ángulo,.. etc. Estas se explicarán mas adelante detalladamente.
Vigas:
Nos permite ingresar características de la viga ya sean b, h, ángulo,.. etc.
Estas se explicarán mas adelante detalladamente.
Placas:
Nos permite ingresar características de
la placa ya sean b, h, ángulo,.. etc. Estas se
explicarán mas adelante detalladamente.
Carga Puntual:
Como su mismo nombre lo indica
permite al usuario ingresar cargas puntuales
en una barra determinada ya sea viga,
columna o placa.
Carga distribuida:
Esta opción permite ingresar cargas
distribuidas a lo largo de una barra
determinada ya sea viga, columna o placa
Momento flector:
Esta opción nos permite ingresar momentos flectores en una barra
determinada ya sea viga, columna o placa.
Momento torsor:
Con esta opción podemos ingresar momentos torsores en una barra
determinada ya sea viga columna o placa.
Temperatura:
Con esta opción permitirá al usuario ingresar cargas por temperatura.
Fuerzas externas:
Nos permite ingresar fuerzas
externas en un determinado nudo en
coordenadas globales.
Desplazamiento del apoyo:
Permite al usuario ingresar un desplazamiento ya fijo con el cual se desea que
se hagan los cálculos respectivos.
Parámetros Sísmicos:
Esta opción nos permite ingresar los parámetros
sísmicos, como son el factor de zona, factor de uso, factor de
suelo, período de suelo, factor de reducción, porcentaje de
carga viva en edificación, como especifica la (NORMA E-
030 DISEÑO SISMORESISTENTE).
Brazos rígidos:
Al hacer clic sobre este permite al usuario
ingresar brazos rígidos en los distintos elementos en
la estructura aporticada ya sean vigas, columnas y
placas.
Analizar.
Ejecutar:
Al acceder sobre esta opción el programa se
realiza un análisis matricial (estático ó dinámico modal
espectral) para obtener: axiales, momentos flectores,
torsores o cortantes, desplazamientos nodales que nos
faciliten el diseño en concreto armado.
Diseño.
Elementos del pórtico espacial:
Al ejecutar esta opción, el software hace
un diseño en Concreto Amado de vigas y
columnas de acuerdo a la NORMA E-060
CONCRETO ARMADO, y calcula los aceros
de las columnas, vigas, placas del pórtico que
se está analizando.
Zapata Aislada:
Esta opción nos permite hacer un
diseño en concreto armado de una zapata
aislada, cumpliendo con los
requerimientos de la NORMA E-060
CONCRETO ARMADO.
Zapata Excéntrica:
Al acceder sobre esta opción el programa realiza un diseño en concreto
armado de una zapata excéntrica, cumpliendo con los requerimientos de la NORMA
E-060 CONCRETO ARMADO.
Zapata Combinada:
Al acceder sobre esta opción el programa realiza un diseño en concreto
armado de una zapata combinada, cumpliendo con los requerimientos de la NORMA
E-060 CONCRETO ARMADO.
Zapata Conectada:
Esta opción permite al usuario realizar un diseño en concreto armado de una
zapata conectada, cumpliendo con los requerimientos especificados en la NORMA
E-060 CONCRETO ARMADO.
Platea:
Al ejecutar esta opción, el software realiza un diseño en concreto armado de
una Platea de cimentación, cumpliendo con los requerimientos especificados en la
NORMA E-060 CONCRETO ARMADO.
Escalera:
Permite hacer un diseño de una escalera, considerando las especificaciones de
la NORMA E-060 CONCRETO ARMADO.
Losa Aligerada.
Permite hacer un diseño de una losa aligerada, considerando las
especificaciones de la NORMA E-060 CONCRETO ARMADO.
Resultados.
Diagrama:
Con esta opción, el usuario puede
acceder a los diagramas de: fuerza axial, fuerza
cortante, momento flector, momento torsor de
cada uno de los distintos tipos de carga o
combinaciones establecidas para el análisis.
Desplazamientos Nodales:
Esta opción permite al usuario obtener los desplazamientos nodales de un
determinado nudo del pórtico espacial, para ello es necesario que se haya
seleccionado un determinado nudo de dicho pórtico.
Áreas de acero:
Permite ver el resultado del cálculo del área de acero de una determinada
barra, ya sea placa, viga, o columna, para ello es necesario que se haya seleccionado
una determinada barra de dicho pórtico.
Ayuda.
Contenido:
La presente opción permite al usuario
acceder al presente manual.
Acerca de Pórticos 3D:
Muestra información general del programa, así como sus limitaciones e
información de los creadores del presente software.
Ayuda (video):
Muestra al usuario un video, detallando los pasos a seguir en un diseño de un
pórtico espacial.
[Link] Íconos.
Nuevo:
Se utiliza para empezar la aplicación en Pórticos 3D; también se puede
acceder a esta orden desde el teclado presionado las teclas Ctrl.+N.
Abrir:
Se utiliza para poder acceder a una aplicación ya empezada del programa
Pórticos 3D, es importante recalcar que esta aplicación puede ser modificada en
cualquier momento; también se puede acceder a esta orden desde el teclado
presionando las teclas Ctrl.+A.
Guardar:
Como su mismo nombre dice, se utiliza para guardar una aplicación, esta
aplicación será guardada en un formato designado por los creadores del software
(.p3d); es importante recalcar que al guardar la información no solo se crea el
aplicativo .p3d pues también se crean otros archivos que son utilizados por el
programa; también se puede acceder a esta orden desde el teclado presionando las
teclas Ctrl.+G.
Ayuda:
La presente opción permite al usuario acceder al presente manual.
Imprimir:
Esta opción permite imprimir una serie de datos calculados por el presente
software.
Ingresar Punto:
Esta opción permite al usuario ingresar en coordenadas cartesianas, uno a uno
los puntos mediante unas casillas que se activan en la parte debajo de la pantalla, es
importante recalcar que estos puntos deben ingresarse en metros
Dibujar Línea:
Esta opción permite al usuario ingresar, una a una las barras ya sea con el
mouse, ó mediante unas casillas que se activan en la parte inferior izquierda de la
pantalla, donde se escribe los números de los nudos extremos.
Vista Espacial:
Al acceder a esta opción el usuario puede ver en la pantalla el respectivo
pórtico en una vista espacial representada por un isométrico del pórtico espacial.
Plano XY:
Esta opción permite al usuario ver en la pantalla el respectivo pórtico en el
plano de coordenadas XY.
Plano YZ:
Esta opción permite al usuario ver en la pantalla el respectivo pórtico en el
plano de coordenadas XZ.
Plano ZX:
Esta opción permite al usuario ver en la pantalla el respectivo pórtico en el
plano de coordenadas ZX.
Aumentar tamaño:
Permite hacer un acercamiento en la pantalla del pórtico espacial que se está
analizando.
Disminuir tamaño:
Permite al usuario hacer un alejamiento en la pantalla del pórtico espacial
que se está analizando.
Girar:
Permite al usuario girar en la pantalla el pórtico espacial que se está
analizando.
Mover:
Permite al usuario cambiar de posición en la pantalla el pórtico espacial que
se está analizando.
Seleccionar Nudo:
Permite al usuario seleccionar en la pantalla, un determinado nudo del pórtico
espacial que se está analizando.
Seleccionar Barra:
Permite al usuario seleccionar en la pantalla, una determinada barra del
pórtico espacial que se está analizando.
Eliminar:
Permite al usuario eliminar, un determinado elemento del pórtico espacial que
se está analizando.
Propiedades del elemento:
Permite al usuario acceder a un cuadro de diálogo, en el cual se puede
visualizar propiedades, geométricas y de carga de un determinado elemento del
pórtico espacial.
Apoyo Nudo:
Permite al usuario colocar la propiedad de “Apoyo nudo” a un determinado
nudo del pórtico espacial.
Apoyo Simple:
Permite al usuario colocar la propiedad de “Apoyo Simple” a un determinado
nudo del pórtico espacial.
Apoyo Articulado:
Permite al usuario colocar la propiedad de “Apoyo Articulado” a un
determinado nudo del pórtico espacial.
Empotramiento:
Permite al usuario colocar la propiedad de “Empotramiento” a un
determinado nudo del pórtico espacial
Ejecutar:
Al acceder sobre esta opción el programa realiza un análisis matricial
(estático ó dinámico) para obtener: momentos flectores, torsores o cortantes,
desplazamientos modales que nos faciliten el diseño en concreto armado.
Seleccionar Todo:
Permite al usuario seleccionar en la pantalla, todas las barras del pórtico
espacial que se está analizando.
Deseleccionar Todo:
Permite al usuario deseleccionar en la pantalla, todas las barras del pórtico
espacial que se está analizando.
Actualizar Cambios:
Al acceder sobre esta opción el programa actualiza en la pantalla los cambios
gráficos realizados.
Seleccionar barras:
Al acceder sobre esta opción el programa permite al usuario selecioner varias
barras.
Carga Puntual:
Al accedre el usuario a esta opción podra asignar cargas puntuales a las
barras, para ello primero se deben seleccionar a que barras se va ha cargar.
Carga Distribuida:
Al accedre el usuario a esta opción podra asignar cargas distribuidas a las
barras, para ello primero se deben seleccionar a que barras se va ha cargar.
Momento Flextor:
Al accedre el usuario a esta opción podra asignar momentos flextores a las
barras, para ello primero se deben seleccionar a que barras se va ha cargar.
Momento Torsor:
Al accedre el usuario a esta opción podra asignar momentos torsores a las
barras, para ello primero se deben seleccionar a que barras se va ha cargar.
[Link] Pasos a seguir en un diseño.
[Link].1 Acceder al programa.
Para tener acceso al programa se tiene que hacer doble clic en el icono del
programa , ya sea desde el escritorio ó desde el menú de inicio del Windows.
[Link].2 Crear una aplicación.
Para empezar una nueva aplicación tenemos que hacer clic ya sea en el menú
la orden Nuevo, ó en el icono ; una vez hecho clic en esta opción aparecerá el
siguiente cuadro de diálogo (Nuevo Modelo):
Nuevo Modelo.
En este cuadro de diálogo se muestran
dos botones:
Procedimiento a seguir:
-En el caso de hacer clic en: Ingresar puntos, se activará en la parte inferior unas
casillas, en las cuales el usuario podrá ingresar uno a uno los puntos mediante el
teclado, es importante recalcar que estos puntos se deben ingresar en un sistema
cartesiano y con longitudes medidas en metros.
-En el caso de hacer clic en: Ingresar Pórtico, aparecerá en la pantalla un cuadro
flotante (Define Pórtico) en el cual, el usuario tiene la facilidad de crear un pórtico,
tan solo con darle ciertas caracteristicas que se detallarán a continuación:
Define Pórtico.
El cuadro de diálogo nos da la opción de ingresar un pórtico estableciendo
como datos de entrada algunas propiedades geométricas.
Procedimiento a seguir:
-Se ingresar el número de pisos.
- Se ingresar la Altura del primer
piso (metros).
-Se ingresar la Altura de pisos
restantes (metros).
-Se ingresar el número de crujías en
el eje X.
-Se ingresar el número de crujías en
el eje Y.
-Se hace Clic en Aceptar y aparecerá
un cuadro de diálogo de Guardar Como.
Guardar como.
En el presente cuadro de
diálogo el usuario tendrá la
posibilidad de guardar su proyecto.
Procedimiento a seguir:
-Se busca la ruta en la cual se desea
guardar el proyecto.
-Se escribe el nombre con el cual se
guardará el proyecto.
Es importante recalcar que el archivo aplicativo se guardará en un formato
.p3d (formato asignado por los creadores del presente software); conforme se haga
cambios en el programa, éste creará otros archivos con distintos formatos que son
utilizados por el presente software.
Modificar Paños.
En el caso que se desee Cambiar las
longitudes (en metros) de las crujías, el presente
cuadro de diálogo nos permite modificar por única
vez las mismas en sus respectivos ejes.
Procedimiento a seguir:
-En el caso que se desee modificar las crujías en le
eje X, se hace clic en Dirección Global la opción
X, posteriormente se hace clic en la medida en la
cual se desee modificar, luego presionamos
Modificar.
- En el caso que se desee modificar las crujías en le eje Y, se hace clic en Dirección
Global la opción Y, posteriormente se hace clic en la medida en la cual se desee
modificar, luego presionamos Modificar.
- En el caso que se desee modificar las crujías en le eje Z, se hace clic en Dirección
Global la opción Z, posteriormente se hace clic en la medida en la cual se desee
modificar, luego presionamos Modificar.
-Una vez modificado las respectivas longitudes se presiona Ok para que el programa
actualice los cambios hechos.
-En el caso que no se desee hacer ningún cambio, presionar Cancelar.
Es importante recalcar, que el usuario puede en cualquier momento
modificar el pórtico, ya sea agregando, eliminando los nudos y/o barras.
Define tipos de Cargas.
El siguiente paso es definir los tipos de carga
con los cuales se van a trabajar, para ello hacemos clic
en el menú: Definir – Definir Tipo de Cargas y
aparecerá el cuadro que se muestra a continuación
Procedimiento a seguir:
-En la casilla Nombre, se
coloca un nombre con el
cual el usuario pueda
identificar el tipo carga
que se esta creando.
-En la casilla Tipo, se
escoge un tipo de carga.
Este tipo de carga estará
directamente relacionado
con el nombre de carga que
el usuario le coloque.
- En la casilla Factor, se escribe un factor con el cual se va ha afectar el respectivo
tipo de carga.
-Solo en el caso de carga muerta, si se coloca 1 el programa considerará en sus
cálculos el peso propio, de caso contrario colocar 0.
- La opción Agregar, sirve para que usuario agregue a una lista los distintos tipos de
carga, los cuales posteriormente van ha ser guardados más adelante.
-La opción Eliminar, nos permite eliminar un tipo de carga ya establecido.
-La opción Aceptar sirve para que el programa guarde en memoria los datos
establecidos.
-La opción Cancelar sirve para salir de este cuadro de diálogo sin hacer cambio
alguno.
Siempre debe definirse almenos una carga muerta.
En el caso de hacer una analisis dinámico modal se debe asignar una caga de
sismo, pues el programa la utiliza en sus calculos.
Define Combinaciones de Carga.
Posteriormente se procede ha crear las respectivas
combinaciones de carga, teniendo en cuenta lo que
estipula la NORMA E-020 CARGAS, para ello hacemos
clic en el menú del programa, luego la opción Definir –
Define Combinaciones de Carga.
Una vez hecho clic en la opción descrita aparecerá el cuadro flotante que se muestra
a continuación.
Procedimiento a seguir:
-Colocar un nombre
con el cual se va ha
identificar la
combinación en:
Nombre
Combinación.
-Se escoge uno de los
tipos de cargas que
han sido creados
anteriormente.
-Se escribe un factor
(Factor de
mayoración de
cargas) considerando
la NORMA E-020
CARGAS.
-Para poder ingresar
otra carga, también afectada por un factor se hace clic en Sumar.
-Si se desea ingresar mas cargas, también afectadas por un factor, se repite los tres
últimos pasos.
-Para poder eliminar un tipo de carga afectado por un factor se hace clic en
Eliminar.
Luego procedemos a Restringir algunas propiedades de los nudos con el fin de
idealizar lo más real posible la estructura a analizar.
Para ello seleccionamos primero seleccionamos el nudo o los nudos en los se va ha
cambiar sus propiedades, para ello hacemos clic en .
Asignar Restricciones.
Existen dos formas de cambiar dichas
propiedades, una es con los iconos
ya explicados su uso
anteriormente, y la otra es haciendo clic en el
menú del programa Asignar – Nudos -
Restricciones, en la cual aparecerá el cuadro flotante que se muestra a continuación.
Procedimiento a seguir:
-Hacer clic en Empotramiento para que
el usuario pueda colocar un Empotramiento
a un determinado nudo del pórtico espacial.
- Hacer clic en Apoyo Articulado para
que el usuario pueda colocar un Apoyo
Articulado en un determinado nudo del
pórtico espacial.
- Al hacer clic en Apoyo Simple, el
usuario colocará un Apoyo Articulado en
un determinado nudo del pórtico espacial.
-Si hacemos clic en
Apoyo Nudo,
el usuario colocará
la propiedad Apoyo
Nudo en los nudos
que halla
seleccionado.
-En el caso que se
desee colocar una
restricción distinta
a las mencionadas,
el usuario debe
hacer clic y hacer
un .
-Al Presionar el
botón Aceptar el usuario está actualizando los cambios hechos.
- Al Presionar el botón Cancelar el usuario sale de este cuadro flotante sin haber
hecho cambio alguno.
Resortes.
La opción Resorte permite al usuario
hacer una idealización más real de la estructura,
para acceder a ella bastará con hacer clic en
menú – Asignar – Nudos – Resortes.
Procedimiento a seguir:
-Ingresar la Traslación Global X en: Traslación Global X. (Kg/cm)
-Ingresar la Traslación Global Y en: Traslación Global Y. (Kg/cm)
-Ingresar la Traslación Global Z en: Traslación Global Z. (Kg/cm)
-Ingresar la Rotación Global X en: Rotación Global X. (Kg/rad)
-Ingresar la Rotación Global Y en: Rotación Global Y. (Kg/rad)
-Ingresar la Rotación Global Z en: Rotación Global Z. (Kg/rad)
-En el caso que el usuario desee limpiar los datos, la opción Limpiar permite hacer
esta operación.
-La opción Aceptar permite al usuario
ingresar los datos tipeados.
-La opción Cancelar, permite al usuario
salir del cuadro de diálogo sin guardar
cambio alguno.
A continuación se procederá a asignar
sección a las barras, para ello el usuario
decidirá si dicha barra es una viga,
columna, ó placa.
Sección transversal Columna.
Para poder colocar la sección
transversal a las columnas, el usuario tiene
primero que seleccionar la barra ó barras a
las cuales se va ha asignar sección; para ello
hacer clic en , luego hacer clic en el
menú Asignar – Sección – Columnas y
parecerá el cuadro flotante Sección Transversal Columna.
Procedimiento a seguir:
-Ingresamos la magnitud de la Base en b. (cm)
-Ingresamos la magnitud de la otra cara, en h. (cm)
-Ingresamos la magnitud del ángulo (grados sexagesimales) en Ángulo; para ello el
usuario debe observar el gráfico que muestra el presente cuadro y compararlo con las
coordenadas en que se encuadra su respectivo pórtico.
-Ingresamos la magnitud de Peso Específico del concreto, en Peso Específico.
(kg/cm3)
-Ingresamos la magnitud de f’c del concreto, en f’c. (kg/cm2)
-Ingresamos la Relación de Poisson, en Relación de Poisson. Apenas se termina de
ingresar esta relación la máquina calcula el Módulo de Elasticidad del concreto para
la respectiva relación de poissón establecida.
-En el caso que el usuario desee modificar el modulo de Elasticidad, el usuario
deberá agregar este en Módulo de Elasticidad, en kg/cm2.
-Para agregar datos de refuerzo se hace clic en Datos del refuerzo, y aparecerá el
cuadro flotante Refuerzo.
En el presente cuadro
flotante, se debe ingresar:
Recubrimiento al centro
del refuerzo (cm),
número de varillas en la
dirección local 2, número
de varillas en la dirección
local 3, el valor de fy del
acero (kr/cm2), un
número determinado de
varilla.
-Al presionar OK, el
usuario está ingresando
los valores que se han establecido y automáticamente regresamos al cuadro de
diálogo Sección Transversal Columna.
-Presionamos Aceptar para que el programa ingrese los valores establecidos.
-Presionamos Cancelar para que el programa salga de este cuadro de diálogo sin
guardar cambio alguno.
Sección transversal Vigas.
Para poder asignar una sección
transversal a las vigas, primero se tiene que
seleccionar las barras a las cuales se le va ha
asignar sección, esto se hace haciendo clic en el
icono en ; a continuaión hacer clic en el
menú Asignar – Sección – Vigas y parecerá el cuadro flotante Sección Transversal
Viga.
Procedimiento a seguir:
-Ingresamos la magnitud de la Base en b. (cm)
-Ingresamos la magnitud de la otra cara, en h. (cm)
-Ingresamos la magnitud del ángulo (grados sexagesimales) en Ángulo; para ello el
usuario debe observar el gráfico que muestra el presente cuadro e ingresar los valores
teniendo en cuenta las coordenadas locales de la barra.
-Ingresamos la magnitud de Peso Específico del concreto, en Peso Específico.
(kg/cm3)
-Ingresamos la magnitud de f’c del concreto, en f’c. (kg/cm2)
-Ingresamos la
Relación de Poisson,
en Relación de
Poisson. Apenas se
termina de ingresar
esta relación la
máquina calcula el
Módulo de Elasticidad
del concreto para la
respectiva relación de
poissón establecida.
-En el caso que el
usuario desee
modificar el módulo de
Elasticidad, el usuario
deberá agregar éste en Módulo de Elasticidad, en kg/cm2.
-Para agregar datos de refuerzo se hace clic en Datos del refuerzo, y aparecerá el
cuadro flotante Refuerzo.
En este cuadro se debe ingresar el valor de fy del acero en kg/cm², luego de haber
ingresado estos valores se procede a ingresar los recubrimientos t1, y t2 (cm); estos
últimos medidos del centro de la varilla a la cara exterior más cercana.
-Al presionar OK, el usuario esta ingresando los valores que se han establecido y
automáticamente regresamos al cuadro de
diálogo Sección Transversal Viga.
-Al presionar Cancelar, el usuario sale de
este cuadro de diálogo sin haber
ingresado cambio alguno.
-Presionamos Aceptar para que el
programa ingrese los valores establecidos.
-Presionamos Cancelar para que el
programa salga de este cuadro de diálogo
sin guardar cambio alguno.
Sección Transversal Placa.
Para poder asignar una sección
transversal a las placas, primero se tiene
que seleccionar la barra ó barras a las
cuales se le va ha asignar sección, esto se
hace haciendo clic en el icono en ,
luego hacer clic en el menú Asignar – Sección – Vigas y parecerá el cuadro flotante
Sección Transversal Placa.
Procedimiento a
seguir:
-Ingresamos la
magnitud de la Base
en b. (cm)
-Ingresamos la
magnitud de la otra
cara, en h. (cm)
-Ingresamos la
magnitud del ángulo
(grados
sexagesimales) en
Ángulo; para ello el
usuario debe observar el gráfico que muestra el presente cuadro y compararlo con las
coordenadas en que se encuadra su respectiva barra.
-Ingresamos la magnitud de Peso Específico del concreto, en Peso Específico.
(kg/cm3)
-Ingresamos la magnitud de f’c del concreto, en f’c. (kg/cm2)
-Ingresamos la Relación de Poissón, en Relación de Poisson. Apenas se termina de
ingresar esta relación la máquina calcula el Módulo de Elasticidad del concreto para
la respectiva relación de poissón establecida.
-En el caso que el usuario desee modificar el módulo de Elasticidad, el usuario
deberá agregar éste en Módulo de Elasticidad, en kg/cm2.
-Para agregar datos de refuerzo
de hace clic en Datos del
refuerzo, y aparecerá el cuadro
flotante Refuerzo.
En este cuadro se debe ingresar
el valor de fy del acero en
kg/cm2, luego de haber
ingresado estos valores se
procede a ingresar los
recubrimientos t1, y t2 (cm);
estos últimos medidos del
centro de la varilla a la cara
exterior más cercana.
-Al presionar OK, el usuario
está ingresando los valores que se han establecido y automáticamente regresamos al
cuadro de diálogo Sección Transversal Placa.
-Al presionar Cancelar, el usuario sale de este cuadro de diálogo sin haber ingresado
cambio alguno.
-Presionamos Aceptar para que el programa ingrese los valores establecidos.
Parámetros Sísmicos.
Una vez ingresadas las secciones de los respectivos
elementos del pórtico espacial, se recomienda ingresar los
parámetros sísmicos, para ello el usuario debe ingresar a:
menú – Asignar – Parámetros Sísmicos.
Inmediatamente después que el usuario ha
ingresado a esta orden, aparece el cuadro flotante Datos de Diseño Antisísmico,
estas datos van ha ser utilizados para el análisis modal del pórtico espacial. Ver
NORMA E-030 DISEÑO SISMO RESISTENTE.
Procedimiento a seguir:
-Se ingresa el Factor de Zona en: Factor de Zona, para facilidad del usuario de ha
hecho una ayuda rápida, y se accede a ella presionando el icono
-Se ingresa el Factor de Uso en: Factor de Uso, para
facilidad del usuario se ha hecho una ayuda rápida, y se
accede a ella presionando el icono
-Se ingresa el Factor de
Suelo en: Factor de
Suelo, para facilidad del
usuario de ha hecho una
ayuda rápida, y se accede
a ella presionando el
icono
-Se ingresa el Período del Suelo en: Período de Suelo, para facilidad del usuario de
ha hecho una ayuda rápida, y se accede a ella presionando el icono
-Se ingresa el Coeficiente de
Reducción en: Coeficiente de
Reducción, para facilidad del
usuario se ha hecho una ayuda
rápida, y se accede a ella
presionando el icono
-Se ingresa el porcentaje de carga viva en: % de carga viva para el peso de la
edificación, para facilidad del usuario de ha hecho una ayuda rápida, y se accede a
ella presionando el icono
Asignar Cargas.
Si se desea asignar uno o varios tipos de cargas a las distintas barras del
pórtico espacial (Vigas, Columnas, Placas), primero se debe seleccionar el o los
elementos a cargar, esto se hace haciendo clic en el icono (Seleccionar Barra).
Carga Puntual.
Para acceder a esta opción se
tiene que hacer clic en: menú – Asignar
– Cargas en Barras – Carga Puntual;
inmediatamente después de haber hecho
clic sobre esta opción aparece el cuadro
flotante Carga Puntual.
Procedimiento a seguir:
-Seleccionar en Nombre Carga, el tipo de carga con el cual se pretende ingresar
dicha carga.
-Seleccionar las Coordenadas
Locales, en que va ha ingresar
la o las cargas, para ello
hacemos clic en 1-3 en el caso
que estemos en un plano
perpendicular a b, y 1-2 en el
caso que estemos en un plano
perpendicular a este.
-Procedemos a ingresar las
cargas puntuales; para ello
ingresamos la distancia d
(metros), la carga P
(kilogramos), ángulo (grados
sexagesimales).
Es importante recalcar que el programa sólo admite hasta cuatro tipos de
cargas puntuales.
En el caso que el usuario salga de esta ventana y desee colocar en la misma
barra más cargas del mismo tipo de carga, tendrá que ingresar, todas las
cargas otra vez.
-Al presionar el botón Limpiar, el computador limpia las casillas presentadas en la
pantalla.
- Al presionar el botón Cancelar, el programa sale de esta pantalla sin guardar
cambio alguno.
- Al presionar el botón Aceptar, el programa actualiza los cambios hechos en el
computador.
-En el caso que aún no se haya ingresado las características sismoresistentes en:
menú – Asignar – Parámetros Sísmicos, por única vez aparecerá el cuadro de diálogo
Parámetros Sísmicos para que puedan ser ingresados los datos.
Carga Distribuida.
Esta opción se encuentra en el
menú – Asignar – Cargas en Barras –
Carga Distribuida; inmediatamente
después de haber hecho clic sobre esta
opción aparece el cuadro flotante Carga
Distribuida.
Procedimiento a seguir:
-Seleccionar en Nombre Carga, el tipo de carga con el cual se pretende ingresar
dicha o dichas cargas.
-Seleccionar las Coordenadas Locales, en que va ha ingresar la o las cargas, para ello
hacemos clic en 1-3 en el caso que estemos en un plano perpendicular a b, y 1-2 en el
caso que estemos en un plano perpendicular a este.
-Procedemos a ingresar las cargas distribuidas; para ello ingresamos la distancia a
(metros), la distancia b (metros), la carga w1 (kg/m), w2 (kg/m).
Es importante recalcar que el programa solo admite hasta cuatro tipos de
cargas puntuales.
En el caso que el usuario salga de esta ventana y desee colocar en la misma
barra más cargas del mismo tipo de carga, tendrá que ingresar, todas las
cargas otra vez.
-Al presionar el botón Limpiar, el computador limpia las casillas presentadas en la
pantalla.
- Al presionar el botón Cancelar, el programa sale de esta pantalla sin guardar
cambio alguno.
- Al presionar el botón Aceptar, el programa actualiza los cambios hechos en el
computador.
-En el caso que aún no se haya ingresado las características sismoresistentes en:
menú – Asignar – Parámetros Sísmicos, por única vez aparecerá el cuadro de diálogo
Parámetros Sísmicos para que puedan ser ingresados los datos.
Momento Flector.
Esta opción se encuentra en el
menú – Asignar – Cargas en Barras –
Momento Flector; inmediatamente
después de haber hecho clic sobre esta
opción aparece el cuadro flotante:
Momento Flector.
Procedimiento a seguir:
Seleccionar en Nombre Carga, el tipo de carga con el cual se pretende ingresar
dicha o dichas cargas.
-Seleccionar las Coordenadas Locales, en que va ha ingresar la o las cargas, para ello
hacemos clic en 1-3 en el caso que estemos en un plano perpendicular a b, y 1-2 en el
caso que estemos en un plano perpendicular a este.
-Procedemos a ingresar los momentos flectores para ello ingresamos la distancia a
(metros), y un momento M (kg-m)
Es importante recalcar que el programa solo admite hasta cuatro momentos
flectores.
En el caso que el usuario salga de esta ventana y desee colocar en la misma
barra más momentos del mismo tipo de carga, tendrá que ingresar, todos los
momentos otra vez.
-Al presionar el botón Limpiar, el computador limpia las casillas presentadas en la
pantalla.
- Al presionar el botón Cancelar, el programa sale de esta pantalla sin guardar
cambio alguno.
- Al presionar el botón Aceptar, el programa actualiza los cambios hechos en el
computador.
-En el caso que aún no se haya ingresado las características sismoresistentes en:
menú – Asignar – Parámetros Sísmicos, por única vez aparecerá el cuadro de diálogo
Parámetros Sísmicos para que puedan ser ingresados los datos.
Momento Torsor.
Esta opción se encuentra en el
menú – Asignar – Cargas en Barras –
Momento Torsor; inmediatamente
después de haber hecho clic sobre esta
opción aparece el cuadro flotante
Momento Torsor.
Procedimiento a seguir:
Seleccionar en Nombre Carga, el tipo de carga con el cual se pretende ingresar
dicha o dichas cargas.
-Seleccionar las Coordenadas Locales, en que va ha ingresar la o las cargas, para ello
hacemos clic en 1-3 en el caso que estemos en un plano perpendicular a b, y 1-2 en el
caso que estemos en un plano perpendicular a este.
-Procedemos a ingresar los momentos torsores; para ello ingresamos la distancia a
(metros), y un momento M (kg-m)
Es importante
recalcar que el
programa sólo admite
hasta cuatro tipos de
momentos torsores.
En el caso que el
usuario salga de esta
ventana y desee
colocar en la misma
barra más momentos
del mismo tipo de
carga, tendrá que
ingresar, todas los
momentos otra vez.
-Al presionar el botón Limpiar, el computador limpia las casillas presentadas en la
pantalla.
- Al presionar el botón Cancelar, el programa sale de esta pantalla sin guardar
cambio alguno.
- Al presionar el botón Aceptar, el programa actualiza los cambios hechos en el
computador.
-En el caso que aún no se haya ingresado las características sismorresistentes en:
menú – Asignar – Parámetros Sísmicos, por única vez aparecerá el cuadro de diálogo
Parámetros Sísmicos para que puedan ser ingresados los datos.
Temperatura.
Esta opción se encuentra en el
menú – Asignar – Cargas en Barras –
Temperatura; inmediatamente después
de haber hecho clic sobre esta opción
aparece el cuadro flotante
Temperatura.
Procedimiento a seguir:
-Seleccionar en Nombre Carga, el tipo de
carga con el cual se pretende ingresar dicha o
dichas cargas.
-Ingresar el coeficiente de dilatación del
concreto en el cuadro del mismo nombre
(/°C), si se desea que éste sea aplicado en
todas las direcciones.
-En el caso que usuario desee aplicar un delta
t, tan solo tiene que ingresar el valor
respectivo en delta1 (/°C).
- En el caso que usuario desee aplicar un delta
t subprima2, tan solo tiene que ingresar el
valor respectivo en delta t subprima2 (°C/m).
-En el caso que usuario desee aplicar un delta
t subprima, tan solo tiene que ingresar el valor
respectivo en delta1 (°C/m).
En el caso que el usuario salga de esta ventana y desee colocar en la misma
barra mas cargas del mismo tipo, tendrá que ingresar, todas las cargarlas
otra vez otra vez.
-Al presionar el botón Limpiar, el computador limpia las casillas presentadas en la
pantalla.
- Al presionar el botón Cancelar, el programa sale de esta pantalla sin guardar
cambio alguno.
- Al presionar el botón Aceptar, el programa actualiza los cambios hechos en el
computador.
-En el caso que aún no se haya ingresado las características sismorresistentes en:
menú – Asignar – Parámetros Sísmicos, por única vez aparecerá el cuadro de diálogo
Parámetros Sísmicos para que puedan ser ingresados los datos.
Fuerzas Externas.
Si se desea asignar uno o
varios tipos de Cargas Externas,
primero se debe seleccionar el nudo
ó nudos a los cuales se van a aplicar,
para ello primero se debe seleccionar el o los nudos a cargar, esto se hace haciendo
clic en el icono (Seleccionar Nudo).
Inmediatamente después hacemos clic en: menú – Asignar – Cargas en Nudos
– Fuerzas Externas; inmediatamente después de haber hecho clic sobre esta opción
aparece el cuadro flotante Fuerzas Externas.
Procedimiento a seguir:
-Seleccionar en Nombre Carga, el tipo de
carga con el cual se pretende ingresar dicha o
dichas cargas.
-Se ingresa el valor de Fuerza Global en el eje
X en: Fuerza Global X (Kg).
-Se ingresa el valor de Fuerza Global en el eje
Y en: Fuerza Global Y (Kg).
-Se ingresa el valor de Fuerza Global en el eje
Z en: Fuerza Global Z (Kg).
-Se ingresa el valor del Momento Global en el
eje X en: Momento Global X (Kg).
-Se ingresa el valor del Momento Global en el
eje Y en: Momento Global Y (Kg).
-Se ingresa el valor del Momento Global en el
eje Z en: Momento Global Z (Kg).
-En el caso que se desee borrar los datos
escritos en las casillas llenadas anteriormente,
bastará con hacer clic en Limpiar.
- Al presionar el botón Ok, el programa actualiza los cambios hechos en el
computador.
- Al presionar el botón Cancelar, el programa sale de esta pantalla sin guardar
cambio alguno.
Desplazamiento de Apoyo.
Si se desea asignar uno o
varios Desplazamientos en los
apoyos, primero se debe
seleccionar el nudo ó nudos a los
cuales se van a aplicar, para ello
primero se debe seleccionar el o
los nudos a cargar, esto se hace
haciendo clic en el icono (Seleccionar Nudo).
Inmediatamente después hacemos clic en: menú – Asignar – Cargas en Nudos
– Desplazamiento de Apoyo; inmediatamente después de haber hecho clic sobre esta
opción aparece el cuadro flotante Desplazamiento de Apoyo.
Procedimiento a seguir:
-Se selecciona un tipo de carga en: Nombre de Carga.
-Se ingresa el valor de traslación en el eje X que va ha estar afectado el o los apoyos
seleccionados en Traslación Global X. (cm.)
-Se ingresa el valor de traslación en el eje Y que
va ha estar afectado el o los apoyos seleccionados
en Traslación Global X. (cm.)
-Se ingresa el valor de traslación en el eje Z que
va ha estar afectado el o los apoyos seleccionados
en Traslación Global Z. (cm)
-Se ingresa el valor de Rotación en X que va ha
estar afectado el o los apoyos seleccionados en:
Rotación en X. (Rad.)
-Se ingresa el valor de Rotación en Y que va ha
estar afectado el o los apoyos seleccionados en:
Rotación en Y. (Rad.)
-Se ingresa el valor de Rotación en Z que va ha
estar afectado el o los apoyos seleccionados en:
Rotación en Z. (Rad.)
-En el caso que se desee borrar los datos escritos
en las casillas llenadas anteriormente, bastará con
hacer clic en Limpiar.
- Al presionar el botón Ok, el programa actualiza los cambios hechos en el
computador.
- Al presionar el botón Cancelar, el programa sale de esta pantalla sin guardar
cambio alguno.
Brazos Rígidos.
Si se desea asignar brazos Rígidos a una o varias
barras, primero se debe seleccionar la barra o barras a las
cuales se van a asignar, para ello primero se debe seleccionar
la o las barras a cargar, esto se hace haciendo clic en el icono
(Seleccionar Barra).
Una vez hecho clic en este icono se hace clic en menú
– Brazos Rígidos, y aparecerá un cuadro flotante Brazos
Rígidos.
Procedimiento a seguir:
-Se ingresa la longitud del nudo inicial en:
Longitud en el nudo inicial.
-Se ingresa la longitud del nudo final en:
Longitud en el nudo Final.
Es importante recalcar que si va ha
ingresar brazos rígidos a varias barras
se deben chequear las longitudes de los
mismos.
Para poder saber cual es el nudo inicial ó final, primero se debe seleccionar
la barra y luego hacer clic en .
Ejecutar.
Una vez terminado de asignar todas las características del
pórtico, el programa está listo para hacer un cálculo matricial, ya
sea por el método estático ó dinámico, para ello nos vamos a menú
– Analizar – Ejecutar, también podemos acceder haciendo clic en
el icono .
Una vez hecho clic en Ejecutar, aparece el
cuadro flotante Opciones.
Procedimiento a seguir:
-Si el usuario desea hacer un análisis Estático de la
estructura, seleccionará Estático.
-Si el usuario desea hacer un análisis
Dinámico de la estructura,
seleccionará Dinámico.
- Al presionar Ok, aparecerá un
cuadro flotante 3D Por.
-3D Port,; este cuadro tiene en la
parte inferior una barra, esta nos da
una idea del avance de ejecución del
mismo.
- Una vez que la barra se detuvo
aparecerá en el presente cuadro un
resumen de las condiciones con que
se hizo el presente análisis.
-Si se desea salir del presente cuadro, presionar Ok.
Propiedades del Elemento.
Esta opción puede ser ejecutada en
cualquier etapa del programa, para ello, bastará
solo con tener un elemento al cual se desea ver
sus propiedades.
Si se desea ver las propiedades ya sean
geométricas o de carga de una determinada
barra, primero se debe seleccionar la barra, esto
se hace haciendo clic en el icono
(Seleccionar Barra).
-Si se desea ver las propiedades ya sean
geométricas o de carga de un determinado nudo,
primero se debe seleccionar la barra, esto se
hace haciendo clic en el icono (Seleccionar
Nudo).
Procedimiento a seguir:
-Hacer clic en Geométricos si el usuario desea ver sus propiedades geométricas.
-Hacer clic en Carga si el usuario desea ver sus propiedades de carga.
-Hacer clic en Salir, para salir del cuadro de diálogo.
Diagramas.
La presente opción, nos muestra los valores
de fuerzas y momentos para los respectivos planos y
para los distintos tipos de carga y combinaciones,
antes de acceder a este formulario el usuario deberá:
Seleccionar la barra que se desea ver sus valores de fuerza ó momento para
ello el usuario hacer clic en el icono (Seleccionar Barra).
Una vez seleccionada la barra, se hace clic en menú – Resultados –
Diagramas, y aparecerá el cuadro flotante Opciones.
Procedimiento a seguir:
-Seleccionar el tipo de carga, el tipo de combinación ya definidos anteriormente para
el cual se desea ver sus valores de fuerza o momento respectivos.
-Seleccionar el plano para el cual se desea ver sus resultados (Plano 1-2, Plano 1-3 ó
Axial), según sea el caso.
-En el caso que se desee todos los valores del diagrama respectivo el usuario deberá
hacer clic en Ver por valores, luego deberá hacer clic arrastrando el mouse en
cuadro respectivo y en la parte derecha del mismo se observara el valor de fuerza o
momento y la distancia a la cual se obtiene este valor.
-El usuario podrá ver los valores máximos de momentos y cortantes, para ello deberá
hacer clic en Ver Máx.
-Si el usuario desea ver el valor de fuerzas ó momentos a una determinada distancia
el usuario deberá ingresar la distancia respectiva en Localización y aparecerá el
máximo valor al lado derecho de cada gráfico. (Es importante recalcar que este valor
debe ser menor o igual que la longitud de la barra, pues el software solo calcula los
valores que se encuentran dentro de ella).
-En el caso que el gráfico sea demasiado grande ó pequeño, la opción Factor del
Dibujo nos permite agrandar o disminuir los gráficos.
-En el caso que el usuario halla hecho un
análisis Modal y el usuario desee ver los
valores de fuerza o momento obtenidos,
bastará seleccionar la opción modal en Caso,
y aparece una casilla al lado de Factor del
Dibujo en la cual se podrá escoger el modo
en el cual se desean ver sus resultados de fuerzas ó momentos.
- Al presionar el botón Cancelar, el programa sale de esta pantalla sin guardar
cambio alguno.
Desplazamientos del nudo.
La presente opción permite al usuario ver
los desplazamientos de un determinado nudo,
para ello primero se debe seleccionar el nudo,
esto se hace haciendo clic en el icono
(Seleccionar Nudo).
Una vez seleccionado el nudo, se hace clic en menú – Resultados –
Desplazamientos Nodales y aparecerá el cuadro flotante: Desplazamientos del
nudo.
Procedimiento a seguir:
-Seleccionar el tipo de carga con la se produce el desplazamiento que se desea ver.
-Hacer clic en el icono (cerrar) para salir del cuadro de diálogo.
Elementos de Pórtico Espacial.
Esta opción permite hacer un diseño en
concreto armado de las barras del pórtico espacial,
para ello hacer clic en Elementos de Pórtico
Espacial.
Una vez hecho clic en la opción anterior en la parte inferior derecha de la
pantalla aparecerá una barra la cual nos da una idea del proceso de ejecución del
programa.
En el caso que una barra no cumpla la cuantía ó no soporten el cortante,
aparecerán de color azul, (se sugiere aumentar la sección de la barra ó barras
mostradas).
Es importante recalcar que todos los cálculos en concreto armado se han
hecho tomando en cuenta la NORMA E-060 CONCRETO ARMADO.
Áreas de acero.
Para ver las áreas de acero correspondientes,
se debe seleccionar la barra, para ello hacemos
clic en el icono (Seleccionar Barra), luego
hacemos clic en menú – Resultados – Áreas de
acero ó hacemos clic derecho y aparecerá el
cuadro flotante Área de acero.
En caso que se halla seleccionado una viga aparecerá el cuadro diálogo que
se presenta a continuación:
En la parte superior de este cuadro se muestra el número seleccionado.
También puede observarse en el presente cuadro de diálogo dos gráficos que
nos dan una idea de la distribución del acero calculado.
Este cuadro de diálogo muestra al usuario las cantidades de acero longitudinal
ya sea en el extremo izquierdo, extremo derecho, y en el centro las respectivas áreas
de acero As1 y As2.
También se puede apreciar que éste cuadro muestra el acero transversal a una
determinada distancia (se ha optado por colocar el valor de la separación máxima en
la cual se debe colocar el respectivo acero).
- Al presionar el botón Ok, salimos de este cuadro flotante sin guardar cambio
alguno.
- Al presionar detalado aparece un cuadro flotante el cual nos indicala longuitud de
corte en una viga.
En caso que se halla seleccionado una viga de gran peralte aparecerá el
cuadro diálogo que se presenta a continuación:
En la parte superior de este cuadro se muestra el número seleccionado.
También puede observarse en el presente cuadro de diálogo dos gráficos que
nos dan una idea de la distribución del acero calculado.
Este cuadro de diálogo muestra al usuario las cantidades de acero longitudinal y el
acero negativo As1, As2, el acero en el centro As +, y la altura” y” en la cual se debe
distribuir As+.
También se puede apreciar que este cuadro muestra el acero transversal a una
determinada distancia (se ha optado por colocar el valor de la separación máxima en
la cual se debe colocar el respectivo acero).
- Al presionar el botón Ok, salimos de este cuadro flotante sin guardar cambio
alguno.
En caso que se halla seleccionado una columna aparecerá el cuadro diálogo
que se presenta a continuación:
En la parte superior de este cuadro se muestra el número seleccionado.
También puede observar en el presente cuadro de diálogo dos gráficos que nos dan
una idea de la distribución del acero calculado.
Este cuadro de diálogo muestra al usuario las cantidades de Ast, y la caga de pandeo
crítico Pc .
También se puede apreciar que este cuadro muestra, el acero transversal a una
determinada distancia (se ha optado por colocar el valor de la separación máxima en
la cual se debe colocar el respectivo acero).
- Al presionar detalado aparece un cuadro flotante el cual nos indicala longuitud de
corte de carilla en la columna.
En caso que se halla seleccionado una placa aparecerá el cuadro diálogo
que se presenta a continuación:
En la parte superior de este cuadro se muestra un número, este número nos indica el
número de barra que se está analizando.
También puede observar en el presente cuadro de diálogo un gráfico que nos da una
idea de la distribución del acero calculado.
Este cuadro de diálogo muestra también al usuario las cantidades de acero
longitudinal As (cm²).
También se puede apreciar que este cuadro muestra el acero transversal a una
determinada distancia (se ha optado por colocar el valor de la separación máxima en
la cual se debe colocar el respectivo acero).
Zapata Aislada.
Esta opción nos permite hacer
un diseño de una zapata Aislada, para
ello el usuario deberá hacer clic en
menú – Diseño – Cimentaciones –
Zapata Aislada.
Posteriormente de haber realizado lo descrito, aparecerá el cuadro flotante:
Diseño Zapata Aislada.
Procedimiento a seguir:
-Seleccionar el tipo de zapata que se desea diseñar (Central, esquina, ó lateral),
haciendo clic en los iconos que se muestran a continuación.
- También se puede observar en el presente cuadro flotante un dibujo, que nos da la
idea de la zapata que estamos diseñando.
-Ingresar el valor de Carga muerta en PD (Ton).
-Ingresar el valor de Carga viva en PL (Ton).
-Ingresar el valor de Capacidad portante en: Capacidad Portante (Kg/cm 2).
-Ingresar la profundidad Df en Df (m).
-Ingresar el valor de resistencia del concreto en f’c (kg/cm 2).
-Ingresar el valor de resistencia del acero en fy (kg/cm2).
-Ingresar la densidad promedio en Densidad promedio (Kg/m3).
-Ingresar la sobrecarga del piso en S/C piso (Kg/m2).
-Ingresar la altura hf en hf (m).
-Ingresar la sección de la columna en t1, t2 respectivamente (cm).
-Ingresar el diámetro de varilla.
-Hacer clic en Diseñar, y aparecerán los resultados obtenidos con los datos
ingresados.
-Si el usuario desea salir del presente cuadro flotante bastará con hacer clic en Salir.
En caso de elegir otro tipo de zapata repetir el procedimiento explicado
anteriormente.
Zapata Excéntrica.
Esta opción nos permite
hacer un diseño de una zapata
Excéntrica, para ello el usuario
deberá hacer clic en menú –
Diseño – Cimentaciones – Zapata
Excéntrica.
Posteriormente de haber realizado lo descrito, aparecerá el cuadro flotante: Diseño
Zapata Excéntrica.
Procedimiento a seguir:
-Ingresar el valor de Carga muerta en PD (Ton).
-Ingresar el valor de Carga viva en PL (Ton).
-Ingresar el valor de Capacidad portante en: Capacidad Portante (Kg/cm2).
-Ingresar la profundidad Df en Df (m).
-Ingresar el valor de resistencia del concreto en f’c (kg/cm 2).
-Ingresar el valor de resistencia del acero en fy (kg/cm 2).
-Ingresar la densidad promedio en Densidad promedio (Kg/m3).
-Ingresar la sobrecarga del piso en S/C piso (Kg/m2).
-Ingresar la altura hf en hf (m).
-Ingresar la sección de la columna en t1, t2 respectivamente (cm)
-Ingresar la excentricidad en excentricidad (cm)
-Ingresar el diámetro de varilla.
- También se puede observar en el presente cuadro flotante un dibujo, que nos da la
idea de la zapata que estamos diseñando.
-Hacer clic en Diseñar, y aparecerán los resultados obtenidos con los datos
ingresados.
-Si el usuario desea salir del presente cuadro flotante bastará con hacer clic en
Cancelar.
En caso de elegir otro tipo de zapata repetir el procedimiento explicado
anteriormente.
Zapata Combinada.
Esta opción nos permite hacer
un diseño de una zapata Combinada,
para ello el usuario deberá hacer clic
en menú – Diseño – Cimentaciones –
Zapata Combinada.
Posteriormente de haber realizado lo descrito, aparecerá el cuadro flotante: Diseño
Zapata Combinada.
Procedimiento a seguir:
-Ingresan las cargas de la columna 1 (carga muerta y carga viva) en P1 Muerta, P1
Viva respectivamente (Ton).
-Ingresan las cargas de la columna 2 (carga muerta y carga viva) en P2 Muerta, P2
Viva respectivamente (Ton).
-Ingresar los factores de mayoración de cara muerta y carga viva (NORMA E-020
CARGAS).
-Ingresar la sobrecarga en Sobrecarga (kg/m²).
-Ingresar las dimensión de la sección de la columna 1 en: Dimensión columna 1 (s1),
Dimensión columna 1 (t1) respectivamente (m).
-Ingresar las dimensión de la sección de la columna 2 en: Dimensión columna 2 (s2),
Dimensión columna 2 (t2) respectivamente (m).
-Ingresar la altura hf en hf (m).
-Ingresar la separación entre columnas en: Separación de columnas L1 (m).
-Ingresar la Capacidad portante en: qadm Capacidad portante por falla o por
asentamiento (kg/cm²).
-Ingresar el valor de resistencia del concreto en f’c (kg/cm2).
-Ingresar el valor de resistencia del acero en fy (kg/cm 2).
-Ingresar la densidad promedio del suelo en Densidad promedio del suelo (Kg/m 3).
-Ingresar el diámetro de varilla.
- También se puede observar en el presente cuadro flotante un dibujo, que nos da la
idea de la zapata que estamos diseñando.
-Hacer clic en Diseñar, y aparecerán los resultados obtenidos con los datos
ingresados.
-Si el usuario desea salir del presente cuadro flotante bastará con hacer clic en Salir.
Zapata Conectada.
Esta opción nos permite
hacer un diseño de una zapata
Conectada, para ello el usuario
deberá hacer clic en menú –
Diseño – Cimentaciones – Zapata
Conectada.
Posteriormente de haber
realizado lo descrito, aparecerá el cuadro flotante: Diseño Zapata Conectada.
Procedimiento a seguir:
-Ingresan las cargas de la columna 1 (carga muerta y carga viva) en P1 Muerta, P1
Viva respectivamente (Ton).
-Ingresan las cargas de la columna 2 (carga muerta y carga viva) en P2 Muerta, P2
Viva respectivamente (Ton).
-Ingresar los factores de mayoración de cara muerta y carga viva (NORMA E-020
CARGAS).
-Ingresar la sobrecarga en Sobrecarga (kg/m²).
-Ingresar las dimensión de la sección de la columna 1 en: Dimensión columna 1 (s1),
Dimensión columna 1 (t1) respectivamente (m).
-Ingresar las dimensión de la sección de la columna 2 en: Dimensión columna 2 (s2),
Dimensión columna 2 (t2) respectivamente (m).
-Ingresar la altura hf en hf (m).
-Ingresar la separación entre columnas en: Separación de columnas L1 (m).
-Ingresar la Capacidad portante en: qadm Capacidad portante por falla o por
asentamiento (kg/cm²).
-Ingresar el valor de resistencia del concreto en f’c (kg/cm 2).
-Ingresar el valor de resistencia del acero en fy (kg/cm 2).
-Ingresar la densidad promedio del suelo en Densidad promedio del suelo (Kg/m3).
-Ingresar el diámetro de varilla.
- También se puede observar en el presente cuadro flotante un dibujo, que nos da la
idea de la zapata que estamos diseñando.
-Hacer clic en Diseñar, y aparecerán los resultados obtenidos con los datos
ingresados.
-Si el usuario desea salir del presente cuadro flotante bastará con hacer clic en Salir.
Escalera.
Esta opción nos permite hacer un diseño de
una Escalera para ello el usuario deberá hacer clic en
menú – Diseño - Escalera.
Posteriormente de haber realizado lo descrito,
aparecerá el cuadro flotante: Escalera.
Procedimiento a seguir:
La presente escalera permite hacer un diseño de un tramo de una escalera esta puede
tener hasta tres tipos de cargas distribuidas.
-Ingresar las los valores: a (cm), b (cm), carga muerta wd(kg/m).
En el caso que se desee ingresar más cargas ingresar los datos anteriores en las
casillas siguientes.
-Ingresar el valor de carga viva en wl (kg/m²).
-Ingresar el factor de mayoración de carga muerta en: Factor carga muerta.
-Ingresar el factor de mayoración de carga muerta en: Factor carga viva.
-Ingresar la longitud del tramo ha analizar en: Longitud del tramo (cm).
-Ingresar el ancho de la escalera en Ancho de escalera (cm).
-Ingresar el espesor de la escalera en Espesor de la escalera (cm)
-Ingresar el tipo de apoyo en Apoyo inicial y Apoyo final respectivamente.
-Ingresar el valor de resistencia del concreto en f’c (kg/cm 2).
-Ingresar el valor de resistencia del acero en fy (kg/cm 2).
-Ingresar el recubrimiento en recubrimiento (cm).
-Ingresar el diámetro de varilla.
-Hacer clic en Diseñar, y aparecerán los resultados obtenidos con los datos
ingresados.
-Hacer clic en Limpiar, para limpiar los datos ingresados y el usuario así pueda
volver ingresar los datos.
-Si el usuario desea salir del presente cuadro flotante bastará con hacer clic en Salir.
Losa aligerada.
Esta opción nos permite hacer un diseño de
una Losa Aligerada, para ello el usuario deberá hacer
clic en menú – Diseño – Losa Aligerada.
Posteriormente de haber realizado lo descrito,
aparecerá el cuadro flotante: Losa Aligerada.
Procedimiento a seguir:
El presente formulario, se ha creado con la finalidad que el usuario pueda diseñar
varios tramos consecutivos.
-Ingresar la longitud del primer paño en: Longitud (m).
-Ingresar la carga última en: wu (kg/m²).
-Hacer clic en Ingresar.
En el caso que el usuario desee ingresar mas tramos (repetir los tres últimos pasos).
En el caso que el usuario desee Eliminar tramos, hacer clic en , ya sea en
Longitud ó wu y escoger el tramo o carga a eliminar, presionar Eliminar.
-Ingresar el espesor del aligerado en: Espesor del Aligerado (cm).
-Ingresar el ancho de la vigueta en: b (cm).
-Ingresar el ancho del ladrillo en: b ladrillo (cm).
-Ingresar la altura del ladrillo en: h (cm).
-Ingresar el valor de resistencia del concreto en f’c (kg/cm 2).
-Ingresar el valor de resistencia del acero en fy (kg/cm 2).
-Hacer clic en Diseñar, y aparecerán los resultados obtenidos con los datos
ingresados.
-En caso que el usuario
tenga dudas en la forma de
distribuir el acero, hacer
clic en ¿manera de
distribuir el acero? y
aparecerá en el mismo
formulario flotante un
gráfico que nos indica la manera de distribuirlo.
-Si el usuario desea salir del presente cuadro flotante bastará con hacer clic en
Cerrar.
Contenido.
Esta opción nos muestra el manual del programa,
para ello hacer clic en Ayuda – Contenido y aparecerá el
manual del programa.
Acerca de Pórticos 3D.
Esta opción muestra una información general del
programa, para ello hacer clic en Ayuda – Acerca de
Pórticos 3D.
Una vez ejecutada la opción anterior aparece un cuadro
flotante Acerca de Pórticos 3D.
-Hacer clic en Aceptar para salir del presente cuadro de diálogo.
Ayuda (video).
Esta opción permite al usuario acceder a un video
informativo de la manera de utilizar el presente software,
para ello se debe hacer clic en Ayuda – Ayuda (video).
Una vez ejecutada la opción anterior aparece un cuadro
flotante Media Player.
Como ya se mencionó
anteriormente, el presente formulario es
un formulario de video.
-Para poder ver el video hacer clic en
y buscar la posición del video.
-Una vez seleccionado el video, hacer
clic en .
-El usuario puede detener el video en
cualquier momento haciendo clic en
3.2 Visual Basic
3.2.1 Visual Basic 6.0
Visual Basic 6.0 es una excelente herramienta de programación que permite
crear aplicaciones propias (programas) para Windows 95/98 o Windows NT. Con
ella se puede crear desde una simple calculadora hasta una hoja de cálculo de la talla
de Excel (en sus primeras versiones...), pasando por un procesador de textos o
cualquier otra aplicación que se le ocurra al programador. Sus aplicaciones en
Ingeniería son casi ilimitadas: representación de movimientos mecánicos o de
funciones matemáticas, gráficas termodinámicas, simulación de circuitos, etc.
Este programa permite crear ventanas, botones, menús y cualquier otro
elemento de Windows de una forma fácil e intuitiva. El lenguaje de programación
que se utilizará será el Basic.
3.2.2 Entorno del Visual Basic 6.0
Visual Basic 6.0 tiene todos los elementos que caracterizan a los programas
de Windows e incluso alguno menos habitual. En cualquier caso, el entorno de
Visual Basic 6.0 es muy lógico y natural, y además se puede obtener una descripción
de la mayoría de los elementos clicando en ellos para seleccionarlos y pulsando
luego la tecla <F1>.
[Link] Barra de menús y las barras de herramientas.
La barra de menús de Visual Basic 6.0 resulta similar a la de cualquier otra
aplicación de Windows, tal y como aparece en la Figura que se mostrará a
continuación dicha barra aparecen las barras de herramientas, con una serie de
botones que permiten acceder fácilmente a las opciones más importantes de los
menús. En Visual Basic 6.0 existen cuatro barras de herramientas: Debug, Edit, Form
Editor y Standard. Por defecto sólo aparece la barra Standard, aunque en la Figura
2.2 se muestran las cuatro. Clicando con el botón derecho sobre cualquiera de las
barras de herramientas aparece un menú contextual con el que se puede hacer
aparecer y ocultar cualquiera de las barras. Al igual que en otras aplicaciones de
Windows 95/98/NT, también pueden modificarse las barras añadiendo o eliminando
botones (opción Customize).
En la barra de herramientas Standard también se
pueden ver a la derecha dos recuadros con números, que
representan cuatro propiedades del formulario referentes a
su posición y tamaño que se verán más adelante: Top y
Left, que indican la posición de la esquina superior
izquierda del formulario, y también Height y Width, que
describen el tamaño del mismo en unas unidades llamadas twips, que se
corresponden con la vigésima parte de un punto (una pulgada tiene 72 puntos y 1440
twips). Las dimensiones de un control aparecen también cuando con el ratón se
arrastra sobre el formulario, según se puede ver en la Figura adjunta. Los botones de
la barra de herramientas Standard responden a las funciones más importantes: abrir
y/o guardar nuevos proyectos, añadir formularios, hacer visibles las distintas
ventanas del entorno de desarrollo, etc. Todos los botones tienen su correspondiente
comando en alguno de los menús. Son importantes los botones que permiten arrancar
y/o parar la ejecución de un proyecto, pasando de modo diseño a modo de ejecución
y viceversa.
El menú File tiene pocas novedades. Lo más importante es la distinción entre
proyectos y todos los demás ficheros. Como ya se ha dicho, un proyecto reúne y
organiza todos los ficheros que componen el programa o aplicación (hace la función
de una carpeta que contuviera apuntes). Estos ficheros pueden ser formularios,
módulos, clases, recursos, etc. Visual Basic 6.0 permite tener más de un proyecto
abierto simultáneamente, lo cual puede ser útil en ocasiones. Con el comando
AddProject se añade un nuevo proyecto en la ventana Project Manager. Con los
comandos Open Project o New Project se abre o se crea un nuevo proyecto, pero
cerrando el o los proyectos que estuvieran abiertos previamente. En este menú está el
comando Make [Link], que permite crear ejecutables de los proyectos.
Tampoco el menú Edit aporta cambios importantes sobre lo que es habitual.
Por el contrario el menú View, generalmente de poca utilidad, es bastante propio de
Visual Basic 6.0. Este menú permite hacer aparecer en pantalla las distintas ventanas
del entorno de desarrollo, así como acceder a un formulario o al código relacionado
con un control (que también aparece si se clica dos veces en dicho control), y
manejar funciones y procedimientos.
El menú Project permite añadir distintos tipos de elementos a un proyecto
(formularios, módulos, etc.). Con Project/Properties se puede elegir el tipo de
proyecto y determinar el formulario con el que se arrancará la aplicación (Startup
Object). Con el comando Components se pueden añadir nuevos controles a la
Toolbox que aparece a la izquierda de la pantalla.
El menú Format contiene opciones para controlar el aspecto de la aplicación
(alinear controles, espaciarlos uniformemente, etc.). Los menús Debug y Run
permiten controlar la ejecución de las aplicaciones. Con Debug se puede ver en
detalle cómo funcionan, ejecutando paso a paso, yendo hasta una línea de código
determinada, etc. Esto es especialmente útil cuando haya que encontrar algunos
errores ejecutando paso a paso, o viendo resultados intermedios.
En el menú Tools se encuentran los comandos para arrancar el Menu Editor
(para crear menús, como se verá mas adelante, dedicado a los Menús) y para
establecer las opciones del programa. En Tools/Options se encuentran las opciones
relativas al proyecto en el que se trabaja. La lengüeta Environment determina las
propiedades del entorno del proyecto, como las opciones para actualizar o no los
ficheros antes de cada ejecución; en General se establece lo referente a la retícula o
grid que aparece en el formulario; Editor permite establecer la necesidad de declarar
todas las variables junto con otras opciones de edición, como si se quieren ver o no
todos los procedimientos juntos en la misma ventana, y si se quiere ver una línea
separadora entre procedimientos; Editor Format permite seleccionar el tipo de letra
y los códigos de color con los que aparecen los distintos elementos del código. La
opción Advanced hace referencia entre otras cosas a la opción de utilizar Visual
Basic 6.0 en dos formatos SDI (Single Document Interface) y MDI (Multiple
Document Interface).
Por último, la ayuda (siempre imprescindible y en el caso de Visual Basic 6.0
particularmente bien hecha) que se encuentra en el menú Help, se basa
fundamentalmente en una clasificación temática ordenada de la información
disponible (Contents), en una clasificación alfabética de la información (Index) y en
la búsqueda de información sobre algún tema por el nombre (Search). Como ya se ha
mencionado, la tecla <F1> permite una ayuda directa sensible al contexto, esto es
dependiente de donde se haya clicado con el ratón (o de lo que esté seleccionado).
[Link] Herramientas (toolbox).
La Figura 3.2.2.2junta muestra la caja de herramientas, que incluye los
controles con los que se puede diseñar la pantalla de la aplicación. Estos controles
son por ejemplo botones, etiquetas, cajas de texto, zonas gráficas, etc. Para introducir
un control en el formulario simplemente hay que clicar en el icono
adecuado de la toolbox y colocarlo en el formulario con la posición y el
tamaño deseado, clicando y arrastrando con el ratón. Clicando dos veces
sobre el icono de un control aparece éste en el centro del formulario y se
puede modificar su tamaño y/o trasladar con el ratón como se desee. El
número de controles que pueden aparecer en esta ventana varía con la
configuración del sistema. Para introducir nuevos componentes se
utiliza el comando Components en el menú Project, con lo cual se abre
el cuadro de diálogo mostrado en la Figura [Link].
[Link] Formularios (FORMS) y módulos.
Los formularios son las zonas de la pantalla sobre las que se
diseña el programa y sobre las que se sitúan los controles o
herramientas de la toolbox. Al ejecutar el programa, el form se
convertirá en la ventana de la aplicación, donde aparecerán los botones,
el texto, los gráficos, etc.
Para lograr una mejor presentación existe una malla o retícula (grid) que
permite alinear los controles manualmente de una forma precisa (evitando tener que
introducir coordenadas continuamente). Esta malla sólo será visible en el proceso de
diseño del programa; al ejecutarlo no se verá. De cualquier forma, se puede
desactivar la malla o cambiar sus características en el menú Tools/Options/General,
cambiando la opción
Align Controls to Grid.
Exteriormente, los formularios tienen una estructura similar a la de cualquier
ventana. Sin embargo, también poseen un código de programación que estará escrito
en Basic, y que controlará algunos aspectos del formulario, sobre todo en la forma de
reaccionar ante las acciones del usuario (eventos). El formulario y los controles en él
situados serán el esqueleto o la base del programa. Una aplicación puede tener varios
formularios, pero siempre habrá uno con el que arrancará la aplicación; este
formulario se determina a partir del menú Project/Properties, en Startup Objects.
Figura [Link]
Resumiendo, cuando se vaya a crear un programa en Visual Basic 6.0 habrá
que dar dos pasos:
1. Diseñar y preparar la parte gráfica (formularios, botones, menús, etc.)
2. Realizar la programación que gestione la respuesta del programa ante los distintos
eventos.
[Link] Ventana de un proyecto.
Esta ventana, mostrada en la Figura [Link], permite acceder a los distintos
formularios y módulos que componen el proyecto. Desde ella se puede ver el diseño
gráfico de dichos formularios (botón View Object ), y también permite editar el
código que contienen (botón View Code ). Estos botones están situados en la parte
superior de la ventana, debajo de la barra de títulos.
Los módulos estándar (ficheros *.bas) contienen
sólo código que, en general, puede ser utilizado por
distintos formularios y/o controles del proyecto e incluso
por varios proyectos. Por ejemplo puede prepararse un
módulo estándar de funciones matemáticas que sea de
utilidad general.
Normalmente contienen siempre algunas declaraciones de variables globales
o Public, que serán accesibles directamente desde todos los formularios.
Los módulos de clase (ficheros *.cls) contienen clases definidas por el
usuario. Las clases son como formularios o controles complejos, sin interface gráfica
de usuario.
[Link] Ventana De Propiedades (PROPERTIES)
Todos los objetos Visual Basic 6.0 tienen unas
propiedades que los definen: su nombre (Name), su
etiqueta o título (Caption), el texto que contiene (Text),
su tamaño y posición, su color, si está activo o no
(Enabled), etc. La Figura [Link].a muestra parcialmente
las propiedades de un formulario. Todas estas
propiedades se almacenan dentro de cada control o
formulario en forma de estructura (similar a las del
lenguaje C). Por tanto, si por ejemplo en algún momento
se quiere modificar el nombre de un botón basta con
hacerlo en la ventana de propiedades (al diseñar el
programa) o en el código en Basic (durante la ejecución),
mediante el operador punto (.), en la forma:
[Link] = "NuevoNombre" Figura [Link].a
Para realizar una modificación de las propiedades de un objeto durante el
diseño del programa, se activará la ventana de propiedades (con el menú, con el
botón de la barra de herramientas o pulsando <F4>). Esta ventana tiene dos
lengüetas, que permiten ordenar las propiedades alfabéticamente o por categorías.
Utilizando la forma que sea más cómoda se localizará con ayuda de la barra de
desplazamiento la propiedad que se quiera modificar. Al clicar sobre ella puede
activarse un menú desplegable con las distintas opciones, o bien puede modificarse
directamente el valor de la propiedad. Si esta propiedad tiene sólo unos valores fijos
(por ejemplo, los colores), puede abrirse un cuadro de diálogo para elegir un color, o
el tamaño y tipo de letra que se desee si se trata de una propiedad Font.
La Figura [Link].b muestra la ventana
FormLayout, que permite determinar la posición en la
que el formulario aparecerá sobre la pantalla cuando se
haga visible al ejecutar la aplicación.
Figura [Link].b
[Link] Creación de Programas Ejecutables.
Una vez finalizada la programación de la nueva aplicación, la siguiente tarea
suele consistir en la creación de un programa ejecutable para su distribución e
instalación en cuantos ordenadores se desee, incluso aunque en ellos no esté
instalado Visual Basic 6.0.
Para crear un programa ejecutable se utiliza el comando Make
[Link] … en el menú File. De esta manera se generará un fichero cuya
extensión será *.exe. Para que este programa funcione en un ordenador solamente se
necesita que el fichero [Link] esté instalado en el directorio
c:\Windows\System o c:\Winnt\System32. En el caso de proyectos más complejos en
los que se utilicen muchos controles pueden ser necesarios más ficheros, la mayoría
de ellos con extensiones *.ocx, *.vbx o *.dll. Para saber en cada caso cuáles son los
ficheros necesarios se puede consultar el fichero *.vbp que contiene la descripción
completa del proyecto. Casi todos esos ficheros necesarios se instalan
automáticamente al instalar el compilador de Visual Basic 6.0 en el ordenador.
[Link] Como utilizar la ayuda.
Visual Basic 6.0 dispone de un
Help excelente, como la mayoría de las
aplicaciones de Microsoft. En esta
nueva versión la ayuda se ofrece a
través de una interface de usuario
similar a la de Internet Explorer.
Estando seleccionado un control, una
propiedad o un formulario, o estando
seleccionada una palabra clave en una
ventana de código, esta ayuda se puede
utilizar de modo sensible al contexto pulsando la tecla <F1>.
También se puede ver toda la información disponible de modo general y ordenado
por temas con el comando Help/Contents.
Otra forma de acceder a la ayuda es mediante las opciones del menú Help.
Así mediante la opción Index se puede obtener información sobre muchos términos
relacionados con Visual Basic 6.0.
Una vez obtenida la ayuda sobre
el término solicitado se pueden
encontrar temas relacionados con ese
término en la opción See Also. En el
caso de que se haya solicitado ayuda
sobre un determinado tipo de control
(en la Figura adjunta.a se ha hecho con
los botones de comando), se podría
acceder también a la ayuda sobre todos
y cada uno de sus propiedades, eventos
y métodos con las opciones Properties,
Methods y Events, respectivamente.
La solapa Contents de la ventana de ayuda sirve para acceder a una pantalla
en la que la ayuda está ordenada por temas, la de Index sirve para acceder a una
pantalla en la que se podrá realizar una búsqueda a partir de un término introducido
por el usuario, entre una gran lista de términos ordenados alfabéticamente. Al teclear
las primeras letras del término, la lista de palabras se va desplazando de modo
automático en busca de la palabra buscada. El botón Back sirve para regresar a la
pantalla desde la que se ha llegado a la actual y con el botón Print se puede imprimir
el contenido de la ayuda.
[Link] Utilización del Code Editor.
El editor de código o Code Editor de Visual Basic 6.0 es la ventana en la cual
se escriben las sentencias del programa. Esta ventana presenta algunas características
muy interesantes que conviene conocer para sacar el máximo partido a la aplicación.
Para abrir la ventana del editor de código se elige Code en el menú View.
También se abre clicando en el botón View Code de la Project Window, o clicando
dos veces en el formulario o en cualquiera
de sus controles. Cada formulario, cada
módulo de clase y cada módulo estándar
tienen su propia ventana de código. La
Figura [Link] muestra un aspecto típico de
la ventana de código. Aunque el aspecto de
dicha ventana no tiene nada de particular, el
Code Editor de Visual Basic 6.0 ofrece
muchas ayudas al usuario que requieren una
explicación más detenida.
En primer lugar, el Code Editor utiliza un código de colores (accesible y
modificable en Tools/Options/Editor Format) para destacar cada elemento del
programa. Así, el código escrito por el usuario aparece en negro, las palabras clave
de Basic en azul, los comentarios en verde, los errores en rojo, etc. Esta simple ayuda
visual permite detectar y corregir problemas con más facilidad.
En la parte superior de esta ventana aparecen dos listas desplegables. La de la
izquierda corresponde a los distintos elementos del formulario (la parte General, que
es común a todo el formulario; el propio formulario y los distintos controles que
están incluidos en él). La lista desplegable de la derecha muestra los distintos
procedimientos que se corresponden con el elemento seleccionado en la lista de la
izquierda. Por ejemplo, si en la izquierda está seleccionado un botón de comando, en
la lista de la derecha aparecerá la lista de todos los posibles procedimientos Sub que
pueden generar sus posibles eventos. Estas dos listas permiten localizar fácilmente el
código que se desee programar o modificar.
El código mostrado en la Figura anterior se muestra en la parte superior una
serie de declaraciones de variables y la opción de no permitir utilizar variables no
declaradas (Option Explicit). Ésta es la parte General de código del formulario. En
esta parte también se pueden definir funciones y procedimientos Sub no
relacionados con ningún evento o control en particular. A continuación aparecen dos
procedimientos Sub (el segundo de ellos incompleto) que se corresponden con el
evento Click del botón cmdSalir y con el evento Load del formulario. Estos
procedimientos están separados por una línea, que se activa con Procedure
Separator en Tools/Options/Editor.
Para ver todos los procedimientos del formulario y de sus controles
simultáneamente en la misma ventana (con o sin separador) o ver sólo un
procedimiento (el seleccionado en las listas desplegables) se pueden utilizar los dos
pequeños botones que aparecen en la parte inferior izquierda de la ventana. El
primero de ellos es el Procedure View y el segundo el Full Module View. Esta
opción está también accesible en Tools/Options/Editor.
Otra opción muy interesante es la de completar automáticamente el código
(Automatic Completion Code). La Figura [Link].a muestra cómo al teclear el punto
(o alguna letra inicial de una propiedad después del punto) detrás del nombre de un
objeto, automáticamente se abre una lista con las propiedades de ese objeto.
Pulsando la tecla Tab se introduce el nombre completo de la propiedad seleccionada.
A esta característica se le conoce como AutoListMembers.
Figura [Link].a Figura [Link].b
Por otra parte, la opción AutoQuickInfo hace que al comenzar a teclear el
nombre de una función aparezca información sobre esa función: nombre, argumentos
y valor de retorno (ver Figura [Link].b). Tanto la opción AutoListMembers como la
opción AutoQuickInfo se activan en el cuadro de diálogo que se abre con
Tools/Options/Editor.
[Link] Utilización del Debugger.
Cualquier programador con un mínimo de experiencia sabe que una parte
muy importante (muchas veces la mayor parte) del tiempo destinado a la elaboración
de un programa se destina a la detección y corrección de errores. Casi todos los
entornos de desarrollo disponen hoy en día de potentes herramientas que facilitan la
depuración de los programas realizados. La herramienta más utilizada para ello es el
Depurador o Debugger. La característica principal del Debugger es que permite
ejecutar parcialmente el programa, deteniendo la ejecución en el punto deseado y
estudiando en cada momento el valor de cada una de las variables. De esta manera se
facilita enormemente el descubrimiento de las fuentes de errores.
[Link].1 Ejecución controlada de un programa.
Para ejecutar parcialmente un programa se pueden utilizar varias formas. Una
de ellas consiste en incluir breakpoints (puntos de parada de la ejecución) en
determinadas líneas del código. Los breakpoints se indican con un punto grueso en el
margen y un cambio de color de la línea, tal como se ve en la Figura [Link].1.a. En
esta figura se muestra también la barra de herramientas Debug. El colocar un
breakpoint en una línea de código implica que la ejecución del programa se detendrá
al llegar a esa línea. Para insertar un breakpoint en una línea del código se utiliza la
opción Toggle Breakpoint del menú Debug, con el botón del mismo nombre ( ) o
pulsando la tecla <F9>, estando el cursor posicionado sobre la línea en cuestión. Para
borrarlo se repite la misma opración.
Figura [Link].1.a
Cuando la ejecución está detenida en una línea aparece una flecha en el
margen izquierdo, tal como puede verse también en la Figura 2.13. En ese momento
se puede consultar el valor de cualquier variable que sea accesible desde ese punto en
la ventana de depuración (Debug Window). Un poco más adelante se verán varias
formas de hacer esto.
En la Figura [Link].1.a se puede observar como la ejecución del programa
está detenida en la línea coloreada o recuadrada, con una flecha en el margen
izquierdo. Se puede observar también la variación del color de fondo de la línea
anterior debido a que en ella hay un breakpoint.
De todos modos no es estrictamente necesaria la utilización de breakpoints
para la ejecución parcial de un programa. Esto se puede hacer también ejecutando el
programa paso a paso (o línea a línea). Para hacer esto hay varias opciones:
pulsando la tecla <F8>, seleccionando la opción Step Into del menú Run o clicando
en el botón correspondiente ( ). Esta instrucción hace que se ejecute una línea del
código. En el caso de que ésta se trate de la llamada a un procedimiento o función, la
ejecución se trasladará a la primera línea de ese procedimiento o función. En el caso
de que se desee ejecutar toda la función en un único paso (por ejemplo porque se
tiene constancia de que esa función funciona correctamente) se puede hacer mediante
la opción Step Over, pulsando las teclas <mayúsculas> y <F8> simultáneamente, o
clicando en el botón correspondiente ( ). En este caso la ejecución se traslada a la
línea inmediatamente posterior a la llamada a la función. En el caso de que la línea a
ejecutar no sea la llamada a una función ambas opciones (Step Into y Step Over)
operan idénticamente. El comando y botón Step Out ( ) hace que se salga de la
función o procedimiento que se está ejecutando y que la ejecución se detenga en la
sentencia inmediatamente siguiente a la llamada a dicha función o procedimiento.
La utilización del Debugger permite también otras opciones muy interesantes
como la de ejecutar el programa hasta la línea en la que se encuentre posicionado el
cursor (con Step To Cursor o Ctrl+<F8>); la de continuar con la ejecución del
programa hasta el siguiente breakpoint en el caso de que lo haya o hasta el final del
mismo si no hay ninguno (con Continue, botón o <F5>); y la posibilidad de volver a
comenzar la ejecución (con Restart o Mayúsculas + <F5>). Además de las ya
mencionadas, también existe la posibilidad de detener momentáneamente la
ejecución del programa mediante el botón Pause ( ) o la combinación de teclas
Ctrl+Pausa.
Figura [Link].1.b Figura [Link].1.c
[Link].2 Ventanas Immediate, Locals y Watches
El Debugger de Visual Basic 6.0 dispone de varias formas para consultar el
valor de variables y propiedades, así como para ejecutar funciones y procedimientos
comprobando su correcto funcionamiento. En ello juegan un papel importante tres
tipos de ventanas: Immediate, Locals y Watch.
La ventana Immediate (ver Figura [Link].1.b) permite realizar diversas acciones:
1. Imprimir el valor de cualquier variable y/o propiedad accesible la función o
procedimiento que se está ejecutando. Esto se puede hacer utilizando el método Print
VarName (o su equivalente ?VarName) directamente en dicha ventana o
introduciendo en el código del programa sentencias del tipo [Link] VarName.
En este último caso el valor de la variable o propiedad se escribe en la ventana
Immediate sin necesidad de parar la ejecución del programa. Además esas sentencias
se guardan con el formulario y no hay que volver a escribirlas para una nueva
ejecución. Cuando se compila el programa para producir un ejecutable las sentencias
[Link] son ignoradas. La utilización del método Print se explica en el
Apartado 7.2, en la página 88.
2. Asignar valores a variables y propiedades cuando la ejecución está detenida y
proseguir la ejecución con los nuevos valores. Sin embargo, no se pueden crear
nuevas variables.
3. Ejecutar expresiones y probar funciones y procedimientos incluyendo en la
ventana Immediate la llamada correspondiente.
Figura [Link].d Figura [Link].e
La ventana Locals, mostrada en la Figura [Link].1.c, muestra el valor de todas las
variables visibles en el procedimiento en el que está detenida la ejecución.
Otra opción que puede resultar útil es la de conocer permanentemente el valor de una
variable sin tener que consultarlo cada vez.
Para conocer inmediatamente el valor de una variable se puede utilizar la ventana
Quick
Watch, mostrada en la Figura [Link].d. Para observar continuamente el valor de una
variable, o expresión hay que añadirla a la ventana Watches. Esto se hace con la
opción Add Watch… del menú Debug. El valor de las variables incluidas en la
ventana Watches (ver Figura [Link].f) se actualiza automáticamente, indicándose
también cuando no son accesibles desde el procedimiento que se esté ejecutando
(Out of Context).
Figura [Link].f
La ventana Add Watch mostrada en la Figura [Link].e permite introducir
Breaks o paradas del programa condicionales, cuando se cumple cierta condición o
cuando el valor de la variable cambia.
Las capacidades de Visual Basic 6.0 para vigilar el valor de las variables pueden
activarse desde el menú Debug o con algunos botones en la barra de herramientas
Debug ( ).
[Link].3 Otras posibilidades del Debugger.
El Debugger de Visual Basic 6.0 permite no sólo saber qué sentencia va a ser
la próxima en ejecutarse (con Debug/Show Next Statement), sino también decidir
cuál va a ser dicha sentencia (con Debug/Set Next Statement), pudiendo cambiar de
esta forma el curso habitual de la ejecución: saltando sentencias, volviendo a una
sentencia ya ejecutada, etc.
Visual Basic 6.0 puede dar también información sobre las llamadas a
funciones y procedimientos. Esto se hace con el comando View/Call Stack o con el
botón correspondiente de la barra Debug ( ). De esta manera puede conocerse qué
función ha llamado a qué función hasta la sentencia donde la ejecución está detenida.
3.2.3 Lenguaje Basic.
Después de haber conocido todos los elementos y controles más importantes
de Visual Basic 6.0 es imprescindible conocer los fundamentos del lenguaje de
programación Basic.
Un programa de computadora está constituido en sentido general por
variables que contienen los datos con los que se trabaja y por algoritmos que son las
sentencias que operan sobre estos datos. Estos datos y algoritmos suelen estar
incluidos dentro de funciones y procedimientos.
Desde un principio los distintos tipos de lenguaje de programación han
manejado variables y sentencias que permiten realizar operaciones simples y
complejas que de una forma u otra proporcionan valores que juegan un papel muy
importante en la aplicación (programa). De tal manera, Visual Basic 6.0 a pesar de
ser un lenguaje de programación orientado a objetos y no estructurado, proporciona
una gran cantidad de herramientas y sintaxis para la manipulación de valores y
variables que son de suma utilidad en cualquier aplicación que se realice en Visual
Basic.
[Link] Ámbito de las variables y los procedimientos.
Se entiende por ámbito de una variable (ver Apartado 3.3.1, en la página 25)
la parte de la aplicación donde la variable es visible (accesible) y por lo tanto puede
ser utilizada en cualquier expresión.
[Link].1Variables y funciones de ámbito local.
Un módulo puede contener variables y procedimientos o funciones públicos y
privados. Los públicos son aquellos a los que se puede acceder libremente desde
cualquier punto del proyecto.
Para definir una variable, un procedimiento o una función como público es necesario
preceder a la definición de la palabra Public.
Para utilizar una variable Public o llamar a una función Public definidas en un
formulario desde otro módulo se debe preceder el nombre de la variable o
procedimiento con el nombre del formulario al que pertenece.
Sin embargo si el módulo al que pertenecen la variable o el procedimiento Public es
un módulo estándar (*.bas) no es necesario poner el nombre del módulo más que si
hay coincidencia de nombres con los de otro módulo también estándar. Una variable
Private, por el contrario, no es accesible desde ningún otro módulo distinto de aquél
en el que se haya declarado.
Se llama variable local a una variable definida dentro de un procedimiento o
función. Las variables locales no son accesibles más que en el procedimiento o
función en que están definidas.
Una variable local es reinicializada (a cero, por defecto) cada vez que se entra
en el procedimiento. Es decir, una variable local no conserva su valor entre una
llamada al procedimiento y la siguiente. Para hacer que el valor de la variable se
conserve hay que declarar la variable como static (como por ejemplo: Static n As
Integer). Visual Basic inicializa una variable estática solamente la primera vez que
se llama al procedimiento.
Para declarar una variable estática, se utiliza la palabra Static en lugar de
Dim. Un poco más adelante se verá que Dim es una palabra utilizada para crear
variables. Si un procedimiento se declara Static todss sus variables locales tienen
carácter Static.
[Link].2 Variables y funciones de ámbito global.
Se puede acceder a una variable o función global desde cualquier parte de la
aplicación. Para hacer que una variable sea global, hay que declararla en la parte
general de un módulo *.bas o de un formulario de la aplicación. Para declarar una
variable global se utiliza la palabra Public.
La diferencia entre las variables y/o procedimientos Public de los formularios
y de los módulos estándar está en que las de los procedimientos deben ser
cualificadas (precedidas) por el nombre del formulario cuando se llaman desde otro
módulo distinto, mientras que las de un módulo estándar (*.bas) sólo necesitan ser
cualificadas si hay colisión o coincidencia de nombres.
[Link] Variables.
[Link].1 identificadores.
La memoria de un computador consta de un conjunto enorme de bits (1 y 0),
en la que se almacenan datos y programas. Las necesidades de memoria de cada tipo
de dato no son homogéneas (por ejemplo, un carácter alfanumérico ocupa un byte (8
bits), mientras que un número real con 16 cifras ocupa 8 bytes), y tampoco lo son las
de los programas. Además, el uso de la memoria cambia a lo largo del tiempo dentro
incluso de una misma sesión de trabajo, ya que el sistema reserva o libera memoria a
medida que la va necesitando.
Cada posición de memoria en la que un dato está almacenado (ocupando un
conjunto de bits) puede identificarse mediante un número o una dirección, y éste es
el modo más básico de referirse a una determinada información. No es, sin embargo,
un sistema cómodo o práctico, por la nula relación nemotécnica que una dirección de
memoria suele tener con el dato contenido, y porque – como se ha dicho antes– la
dirección física de un dato cambia de ejecución a ejecución, o incluso en el
transcurso de una misma ejecución del programa. Lo mismo ocurre con partes
concretas de un programa determinado.
Dadas las citadas dificultades para referirse a un dato por medio de su
dirección en memoria, se ha hecho habitual el uso de identificadores. Un
identificador es un nombre simbólico que se refiere a un dato o programa
determinado. Es muy fácil elegir identificadores cuyo nombre guarde estrecha
relación con el sentido físico, matemático o real del dato que representan. Así por
ejemplo, es lógico utilizar un identificador llamado salario_bruto o salarioBruto
para representar el coste anual de un empleado. El usuario no tiene nunca que
preocuparse de direcciones físicas de memoria: el sistema se preocupa por él por
medio de una tabla, en la que se relaciona cada identificador con el tipo de dato que
representa y la posición de memoria en la que está almacenado.
Visual Basic 6.0, como todos los demás lenguajes de programación, tiene sus
propias reglas para elegir los identificadores. Los usuarios pueden elegir con gran
libertad los nombres de sus variables y funciones, teniendo siempre cuidado de
respetar las reglas del lenguaje y de no utilizar un conjunto de palabras reservadas
(keywords), que son utilizadas por el propio lenguaje. En el Apartado 3.4.3, en la
página 28, se explicarán las reglas para elegir nombres y cuáles son las palabras
reservadas del lenguaje Visual Basic 6.0.
[Link].2 Variables y constantes.
Una variable es un nombre que designa a una zona de memoria (se trata por
tanto de un identificador), que contiene un valor de un tipo de información.
Tal y como su nombre indica, las variables pueden cambiar su valor a lo largo de la
ejecución de un programa. Completando a las variables existe lo que se denomina
constantes las cuales son identificadores pero con
la particularidad de que el valor que se encuentra
en ese lugar de la memoria sólo puede ser
asignado una única vez. El tratamiento y tipos de
datos es igual al de las variables.
Para declarar un dato como constante únicamente
es necesario utilizar la palabra Const en la
declaración de la variable. Si durante la ejecución
se intenta variar su valor se producirá un error.
Figura [Link].2.a
Visual Basic 6.0 tiene sus propias constantes, muy útiles por cierto. Algunas
ya se han visto al hablar de los colores. En general estas constantes empiezan por
ciertos caracteres como vb (u otros similares que indican a que grupo pertenecen) y
van seguidas de una o más palabras que indican su significado. Para ver las
constantes disponibles se puede utilizar el comando View/Object Browser, tal como
se muestra en la Figura [Link].2.a
[Link].3 Nombres de variables.
El nombre de una variable (o de una constante) tiene que comenzar siempre
por una letra y puede tener una longitud hasta 255 caracteres. No se admiten espacios
o caracteres en blanco, ni puntos (.), ni otros caracteres especiales.
Los caracteres pueden ser letras, dígitos, el carácter de subrayado (_) y los
caracteres de declaración del tipo de la variable (%, &, #, !, @, y $ ). El nombre de
una variable no puede ser una palabra reservada del lenguaje (For, If, Loop, Next,
Val, Hide, Caption, And, ...). Para saber cuáles son las palabras reservadas en Visual
Basic 6.0 puede utilizarse el Help de dicho programa, buscando la referencia
Reserved Words. De ordinario las palabras reservadas del lenguaje aparecen de color
azul en el editor de código, lo que hace más fácil saber si una palabra es reservada o
no.
A diferencia de C, Matlab, Maple y otros lenguajes de programación, Visual Basic
6.0 no distingue entre minúsculas y mayúsculas. Por tanto, las variables
LongitudTotal y longitudtotal son consideradas como idénticas (la misma variable).
En Visual Basic 6.0 es habitual utilizar las letras mayúsculas para separar las
distintas palabras que están unidas en el nombre de una variable, como se ha hecho
anteriormente en la variable LongitudTotal. La declaración de una variable o la
primera vez que se utiliza determnan cómo se escribe en el resto del programa.
También es habitual entre los programadores, aunque no obligado, el utilizar
nombres con todo mayúsculas para los nombres de las constantes simbólicas, como
por ejemplo PI.
[Link].4 Tipos de datos.
Al igual que C y otros lenguajes de programación, Visual Basic dispone de
distintos tipos de datos, aplicables tanto para constantes como para variables. La
Figura [Link].4.a muestra los tipos de datos disponibles en Visual Basic.
Figura [Link].4.a
En el lenguaje Visual Basic 6.0 existen dos formas de agrupar varios valores
bajo un mismo nombre. La primera de ellas son los arrays (vectores y matrices), que
agrupan datos de tipo homogéneo. La segunda son las estructuras, que agrupan
información heterogénea o de distinto tipo. En Visual Basic 6.0 las estructuras son
verdaderos tipos de datos definibles por el usuario.
Para declarar las variables se utiliza la sentencia siguiente:
Dim NombreVariable As TipoVariable
En Visual Basic 6.0 no es estrictamente necesario declarar todas las variables
que se van a utilizar (a no ser que se elija la opción Option Explicit que hace
obligatorio el declararlas), y hay otra forma de declarar las variables anteriores,
utilizando los caracteres especiales vistos anteriormente. Así por ejemplo, el tipo de
las variables del ejemplo anterior se puede declarar al utilizarlas en las distintas
expresiones, poniéndoles a continuación el carácter que ya se indicó en la figura en la
forma.
Radio# doble precisión
Nombre$ cadena de caracteres
Francos@ unidades monetarias
Longitud& entero largo
Esta forma de indicar el tipo de dato no es la más conveniente. Se mantiene
en las sucesivas versiones de Visual Basic por la compatibilidad con códigos
anteriores. Es preferible utilizar la notación donde se escribe directamente el tipo de
dato.
[Link].5 Elección del tipo de una variable.
Si en el código del programa se utiliza una variable que no ha sido declarada,
se considera que esta variable es de tipo Variant. Las variables de este tipo se
adaptan al tipo de información o dato que se les asigna en cada momento. Por
ejemplo, una variable tipo Variant puede contener al principio del programa un
string de caracteres, después una variable de doble precisión, y finalmente un
número entero. Son pues variables muy flexibles, pero su uso debe restringirse
porque ocupan más memoria (almacenan el tipo de dato que contienen, además del
propio valor de dicho dato) y requieren más tiempo de CPU que los restantes tipos
de variables.
En general es el tipo de dato (los valores que puede tener en la realidad) lo
que determina qué tipo de variable se debe utilizar. A continuación se muestran
algunos ejemplos:
Integer para numerar las filas y columnas de una matriz no muy grande
Long para numerar los habitantes de una ciudad o los números de teléfonos
Boolean para una variable con sólo dos posibles valores (sí o no)
Single para variables físicas con decimales que no exijan precisión
Double para variables físicas con decimales que exijan precisión
Currency para cantidades grandes de dinero
Es muy importante tener en cuenta que se debe utilizar el tipo de dato más
sencillo que represente correctamente el dato real ya que en otro caso se ocupará
más memoria y la ejecución de los programas o funciones será más lenta.
[Link].6 Declaración explícita de variables.
Una variable que se utiliza sin haber sido declarada toma por defecto el tipo Variant.
Puede ocurrir que durante la programación, se cometa un error y se escriba mal el
nombre de una variable. Por ejemplo, se puede tener una variable " declarada como
entera, y al programar referirse a ella por error como "; Visual Basic supondría que
ésta es una nueva variable de tipo Variant.
Para evitar este tipo de errores, se puede indicar a Visual Basic que genere un
mensaje de error siempre que encuentre una variable no declarada previamente. Para
ello lo más práctico es establecer una opción por defecto, utilizando el comando
Environment del menú Tools/Options; en el cuadro que se abre se debe poner Yes en
la opción Require Variable Declaration. También se puede hacer esto escribiendo la
sentencia siguiente en la sección de declaraciones de cada formulario y de cada
módulo:
Option Explicit
[Link] Operadores.
Tabla [Link] Operadores de Visual Basic 6.0.
Tipo Operación Operador en
Visual.
Aritmético Exponenciación ^
Cambio de signo (operador unario) -
Multiplicación, división *, /
División entera \
Resto de una división entera Mod
Suma y resta +, -
Concatenación Concatenar o enlazar &+
Relacional Igual a =
Distinto <>
Menor que / menor o igual que < <=
Mayor que / mayor o igual que > >=
Otros Comparar dos expresiones de caracteres Like
Comparar dos referencias a objetos Is
Lógico Negación Not
And And
Or inclusivo Or
Or exclusivo Xor
Equivalencia (opuesto a Xor) Eqv
Implicación (False si el primer Imp
operando es True y el segundo
operando es False)
Cuando en una expresión aritmética intervienen operandos de diferentes tipos, el
resultado se expresa, generalmente, en la misma precisión que la del operando que la
tiene más alta.
El orden, de menor a mayor, según la precisión es Integer, Long, Single, Double y
Currency.
Los operadores relacionales, también conocidos como operadores de comparación,
comparan dos expresiones dando un resultado True (verdadero), False (falso) o Null
(no válido).
El operador & realiza la concatenación de dos operandos. Para el caso particular de
que ambos operandos sean cadenas de caracteres, puede utilizarse también el
operador +. No obstante, para evitar ambigüedades (sobre todo con variables de tipo
Variant) es mejor utilizar &.
El operador Like sirve para comparar dos cadenas de caracteres. La sintaxis para este
operador es la siguiente:
Respuesta = Cadena1 Like Cadena2
donde la variable Respuesta será True si la Cadena1 coincide con la Cadena2, False
si no coinciden y Null si Cadena1 y/o Cadena2 son Null.
Para obtener más información se puede consultar el Help de Visual Basic.
[Link] Sentencias de Control.
Las sentencias de control, denominadas también estructuras de control,
permiten tomar decisiones y realizar un proceso repetidas veces. Son los
denominados bifurcaciones y bucles. Este tipo de estructuras son comunes en cuanto
a concepto en la mayoría de los lenguajes de programación, aunque su sintaxis puede
variar de un lenguaje de programación a otro. Se trata de unas estructuras muy
importantes ya que son las encargadas de controlar el flujo de un programa según los
requerimientos del mismo. Visual Basic 6.0 dispone de las siguientes estructuras de
control:
If ... Then ... Else
Select Case
For ... Next
Do ... Loop
While … Wend
For Each … Next
[Link].1 Sentencia IF ... THEN ... ELSE ...
Esta estructura permite ejecutar condicionalmente una o más sentencias y
puede escribirse de dos formas. La primera ocupa sólo una línea y tiene la forma
siguiente:
If condicion Then sentencia1 [Else sentencia2]
La segunda es más general y se muestra a continuación:
If condicion Then
sentencia(s)
[Else
sentencia(s)]
End If
Si condicion es True (verdadera), se ejecutan las sentencias que están a
continuación de Then, y si condicion es False (falsa), se ejecutan las sentencias que
están a continuación de Else, si esta cláusula ha sido especificada (pues es opcional).
Para indicar que se quiere ejecutar uno de varios bloques de sentencias dependientes
cada uno de ellos de una condición, la estructura adecuada es la siguiente:
If condicion1 Then
sentencias1
ElseIf condicion2 Then
sentencias2
Else
sentencia-n
End If
Si se cumple la condicion1 se ejecutan las sentencias1, y si no se cumple, se
examinan secuencialmente las condiciones siguientes hasta Else, ejecutándose las
sentencias correspondientes al primer ElseIf cuya condición se cumpla. Si todas las
condiciones son falsas, se ejecutan las sentencias-n correspondientes a Else, que es la
opción por defecto. La Figura 3.2 presenta esquemáticamente ambas formas de
representar estas sentencias:
[Link].2 Sentencia SELECT CASE.
Esta sentencia permite ejecutar una de entre varias acciones en función del
valor de una expresión.
Es una alternativa a If ... Then ... ElseIf cuando se compara la misma expresión con
diferentes valores. Su forma general es la siguiente:
Select Case expresion
Case etiq1
[ sentencias1]
Case etiq2
[ sentencias2]
Case Else
[Sentenciasn]
End Select
donde expresion es una expresión numérica o alfanumérica, y etiq1, etiq2, ... pueden
adoptar las formas siguientes:
1. expresion
2. expresion To expresion
3. Is operador-de-relación expresion
4. combinación de las anteriores separadas por comas
Cuando se utiliza la forma expresión To expresion, el valor más pequeño
debe aparecer en primer lugar.
Cuando se ejecuta una sentencia Select Case, Visual Basic evalúa la
expresion y el control del programa se transfiere a la sentencia cuya etiqueta tenga el
mismo valor que la expresión evaluada, ejecutando a continuación el correspondiente
bloque de sentencias. Si no existe un valor igual a la expresion entonces se ejecutan
las sentencias a continuación de Case Else.
[Link].3 Sentencia FOR ... NEXT.
La sentencia For da lugar a un lazo o bucle, y permite ejecutar un conjunto de
sentencias cierto número de veces. Su forma general es:
For variable = expresion1 To expresion2 [Step expresion3]
[sentencias]
Exit For
[sentencias]
Next [variable]
Cuando se ejecuta una sentencia For, primero se asigna el valor de la expresion1 a la
variable y se comprueba si su valor es mayor o menor que la expresion2. En caso de
ser menor se ejecutan las sentencias, y en caso de ser mayor el control del programa
salta a las líneas a continuación de Next. Todo esto sucede en caso de ser la
expresion3 positiva. En caso contrario se ejecutarán las sentencias cuando la variable
sea mayor que expresion2. Una vez ejecutadas las sentencias, la variable se
incrementa en el valor de la expresion3, o en 1 si Step no se especifica, volviéndose
a efectuar la comparación entre la variable y la expresion2, y así sucesivamente.
La sentencia Exit For es opcional y permite salir de un bucle For ... Next antes de
que éste finalice.
[Link].4 Sentencia DO ... LOOP.
Un Loop (bucle) repite la ejecución de un conjunto de sentencias mientras
una condición dada sea cierta, o hasta que una condición dada sea cierta. La
condición puede ser verificada antes o después de ejecutarse el conjunto de
sentencias. Sus posibles formas son las siguientes:
’ Formato 1:
Do [{While/Until} condicion]
[ sentencias]
[Exit Do]
[ sentencias]
Loop
’ Formato 2:
Do
[ sentencias]
[Exit Do]
[ sentencias]
Loop [{While/Until} condicion]
La sentencia opcional Exit Do permite salir de una bucle Do ... Loop antes de que
finalice
Éste.
[Link].5 Sentencia WHILE … WEND.
Esta sentencia es otra forma de generar bucles que se recorren mientras se cumpla la
condición inicial. Su estructura es la siguiente:
While condicion
[ sentencias]
Wend
En cualquier caso se recuerda que la mejor forma de mirar y aprender el
funcionamiento de todas estas sentencias es mediante el uso del Help de Visual
Basic. Ofrece una explicación de cada comando con ejemplos de utilización.
[Link].6 Sentencia FOR EACH ... NEXT.
Esta construcción es similar al bucle For, con la diferencia de que la variable
que controla la repetición del bucle no toma valores entre un mínimo y un máximo,
sino a partir de los elementos de un array (o de una colección de objetos). La forma
general es la siguiente:
For Each variable In grupo
[ sentencias]
Next variable
Con arrays variable tiene que ser de tipo Variant. Con colecciones variable
puede ser Variant o una variable de tipo Object. Esta construcción es muy útil
cuando no se sabe el número de elementos que tiene el array o la colección de
objetos.
[Link] Algoritmos
Un algoritmo es en un sentido amplio una “secuencia de pasos o etapas que
conducen a la realización de una tarea”. Los primeros algoritmos nacieron para
resolver problemas matemáticos.
Antes de escribir un programa de ordenador, hay que tener muy claro el
algoritmo, es decir, cómo se va a resolver el problema considerado. Es importante
desarrollar buenos algoritmos (correctos y eficientes). Una vez que el algoritmo está
desarrollado, el problema se puede resolver incluso sin entenderlo.
Si son necesarios, deben existir criterios de terminación claros (por ejemplo,
para calcular seno(x) por desarrollo en serie se deberá indicar el número de términos
de la serie). No puede haber etapas imposibles (por ejemplo: "imprimir el conjunto
de todos los números enteros").
[Link] Funciones y Procedimientos.
En Visual Basic 6.0 se distingue entre funciones y procedimientos Sub. En
ocasiones se utiliza la palabra genérica procedimiento para ambos. La fundamental
diferencia entre un procedimiento Sub y una función es que ésta última puede ser
utilizada en una expresión porque tiene un valor de retorno. El valor de retorno
ocupa el lugar de la llamada a la función donde esta aparece. Por ejemplo, si en una
expresión aparece sin(x) se calcula el seno de la variable x y el resultado es el valor
de retorno que sustituye a sin(x) en la expresión en la que aparecía. Por tanto, las
funciones devuelven valores, a diferencia de los procedimientos que no devuelven
ningún valor, y por tanto no pueden ser utilizadas en expresiones. Un procedimiento
Sub es un segmento de código independiente del resto, que una vez llamado por el
programa, ejecuta un número determinado deinstrucciones, sin necesidad de devolver
ningún valor al mismo (puede dar resultados modificando los argumentos), mientras
que una función siempre tendrá un valor de retorno.
Los nombres de los procedimientos tienen reglas de visibilidad parecidas a las
de las variables. Para llamar desde un formulario a un procedimiento Public definido
en otro formulario es necesario preceder su nombre por el del formulario en que está
definido. Sin embargo, si se desea llamar a un procedimiento definido en un módulo
estándar (*.bas) no es necesario precederlo del nombre del módulo más que si hay
coincidencia de nombre con otro procedimiento de otro módulo estándar.
[Link].1 Funciones (function).
La sintaxis correspondiente a una función es la siguiente:
[Static] [Private] Function nombre ([ parámetros]) [As tipo]
[ sentencias]
[ nombre = expresion]
[Exit Function]
[ sentencias]
[ nombre = expresion]
End Function
donde nombre es el nombre de la función. Será de un tipo u otro dependiendo del
dato que devuelva. Para especificar el tipo se utiliza la cláusula As Tipo (Integer,
Long, Single, duuble, Currency, String o Variant). parámetros son los argumentos
que son pasados cuando se llama a la función. Visual Basic asigna el valor de cada
argumento en la llamada al parámetro que ocupa su misma posición. Si no se indica
un tipo determinado los argumentos son Variant por defecto. Como se verá en un
apartado posterior, los argumentos pueden ser pasados por referencia o por valor.
El nombre de la función, que es el valor de retorno, actúa como una variable
dentro del cuerpo de la función. El valor de la variable expresion es almacenado en
el propio nombre de la función. Si no se efectúa esta asignación, el resultado
devuelto será 0 si la función es numérica, nulo ("") si la función es de caracteres, o
Empty si la función es Variant. Exit Function permite salir de una función antes de
que ésta finalice y devolver así el control del programa a la sentencia inmediatamente
a continuación de la que efectuó la llamada a la función. La sentencia End Function
marca el final del código de la función y, al igual que la Exit Function, devuelve el
control del programa a la sentencia siguiente a la que efectuó la llamada, pero
lógicamente una vez finalizada la función.
La llamada a una función se hace de diversas formas. Por ejemplo, una de las más
usuales es la siguiente:
variable = nombre([argumentos])
donde argumentos son un lista de constantes, variables o expresiones separadas por
comas que son pasadas a la función. En principio, el número de argumentos debe ser
igual al número de parámetros de la función. Los tipos de los argumentos deben
coincidir con los tipos de sus correspondientes parámetros, de lo contrario puede
haber fallos importantes en la ejecución del programa. Esta regla no rige si los
argumentos se pasan por valor (concepto que se verá más adelante).
En cada llamada a una función hay que incluir los paréntesis, aunque ésta no tenga
argumentos.
[Link].2 Procedimientos Sub.
La sintaxis que define un procedimiento Sub es la siguiente:
[Static] [Private] Sub nombre [( parámetros)]
[ sentencias]
[Exit Sub]
[ sentencias]
End Sub
La explicación es análoga a la dada para funciones.
La llamada a un procedimiento Sub puede ser de alguna de las dos formas
siguientes:
Call nombre[(argumentos)]
o bien, sin pasar los argumentos entre paréntesis, sino poniéndolos a continuación del
nombre simplemente separados por comas:
nombre [argumentos]
A diferencia de una función, un procedimiento Sub no puede ser utilizado en
una expresión pues no devuelve ningún valor. Por supuesto una función puede ser
llamada al modo de un procedimiento Sub, pero en este caso no se hace nada con el
valor devuelto por la función.
[Link] Arrays.
Un array permite referirse a una serie de elementos del mismo tipo con un
mismo nombre, y hace referencia un único elemento de la serie utilizando uno o más
índices, como un vector o una matriz en Álgebra.
Visual Basic 6.0 permite definir arrays de variables de una o más
dimensiones (hasta 60) y de cualquier tipo de datos (tipos fundamentales y definidos
por el usuario). Pero además Visual Basic introduce una nueva clase de arrays, los
arrays de controles (esto es, arrays de botones, de etiquetas, de paneles, etc.) que
permiten una programación más breve y clara. En este apartado sólo se tratarán los
arrays de variables.
Todos los elementos de un array deben ser del mismo tipo y están
almacenados de forma contigua en la memoria. Por supuesto, si el array es de tipo
Variant cada elemento puede contener un dato de tipo diferente, e incluso puede
contener otro array.
Entre los arrays de variables cabe distinguir dos tipos fundamentales,
dependiendo de que número de elementos sea constante o pueda variar durante la
ejecución del programa.
1. Arrays estáticos, cuya dimensión es siempre la misma.
2. Arrays dinámicos, cuya dimensión se puede modificar durante la ejecución del
programa.
[Link].1 Arrays Estáticos.
La declaración de un array estático dependerá de su ámbito.
La declaración de un array público se hace en la sección de declaraciones de un
móduloutilizando la sentencia Public.
La declaración de un array a nivel del módulo o del formulario se hace en la
sección de declaraciones del módulo o del formulario utilizando la sentencia Dim o
Private.
Para declarar un array local a un procedimiento, se utiliza la sentencia Dim, Private
o Static dentro del propio procedimiento.
La declaración de los arrays estáticos es bastante cómoda. Se declaran una vez. Sin
embargo tienen el inconveniente que en la mayoría de los casos están
sobredimensionados y utilizan más memoria de la que realmente necesitan. Esto
implica que se está malgastando memoria. Para solucionar este problema se utilizan
los arrays dinámicos.
[Link].2 Arrays dinámicos.
El espacio necesario para un array estático se asigna al iniciarse el programa y
permanece fijo durante su ejecución. El espacio para un array dinámico se asigna
durante la ejecución del programa. Un array dinámico, puede ser redimensionado en
cualquier momento de la ejecución. La forma mejor de redimensionar los arrays es
mediante variables que contienen los valores adecuados.
Para crear un array dinámico primero hay que declararlo como si fuera una
array estático, pero sin darle dimensión. Es decir, se deja la lista -entre paréntesis-
vacía sin ponerle ningún número.
Esto se hace con la sentencia Public si se quiere que sea global, con Dim o Private si
se quiere a nivel de módulo o con Static, Dim o Private si se quiere que sea local.
Para asignar el número actual de elementos del array se utiliza la sentencia
ReDim. La sentencia ReDim puede aparecer solamente en un procedimiento y
permite cambiar el número de elementos del array y sus límites inferior y superior,
pero no el número de dimensiones. Esto quiere decir que, por ejemplo, no se puede
trasformar un vector en una matriz.
[Link] Estructuras: Sentencia Type.
Una estructura (según la nomenclatura típica del lenguaje C) es un nuevo
tipo de datos, un tipo definido por el usuario, que puede ser manipulado de la misma
forma que los tipos predefinidos (Int, Double, String, ...). Una estructura puede
definirse como una colección o agrupación de datos de diferentes tipos
evidentemente relacionados entre sí.
Para crear una estructura con Visual Basic 6.0 hay que utilizar la sentencia Type ...
End Type.
Esta sentencia solamente puede aparecer en la sección General o de
declaraciones de un módulo.
Pueden crearse como Public o como Private en un módulo estándar o de
clase y sólo como Private en un formulario. Dim equivale a Public
[Link] Funciones Matemáticas.
Al igual que las funciones vistas para el manejo de cadenas de caracteres,
existe una serie de funciones matemáticas las cuales permiten realizar cálculos dentro
de un programa de Visual Basic.
Tabla [Link].a
Función matemática Función en Visual Función matemática Función en
Basic Visual Basic
Valor absoluto Abs(x) Nº aleatorio Rnd
Arco tangente Atn(x) Seno y coseno Sin(x), Cos(x)
Exponencial Exp(x) Tangente Tan(x)
Parte entera Int(x), Fix(x) Raíz cuadrada Sqr(x)
Logaritmo Log(x) Signo (1, 0, -1) Sgn(x)
Redondeo Round(x, ndec)
Las funciones trigonométricas de Visual Basic utilizan radianes para medir
los ángulos.
Con el fin de completar estas funciones, se ofrece a continuación una relación de
funciones que son derivadas de las anteriores. El alumno podría programar dichas
funciones en un fichero *.bas y así poderlas utilizar posteriormente en cualquier
programa. Dichas funciones se muestran en la Tabla [Link].b
Tabla [Link].b
Función matemática Expresión equivalente
Secante Sec(X) = 1 / Cos(X)
Cosecante Cosec(X) = 1 / Sin(X)
Cotangente Cotan(X) = 1 / Tan(X)
Arcoseno Arcsin(X) = Atn(X / Sqr(-X * X + 1))
Arcocoseno Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
Arcosecante Arcsec(X) = Atn(X / Sqr(X * X – 1)) + Sgn((X) -1) * (2 *
Atn(1))
Arcocosecante Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 *
Atn(1))
Arcocotangente Arccotan(X) = Atn(X) + 2 * Atn(1)
Seno Hiperbólico HSin(X) = (Exp(X) – Exp(-X)) / 2
Coseno Hiperbólico Hcos(X) = (Exp(X) + Exp(-X)) / 2
Tangente Hiperbólica Htan(X) = (Exp(X) – Exp(-X)) / (Exp(X) + Exp(-X))
Secante Hiperbólica HSec(X) = 2 / (Exp(X) + Exp(-X))
Cosecante Hiperbólica Hcosec(X) = 2 / (Exp(X) - Exp(-X))
Cotangente Hiperbólica Hcotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X))
Arcoseno Hiperbólico Harcsin(X) = Log(X + Sqr(X * X + 1))
Arcocoseno Hiperbólico Harccos(X) = Log(X + Sqr(X * X - 1))
Arcotangente Hiperbólica Harctan(X) = Log((1 + X) / (1 - X)) / 2
Arcosecante Hiperbólica Harcsec(X) = Log((Sqr(-X * X + 1) + 1) / X)
Arcocosecante Harccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) +1) / X)
Hiperbólica
Arcocotangente Hiperbólica Harccotan(X) = Log((X + 1) / (X – 1)) / 2
Logaritmo en base N LogN(X) = Log(X) / Log(N)
[Link] Eventos, Propiedades y Controles.
En este capítulo se pretende recoger de
una manera más sistemática y general los
eventos y controles más habituales de Visual
Basic 6.0. Hay que señalar que en ningún
momento se pretende abandonar el carácter
introductorio de este manual, y que Visual Basic 6.0 tiene muchas más posibilidades
de las que aquí se muestran. Por ejemplo, muchos de los controles y eventos de
Visual Basic 6.0 están relacionados con el acceso a bases de datos. Estos aspectos no
se citarán en estos apuntes. Para una información más detallada se puede acudir a un
buen libro de referencia o al Help del programa.
La programación en Visual Basic 6.0 (al menos para ejemplos sencillos) suele
proceder del siguiente modo:
1. Se definen interactivamente sobre el formulario los controles que van a constituir
la aplicación.
2. Se define para cada control el código con el que se va a responder a cada uno de
los eventos. Para ello basta clicar dos veces sobre el control y se abre una ventana de
código como la mostrada en la Figura 4.1. En ella Visual Basic 6.0 ha preparado ya
el inicio y el final de la función con la que se va a responder al evento. El nombre del
evento forma parte del nombre de la función, junto al nombre del control. En el
ejemplo del la Figura 4.1 está preparada la función para escribir el código que se
ejecutará al producirse el evento Click sobre el control cmbSalir.
[Link].1 Eventos.
Cuando se arranca una aplicación, o más en concreto cuando se visualiza por
primera vez un formulario se producen varios eventos consecutivos: Initialize, Load,
Activate y Paint. Cada uno de estos eventos se puede aprovechar para realizar ciertas
operaciones por medio de la función correspondiente.
Al ocultar, cerrar o eliminar un formulario se producen otra serie de eventos:
Deactivate,
QueryUnload, Unload y Terminate
Para inicializar las variables definidas a nivel de módulo se suele utilizar el
evento Initialize, que tiene lugar antes que el Load. El evento Load se activa al
cargar un formulario. Con el formulario principal esto sucede al arrancar la ejecución
de un programa; con el resto de los formularios al mandarlos cargar desde cualquier
procedimiento o al hacer referencia a alguna propiedad o control de un formulario
que no esté cargado. Al descargar un formulario se produce el evento Unload. Si se
detiene el programa desde el botón Stop de Visual Basic 6.0 (o del menú
correspondiente) o con un End, no se pasa por el evento Unload. Para pasar por el
evento Unload es necesario cerrar la ventana con el botón de cerrar o llamarlo
explícitamente. El evento QueryUnload se produce antes del evento Unload y
permite por ejemplo enviar un mensaje de confirmación.
El evento Load de un formulario se suele utilizar para ejecutar una función
que dé valor a sus propiedades y a las de los controles que dependen de dicho
formulario. No se puede utilizar para dibujar o imprimir sobre el formulario, pues en
el momento en que se produce este evento el formulario todavía no está disponible
para dichas operaciones. Por ejemplo, si en el formulario debe aparecer la salida del
método Print o de los métodos gráficos Pset, Line y Circle (que se estudian en el
Capítulo 6 de este manual) puede utilizarse el evento Paint u otro posterior (por
ejemplo, el evento GotFocus del primer control) pero no puede utilizarse el evento
Load.
Se puede ocultar un formulario sin descargarlo con el método Hide o
haciendo la propiedad Visible = False. Esto hace que el formulario desaparezca de la
ventana, aunque sus variables y propiedades sigan estando accesibles y conservando
sus valores. Para hacer visible un formulario oculto pero ya cargado se utiliza el
método Show, que equivale a hacer la propiedad Visible = True, y que genera los
eventos Activate y Paint. Si el formulario no había sido cargado previamente, el
método Show genera los cuatro eventos mencionados.
Cuando un formulario pasa a ser la ventana activa se produce el evento
Activate y al dejar de serlo el evento Deactivate. En el caso de que el formulario que
va a ser activo no estuviera cargado ya, primero sucederían los eventos Initialize,
Load y luego los eventos Activate y Paint.
Todo esto se puede ver y entender con un simple ejemplo, mostrado en la
Figura 4.2. Se han de crear dos formularios (frmPrincipal y frmSecundario). El
primero de ellos contendrá dos botones (cmdVerSec y cmdSalir) y el segundo tres
(cmdHide, cmdUnload y cmdTerminate). El formulario principal será el primero
que aparece, y sólo se verá el segundo si se clica en el botón Cargar Formulario.
Cuando así se haga, a medida que los eventos antes mencionados se vayan
sucediendo, irán apareciendo en pantalla unas cajas de mensajes que tendrán como
texto el nombre del evento que se acaba de producir. Según con cual de los tres
botones se haga desaparecer el segundo formulario, al volverlo a ver se producirán
unos eventos u otros, según se puede ver por los mensajes que van apareciendo con
cada evento.
Paint
El evento Paint sucede cuando hay que redibujar un formulario o
PictureBox. Esto sucede cuando esos objetos se hacen visibles por primera vez y
también cuando vuelven a ser visibles después de haber estado tapados
por otros, tras haber sido movidos o tras haber sido modificados de
tamaño.
El foco (focus)
En todas las aplicaciones de Windows, en cualquiera de sus versiones,
siempre hay un único control, formulario o ventana que puede recibir
entradas desde teclado. En cada momento ese control, ventana o formulario
es el que dispone del “foco” (focus). El objeto que posee el foco está
caracterizado por estar resaltado con letra negrita, con un contorno más vivo
o teniendo parpadeando el cursor en él. Este foco puede ser trasladado de un
objeto a otro por código o por interacciones del usuario, como por ejemplo
clicando con el ratón en distintos puntos de la pantalla o pulsando la tecla
Tab. Cada vez que un objeto pierde el foco se produce su evento LostFocus
y, posteriormente, el evento GotFocus del objeto que ha recibido el foco.
El método SetFocus permite dar el focus al objeto al que se aplica.
Dos propiedades de muchos controles relacionadas con el foco son TabIndex
y TabStop. TabStop determina si el foco se va o no a posar en el objeto al
pulsar la tecla Tab (si abStop está a False no se puede obtener el foco
mediante el tabulador) y TabIndex determina el orden en el que esto va a
suceder. Así al cargar un formulario, el foco estará en aquel objeto cuyo
TabIndex sea 0.
Al pulsar la tecla Tab el foco irá al objeto que tenga TabIndex = 1 y así
sucesivamente. Para retroceder en esta lista se pulsa Mayúsculas+Tab. La
propiedad abIndex se puede determinar en tiempo de diseño por medio de la
caja de propiedades de un control, del modo habitual.
Cuando a un control se le asigna un determinado valor de TabIndex, Visual
Basic ajusta automáticamente los valores de los demás controles (si tiene que
desplazarlos hacia arriba o hacia abajo, lo hace de modo que siempre tengan
números consecutivos). Para que un formulario reciba el foco es necesario
que no haya en él ningún control que sea capaz de recibirlo.
Un grupo de botones de opción tiene un único TabIndex, es decir, se
comporta como si fuera un único control. Para elegir una u otra de las
opciones se utilizan las flechas del teclado (y ).
KeyPress, KeyUp y KeyDown
El evento KeyPress sucede cuando el usuario pulsa y suelta determinada
tecla. En el procedimiento asociado con este evento el único argumento
KeyAscii es necesario para conocer cuál es el código ASCII de la tecla
pulsada. El evento KeyDown se produce cuando el usuario pulsa determinada
tecla y el evento KeyUp al soltar una tecla.
Los eventos KeyUp y KeyDown tienen un segundo argumento llamado Shift
que permiten determinar si esa tecla se ha pulsado estando pulsadas a la vez
cualquier combinación de las teclas Shift, Alt y Ctrl. En un apartado próximo
se explica cómo se identifican las teclas pulsadas a partir del argumento Shift.
EVENTOS RELACIONADOS CON EL RATON.
Click y DblClick
El evento Click se activa cuando el usuario pulsa y suelta rápidamente uno de
los botones del ratón.
También puede activarse desde código (sin tocar el ratón) variando la
propiedad Value de alguno de los controles. En el caso de un formulario este
evento se activa cuando el usuario clica sobre una zona del formulario en la
que no haya ningún control o sobre un control que en ese momento esté
inhabilitado (propiedad Enabled = False). En el caso de un control, el evento
se activa cuando el usuario realiza una de las siguientes operaciones:
Clicar sobre un control con el botón derecho o izquierdo del ratón. En el caso
de un botón de comando, de un botón de selección o de un botón de
opción, el evento sucede solamente al clicar con el botón izquierdo.
-Seleccionar un registro de alguno de los varios tipos listas desplegables que
dispone Visual Basic.
Pulsar la barra espaciadora cuando el foco está en un botón de comando, en
un botón de selección o en un botón de opción.
Pulsar la tecla Return cuando en un formulario hay un botón que tiene su
propiedad Default = True.
Pulsar la tecla Esc cuando en un formulario hay un botón que tiene su
propiedad Cancel = True.
-Pulsar una combinación de teclas aceleradoras (Alt + otra tecla, como por
ejemplo cuando de despliega el menú File de Word con Alt+F) definidas para
activar un determinado control de un formulario.
También se puede activar el evento Click desde código realizando una de las
siguientes operaciones:
Hacer que la propiedad Value de un botón de comando valga True.
Hacer que la propiedad Value de un botón de opción valga True
Modificar la propiedad Value de un botón de selección.
El evento DblClick sucede al clicar dos veces seguidas sobre un control o
formulario con el botón izquierdo del ratón.
MouseDown, MouseUp y MouseMove.
El evento MouseDown sucede cuando el usuario pulsa cualquiera de los
botones del ratón, mientras que el evento MouseUp sucede al soltar un botón
que había sido pulsado. El evento MouseMove sucede al mover el ratón sobre
un control o formulario.
Los eventos MouseUp y MouseDown tienen algunos argumentos que
merecen ser comentados. El argumento Button indica cuál de los botones del
ratón ha sido pulsado o soltado, y el argumento Shift indica si además
alguna de las teclas alt, shift o ctrl está también pulsada. La lista con todos
los posibles valores de estos argumentos se muestra en la Tabla [Link].1.a:
Tabla [Link].1.a
Cte simbólica Valor Acción Cte simbólica Valor Acción
vbLeftButton 1 Botón izdo vbShiftMask 1 Tecla SHIFT
pulsado o soltado pulsada
vbRightButton 2 Botón dcho vbCtrlMask 2 Tecla CTRL
pulsado o soltado pulsada
vbMiddleButto 4 Botón central vbAltMask 4 Tecla ALT
n pulsado o soltado pulsada
Con estos valores se aplica la aritmética booleana, lo cual quiere decir que si
se pulsan simultáneamente los botones izquierdo y derecho del ratón el
argumento Button valdrá 3 (1+2) y si se pulsan las tres teclas shift, ctrl y alt
simultáneamente el argumento Shift valdrá 7 (1+2+4). Con esta forma de
combinar los valores se resuelven todas las indeterminaciones posibles.
DragOver y DragDrop
El evento DragOver sucede mientras se está arrastrando un objeto sobre un
control. Suele utilizarse para variar la forma del cursor que se mueve con el
ratón dependiendo de si el objeto sobre el que se encuentra el cursor en ese
momento es válido para soltar o no. El evento DragDrop sucede al concluir
una operación de arrastrar y soltar. El evento ragOver requiere de los
argumentos que se muestran a continuación:
Private Sub Text1_DragOver(Source As Control, _
X As Single, Y As Single, State As Integer)
...
End Sub
Los argumentos de este evento son Source que contiene el objeto que está
siendo arrastrado, X e Y que indican la posición del objeto arrastrado dentro del
sistema de coordenadas del objeto sobre el que se está arrastrando y State (que es
propio del DragOver, pero no aparece en el DragDrop) que vale 0, 1 ó 2 según se
esté entrando, saliendo o permaneciendo dentro del mismo objeto, respectivamente.
Es importante señalar que el evento DragOver pertenece al objeto sobre el que se
arrastra, no al objeto que es arrastrado.
En el Help se puede encontrar información sobre la propiedad DragMode,
que puede tomar dos valores (vbManual y vbAutomatic). Esta constante determina
cómo comienza una operación de arrastre de un objeto. En modo manual se debe
comenzar llamando al método Drag para el objeto a arrastrar. En modo automático
basta clicar sobre el objeto a arrastrar, pero puede que en esta caso dicho objeto no
responda del modo habitual a otros eventos.
[Link] Algunas Propiedades Comunes a Varios Controles.
Hay algunas propiedades que son comunes a muchos controles. A
continuación se hace una lista con las utilizadas más habitualmente:
Appearance: Establece si un objeto tiene un aspecto plano (valor 0) o
tridimensional valor 1).
BackColor: Establece el color de fondo de un objeto.
Caption: Establece el texto que aparece dentro o junto al objeto. Tiene el papel de
un
título.
Enabled: Establece si un objeto es accesible y modificable o no.
Font: Establece las características del tipo de letra del objeto.
ForeColor: Establece el color del texto y/o gráficos de un objeto.
Height y Width: Establecen la altura y achura de un objeto.
Left y Top: Establecen la distancia horizontal y vertical entre el origen del control y
el origen del objeto que lo contiene, que puede ser un formulario, un marco (frame),
etc.
MousePointer: Establece la forma que adoptará el puntero del ratón al posicionarse
sobre el objeto. Esta forma puede elegirse dentro de una lista en las que aparecen las
habituales del puntero del ratón o creando iconos propios. Algunas constantes de
significado inmediato que definen la forma del cursor son las siguientes: vbDefault,
vbArrow, vbCrosshair, vbIbeam, vbSizePointer, vbUpArrow, vbHourglass, etc. Para
más información puede consultarse el Help de MousePointer.
Name: Nombre del objeto. Todos los objetos incluidos en un formulario deben
tener un nombre con el que poder referirse a él a la hora de programar la forma en
que debe actuar.
Visible: Establece si el objeto es visible o invisible.
[Link] Controles más Usuales.
Figura [Link].a
En la Figura [Link].a se muestran algunos de los controles más habituales en
Visual Basic 6.0. Estos controles se explican a continuación con más detalle.
[Link].1 Botón de comando (Command Button).
La propiedades más importantes del botón de comando son su Caption, que
es lo que aparece escrito en él, las referentes a su posición (Left y Top) y apariencia
externa (Height, Width y tipo de letra) y la propiedad Enabled, que determina si en
un momento dado puede ser pulsado o no.
No hay que confundir la propiedad Caption con la propiedad
Name. La primera define a un texto que aparecerá escrito en el control,
mientras que la segunda define el nombre interno con el que se puede
hacer referencia al citado objeto.
Si en la propiedad Caption se pone el carácter (&) antes de una de sus letras,
dicha letra aparece subrayyada en el botón (como la “x” en el botón Exit de la figura
anexa). Esto quiere decir que, como es habitual en Windows, dicho botón puede
activarse con el teclado por medio de la combinación Alt+letra subrayada. Esta
característica es común a muchos de los controles que tienen propiedad Caption.
El evento que siempre suelen tener programado los botones de comandos es el
evento Click.
[Link].2 Botones de opción (Option Button)
Además de las mencionadas para el caso anterior estos
botones tienen la propiedad Value, que en un determinado momento
sólo puede ser True en uno de los botones del grupo ya que se trata
de opciones que se excluyen mutuamente.
Para agrupar botones se coloca primero un marco o frame en el formulario y,
estando seleccionado, se colocan después cuantos botones de opción se desee. En un
mismo formulario se pueden colocar cuantos grupos de botones de opción se quiera,
cada uno de ellos agrupado dentro de su propio marco. Es muy importante colocar
primero el frame y después los botones de opción. Con esto se consigue que los
botones de opción estén agrupados, de modo que sólo uno de ellos pueda estar
activado. Si no se coloca ningún frame todos los botones de opción de un mismo
formulario forman un único grupo. Si los botones ya existen y se quieren introducir
un un frame se seleccionan, se hace Cut y luego Paste dentro del frame
seleccionado.
Sólo un grupo de botones de opción puede recibir el focus, no cada botón por
separado.
Cuando el grupo tiene el focus, con las flechas del teclado (y ) se puede
activar una u otra opción sin necesidad de usar el ratón. También se puede utilizar
Alt+carácter introduciendo antes de dicho carácter un (&) en el Caption del botón de
opción.
[Link].3 Botones de selección (Check Box).
La única diferencia entre estos botones y los anteriores es que en los botones
de selección puede haber más de uno con la propiedad Value a True. Estos botones
no forman grupo aunque estén dentro de un frame, y reciben el focus
individualmente. Se puede también utilizar el carácter (&) en el Caption para
activarlos con el teclado.
El usuario debe decidir qué tipo de botones se ajustan mejor
a sus necesidades: en el caso de la edad, está claro que no se puede
ser de dos edades diferentes; sí es posible sin embargo conocer
varios lenguajes de programación.
[Link].4 Barras de desplazamiento (Scroll Bars)
En este tipo de control las propiedades más importantes son Max y
Min, que determinan el rango en el que está incluido su valor, LargeChange
y SmallChange que determinan lo que se modifica su valor al clicar en la
barra o en el botón con la flecha respectivamente y Value que determina el
valor actual de la barra de desplazamiento. Las barras de esplazamiento no
tienen propiedad Caption.
El evento que se programa habitualmente es Change, que se activa cuando la
barra de desplazamiento modifica su valor. Todo lo comentado en este apartado es
común para las barras de desplazamiento vertical y horizontal.
Además de las Scroll Bars horizontal y vertical, Visual Basic 6.0 dispone
también del control Slider, utilizado en los paneles de control de Windows, que tiene
una función similar.
[Link].5 Etiquetas (Labels).
En las etiquetas o labels la propiedad más importante es
Caption, que contiene el texto que aparece sobre este control. Esta
propiedad puede ser modificada desde programa, pero no
interactivamente clicando sobre ella (a diferencia de las cajas de texto, que se verán a
continuación). Puede controlarse su tamaño, posición, color de fondo y una especie
de borde 3-D. Habitualmente las labels no suelen recibir eventos ni contener código.
Las Labels tienen las propiedades AutoSize y WordWrap. La primera,
cuando está a True, ajusta el tamaño del control al del texto en él contenido. La
segunda hace que el texto se distribuya en varias líneas cuando no cabe en una sola.
[Link].6 Cajas de texto (Text Box).
La propiedad más importante de las cajas de texto es Text, que almacena el
texto contenido en ellas. También se suelen controlar las que hacen referencia a su
tamaño, posición y apariencia. En algún momento se puede desear impedir el acceso
a la caja de texto, por lo que se establecerá su propiedad Enabled como False. La
propiedad Locked como True hace que la caja de texto sea de sólo lectura. La
propiedad MultiLine, que sólo se aplica a las cajas de texto, determina si en una de
ellas se pueden incluir más de una línea o si se ignoran los saltos de línea. La
justificación o centrado del texto se controla con la propiedad Alignment. La
propiedad ScrollBars permite controlar el que aparezca ninguna, una o las os barras
de desplazamiento de la caja.
En una caja de texto no se pueden introducir Intros con el teclado en modo de
diseño. En
modo de ejecución se deben introducir como caracteres ASCII (el 13 seguido del 10,
esto Carriage Return y Line Feed). Afortunadamente Visual Basic 6.0 dispone de la
constante vbCrLf, que realiza esta misión de modo automático.
Otras propiedades importantes hacen referencia a la
selección de texto dentro de la caja, que sólo están disponibles en
tiempo de ejecución. La propiedad SelStart sirve para posicionar el
cursor al comienzo del texto que se desea seleccionar (el primer
carácter es el cero); SelLength indica el número de caracteres o longitud de la
selección; SelText es una cadena de caracteres que representa el texto seleccionado.
Para hacer Paste con otro texto sustituyendo al seleccionado basta asignarle a esta
propiedad ese otro texto (si no hay ningún texto seleccionado, el texto de SelText se
inserta en la posición del cursor); para entresacar el texto seleccionado basta utilizar
esta propiedad en alguna expresión.
Los eventos que se programan son Change, cuando se quiere realizar alguna
acción al modificar el contenido de la caja, Click y DblClick y en algunos casos
especiales KeyPress para controlar los caracteres que se introducen. Por ejemplo, se
puede chequear la introducción del código ASCII 13 (Intro) para detectar que ya se
finalizado con la introducción de datos. También se utiliza la propiedad MaxLength
para determinar el número máximo de caracteres que pueden introducirse en la caja
de texto.
En aquellos casos en los que se utilice una caja de texto como entrada de
datos (es el control que se utiliza la mayoría de las veces con esta finalidad), puede
ser interesante utilizar el método SetFocus para enviar el foco a la caja cuando se
considere oportuno.
Otras propiedades de las cajas de texto hacen referencia a los tipos de letra y
al estilo. Así la propiedad FontName es una cadena que contiene el nombre del Font
(Courier New, Times New Roman, etc.), FontSize es un tipo Short que contiene el
tamaño de la letra, y FontBold, FontItalic, FontUnderline y FontStrikethrough son
propiedades tipo Boolean que indican si el texto va a tener esa característica o no.
[Link].7 Listas (List Box).
Una lista es un control en el que se pueden mostrar varios registros o líneas,
teniendo uno o varios de ellos seleccionado(s). Si en la lista hay más registros de los
que se pueden mostrar al mismo tiempo, se añade automáticamente una scrollBar.
Para añadir o eliminar registros de la lista en modo de ejecución se utilizan
los métodos AddItem y RemoveItem. Las listas se suelen inicializar desde el evento
Form_Load.
La propiedad List es un array que permite definir el contenido de la lista en modo de
diseño a través de la ventana de propiedades. List permite también acceder a los
elementos de la lista en tiempo de ejecución, para utilizar y/o cambiar su valor. Para
ello se pone en índice del elemento entre paréntesis (empezando a contar por cero) a
continuación de List, como se muestra a continuación por ejemplo, para cambiar el
tercer elemento:
[Link](2) = "Tercero"
Para añadir un registro en tiempo de ejecución se utiliza AddItem:
[Link] Registro_Añadido, posicion
donde posicion es un argumento opcional que permite especificar la posición en que
se debe añadir. Si se omite el registro se añade al final de la lista. Lo anterior es
válido si la propiedad Sorted está a False; si está a True el nuevo registro se añade
en la posición ordenada que le corresponde. Para eliminar un registro
[Link] Posición_del_registro_en_la_lista
En el caso de que se quiera vaciar completamente el contenido de una lista se
puede utilizar el método Clear.
Dos propiedades interesantes de las listas son ListCount y ListIndex. La
primera contiene el número total de registros incluidos en la lista. La segunda
permite acceder a una posición concreta de la lista para añadir un registro nuevo en
esa posición, borrar uno ya existente, seleccionarlo, etc.
Hay que recordar una vez más que los elementos de la lista se empiezan a
numerar por cero. El valor de propiedad ListIndex en cada momento coincide con el
registro seleccionado y en el caso de no haber ninguno seleccionado esta propiedad
vale -1.
Es interesante saber que al seleccionar uno de los registros de la lista se activa
el evento Clic de dicha lista.
Las listas permiten selecionar más de un elemento poniendo la propiedad
MultiSelect a valor 1-Simple o 2-Extended. En el primer caso los elementos se
seleccionan o se elimina la selección simplemente clicando sobre ellos. En el
segundo caso la forma de hacer selecciones múltiples es la típica de Windows,
utilizando las teclas Ctrl y Shift. Con selección múltile la propiedad SelCount indica
el número de elementos seleccionados, mientras que la propiedad Selected() es un
array de valores boolean que indica si cada uno de los elementos de la lista está
seleccionado o no.
[Link].8 Cajas combinadas (ComboBox).
Un ComboBox tiene muchas cosas en común con una lista. Por
ejemplo los métodos AddItem, RemoveItem o Clear y las propiedades
List, ListIndex o ListCount.
La diferencia principal es que en un ComboBox tiene una
propiedad llamada Style, que puede adoptar tres valores (1,2 ó 3) que
corresponden con tres distintas formas de presentar una lista:
1. Style=0 ó Style=vbComboDropDown (Dropdown Combo), Éste es el valor más
habitual y corresponde con el caso en el que sólo se muestra el registro seleccionado,
que es editable por el usuario, permaneciendo el resto oculto hasta que el usuario
despliega la lista completa clicando sobre el botón-flecha.
2. Style=1 ó Style=vbComboSimple (Simple Combo). En este caso el registro
seleccionado también es editable, y se muestra una lista no desplegable dotada si es
necesario de una scrollbar.
3. Style=2 ó Style=vbComboDropDownList (DropDown List). En este último caso el
registro seleccionado no es editable y la lista es desplegable.
[Link].9 Controles relacionados con ficheros.
Trabajando en un entorno Windows 95/98/NT es habitual tener que abrir y
cerrar ficheros parar leer datos, guardar un documento, etc. Hay tres controles
básicos que resultan de suma utilidad en esta tarea. Son la lista de unidades lógicas o
discos (Drive ListBox), la ista de directorios (Dir ListBox) y la lista de ficheros
(File ListBox
[Link].5.10 Control Timer.
Si se desea que una acción suceda con cierta periodicidad se puede utilizar un
control Timer . Este control produce de modo automático un evento cada cierto
número de milisegundos y es de fundamental importancia para crear animaciones o
aplicaciones con movimiento de objetos. La propiedad más importante de un objeto
de este tipo es Interval, que determina, precisamente, el intervalo en milisegundos
entre eventos consecutivos. La acción que se desea activar debe programarse en el
evento Timer de ese mismo control.
Si en algún momento se desea detener momentáneamente la acción periódica es
suficiente con hacer False la propiedad Enabled del control Timer y para arrancarla
de nuevo volver a hacer Trae esa propiedad. Haciendo 0 la propiedad Interval
también se consigue inhabilitar el Timer.
[Link].11 Print Dialog Control.
Las propiedades más importantes de este control son:
Copies: Determina el número de copias a realizar por la impresora.
FromPage: Selecciona el número de página a partir del cual comienza el rango de
impresión.
ToPage: Selecciona el número de página hasta la cual llega el rango de impresión.
PrinterDefault: Cuando es True se imprime en el objeto Visual Basic Printer.
Además las opciones actuales de impresión que se cambien serán asignadas como las
opciones de impresión por defecto del sistema.
Flags: Ver con ayuda del Help los posibles valores de esta propiedad.
[Link].12 Color Dialog Control.
Las propiedades más importantes de este control son:
Color: Devuelve o asigna el valor del color actual.
Flags: Ver con ayuda del Help los posibles valores de esta propiedad. Por ejemplo,
con el valor cdlCCFullOpen muestra el cuadro de diálogo completo, mientras que el
valor cdlCCPreventFullOpen muestra sólo los colores predefinidos, impidiendo
definir otros nuevos. Con el valor cdlCCRGBInit se establece el color inicial para el
cuadro de diálogo.
[Link].13 Apertura de controles en forma modal.
En ciertas ocasiones se desea que el programa no realice ninguna acción hasta
que el usuario cierre una ventana o formulario en la que se le pregunta algo o en la
que tiene que tomar alguna decisión.
En esos casos, al utilizar el método Show, es necesario utilizar el argumento
Style con valor 1. A esto se le llama mostrar una ventana en forma modal. Esto
quiere decir que no se permitirá al usuario hacer activa ninguna pantalla hasta que el
usuario cierre esa ventana modal. Esto se hace así:
[Link] 1
o bien,
[Link] vbModal
[Link].14 Arrays de Controles.
Un array de controles esta formado por controles del mismo tipo que
comparten el nombre y los procedimientos o funciones para gestionar los eventos.
Para identificar a cada uno de los controles pertenecientes al array se utiliza Index o
índice, que es una propiedad más de cada control. Suponiendo que el sistema tenga
memoria suficiente un array en Windows 95/98/NT podría llegar a tener hasta 32767
elementos.
La utilidad principal de los arrays se presenta en aquellos casos en los que el
programa debe responder de forma semejante a un mismo evento sobre varios
controles del mismo tipo. Los ejemplos más claros son los botones de opción y los
menús. En estos casos el programa responde de manera semejante
independientemente de cuál es la opción seleccionada. Los arrays de controles
comparten código, lo cual quiere decir que sólo hay que programar una función para
responder a un evento de un determinado tipo sobre cualquier control del array. Las
funciones que gestionan los eventos de un array tienen siempre u argumento
adicional del tipo Index As Integer que indica qué control del array ha recibido el
evento.
Una opción avanzada de Visual Basic 6.0 permite crear objetos en tiempo de
ejecución, siempre que sean elementos de un array ya existente, con la instrucción
Load. De forma análoga se pueden destruir con Unload.
[Link] Menús.
Entre las capacidades de Visual Basic 6.0
no podía faltar la de construir menús con gran
facilidad. Sin embargo, hay algunas diferencias
respecto al modo el que se construyen los
controles. Para crear menús Visual Basic dispone
de una herramienta especial que se activa
mediante el comando Menu Editor del menú
Tools. El cuadro de diálogo que se abre se nuestra
en la Figura [Link]. Más adelante se verá cómo
se utiliza esta herramienta; antes, conviene
recordar brevemente las características más
importantes de los menús de Windows 95/98/NT.
Figura [Link]
Los menús presentan sobre los demás controles la ventaja de que ocupan
menos espacio en pantalla, pero tienen el inconveniente de que sus posibilidades no
están a la vista más que cuando se despliegan.
[Link] Editor de Menús (Menu Editor).
En la Figura 5.4 se vuelve a
recoger –a mayor tamaño y con
algunos elementos ya efinidos- el
editor de menús mostrado en la Figura
5.1, que se abre con Tools/Menu
Editor o clicando en el botón
correspondiente de la barra de
herramientas. Se llama título a cada
elemento que aparece en la barra de
menús y línea o ítem a cada elemento
que aparece al desplegarse un título.
Para introducir un nuevo título en la
barra de menús hay que definir, en la caja de texto Caption de la Figura 5.4, el
nombre con el que se quiere que aparezca. Si se desea acceder a dicho título
mediante teclado (Alt+letra), la letra que se desea utilizar deberá ir precedida por el
carácter (&). Además, y al igual que todos los controles de isual Basic 6.0, conviene
que el título tenga un nombre (caja de texto Name) para que se pueda acceder a él
desde programa. Los nombres de los títulos de los menús suelen comenzar por las
letras mnu, como por ejemplo mnuFile, mnuEdit o mnuHelp.
En la Figura anterior la caja de texto Index hace referencia a la posibilidad de
crear arrays de menús. Se puede definir también un shortcut en la caja de texto
correspondiente. En esta figura aparecen cuatro checkButtons (Enabled, Checked,
Visible y WindowList) con los ue se pueden especificar algunas propiedades
iniciales del menú, como por ejemplo que esté activado o que sea visible.
Se pueden introducir items subordinados a un título por
medio de la flecha hacia la derecha. Para ello basta definirlos
del modo habitual y luego clicar sobre dicha flecha. El resultado
es que aparecen unos puntos a la izquierda del caption
correspondiente. Por ejemplo, en el menú definido en la Figura
5.4, Exit es una línea subordinada del menú File, mientras que
Undo, Repeat, Cut, Copy y Paste son items subordinados del
menú Edit. En este último caso se ha introducido una línea de
separación entre Repeat y Cut; para ello basta introducir un ítem más cuyo caption
sea el carácter menos (-).
[Link] Añadir Código a los Menús.
Los items de los menús admiten un único evento: el evento click, que consiste
en ser seleccionados por medio del ratón o del teclado. Para añadir el código
correspondiente basta elegir en el menú, estando en modo diseño, el ítem
correspondiente para que se abra la ventana de código en el procedimiento ligado a
ese evento. También puede buscarse directamente el objeto y el evento
correspondiente en las listas desplegables de la ventana de código.
En ocasiones habrá que cambiar las propiedades checked, active y visible
desde los procedimientos. A estas propiedades se accede del modo habitual, con el
nombre del ítem y el operador punto (.)
[Link] Arrays de Menús.
De la misma manera que pueden definirse arrays de controles, también
pueden definirse arrays de items (y de títulos) en un menú. La ventaja de definir
arrays de items es que basta definir un único procedimiento que se haga cargo del
evento click de todos los items del array. Este procedimiento recibe como parámetro
la variable entera Index, que indica que ítem del array ha sido seleccionado por el
usuario. Dentro de este procedimiento se podrá utilizar por ejemplo la sentencia
Select Case para tratar de forma adecuada cada uno de los casos.
[Link] Representación hexadecimal de los colores.
Para los números enteros entre 0 y 255 se utilizan dos dígitos hexadecimales.
Con esta notación el cero es el “00” y el 255 el “FF”. El número que indica el color
va precedido por el carácter “&” y la letra “H”. Así, el color verde se define en la
forma: &H00FF00. Con esta notación es posible prescindir de los ceros situados a la
izquierda. Por ejemplo, el color rojo se puede escribir como &H0000FF y como
&HFF. Visual Basic 6.0 dispone también de nombres para los colores fundamentales
y los que son combinación de los colores fundamentales, según puede verse en la
Tabla [Link]
Tabla [Link]
[Link] Función RGB.
Esta función devuelve un número que representa un color a partir de tres
argumentos enteros entre 0 y 255, que son sus componentes RGB. Como ejemplo de
uso:
[Link] = RGB(127, 127, 64)
Si alguno de los argumentos tiene un valor mayor que 255, se toma como 255.
[Link] Controles Gráficos.
Visual Basic 6.0 dispone de varios controles con los que insertar gráficos en
un formulario.
Algunos tienen más posibilidades que otros y es necesario conocerlos bien. A
continuación se verán los controles Line, Shape, Image y PictureBox.
Control Line.
Es el control gráfico más elemental, ya que carece de propiedades como Text,
Caption y Value. Además no reconoce ningún evento, por lo que su misión es
casi exclusivamente decorativa.
El control Line permite dibujar líneas en un formulario o en un control
PictureBox. Las propiedades más importantes son las coordenadas de los
puntos extremos (X1, Y1, X2 e Y2), la anchura en pixels (BorderWidth), el
estilo de la línea (BorderStyle) - continua, a trazos, etc.- que sólo está activo
cuando la anchura es 1 pixel, el color (BorderColor) y el nombre (Name). La
línea puede estar visible o no (Visible), y existe la propiedad Index, que
permite crear arrays de líneas.
Control Shape
Este control es en muchos aspectos similar al control Line: tampoco tiene las
propiedades text, Caption y Value, ni reconoce eventos. Se diferencia en que
admite formas geométricas más complejas, que vienen definidas por la
propiedad Shape, que admite los valores siguientes: cuadrado (Square),
rectángulo (Rectangle), círculo (Circle), elipse (Oval), cuadrado redondeado
(Rounded Square) y rectángulo redondeado (Rounded Rectangle).
Además de las propiedades correspondientes al tamaño y posición, las
propiedades más interesantes del control Shape son las siguientes:
BackColor, BackStyle, BorderColor, orderStyle, BorderWidth, FillColor,
FillStyle, DrawMode. Un control Shape puede estar visible o no (Visible), y
existe la propiedad Index, que permite crear arrays de Shapes.
Control Image
El control Image es un contenedor de gráficos bitmap, iconos, metafile,
enhanced metafile, GIF y JPEG. Este control admite ya una amplia
colección de eventos, por lo que es ya un control con un papel mucho más
activo que los anteriores.
Las propiedades más propias e importantes de este control son las
propiedades Picture y Stretch. La propiedad Picture sirve para relacionar
este control con el fichero que contiene el gráfico que se desea representar, a
través del cuadro de diálogo Load Picture que permite elegir el fichero a
insertar. El fichero deberá ser de uno de los tipos admitidos. Según el fichero
elegido, la propiedad Picture tendrá uno de los tres valores siguientes: icon
(ficheros cur, ico), bitmap (bmp, gif, jpg) o metafile (wmf, emf).
[Link] Método Print.
En tiempo de ejecución se puede escribir texto en un formulario o en un
control PictureBox por medio del método Print. La forma general de este método es
la siguiente:
[Link] {spc(n)|tab(n)} expresion poschar
donde spc(n) es opcional y sirve para insertar n caracteres en la salida; tab(n) es
también opcional y sirve para posicionar la salida en una posición absoluta
determinada por n con un tabulador. Si tab se utiliza sin argumentos lleva al
comienzo de la siguiente región de salida4; reexpresión representa cualquier
expresión cuyo resultado sea un número o una cadena de caracteres. poschar indica
dónde se imprimirá el siguiente carácter. Si es un punto y coma (;) la impresión se
hace a continuación del último carácter impreso; si es un tab(n) o un tab tiene el
efecto antes descrito; si se omite, la impresión comienza en una nueva línea. El color,
la fuente y el tamaño del texto se toman de las correspondientes propiedades del
formulario o control PictureBox.
[Link] Sistemas de Coordenadas.
Un punto de particular importancia con Visual Basic 6.0 es el que hace
referencia a la osición y tamaño de los formularios y de los demás controles, así
como a las unidades en que se expresan y determinan.
Visual Basic 6.0 permite elegir entre distintas unidades, e incluso utilizar
distintas unidades para distintos elementos de la aplicación. Las unidades se
especifican con la propiedad caleMode, que es propia de los formularios y controles
PictureBox.
Tabla [Link]
La Tabla [Link] especifica los posibles valores de esta propiedad. La unidad
por defecto es el twip, que es la vigésima parte del punto o pixel.
[Link] Barras de Herramientas (Toolbars).
JGJCon Visual Basic 6.0 es fácil crear barras de herramientas constituidas
por botones clicables, al estilo de las aplicaciones de Windows. De ordinario las
barras de herramientas dan acceso a las funciones o comandos más comunes de los
menús de la aplicación.
Se puede crear una barra de herramientas por medio de un PictureBox
colocado en un formulario. En este PictureBox se pueden colocar controles
CommandButton o Image en los que se programa el evento click. La propiedad
Picture del control Image puede contener la dirección de alguno de los iconos
estándar que vienen con Visual Basic (extensión *.ico) o la de un icono construido
por el programador.
En el caso de los formularios MDI se puede colocar una barra de
herramientas en el
MDIform, que automáticamente adquiere la anchura del formulario.
[Link] Utilización de Impresoras.
Visual Basic 6.0 permite obtener por la impresora gráficos y texto similares a
los que se pueden obtener por la pantalla, aunque con algunas diferencias de cierta
importancia. Existen dos formas de imprimir: la primera mediante el método
PrintForm, y la segunda utilizando el objeto Printer, que es un objeto similar al
objeto PictureBox. Ambos métodos tienen puntos fuertes y débiles que se
comentarán a continuación.
[Link].1 Método PrintForm.
El método PrintForm permite imprimir un formulario con sus controles y con
los resultados de los métodos gráficos (PSet, Line y Circle) y del método Print. Para
ello la propiedad AutoRedraw del formulario tiene que estar puesta a True, y los
métodos citados tienen que estar llamados desde un evento distinto del Paint. Lo
único que no se dibuja del formulario es la barra de título.
Este sistema de impresión es muy sencillo de utilizar, pero tiene el
inconveniente de que el resultado se imprime con la misma resolución de la pantalla
(entre 50 y 100 puntos por ulgada), no aprovechando por tanto la mayor resolución
que suelen tener las impresoras (300, 600 ó más puntos por pulgada).
[Link].2 Objeto Printer.
Este segundo sistema tiene la ventaja de que permite aprovechar plenamente
la resolución de la impresora, pero no permite dibujar controles sino sólo los
métodos gráficos habituales (PSet, Line y Circle), el método Print y un método no
visto hasta ahora que es PaintPicture.
Para Visual Basic 6.0 la impresora es un objeto gráfico más, similar a los
formularios y a las cajas gráficas PictureBox. Como tal objeto gráfico tiene sus
propiedades generales (DrawStyle, BackColor, ForeColor, etc.), además de otras
propiedades específicas de la impresora, como DeviceName, DriverName,
Orientation, Copies, etc. Para más información puede utilizarse el Help, buscando
Printer object. En principio se utiliza la impresora por defecto del PC, pero Visual
Basic mantiene una Printers Collection, que es algo así como un array de impresoras
disponibles. A partir de esta Printers Collection se puede cambiar a la impresora que
se desee.
El objeto Printer tiene un método llamado EndDoc para enviar realmente a la
impresora el resultado de los métodos gráficos. El método PaintPicture permite
incorporar el contenido de ficheros gráficos a un formulario, PictureBox o Printer.
Su forma general es:
[Link] pictProp X, Y, Width, Height
donde pictProp indica el gráfico (coincide con la propiedad Picture de PictureBox),
X e Y indican las coordenadas de inserción y los dos últimos parámetros las
dimensiones opcionales).
[Link].3 Tipos de Ficheros.
Tanto en Windows como en Visual Basic 6.0 existen, principalmente, dos tipos de
archivos:
1. Ficheros ASCII o ficheros de texto. Contienen caracteres codificados según el
código ASCII y se pueden leer con cualquier editor de texto como Notepad. Suelen
tener extensión *.txt o *.bat, pero también otras como *.m para los programas de
Matlab, *.c para los ficheros fuente de C, *.cpp para los ficheros fuente de C++ y
*.java para los de Java.
2. Ficheros binarios: Son ficheros imagen de los datos o programas tal como están
en la memoria del ordenador. No son legibles directamente por el usuario. Tienen la
ventaja de que ocupan menos espacio en disco y que no se pierde tiempo y precisión
cambiándolos a formato ASCII al escribirlos y al leerlos en el disco.
Con Visual Basic 6.0 se pueden leer tanto ficheros ASCII como ficheros
binarios. Además el acceso a un fichero puede ser de tres formas principales.
1. Acceso secuencial. Se leen y escriben los datos como si se tratara de un libro:
siempre a continuación del anterior y sin posibilidad de volver atrás o saltar datos. Si
se quiere acceder a un dato que está hacia la mitad de un fichero, habrá que pasar
primero por todos los datos anteriores. Los ficheros de texto tienen acceso
secuencial.
2. Acceso aleatorio (random): Permiten acceder directamente a un dato sin tener que
pasar por todos los demás, y pueden acceder a la información en cualquier orden.
Tienen la limitación de que los datos están almacenados en unas unidades o bloques
que se llaman registros, y que todos los registros que se almacenan en un fichero
deben ser del mismo tamaño. Los ficheros de acceso aleatorio son ficheros binarios.
3. Acceso binario. Son como los de acceso aleatorio, pero el acceso no se hace por
registros sino por bytes.
Antes de poder leer o escribir en un fichero hay que abrirlo por medio de la
sentencia Open.
En esta sentencia hay que especificar qué tipo de acceso se desea tener,
distinguiendo también si es para lectura (input), escritura (output) o escritura
añadida (append).
[Link].4 Lectura y Escritura en Ficheros Secuenciales.
Apertura y cierre de ficheros
Para poder leer o escribir en un fichero antes debe ser abierto con la sentencia
Open, cuya forma general es la siguiente:
Open filename For modo As # fileNo
donde:
filename es el nombre del fichero a abrir. Será una variable string o un nombre entre
dobles comillas (“ ”).
modo Para acceso secuencial existen tres posibilidades: Input para leer, Output para
escribir al comienzo de un fichero y Append para escribir al final de un fichero ya
existente. Si se intenta abrir en modo Input un fichero que no existe, se produce un
error. Si se abre para escritura en modo Output un fichero que no existe se crea, y si
ya existía se borra su contenido y se comienza a escribir desde el principio. El modo
Append es similar al modo Output, pero respeta siempre el contenido previo del
fichero escribiendo a continuación de lo último que haya sido escrito anteriormente.
fileNo es un número entero (o una variable con un valor entero) que se asigna a cada
fichero que se abre. En todas las operaciones sucesivas de lectura y/o escritura se
hará referencia a este fichero por medio de este número. No puede haber dos ficheros
abiertos con el mismo número. Visual Basic dispone de una función llamada
FreeFile que devuelve un número no ocupado por ningún fichero.
[Link].5 Lectura y escritura de datos.
Sentencia Input
Existen varias formas de leer en un fichero de acceso secuencial. Por ejemplo,
para leer el valor de una o más variables se utiliza la sentencia Input:
Input # fileNo, varName1, varName2, varName3, ...
donde el fileNo es el número asignado al archivo al abrirlo y varName1,
varName2, ... son los nombres de las variables donde se guardarán los valores
leídos en el fichero. Debe haber una correspondencia entre el orden y los
tipos de las variables en la lista, con los datos almacenados en el fichero. No
se pueden leer directamente vectores, matrices o estructuras. Si los datos del
disco han de ser escritos por el propio programa, conviene utilizar la
sentencia write (mejor que Print) para garantizar que los valores están
convenientemente separados. La sentencia Write se verá posteriormente.
Función Line Input y función Input
La función Line Input # lee una línea completa del archivo y devuelve su c
ontenido como valor de retorno. Su forma general es:
varString = Line Input #fileNo
Conviene recordar que en los ficheros de texto se suele utilizar el carácter
return (o Intro) para delimitar las distintas líneas. Este es el carácter ASCII
nº 13, que por no ser un carácter imprimible se representa en Visual Basic 6.0
como chr(13). En muchas ocasiones (como herencia del MS-DOS) se utiliza
como delimitador de líneas una combinación de los caracteres return y
linefeed, representada en Visual Basic 6.0 como chr(13)+chr(10). En la
cadena de caracteres que devuelve Line no se incluye el carácter de
terminación de la línea.
Para leer todas las líneas de un fichero se utiliza un bucle for o while. Visual
Basic 6.0 dispone de la función EOF (End of File) que devuelve True
cuando se ha llegado al final del fichero. Véase el siguiente ejemplo:
Do While Not EOF(fileNo)
miLinea = Line Input #fileNo
...
Loop
También se puede utilizar la función Input, que tiene la siguiente forma
general:
varString = Input(nchars, #fileNo)
donde nchars es el número de caracteres que se quieren leer y varString es la
variable donde se almacenan los caracteres leídos por la función. Esta función
lee y devuelve todos los caracteres que encuentra, incluidos los intro y
linefeed. Para ayudar a utilizar esta función existe la función LOF (fileNo),
que devuelve el nº total de caracteres del fichero. Por ejemplo, para leer todo
el contenido de un fichero y escribirlo en una caja de texto se puede utilizar:
[Link] = Input(LOF(fileNo), #fileNo)
Función Print #
Para escribir el valor de unas ciertas variables en un fichero previamente
abierto en modo Output o Append se utiliza la instrucción Print #, que tiene
la siguiente forma:
Print #fileNo, var1, var2, var2, ...
donde var1, var2,... pueden ser variables, expresiones que dan un resultado
numérico o alfanumérico, o cadenas de caracteres entre dobles comillas, tales
como “El valor de x es...”.
Considérese el siguiente ejemplo:
Print #1, "El valor de la variable I es: ", I
donde I es una variable con un cierto valor que se escribe a continuación de la
cadena. Las reglas para determinar el formato de la función Print # son las
mismas que las del método Print visto previamente.
Función Write #
A diferencia de Print #, la función Write # introduce comas entre las
variables y/o cadenas de caracteres de la lista, además encierra entre dobles
comillas las cadenas de caracteres antes de escribirlas en el fichero. La
función Write # introduce un carácter newline, esto es, un return o un
return+linefeed después del último carácter de las lista de variables. Los
ficheros escritos con Write # son siempre legibles con Input #, cosa que no se
puede decir de Print #.
[Link].6 Ficheros de Acceso Aleatorio.
Los ficheros de acceso aleatorio se caracterizan porque en ellos se puede leer
en cualquier orden. Los ficheros de acceso aleatorio son ficheros binarios. Cuando se
abre un fichero se debe escribir For Random, al especificar el modo de apertura (si
el fichero se abre For Binary el acceso es similar, pero no por registros sino por
bytes; este modo es mucho menos utilizado).
Abrir y cerrar archivos de acceso aleatorio.
Estos archivos se abren también con la sentencia Open, pero con modo Random. Al
final se añade la sentencia Len=longitudRegistro, en bytes. Véase el siguiente
ejemplo:
fileNo = FreeFile
size = Len(unObjeto)
Open filename For Random as #fileNo Len = size
donde filename es una variable que almacena el nombre del archivo. Se recuerda que
la función FreeFile devuelve un número entero válido (esto es que no está siendo
utilizado) para poder abrir un fichero. El último parámetro informa de la longitud de
los registros (todos deben tener la misma longitud). Visual Basic 6.0 dispone de la
función Len(objetoName), que permite calcular la dimensión en bytes de cualquier
objeto perteneciente a una clase o estructura.
De ordinario los ficheros de acceso directo se utilizan para leer o escribir de
una vez todo un bloque de datos. Este bloque suele ser un objeto de una estructura,
con varias variables miembro.
Los ficheros abiertos para acceso directo se cierran con Close, igual que los
secuenciales.
Leer y escribir en una archivo de acceso aleatorio. Funciones Get y Put
Se utilizan las funciones Get y Put. Su sintaxis es la siguiente:
Get #fileNo, registroNo, variableObjeto
Put #fileNo, registroNo, variableObjeto
La instrucción Get lee un registro del fichero y almacena los datos leídos en
una variable, que puede ser un objeto de una determinada clase o estructura. La
instrucción Put escribe el contenido
de la variable en la posición determinada del fichero. Si se omite el número de
registro se lee (escribe) a continuación del registro leído (escrito) anteriormente.
Véase el siguiente ejemplo:
FileNo=FreeFile
size=Len(unObjeto)
Open filename for Random as #fileNo Len=size
Get #fileNo, 3, size
Con este ejemplo, se ha abierto el fichero filename de la misma forma que se realizó
en el ejemplo anterior, pero ahora, además se ha leído un registro de longitud size, y
más en concreto, el tercer registro. Si se quisiera modificar el valor de este registro,
no habría más que asignarle el valor que se quisiera, para a continuación introducirlo
en el fichero mediante la sentencia siguiente:
Put #fileNo, 3, size
FICHEROS DE ACCESO BINARIO.
La técnica a emplear es básicamente la misma que con los ficheros de acceso
aleatorio, con la salvedad de que en lugar de manejar registros, en los ficheros de
acceso binario se trabaja con bytes.
[Link] Números Enteros.
Los números enteros en Visual Basic 6.0 se guardan en 1, 2 ó 4 bytes.
Con 8 bits (1 byte) se podrían guardar 28 números: desde 0 hasta 255.
Con 16 bits (2 bytes) se podrían guardar 216 números: desde 0 hasta 65.535. Si se
reserva un bit para el signo se tendrían 215 números: desde -32768 hasta 32767
Con 32 bits (4 bytes) se podrían guardar 232 números: desde 0 hasta [Link].
Si se reserva un bit para el signo se tendrían 2 31: desde -[Link] hasta
[Link]
[Link] Números Reales.
En muchas aplicaciones hacen falta variables reales, capaces de representar
magnitudes que contengan una parte entera y una parte fraccionaria o decimal.
Estas variables se llaman también de punto flotante. De ordinario, en base 10 y con
notación científica, estas variables se representan por medio de la mantisa, que es un
número mayor o igual que 0.1 y menor que 1.0, y un exponente que representa la
potencia de 10 por la que hay que multiplicar la mantisa para obtener el número
considerado. Por ejemplo, el número se representa como 0.3141592654101. Tanto
la mantisa como el exponente pueden ser positivos y negativos.
[Link].1 Variables tipo Single.
Los computadores trabajan en base 2. Por eso un número con decimales de
tipo Single se almacena en 4 bytes (32 bits), utilizando 24 bits para la mantisa (1
para el signo y 23 para el valor) y 8 bits para el exponente (1 para el signo y 7 para el
valor). Es interesante ver qué clase de números de punto flotante pueden
representarse de esta forma. En este caso hay que distinguir el rango de la precisión.
La precisión hace referencia al número de cifras con las que se representa la mantisa:
con 23 bits el número más grande que se puede representar es,
223 = 8.388.608
lo cual quiere decir que se pueden representar todos los números decimales de 6
cifras y la mayor parte –aunque no todos– de los de 7 cifras (por ejemplo, el número
9.213.456 no se puede representar con 23 bits). Por eso se dice que las variables tipo
Single tienen entre 6 y 7 cifras decimales equivalentes de precisión.
Respecto al exponente de dos por el que hay que multiplicar la mantisa en base 2,
con 7 bits el número más grande que se puede representar es 127. El rango vendrá
definido por la potencia,
2127 = 1.7014 · 1038
lo cual indica el orden de magnitud del número más grande representable de esta
forma.
En el caso de los números Single (4 bytes) el rango es: desde -3.402823E38 a -
1.401298E-45 para los valores negativos y desde 1.401298E-45 a 3.402823E38 para
los valores positivos.
[Link].2 Variables tipo Double.
Así pues, las variables tipo Single tienen un rango y –sobre todo– una
precisión muy limitada, insuficiente para la mayor parte de los cálculos técnicos y
científicos. Este problema se soluciona con el tipo Double, que utiliza 8 bytes (64
bits) para almacenar una variable. Se utilizan 53 bits para la mantisa (1 para el signo
y 52 para el valor) y 11 para el exponente (1 para el signo y 10 para el valor). La
precisión es en este caso,
252 = [Link].370.496
lo cual representa entre 15 y 16 cifras decimales equivalentes. Con respecto al rango,
con un exponente de 10 bits el número más grande que se puede representar será del
orden de 2 elevado a 2 elevado a 10 (que es 1024):
21024 = 1.7977 · 10308
Si se considera el caso de los números declarados como Double (8 bytes) el rango va
desde
-1.79769313486232E308 a -4.94065645841247E-324 para los valores negativos y
desde
4.94065645841247E-324 a 1.79769313486232E308 para los valores positivos.
3.2 Requisitos para su uso.
Para instalar Pórticos 3D en un PC, es necesario un procesador Pentium
mínimo, 64 Mb. de Memoria RAM y 24 MB. de espacio disponible en el disco duro,
así como disponer mínimo de Windows 95.
3.4 Características del programa creado.
Con el presente programa se pretende proporcionar una herramienta que
mediante textos, modos gráficos de alta calidad y, principalmente, diagramas de
momentos flectores, torsores o cortantes, desplazamientos modales que nos faciliten
el diseño en concreto armado: de vigas, columnas, cimentaciones, losas aligeradas,
escaleras, mediante el método tridimensional, ya sea estático ó dinámico, y
considerando las normas existes (NORMA E-020 CARGAS, NORMA E-030
DISEÑO SISMORESISTENTE, NORMA E-060 CONCRETO ARMADO,
NORMA E - 050 SUELOS Y CIMENTACIONES).
Adicionalmente y tal como se ilustrará con los ejemplos expuestos en la presente
tesis se proporciona una herramienta de análisis para los siguientes casos:
- Análisis tridimensional de pórticos de concreto armado (Método Estático).
- Análisis tridimensional de pórticos de concreto armado (Método Dinámico).
- Verificación de momentos, flectores, torsores o cortantes para los distintos tipos
de cargas, combinaciones, y en caso del método dinámico para los distintos
modos de vibración).
- Análisis y diseño de vigas.
- Análisis y diseño de columnas.
- Análisis y diseño de placas.
- Diseño y dimensionamiento de zapatas aisladas.
- Diseño y dimensionamiento de zapatas excéntricas.
- Diseño y dimensionamiento de zapatas combinadas.
- Diseño y dimensionamiento de zapatas conectadas.
- Diseño y dimensionamiento de losas de cimentación.
3.5 Códido del programa.
CAPÍTULO IV
APLICACIÓN PRÁCTICA.
2.2 Aplicación en un edificio en el cual no se han considerado muros
estructurales.
En la presente aplicación, se ha considerado un edificio de cuatro niveles.
Se ha considerado las siguientes cargas:
WD = 500 Kg/m2
WL = 200 Kg/m2
Para la carga de sismo ( CS ) se ha considerado:
F1 = 15 Ton.
F2 = 27 Ton.
F3 = 38 Ton.
Las combinaciones de carga utilizadas de muestran a continuación
1.5 CM + 1.8 CV
1.25 CM + 1.25 CV + 1.25 CS
1.25 CM + 1.25 CV – 1.25 CS
0.9 CM + 1.25 CS
0.9 CM – 1.25 CS
Los datos restantes serán impresos por el programa Pórticos 3D
CAPÍTULO V
CONCLUSIONES Y
RECOMENDACIONES.
CONCLUSIONES
El presente programa tiene una capacidad de diseñar póricos de concreto
armado con 50000 grados de libertad, estáticos y dinámicos, esto se debe a la
capacidad de las matrices en lenguaje de programación.
El uso de programas es fundamental en cualquier problema de cierta
significación. Su uso no es sólo deseable sino indispensable si el proyectista
ha de tener más tiempo para la creatividad y para mejorar el diseño.
Las columnas de las construcciones de Chiclayo, generalmente no cumplen
los requisitos de cuantía de las NPE, según los resultados que arroja el
programa y según programas comerciales. Esto debido a que no son
diseñadas para efectos biaxiales o no se magnifican los momentos y no se
considera un momento accidental para dirección de análisis.
Según los resultados arrojados por el presente software y comparados con
grandes programas comerciales se concluye que éstos utilizan el método de
rigidez con las deformaciones de momento, cortante, torsión y axil, al menos
para las estructuras de barras.
El presente programa Pórticos 3D, trabaja con las Normas Peruanas de
Estructuras, y es por eso la importancia de utilzarlo pues se asemeja más a la
realidad del País, siendo responsabilidad del diseñador la mejor idealización
de la estructura.
RECOMENDACIONES
Los usuarios del presente software, siempre deben definir la carga muerta, y
en le caso de un analisis dinámico modal siempre se debe coloco una carga de
sismo.
Se sugiere que los estudiantes de Ingeniería Civil deban implementar el
software, por ejemplo el análisis tiempo- historia, análisis no lineal, diseño en
acero, etc como proyecto de investigación.
Se recomienda a los usuarios del presente programa que trabajen con
computadoras con procesadores potentes, en los cuales los cálculos se hagan
con mayor rapidez.
Se recomienda a los diseñadores que idealicen la estructura lo mejor posible,
pues como ya se menciono anteriormente el computador es solo una
herramienta que nos permite agulizar los cálculos.
BIBLIOGRAFIA.
ACl 318-83.
ACI-CAPÍTULO PERUANO “Cimentaciones de Concreto Armado en
Edificaciones”, 1998.
BIBLIOTECA DE CONSULTA MICROSOFT ENCARTA 2003
Brown Kenyon “Introducción a la Programación De Visual Basic”.
Carrillo, Francisco “como hacer la tesis y el trabajo de investigación
universitario”.
Clough, Ray W. & Penzien, Joseph “Dynamics of Structures”.[Link]
York, 1975.
Estrada Uribe, Gabriel, “Estructuras Antisísmicas”, Editorial Continental, S.A,
México, 1975.
Head Norris, Charles; Benson Wilbur, John y Utku, Senol, “Análisis Elemental de
Estructuras”, Traducido de la tercera Edición de “Elementary Structural
Analisys” por MacGraw-Hill, [Link] en Colombia, 1982.
Irving h. Shames, Ingeniería Mecánica Estática, Cuarta edición en español ,1974.
Luna V, Rubén “Programación en Visual Basic 6.0 para principiantes y
avanzados”.
Luna V. Ruben “Programación paso a paso en Visual Basic”.
Microsoft Visual Basic 6.0. Manual del Programador, traducido de la primera
edición en inglés de “Microsoft Visual Basic 6.0 Programmer’s Guide”. McGraw-
Hill. España, 1998.
Perry Greg “aprendiendo visual basic en 24 horas”.
REGLAMENTO NACIONAL DE ESTRUCTURAS. INSTITUTO DE LA
CONSTRUCCION Y GERENCIA - Libro Editado por Fondo Editorial ICG,
Primera Edición – Mayo 2002.
Rodríguez Serquen William,”Mecánica de Suelos II”, [Link] 2004.
[Link] y T. Paulay “Estructuras de Concreto Reforzado”, traducido de la obra en
inglés “Reinforced Concrete Structures”.Tercera Reimpresión, Editorial Limusa,
S.A de C.V. México, 1986.
Scaletti Farina, Hugo y Piqué del Pozo, Javier, “Análisis Sísmico de Edificios”.
Lima, Colección del Ingeniero Civil, [Link] Edición.
Teodoro E. Harmsen y J. Paola Mayorca “diseño de estructuras de concreto
armado”, PONTIFICIA UNIVERSIDAD CATOLICA DEL PERU – Fondo
Editorial 2000 – 2DA Edición.
Vaquero Sánchez, Antonio y Quiroz Vieyra, Gerardo “MICROSOFT VISUAL
BASIC 6.0 MANUAL DEL PROGRAMADOR”.