Un kernel geometrico (nucleo) basato su OpenCasCade permette operazioni complesse su profili di varia natura, anche molto articolati. È presente il supporto nativo al BREP, alle curve e alle superfici NURBS, una vasta gamma di entità geometriche, di operazioni booleane e raccordi, e il supporto interno per i file STEP e IGES.
Un modellatore interamente parametrico. Tutti gli oggetti di FreeCAD sono nativamente parametrici, il che significa che la loro forma può essere basata sulle proprietà o anche dipendere da altri oggetti. Tutte le modifiche possono essere ricalcolate a richiesta, e registrate dall'albero delle operazioni annulla o ripeti. Possono essere aggiunti facilmente nuovi tipi di oggetti, e possono anche essere completamente programmati in Python
Una architettura modulare permette di estendere le funzioni del programma attraverso l'utilizzo dei plugins. Un'estensione può essere complessa, come un'intera nuova applicazione programmata in C++ o essere semplice, come uno script Python o una macro auto-registrata. Attraverso l'utilizzo della riga di comando integrata nella GUI, è possibile accedere praticamente a tutte le funzionalità del software per mezzo di semplici comandi Python. Si possono creare e/o modificare oggetti geometrici, interagire con l'ambiente di lavoro o addirittura personalizzare l'interfaccia grafica del programma.
È possibile importare ed esportare molti dei formati standard di rappresentazione 3D, come ad esempio: STEP, IGES, OBJ, STL, DXF, SVG, DAE, IFC oppure OFF, NASTRAN, VRML, oltre al formato nativo di FreeCAD FCStd. Il livello di compatibilità tra FreeCAD e un formato di file specifico è variabile, dipende dal modulo che lo implementa.
Un ambiente di sketch dotato di strumenti per disegnare sagome in 2D vincolate. Questa funzionalità permette di vincolare in diversi modi le geometrie tracciate e poi di utilizzarle come base per la costruzione delle forme 3D.
Un modulo di simulazione robotica con il quale studiare i movimenti del manipolatore in un ambiente grafico.
Un nuovo modulo comodo per creare fogli di disegno tradizionali con opzioni per viste di dettaglo, sezioni trasversali, quotatura e altre, che consente di inserire delle viste 2D dei modelli 3D su un foglio. Questo modulo produce quindi fogli SVG o PDF pronti per l'esportazione.
Un modulo dedicato al rendering per mezzo del quale si possono esportare i modelli 3D ed effettuare renderizzazioni con software di terze parti. Al momento è pienamente supportato solo POV-Ray.
Un modulo Path dedicato alle lavorazioni meccaniche e al Computer Aided Manufacturing (CAM). Il modulo path è in grado di produrre, visualizzare e modificare il Codice G utilizzato per controllare la macchina di destinazione.
multipiattaforma. FreeCAD funziona esattamente allo stesso modo su piattaforme Microsoft Windows®, Linux e macOS®.
interfaccia grafica completa basata sulla piattaforma Qt e una interfaccia di visualizzazione 3D basata su Open Inventor che garantisce un rendering rapido e permette di accedere facilmente alle varie proiezioni della scena.
funziona tramite riga di comando. In modalità riga di comando, FreeCAD viene eseguito senza la sua interfaccia ma con tutti i suoi strumenti di geometria. In questa modalità ha un ingombro di memoria relativamente basso e può essere utilizzato, ad esempio, come server per produrre contenuti per altre applicazioni.
può essere importato come un modulo Python. FreeCAD può essere importato in qualsiasi applicazione in grado di eseguire script Python. Come in modalità riga di comando, la parte di interfaccia di FreeCAD non è disponibile, ma tutti gli strumenti di geometria sono accessibili.
concepito in Ambienti. Nell'interfaccia di FreeCAD gli strumenti sono raggruppati all'interno di workbenches (ambienti di lavoro). Questo permette che vengano visualizzati soltanto gli strumenti necessari all'azione specifica che si deve compiere, ottenendo un'area di lavoro pulita, facile da gestire e veloce da caricare.
plugins e moduli per il caricamento ritardato di funzioni e dati. FreeCAD è diviso in un'applicazione principale con moduli che vengono caricati solo quando è necessario. Quasi tutti gli strumenti e i tipi di geometria sono memorizzati nei moduli. I moduli si comportano come dei plug-in; oltre al caricamento ritardato, è possibile aggiungere o rimuovere singoli moduli da un'installazione di FreeCAD esistente.
gestione parametrica degli oggetti. In un documento di FreeCAD tutti gli oggetti possono essere definiti da parametri. Questi parametri possono essere modificati e ricalcolati in qualsiasi momento. Poiché le relazioni tra gli oggetti vengono mantenute, la modifica di un oggetto si propaga automaticamente a qualsiasi oggetto dipendente.
creazione parametrica di primitive. Gli oggetti primitivi come box, sfere, cilindri, ecc. possono essere creati specificando i loro vincoli geometrici.
operazioni di modifica grafica. FreeCAD può eseguire traslazioni, rotazione, ridimensionamento, mirroring, offset (triviali o come descritte in Jung/Shin/Choi) o anche trasformazione della forma, in qualsiasi piano dello spazio 3D.
constructive solid geometry (operazioni booleane). FreeCAD può eseguire operazioni di geometria solida costruttiva (unione, differenza, intersezione).
creazione grafica di geometrie piane. Linee, spezzate, rettangoli, B-spline e archi circolari o ellittici possono essere creati graficamente in qualsiasi piano dello spazio 3D
modellazione lineare o rivolutiva di estrusioni, sezioni e raccordi.
elementi topologici quali vertici, spigoli, contorni e piani facilmente ottenibili anche tramite script Python.
test e correzione. FreeCAD dispone di strumenti per il test delle mesh (test solido, test di non-due-varietà, test di auto-intersezione) e per la riparazione di mesh (riempimento del foro, orientamento uniforme).
annotazioni. FreeCAD può inserire annotazioni per testo o dimensioni.
strumento annulla/ripristina. In FreeCAD si può annullare o ripristinare tutto tramite l'accesso diretto allo storico delle azioni. In questo modo è possibile annullare più modifiche contemporaneamente.
gestione delle modifiche. Lo storico annulla/ripristina conserva le informazioni sulle modifiche globali e non sulla singola azione, così ogni singolo strumento può gestire esattamente ciò che deve essere annullato o ripristinato.
strumento di sviluppo di script integrato. FreeCAD fornisce un interprete Python integrato nel programma e delle API che coprono la quasi totalità del programma, come ad esempio l'interfaccia, la geometria e la visualizzazione 3D. L'interprete è in grado di gestire singoli comandi così come interi script complessi. Tutti i moduli possono essere gestiti tramite Python.
console Python integrata. L'interprete Python include una console completa con evidenziazione della sintassi, auto-completamento ed esplorazione delle classi. I comandi python possono essere inviati direttamente in FreeCAD ed essere eseguiti immediatamente, permettendo a chi scrive codice di testare immediatamente al volo le funzionalità, esplorare i contenuti dei moduli di FreeCAD e impararne facilmente i componenti.
azioni dell'utente registrate nella console. Tutto ciò che l'utente fa nell'interfaccia di FreeCAD viene eseguito tramite del codice Python, che può essere scritto sulla console e registrato nelle macro.
registrazione e editazione di macro.. I comandi Python generati quando l'utente manipola l'interfaccia possono essere registrati, modificati, e se necessario, salvati per essere poi riprodotti in seguito.
formato dei file composto (basato su ZIP). I documenti di FreeCAD vengono salvati con un'estensione .FCStd. Il documento può contenere molti tipi diversi di informazioni come la geometria, gli script o le icone delle miniature. Il file .FCStd è esso stesso un contenitore zip; un file di FreeCAD salvato è già compresso.
G.U.I. completamente personalizzabile. L'interfaccia di FreeCAD è basata su Qt ed è completamente configurabile tramite l'interprete Python. Oltre alle funzioni standard definite nel software, si ha a disposizione la potenze e la versatilità dell'intero framework Qt, il quale permette di aggiungere, spostare, agganciare oppure eliminare i widgets dall'area di lavoro.
creazione di miniature (per ora disponibile solo su piattaforme GNU/Linux). le icone dei documenti salvati in formato .fcstd forniscono una comoda anteprima del loro contenuto in molte applicazioni di gestione dei file, come Nautilus di Gnome, rendendo facile individuare i propri elaborati.
installatore MSI modulare. L'installatore di FreeCAD garantisce una installazione flessibile in ambienti Microsoft Windows®. Sono disponibili anche dei pacchetti specifici per Ubuntu.