Un kernel de geometría completamente basado en tecnología Open CASCADEque permite operaciones tridimensionales complejas en tipos de formas complejas, con soporte nativo para conceptos como Representación de Límites (BREP), curvas y superficies B-splines racionales no uniformes (NURBS), un amplio abanico de entidades geométricas, operaciones booleanas yfillets, y soporte nativo de los formatosSTEP yIGES
Un modelo paramétrico completo. Todos los objetos FreeCAD son nativamente paramétricos, lo cual significa que su forma puede estar basada en propiedades o incluso depender de otros objetos. Todos los cambios son recalculados a petición, y registrados en una pila deshacer/rehacer. Pueden agregarse fácilmente nuevos tipos de objetos, e incluso pueden ser programados en Python.
Una arquitectura modular que permite extensiones plug-in (módulos y bancos de trabajo) para agregar funcionalidad a la aplicación base. Una extensión puede ser tan compleja como toda una nueva aplicación programada en C++ o tan simple como un script de Python o una macro grabada personalmente . Tienes acceso completo a casi cualquier parte de FreeCAD desde el intérprete Python incorporado, macros o scripts externos, ya sea a la creación y transformación de geometría, la representación 2D o 3D de dicha geometría (Escenógrafo) o incluso a la interfaz de FreeCAD.
Importar/exportar a formatos estándar tales como STEP, IGES, OBJ, STL, DXF, SVG, DAE, IFC o OFF, NASTRAN, VRML además del formato de archivo FCStd nativo de FreeCAD. El nivel de compatibilidad entre FreeCAD y otro formato puede variar, dado que depende del banco de trabajo que lo implemente.
Un Sketcher con un solver de restricciones integrado, que te permite dibujar formas 2D geométricamente acotadas. Las formas 2D acotadas que se construyen con Sketcher pueden ser usadas como base para construír otros objetos en FreeCAD.
Un banco de trabajo de dibujo técnico con opciones para vistas en detalle, vistas de sección, cotas de dimensión y otras, que permite generar vistas 2D de modelos 3D existentes. El banco de trabajo produce luego archivos SVG o PDF para exportación.
multiplataforma. Se ejecuta y se comporta exactamente de la misma manera en Windows, Linux,macOS y otras plataformas.
aplicación completamente gráfica (GUI). FreeCAD cuenta con una completa interfaz gráfica de usuario basada en el famoso entorno Qt, con un visualizador 3D basado en Open Inventor, que permite un rápido renderizado de escenas 3D y una representación gráfica de escenas muy accesible.
se ejecuta como una aplicación de línea de comandos. En el modo de línea de comandos, FreeCAD se ejecuta sin su interfaz gráfica, pero con todas sus herramientas de geometría. En este modo tiene requerimientos de memoria relativamente menores y puede ser utilizado, por ejemplo, como servidor para producir contenidos para otras aplicaciones.
puede ser importado como un módulo de Python. FreeCAD puede ser importado en cualquier aplicación que pueda ejecutar scripts de Python. Como en el modo de línea de comandos, la parte de la interfaz de FreeCAD no está disponible, pero todas las herramientas de geometría son accesibles.
concepto de Bancos de trabajo: En la interfaz de FreeCAD, las herramientas se agrupan en Bancos de trabajo (Bancos de trabajo). Esto permite mostrar sólo las herramientas utilizadas para llevar a cabo una cierta tarea, manteniendo el espacio de trabajo ordenado y acondicionado, y que la aplicación se cargue rápidamente.
entorno de plugin/módulos para la carga tardía de características/tipos de datos. FreeCAD está dividido en una aplicación central con módulos y bancos de trabajo que se cargan sólo cuando se necesitan. Casi todas las herramientas y tipos de geometría se almacenan en módulos. Los módulos se comportan como plugins; además de la carga tardía, se pueden añadir o eliminar módulos individuales de una instalación existente de FreeCAD.
objetos de documentos asociativos paramétricos. Todos los objetos de un documento de FreeCAD pueden ser definidos por parámetros. Esos parámetros pueden ser modificados y recalculados en cualquier momento. Dado que las relaciones entre los objetos se mantienen, la modificación de un objeto se propagará automáticamente a cualquier objeto dependiente.
creación primitiva paramétrica. Los objetos primitivos como la caja, la esfera, el cilindro, etc. pueden ser creados especificando sus restricciones geométricas.
operaciones de modificación gráfica. FreeCAD puede realizar traslación, rotación, escalado, espejado, desplazamiento (ya sea trivial o como se describe en Jung/Shin/Choi) o conversión de formas, en cualquier plano del espacio tridimensional.
Geometría sólida constructiva (operaciones booleanas). FreeCAD puede hacer operaciones constructivas de geometría sólida (unión, diferencia, intersección).
creación gráfica de geometría plana. Se pueden crear gráficamente líneas, mallas, rectángulos, B-splines y arcos circulares o elípticos en cualquier plano del espacio 3D.
modelado con extrusionesrectas o de revolución, secciones y redondeos.
Componentes topológicos como vertices, bordes, mallas y planos.
probando y reparando. FreeCAD tiene herramientas para probar mallas (prueba de sólidos, prueba de no-dos-móviles, prueba de auto-intercesión) y para reparar mallas (llenado de agujeros, orientación uniforme).
Anotaciones. FreeCAD puede insertar anotaciones para el texto o las dimensiones.
entorno Deshacer/Rehacer. Todo en FreeCAD puede deshacerse/rehacerse, con acceso de usuario a la pila de deshacer. Se pueden deshacer varios pasos a la vez.
orientado a la transacción. La pila de deshacer/rehacer almacena las transacciones de documentos, no las acciones individuales, permitiendo que cada herramienta defina exactamente lo que debe deshacerse o rehacerse.
entorno de trabajo para Scripts incorporado. FreeCAD cuenta con un intérprete Python incorporado, con una API que cubre casi cualquier parte de la aplicación, la interfaz, la geometría y la representación de esta geometría en el visor 3D. El intérprete puede ejecutar tanto scripts complejos como comandos individuales; se pueden programar módulos enteros completamente en Python.
Consola de Python incorporada. El intérprete de Python incluye una consola con resaltado de sintaxis, autocompletado y un navegador de clases. Los comandos de Python pueden ser emitidos directamente en FreeCAD y devolver inmediatamente los resultados, permitiendo a los escritores de scripts probar la funcionalidad sobre la marcha, explorar el contenido de los módulos de FreeCAD y aprender fácilmente sobre los aspectos internos de FreeCAD.
refleja la interacción del usuario. Todo lo que el usuario hace en la interfaz de FreeCAD ejecuta código Python, que puede imprimirse en la consola y registrarse en macros.
Capacidades completas de grabación y edición de macro. Los comandos de Python emitidos cuando el usuario manipula la interfaz pueden ser grabados, editados si es necesario, y guardados para ser reproducidos más tarde.
Formato compuesto (basado en ZIP) para guardar documentos. Los documentos de FreeCAD se guardan con una extensión .FCStd. El documento puede contener muchos tipos diferentes de información como geometría, scripts o iconos en miniatura. El archivo es en sí mismo un contenedor zip; un archivo FreeCAD guardado ya ha sido comprimido.
Interfaz gráfica de usuario totalmente personalizable/scriptible. La interfaz basada en Qt de FreeCAD es totalmente accesible a través del intérprete de Python. Aparte de las simples funciones que FreeCAD proporciona a los ambientes de trabajo, todo el framework Qt es accesible. El usuario puede realizar cualquier operación en la GUI como crear, añadir, acoplar, modificar o eliminar widgets y barras de herramientas.
miniaturas. (actualmente sólo en sistemas Linux) Los iconos de los documentos de FreeCAD muestran el contenido del archivo en la mayoría de las aplicaciones de gestión de archivos, como el Nautilus de Gnome.
Instalador MSI modular. El instalador de FreeCAD permite instalaciones flexibles en sistemas Windows. También se mantienen paquetes para sistemas Ubuntu.