Banco de herramientas para la generación Automática de piezas CAD programado con Python para hardware Libre
Archivos
Fecha
2020
Autores
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
Palabras clave
Citación
Colecciones
Excepto si se señala otra cosa, la licencia del ítem se describe como Attribution-NonCommercial-NoDerivatives 4.0 Internacional