Aplicación de cálculo de engranajes para torno

GEAR CALCULATOR

 

Hector Cepeda - Ezequiel Falk - Natalia Vega - Oscar Villarroel

 

Análisis del problema

El torno es una herramienta mecánica usada para fabricar pernos, tuercas, golillas, engranajes entre otros componentes mecánicos. Los pernos y tuercas tienen una característica llamada Paso de rosca, que corresponde a la distancia que hay entre dos crestas consecutivas y hay dos tipos que son los más extendidos, rosca Métrica, medida en milímetros y rosca Whitworth, medida en pulgadas.

Para poder tallar el paso en un perno o tuerca, es necesario colocar un arreglo de engranajes con cantidades específicas de dientes. Este arreglo de engranajes se debe calcular.

 

Descripción del problema

El cálculo del arreglo de engranajes se hace usando la siguiente relación:

Este cálculo lo hace el cliente de forma manual, teniendo que hacer a veces muchas iteraciones del cálculo para encontrar la combinación óptima.

 

Casos de uso

 

Caso 1

Nombre: Cálculo los 3 engranajes para una rosca determinada.

Propósito: El usuario desea calcular el conjunto ideal para realizar el paso del tornillo adecuado según se requiere.

Actor: Maestro Mecánico (tornería).

Evento: El usuario ingresa el paso al que se quiere llegar y presiona el botón calcular.

Curso normal de eventos:

 

Actor

Sistema

 

  1. Se inicia la aplicación de cálculo.
  1. Ingresa parámetros para el trabajo específico.

 

  1. Presiona “Calcular”.
  1. Entrega el cálculo final con hasta 3 soluciones.
  1. Presiona botón volver.
  1. Despliega pestaña principal.

 

Caso 2

Nombre: Presiona botón “Cómo Funciona”.

Propósito: El usuario se familiariza con el funcionamiento de la aplicación.

Actor: Maestro Mecánico (tornería).

Evento: El usuario presiona la pestaña “Cómo Funciona”.

Curso normal de eventos:

Actor

Sistema

  1. Presiona botón “Como funciona”
  1. Despliega pestaña con la explicación del funcionamiento de cada objeto gráfico con el que se puede interactuar
  1. Presiona botón “Volver”
  1. Despliega pestaña principal

 

Caso 3

Nombre: Presiona botón “Editar”.

Propósito: Eliminar un disco del conjunto de discos de engranaje con que se cuenta para realizar los cálculos.

Actores: Maestro Mecánico (tornería)

Evento: El usuario presiona la pestaña “Editar”

Curso normal de eventos:

Actor

Sistema

  1. Presiona botón “Editar set de discos”
  1. Despliega pestaña para añadir o eliminar discos

4. Escribe el disco que desea eliminar

 

5. Presiona el botón “Eliminar”

6. Se actualiza el conjunto de discos disponibles

 

 

Diseño

 

Diagrama de clases:

Figura 1: Diagrama de clases

 

Diagrama de secuencia (caso de uso 3):

Figura 2: Diagrama de secuencia.

 

Resultados

 

Pantalla Principal: Esta es la vista principal, donde se pueden editar los discos, los parámetros, conocer cómo funciona la aplicación y hacer el cálculo de los discos que se necesitan para cierto trabajo en específico detallado con los parámetros.

 

Figura 3: Pantalla Principal

 

 

 

Pantalla Resultado: Al presionar el botón “Calcular” en la vista principal con los parámetros configurados, se despliega esta vista con los resultados que arrojó el cálculo. De existir, se muestran los 3 con menor error. Si no hay 3 se muestran los que haya.

 

Figura 4: Pantalla Resultado.

 

 

Pantalla Como Funciona: En esta vista se muestra a presionar “Como funciona” en la pantalla principal. Acá se explican todos los objetos gráficos con los que puede interactuar el usuario y se explica que hace cada uno de ellos.

 

Figura 5: Pantalla Como Funciona.

 

Pantalla Editor de Discos: Esta vista se despliega al presionar el botón “Editar Set de Discos” en la pantalla principal.  En esta vista se pueden visualizar todos los discos disponibles, además de poder agregar o eliminar discos al set. Esto es útil cuando el usuario consigue o pierde discos.

Figura 6: Pantalla Editor de Discos.

 

 

Dificultades

 

Se tuvo dificultad para agregar imágenes externas, pues en la vista previa de Qt se lograban apreciar, pero al momento de ejecutar el programa estas no eran visibles, para arreglar esto se guardaron las imágenes como recursos Qt y luego se añadieron a la vista.

 

Se tuvo problemas con el archivo .txt que contenía los engranajes a utilizar, pues en la sección de “Discos Disponibles” solo se mostraba el último disco del archivo. Esto ocurría debido a que el objeto gráfico Qlabel donde se escribían los discos en la interfaz gráfica no estaba siendo utilizado de buena manera. Para corregir esto se opta por cambiar el objeto gráfico a QTextEdit.

 

Otra dificultad que se presentó fue al momento de implementar el código que ordenaría los resultados de menor error a mayor error, pues se presentaban muchos problemas relacionados al manejo de vectores (esto debido a que los resultados se guardan en un vector). Finalmente se logró entender bien cómo funcionaba y se implementó el algoritmo bubble sort para ordenarlos.

 

Bugs

 

Actualmente existe un bug el cual hace que el programa colapsa y se cierra. Esto ocurre con algunos pasos y algunas tolerancias en particular.

 

El repositorio del proyecto se puede encontrar en el siguiente link, y el archivo comprimido del proyecto se puede descargar acá.