Banco de herramientas para la generación Automática de piezas CAD programado con Python para hardware Libre

Fecha

2020

Título de la revista

ISSN de la revista

Título del volumen

Editor

Universidad Rey Juan Carlos

Resumen

Este trabajo final de grado consiste en la realización de un banco de herramientas desarrollado en lenguaje Python bajo licencia LGPL-3.0 que se encuentra disponible de forma gratuita en GitHub [52]. El diseño de sistemas CAD requiere mucho tiempo y de la realización de numerosas pruebas. En busca de reducir el tiempo invertido y las pruebas a realizar se propone la utilización del banco de herramientas creado en este proyecto. Este banco de herramientas contiene modelos paramétricos 3D con fines mecatrónicos y ópticos. Estos modelos se pueden particularizar y emplear para generar el diseño de sistema mecatrónicos a base de click de ratón. Este banco de herramientas está desarrollado para FreeCAD, un programa CAD de licencia abierta, bajo la idea de poner al alcance de cualquier persona los modelos paramétricos que se incluyen en el banco de herramientas independientemente de las características del equipo informático con el que cuente. Estos modelos paramétricos disponibles en el banco de herramientas están basados en un Diseño de clases propio. Este Diseño de clases ofrece una serie de características a los modelos entre las cuales destacan los puntos internos. Estos son unos puntos de interés en el modelo, como por ejemplo sería el centro del orificio de un tornillo. Con estos puntos internos se simplifica la creación de modelos pudiendo hacerlo directamente en su posición final dentro del diseño de un sistema CAD. Si las necesidades del usuario final no se ven satisfechas con los modelos incluidos en el banco de herramientas, el usuario puede generar sus propios modelos con la biblioteca de funciones que se incluye en el repositorio del proyecto. Esta biblioteca de funciones sigue el principio de modularidad y permite realizar el diseño de modelos 3D en lenguaje Python con una menor cantidad de líneas de código. De cara a que el usuario final del banco de herramienta realice un uso correcto y pueda aprovechar todas las funcionalidades que se aportan, se realiza una página web con la documentación necesaria en ReadtheDocs [55]. En esta página web se pueden encontrar una guía de instalación, tutoriales y videotutoriales. También se encuentran la biblioteca de funciones, con todas sus funciones en detalle, y las características de los modelos. Junto al banco de herramientas y con el fin de demostrar su utilidad, se ha diseñado, fabricado y montado el sistema posicionador lineal de un filtro óptico (Filter Stage). Además, para demostrar el correcto funcionamiento de este sistema, se ha diseñado y montado un sistema de control específico. Dicho sistema de control está basado en un microcontrolador Arduino y un conjunto de sensores que actúan en el sistema Filter Stage por medio de un motor paso a paso. La realización del montaje físico del sistema y su sistema de control dotan al trabajo final de grado de una vertiente aplicada de la ingeniería industrial. Adicionalmente, el sistema Filter Stage se puede incluir dentro de los proyectos Open Labware. Estos proyectos tienen el fin de crear material de laboratorio más económico y accesible que los equipos comerciales y se promueven la ciencia abierta y la reproducibilidad de experimentos en las mismas condiciones. Para concluir, cabe destacar la publicación del banco de herramientas en el foro oficial de FreeCAD. Tras esta publicación se obtuvieron propuestas de mejora por parte de los usuarios del programa que habían probado el banco de herramientas. Finalmente, el banco de herramientas ha sido aceptado como banco de herramientas externo de FreeCAD de manera oficial siendo publicado en el listado de la página oficial del programa [58]. Asimismo, se deben destacar los conocimientos necesarios de lenguaje Python como del módulo PySide2, para la creación de la interfaz de usuario, y el módulo Sphinx, para la creación de la página web. Por último, hay que mencionar que el proyecto, sin contar las líneas en blanco, supone un total de 67 archivos con 28.430 líneas de código en lenguaje Python con 21.614 líneas de comentarios en lenguaje Python y 471 líneas en lenguaje reStructuredText.

Descripción

Trabajo Fin de Grado leído en la Universidad Rey Juan Carlos en el curso académico 2019/2020. Director: Felipe Machado Sánchez

Citación

license logo
Excepto si se señala otra cosa, la licencia del ítem se describe como Attribution-NonCommercial-NoDerivatives 4.0 Internacional