sábado, 28 de noviembre de 2015

FreeCAD, un 3D CAD Libre


La siguiente entrada es una actualización de un post que hice hace tiempo en Taringa!  ya hace 3 años.

Es mi primer post sobre FreeCAD, herramienta que utilizo mucho y en la que participo de su comunidad.

A continuación los canales oficiales de información:
Redes sociales oficiales:

¿Que es FreeCAD?

FreeCAD es una aplicación basada en operaciones de modelado 3D paramétrico de CAD, orientada a la ingeniería mecánica y al diseño de producto, pero también se ajusta a un amplio rango de usos cercanos a la ingeniería como la arquitectura. Su Modelado paramétrico permite facílmente modificar tu diseño regresando dentro del historial del modelo y cambiando sus parámetros. FreeCAD es un programa libre y altamente personalizable, scriptable y extensible. 


 

¿Para quien es FreeCAD? 

En la pagina oficial podemos encontrar algunos cuantos casos de distintos usuarios que a continuación transcribo:

  • El usuario de casa/hobbista. ¿Tienes tu mismo un proyecto que  deseas construir, que tienes construido o que quieras imprimir en 3D? Modélalo en FreeCAD!. No se requiere experiencia previa en programas CAD y la comunidad te ayudara para conseguir terminarlo rápidamente.
  • El usuario CAD experimentado. Si usas programas de modelado CAD  o BIM comerciales en el trabajo, encontraras herramientas y un flujo de trabajo similar entre los muchos bancos de trabajo de FreeCAD disponibles.
  • El programador. La mayoría de las funcionalidades son accesibles por el lenguaje Python. Fácilmente puedes extender las funcionalidades de FreeCAD, automatizarlo con scripts, construir tus propios módulos o incluso incrustar FreeCAD en tu propia aplicación.
  • El educator. Enseña a tus estudiantes un programa libre sin preocuparse de la compra de licencias. Ellos pueden instalar la misma versión en sus casas y continuar usándolo después de salir de la clase.
 

Principales características


>>  Un completo núcleo de geometría basado en OpenCasCade que permite realizar operaciones 3D complejas y todo tipos de formas. Soporta de manera nativa conceptos como brep, nurbs, operaciones booleanas y redondeos entre otra gran cantidad de opciones.


>>  Una arquitectura modular que admite plugins (módulos) para añadir funcionalidades a la aplicación principal. Dichas extensiones pueden ser tan complejas como nuevas aplicaciones completas o tan simples como archivos de guión en Python o macros grabadas de manera automática. En la wiki en la sección Macros (recipiente de macros) podrás encontrar una variedad de macros que comportan distintos usuarios, los mismo están organizados por categorías. Si creaste un macro interesante atrévete y compártelo!. En la sección del foro correspondiente podrás compartir tu macro y consultar todas las dudas sobre los mismos.

>>  La posibilidad de crear un completo modelo paramétrico que permite cualquier tipo de objetos personalizados, incluso se puede programar completamente en Python.

>>  Acceso completo desde el interprete integrado de Python, macros o archivos de guión externos a casi cualquier parte de FreeCAD, incluyendo la creación y transformación de geometría, la representación 2D o 3D de dicha geometría (Gráficos de escena) o incluso la interfaz de FreeCAD.


>>  Importar/exportar en una gran variedad de formatos estándares como STEP, IGES, OBJ, DXF, SVG,STL, DAE, VRML, IFC entre otros, en adición al formato de archivos nativo de FreeCAD.

>>  Un entorno de Bocetos con resolución de restricciones, permitiendo croquizar formas 2D con restricciones geométricas. El entorno de bocetos actualmente permite definir diversos tipos de restricciones geométricas, y utilizarlas como base para crear otros objetos 3D en todo FreeCAD.
Existe una versión en desarrollo totalmente nueva de este modulo, el mismo cambia un poco el concepto de uso de esta herramienta añadiendo el concepto de "Body Container", en el cual todas nuestras operaciones con el modulo Part Design se contienen en un elemento llamado Body. Este desarrollo (Part Design Next) traerá a FreeCAD de diseños mas robustos en cuanto a sus estructuras de diseño.


>> Un módulo de Simulación de Robots que permite estudiar los movimientos de robots. El módulo de Simulación de Robots ya dispone de un interfaz gráfico extendido que permite trabajar solo a través de la interfaz gráfica de usuario.


>>  El Módulo de Mallas se ocupa de las mallas 3D (meshes). Está destinado básicamente a la importación, adaptación y conversión a FreeCAD de las mallas generadas por otros programas, así como a la exportación en formato tipo malla de la geometría FreeCAD.

También hay muchas herramientas que están en desarrollo


>>  El modulo para Arquitectura que proporciona un moderno entorno de trabajo BIM para FreeCAD, con soporte para características como el soporte para IFC, entidades arquitectónicas enteramente paramétricas como muros, elementos estructurales o ventanas, y producción de documentación 2D avanzada. El entorno de Arquitectura también incorpora todas las herramientas del entorno de Draft.



>> Un modulo para diseño de Barcos (FreeCAD-Ship) trata de ofrecer todas las herramientas necesarias durante la fase de diseño de un buque o barco referente a la Arquitectura Naval. Aunque está todavía en fase de desarrollo cuenta con varias herramientas para hacer cálculos como las curvas hidrostáticas del diseño de tu barco.



>>  Un módulo de Hojas de dibujo que permite poner vistas 2D de tus modelos 3D en una hoja de dibujo o plano. Este módulo tiene la posibilidad de exportar las hojas luego a formatos SVG, DXF o PDF.
El módulo oficial aún está poco desarrollado, pero cuentan con varias funciones en python que extienden su funcionalidad. Existe una versión en desarrollo que permitirá en el futuro agregar las cotas al dibujo de manera sencilla y además se actualizar automáticamente si se actualiza la pieza.
También existe una extensión programada en python por hamish que nos permite tener un modulo nuevo el cual nos permite agregar fácilmente las cotas a nuestro dibujo, distintos símbolos, textos, entre varias opciones mas. Es muy sencilla de instalar, solo hay que siegue las instrucciones que proporciona en el proyecto que se aloja en github



>>  Un módulo de Renderizado el cual puede trabajar con renders externos como son el scripteable PovRAY o el avanzado LuxRender a través de "templates" o "escenas". Todavía esta en desarrollo pero ya contamos con varias opciones.
También se pueden exportar los objetos 3D para renderizarlos con aplicaciones de render externas como Blender.



>> Un módulo de Ensamblajes que permite trabajar con múltiples formas, múltiples documentos, múltiples archivos, múltiples relaciones entre distintas partes mediante restricciones geométricas. El modulo esta en pleno desarrollo y también depende del desarrollo del nuevo modulo de bocetos (Part Design Next) asi que probablemente llegaran en conjunto.
También constamos hoy en día con el modulo Assembly2, un modulo programado en python por el usuario hamish (si el mismo :) ) que nos permite hacer ensamblajes con las versiones actuales de FreeCAD. Mas información podemos encontrar en la pagina en github del proyecto.



>>  Módulo de Mecanizado (CAM) está dedicado a tareas de mecanizado industrial, como el fresado con herramientas CNC. Este módulo está en una etapa de desarrollo inicial y, de momento está básicamente orientado al conformado incremental. Aunque hay algunos algoritmos para planificación de trayectorias de mecanizado, de a poco se están agregando herramientas operativas para el usuario final.



>> Módulo de elementos finitos (FEM). Este proporciona una integración con el solver de elementos finitos llamado Calculix; tiene un activo desarrollo en la versión 0.16 (versión de desarrollo), y ya cuenta con varias características para hacer análisis estructurales de piezas, como estáticos lineales y cálculos de modos de vibrar. Otras opciones como poder utilizar multiples materiales, contacto entre piezas, etc, están en pleno desarrollo.
Para crear el mallado utiliza el mallador Netgen, pero también podemos utilizar Gmsh a través del siguiente macro.
También en este ultimo tiempo se esta trabajando fuerte las herramientas de post-procesamiento de los resultados en FreeCAD, así como la posibilidad de incorporar de otros solvers (Elmer) y del solver para simulaciones fluido dinámicas CFD OpenFOAM.


 
>> El modulo OpenSCAD, el cual combina el poder de OpenSCAD con FreeCAD.

>> El modulo Fasteners y Bolts con los cuales podemos acceder a una gran librería de piezas como tornillos, tuercas, rodamientos, etc. Estos modulos son adiciones a FreeCAD, no vienen en la versión original.
Existe una biblioteca de partes oficial de FreeCAD, Parts Library, la cual cuenta con una gran variedad de todo tipo de piezas. Anímate a colaborar con cualquiera de estas librerías, es fácil y estas aportando algo a esta comunidad. 

>> El modulo Plot para hacer gráficos con la librería de python matplotlib.

>> El modulo spreadsheet o "hoja de calculo", modulo por el cual podemos utilizar una planilla de calculo tipo Calc de Libreoffice para controlar nuestras piezas o poder hacer distintas operaciones a través de sus propiedades.

>>  Existen otros modulos en desarrollo como el modulo PLM (integración con OpenPLM), Lattice workbench, Animation, Plegados de chapa, etc

>>  La listas de módulos o workbenchs oficiales la podemos encontrar en el siguiente link.


Hazme saber si me he olvidado de algún modulo en la sección comentario.

Algunas Imágenes

A continuación dejo algunas imágenes de distintos proyectos con el que utilice FreeCAD:

Buggy (por mi, render con Blender):


Bomba hidráulica (por ppemawm):


Modelo de motor a combustión interna (por lhf):

Impresora 3D (por Normand):

Motor estrella aeronáutico (por ppemawm):

Jeep (por mi, render con FreeCAD y PovRay):




Robot imprimible Prinbot (Juan Gonzales Gomez (Obijuan)):

Instalación

FreeCAD multiplataforma, funciona tanto en Linux, Windows y Mac.
La ultima versión estable es la 0.16 y la de desarrollo la versión 0.17. Se recomienda en esta etapa de desarrollo utilizar la versión 0.16, ya que la 0.17 esta sufriendo muchos cambios que la hacen muy inestable.

Las instrucciones de instalación las podremos encontrar en la pagina oficial en el siguiente link.

No dudes si te surge cualquier duda o problema a la hora de la instalación consultar o preguntar en el foro.

Algunos Tutoriales

En la web existen un sin fin de tutoriales de FreeCAD, a continuación dejo los links de algunos muy interesantes.

- Video Tutorial paso a paso en español de Juan Gonzales Gomez (Obijuan):
- Modulo de arquitectura:

- Tutoriales avanzados por cad1919:

Opinión Personal

FreeCAD no pretende ser competencia ni de Solidedge, ni SolidWorks, ni Inventor, ni Catia; sino más bien una alternativa a estos programas. FreeCAD esta en constante desarrollo, queda mucho por hacer para llegar a la altura de otros CAD que hay en el mercado, los modulos oficiales en desarrollo Assembly, Part Design Next y mejoras en las relaciones topológicas le darán un salto de calidad importante al mismo cuando estén listos.
Una ventaja que tiene FreeCAD es lo fácilmente extensible que es, contar con el código del programa y el poder de modificarlo para crear versiones que se adapten a tus necesidades, otra ventaja apreciable es el no costo de licencias descabelladas para poder hacer tus proyectos CAD una realidad.
Según mi humilde opinión esta bien encaminado, ya que con el se pueden hacer muchas cosas interesantes. Si tienes alguna duda de ello, podrías pasarse por esta sección del foro donde los usuarios comparten distintos proyecto que hicieron con FreeCAD, y la verdad es increíble lo que algunos de ellos  han logrado con esta herramienta
Siempre es importante tener en cuenta que en este proyecto son solo un puñado de desarrolladores que programan, que además documentan, atienden consultas en el foro, reportan errores, etc; todo en su tiempo libre y de manera gratuita, a diferencia de otros programas que tienen desarrolladores pagos con dedicación exclusiva y una gran infraestructura alrededor.

Espero que les haya gustado.
Saludos

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