Um núcleo geométrico completo baseado na Open CASCADE Technology, permitindo operações 3D complexas em formas de geometria complexa, com suporte nativo a conceitos como Representação de Fronteira (BREP), curvas e superfícies NURBS (Non-uniform rational basis spline), uma ampla gama de entidades geométricas, operações booleanas e arredondamentos, além de suporte integrado aos formatos STEP e IGES.
Um modelo paramétrico completo. Todos os objetos do FreeCAD são nativamente paramétricos, o que significa que sua forma pode basear-se em propriedades ou até mesmo depender de outros objetos. Todas as alterações são recalculadas sob demanda e registradas em uma pilha de desfazer/refazer. Novos tipos de objetos podem ser adicionados facilmente, podendo inclusive ser totalmente programados em Python.
Uma arquitetura modular que permite extensões via plugins (módulos e bancadas de trabalho) para adicionar funcionalidades à aplicação principal. Uma extensão pode ser tão complexa quanto uma aplicação totalmente nova programada em C++ ou tão simples quanto um script Python ou uma macro gravada pelo próprio usuário. Você tem acesso completo a praticamente qualquer parte do FreeCAD a partir do interpretador Python integrado, de macros ou de scripts externos, seja para criação e transformação de geometria, para a representação 2D ou 3D dessa geometria (grafo de cena) ou até mesmo para a interface do FreeCAD.
Importação/exportação para formatos padrão como STEP, IGES, OBJ, STL, DXF, SVG, DAE, IFC ou OFF, NASTRAN, VRML, além do formato de arquivo nativo do FreeCAD, FCStd. O nível de compatibilidade entre o FreeCAD e um determinado formato de arquivo pode variar, pois depende da bancada de trabalho que o implementa.
Uma bancada Sketcher com solucionador de restrições integrado, permitindo desenhar formas 2D com restrições geométricas. As formas 2D restritas criadas com o Sketcher podem então ser usadas como base para construir outros objetos em todo o FreeCAD.
Uma bancada de desenho técnico com opções para vistas de detalhe, vistas de corte, cotagem e outras, permitindo gerar vistas 2D de modelos 3D existentes. A bancada de trabalho gera arquivos SVG ou PDF prontos para exportação.
Uma Planilha Integrada e um analisador de expressões que podem ser usados para controlar modelos baseados em fórmulas e organizar dados do modelo em um local central.
Recursos gerais:
multiplataforma. O FreeCAD roda e se comporta exatamente da mesma forma em Windows, Linux, macOS e outras plataformas.
aplicativo com interface gráfica completa. O FreeCAD possui uma interface gráfica do usuário completa baseada no framework Qt, com um visualizador 3D baseado no Open Inventor, permitindo a renderização rápida de cenas 3D e uma representação de grafo de cena de fácil acesso.
pode ser utilizado como um aplicativo baseado em linhas de comando. No modo de linhas de comando, o FreeCAD roda sem sua interface gráfica para o usupario (GUI), mas com todas as suas ferramentas de geometria. Este modo de trabalho faz uso de menos memória RAM que o modo GUI e pode ser usado, por exemplo, como um servidor para produzir conteúdo para outras aplicações.
pode ser importado como um módulo Python. O FreeCAD pode ser importado para qualquer aplicação que possa executar scripts em Python. Assim como ocorre no modo de linhas de comando, a interface gráfica do usuário (GUI) do FreeCAD não fica disponível, mas todas as ferramentas de geometria continuam acessíveis.
conceito de bancada de trabalho. Na interface do FreeCAD, as ferramentas são agrupadas em bancadas de trabalho. Isso permite exibir apenas as ferramentas utilizadas para realizar uma determinada tarefa, mantendo a área de trabalho organizada e responsiva, além de permitir que o aplicativo carregue rapidamente.
Estrutura de plugins/módulos para carregamento sob demanda de recursos/tipos de dados. O FreeCAD é dividido em uma aplicação central com módulos e bancadas de trabalho (*workbenches*) que são carregados apenas quando necessário. Quase todas as ferramentas e tipos de geometria estão armazenados nas bancadas de trabalho. As bancadas de trabalho funcionam como plugins; além do carregamento sob demanda, bancadas individuais podem ser adicionadas ou removidas de uma instalação existente do FreeCAD.
objetos parametrizáveis e associativos. Em um documento do FreeCAD, todos os objetos podem ser definidos por parâmetros, que podem ser modificados e recalculados a qualquer momento. As relações entre objetos são vitais para que a modificação de um parâmetro possa ser utilizada para modificar parâmetros de todos os objetos que dele dependem.
criação paramétrica d eprimitivas geométricas. Primitivas geométricas, como paralelepípedo, esfera, cilindro, etc. podem ser criadas a partir da especificação de suas restrições.
operações de modificação gráfica. O FreeCAD pode executar translação, rotação, dimensionamento, espelhamento, deslocamento (triviais ou conforme descrito em Jung/Shin/Choi) ou conversão de formas, em qualquer plano do espaço 3D.
Geometria Construtiva de Sólidos por operações booleanas. O FreeCAD pode fazer operações CSG para criar e editar sólidos por união, diferença e intersecção.
criação gráfica de geometria plana. Linhas, fios, retângulos, B-splines e arcos circulares ou elípticos, podem ser criados graficamente em qualquer plano do espaço 3D.
modelagem de extrusões, seções ou filetes a partir do uso de perfis, que seguem uma direção reta ou que giram ao redor de um eixo.
componentes topológicos como vértices, arestas, fios e planos.
testes e reparos. FreeCAD tem ferramentas para testar a integridade de malhas (teste de sólidos, teste de superfícies (non-two-dimensional manifold), teste de auto-intersecção) e para reparar malhas (preenchimento de furos, orientação uniforme).
anotações. O FreeCAD pode inserir anotações para texto ou dimensões.
Desfazer/Refazer estrutura. Tudo no FreeCAD é desfeito/refeito, com acesso do usuário à pilha de ações. Várias etapas podem ser desfeitas de uma vez.
orientado à transação. A pilha desfazer/refazer armazena transações realizados nos documentos (e não ações isoladas), permitindo que cada ferramenta defina exatamente o que deve ser desfeito ou refeito.
framework de script integrado. O FreeCAD possui um interpretador Python integrado, com uma API que abrange praticamente todas as partes da aplicação: a interface, a geometria e a representação dessa geometria no visualizador 3D. O interpretador pode executar tanto scripts complexos quanto comandos individuais; bancadas de trabalho inteiras podem ser programadas totalmente em Python.
Console Python integrado. O interpretador Python inclui um console com destaque de sintaxe, preenchimento automático e um navegador de classes. Comandos Python podem ser executados diretamente no FreeCAD e retornam resultados imediatamente, permitindo que desenvolvedores de scripts testem funcionalidades em tempo real, explorem o conteúdo dos módulos e bancadas de trabalho do FreeCAD e aprendam facilmente sobre o funcionamento interno do programa.
espelha a interação do usuário. Tudo o que o usuário faz na interface do FreeCAD executa código Python, que pode ser exibido no console e registrado em macros.
gravação e edição completa de macros. Os comandos Python, emitidos quando o usuário manipula a interface, podem ser gravados, editados e, se necessário, salvos para serem reproduzidos posteriormente.
formato de salvamento de documento composto (baseado em ZIP). Os documentos do FreeCAD são salvos com a extensão .FCStd. O documento pode conter diversos tipos de informações, como geometria, scripts ou ícones de miniatura. O arquivo .FCStd é, em si, um contêiner zip; um arquivo do FreeCAD salvo já está compactado.
interface gráfica do usuário totalmente personalizável/scriptável. A interface Qt do FreeCAD é inteiramente acessível através do interpretador Python. Além das simples funções que o próprio FreeCAD oferece às bancadas de trabalho, toda a estrutura Qt é acessível. O usuário pode realizar qualquer operação na GUI, como criar, adicionar, acoplar, modificar ou remover ‘widgets’ e barras de ferramentas.
thumbnailer. (atualmente apenas sistemas Linux) Os ícones do documento FreeCAD mostram o conteúdo do arquivo na maioria das aplicações de gerenciamento de arquivos, como o Nautilus do Gnome.
Instalador MSI modular. O instalador do FreeCAD permite instalações flexíveis em sistemas Windows. Pacotes para sistemas Ubuntu(baseados em Debian) também são mantidos.