viernes, 22 de abril de 2016

Macros en FreeCAD


En esta entrada veremos resumidamente de que se tratan las Macros en FreeCAD. Si no sabes que es FreeCAD en este blog se hizo una descripción completa del mismo el siguiente enlace.

¿Que son las Macros en FreeCAD?


En la wiki de FreeCAD podemos encontrar la siguiente definición de las Macros: "Las macros son una forma cómoda de crear acciones complejas en FreeCAD. Simplemente graba las acciones a medida que las haces, a continuación, lo guardas con un nombre, y las podrás reproducir siempre que lo desees. Dado que las macros son en realidad una lista de comandos de Python, también puedes editar y crear archivos de guión (scrips) o secuencias de comandos muy complejos".


Cada acción que hacemos en FreeCAD (en realidad casi todas, faltan algunas) es una función en Python, el cual es un lenguaje de programación muy avanzado. Esto nos permite escribir nuestros scripts para realizar tareas en FreeCAD y a estos los llamamos Macros. De esta manera podemos:

  • Crear nuevos objetos.
  • Modificar los objetos existentes.
  • Modificar la representación 3D de dichos objetos.
  • Modificar la interfaz de FreeCAD.
  • Automatizar tareas.
  • Interactuar con otros programas externos.
Todo gracias al poder de Python y sus librerías.



Crear una Macro


Estas acciones se se pueden grabar en una macro mientras vamos ejecutando las tareas en la interfaz gráfica utilizando la barra de herramientas Macro: Macros toolbar.jpg
Cuenta con 4 opciones, grabar, detener la grabación, editar y reproducir la macro actual. 
Simplemente empieza a grabar distintas acciones y luego puedes estudiar el código resultante. Para mas información puedes consultar la wiki en la sección Macros donde además se muetra sencillo ejemplo.

También podemos escribir nuestras propias macros en un editor de texto externo o en el que proporciona FreeCAD en su interfaz.

Algo muy útil es la consola de Python. Para poder verla vamos al menú Ver - Paneles - Consola de Python, esta cuenta con el mecanismo de auto-completar lo cual es muy útil a la hora de estudiar los comandos existentes.


* Recomiendo leer la wiki de FreeCAD sobre python en FreeCAD


Utilizar una Macro que compartió la comunidad


La comunidad de FreeCAD provee una gran variedad de Macros, desde simples comandos para crear objetos hasta módulos completos.
Estas Macros se discuten en la sección del foro especifica llamada "Python scripting and macros".
Las distintas macros se van subiendo al Contenedor de Macros (Macros Recipies) oficial, a distintos repositorios en Github, o simplemente están en el mismo foro o en la web. Recomiendo leer atentamente las instrucciones de instalación para cada Macro.

En el caso de encontrar problemas, o si se te ocurren mejoras, no dudes en escribir en el foro especificando claramente la macro en cuestión, el sistema operativo y la versión de FreeCAD que estas utilizando.


Contenedores de Macros comunitarios oficial de FreeCAD

 

Como vimos FreeCAD  cuenta con algunas Macros "oficiales" en el contenedor Macros_recipes. En esa pagina podemos encontrar mas de 100 macros para todo tipos de uso, como por ejemplo, para crear perfiles NACA, curvas parametricas, creación de bulones y  tornillos, acciones conjuntas con el mouse, herramientas para renderizado, creación de piezas por medio de chapas, animaciones, etc.

Macro para instalar Macros (Addons_instaler)


La comunidad de FreeCAD además proporciona una increíble macro con cual podemos instalar y actualizar las Macros mas importantes de la comunidad. Se llama addons_instaler, la podemos bajar del siguiente enlace de Github.

Para instalarla es necesario bajar el siguiente script (la opción raw es la que se utiliza para bajar un archivo de texto dentro de Github), luego guardar este en la carpeta que utilizamos para contener las macros.
Si no conoces la dirección de la carpeta en la que se contienen los macros, dentro de FreeCAD podemos ir al menú Macro - Macros..., y abajo en el cuadro de dialogo de selección podemos encontrar la ruta que buscamos.

Luego para instalar o actualizar una macro solo debemos primero ejecutar la macro addons_instaler y seleccionar la macro deseada para luego clickear en Installl / update. para instalarla o actualizarla en el caso de que ya este instalada.
Ten en cuenta que algunas macros para funcionar necesitan configurar algunos parámetros dentro del script correspondiente. Cualquier duda no dudes en preguntar aquí o en el foro correspondiente.

 

Mis Macros

 

En mi caso yo he programado varias Macros que las pueden encontrar en mi cuenta de Github. Las macros que hasta ahora subí son las siguientes:

  • Macro para renderizar con Povray
Con esta macro se puede: editar archivos de Povray (.pov), configurar el tamaño de la imagen final, configurar la calidad, antialiasing, el canal alfa, renderizar presentando un de informe del proceso y más opciones de comandos dentro de FreeCAD.
Un vídeo demostrativo lo podemos ver en mi canal de Youtube en el siguiente enlace.
  • GMSH Macro 
Con esta macro podemos crear mallas 1D, 2D y 3D con el mallador Gmsh dentro de FreeCAD para poder ser utilizadas en el Modulo FEM.

Podemos encontrar un vídeo demostrativo (aunque desactualizado) en mi canal de Youtube en el siguiente enlace.

  • Crear curvas parametricas
Con esta macro podemos crear una curva parametrica descripta por distintas ecuaciones matemáticas.
Podemos encontrar un vídeo demostrativo (aunque desactualizado) en mi canal de Youtube en el siguiente enlace.
  • Animar sketch con constrains
Con esta macro podemos animar un sketch o esbozos a través de las restricciones geométricas (o constrains).

Podemos encontrar un vídeo demostrativo en mi canal de Youtube en el siguiente enlace.

  • Post-visualizar los resultados del modulo FEM en CGX

Podemos encontrar un vídeo demostrativo en mi canal de Youtube en el siguiente enlace.


Espero que esta entrada sirva para poder explotar muchas potencialidades de FreeCAD a través de las macros, y también que sea una inspiración para que mucho de ustedes puedan crear y compartir nuevas dentro de la comunidad.

Fecha de ultima actualización: 22/04/2016