| Créateur | Jürgen Riegel, |
|---|---|
| Développé par | Jürgen Riegel, Werner Mayer, Yorik van Havre, |
| Première version | le 29 octobre 2002 |
| Dernière version | 1.1.4 (), |
| Dépôt | github.com/FreeCAD/FreeCAD |
| Assurance qualité | Intégration continue |
| Écrit en | C++ et Python |
| Interface | Qt |
| Système d'exploitation | Linux, Microsoft Windows, Unix, macOS et multiplateforme (d) |
| Environnement | Multiplate-forme |
| Taille des données | 452,3 Mo, 819,5 Mo et 874,5 Mo |
| Formats lus | .OBJ, Fichier STEP (en), IGES, DXF, DWG, DAE, STL, PLY, IFC, SVG, VRML, FreeCAD STereoLithography (binary) (d) et FreeCAD Standard document (d) |
| Formats écrits | Fichier STEP (en), IGES, DXF, DWG, .OBJ, DAE, STL, PLY, IFC, SVG, VRML, FreeCAD STereoLithography (binary) (d) et FreeCAD Standard document (d) |
| Langues | Multilingue |
| Type | Modélisation 3D, CAO, DAO, BIM, MEF, FAO |
| Licence | Licence publique générale GNU et Licence publique générale limitée GNU. |
| Documentation | wiki.freecad.org/Main_Page |
| Site web | FreeCAD |

FreeCAD est un logiciel libre et open source, de CAO 3D paramétrique,, publié sous licence LGPLv2+.
Il permet d'utiliser la modélisation volumique (ou CSG), la modélisation fonctionnelle (constituée par des fonctions (en) sous-jacentes), et depuis la v.0.17 la modélisation surfacique (ou B-Rep). Ces trois types de modélisation sont entièrement paramétrables.
D'abord destiné aux métiers du génie mécanique, avec la CMAO, FreeCAD s'est ensuite étendu à d'autres branches de l'ingénierie, comme l'architecture, grâce à son module BIM. Il supporte la MEF et peut être utilisé pour l'IAO, la FAO et la GCVP. FreeCAD possède une architecture modulaire et a vocation à devenir un logiciel de CFAO plus généraliste. Grâce à sa nature libre et open-source, les utilisateurs peuvent étendre ses possibilités en ajoutant divers plug-ins, ou en se servant du langage de programmation Python.
L'histoire du logiciel commence en , lorsque Jürgen Riegel, un informaticien allemand, spécialiste des capteurs 3D et de la reconstruction de surface (des modèles 3D), commence à travailler sur le projet Cas.CADE,, un framework comprenant un noyau de modélisation géométrique. Publié en 2000, sous une licence open source et renommé Open CASCADE, puis Open CASCADE Technology, ce framework a permis de réaliser un programme de CAO 3D open source, sans réécrire tout le cœur de calcul.
À partir de QSpect, un développement logiciel basé autour d'Open CASCADE, Jürgen Riegel le nomme tout d'abord : GOM ; pour Graphical Object Modeler, avec l'idée d'utiliser Python et Qt. Le , le logiciel est enregistré avec son nouveau nom : FreeCAD. Werner Meyer, l'un des collègues allemand qui participait au projet QSpect, est allé chez Imetric. C'est une société qui recherchait un nouveau logiciel pour ses capteurs 3D. En 2005, elle fait don de la majeure partie de son module de maillage, à la communauté Open Source et utilise FreeCAD, comme base logicielle pour son système de capteurs. Depuis ce temps, Werner Meyer est un développeur très actif de FreeCAD. En 2008, Yorik van Havre, un architecte belge, se joint au duo et commence à développer le module architecture, ainsi que la documentation. D'autres sont venus renforcer cette équipe par la suite,.

FreeCAD est un modeleur à conception paramétrique, qui propose des outils similaires à CATIA, NX, SolidWorks et Solid Edge.
FreeCAD utilise des bibliothèques logicielles open-source comme Open CASCADE Technology,, un puissant noyau géométrique. Ce programme dispose aussi, d'un modèle de représentation de scènes 3D, conforme au format Open Inventor et fourni par Coin3D (en). L'interface graphique est bâtie sur Qt et FreeCAD fonctionne donc de façon identique sur les plateformes Windows, macOS et GNU/Linux.
L'architecture logicielle modulaire de FreeCAD permet d'ajouter de nouvelles fonctionnalités simplement, sans devoir modifier les couches profondes de l'application.
Comme de nombreux modeleurs CAO 3D modernes, FreeCAD possède un composant 2D pour faciliter la conversion de modèles 3D en dessin 2D ; l'atelier Tech Draw introduit avec la v.0.17 (auparavant l'atelier Drawing) se chargeant de cette fonction. Toutefois le dessin 2D direct (comme AutoCAD) n'est pas la raison d'être de ce logiciel, pas plus que l'animation ou la manipulation de modèles 3D, comme Blender, Maya ou Cinema 4D qui utilisent la modélisation polygonale. Le module Mesh (maillage) de FreeCAD lui permet cependant de s'adapter à de tels environnements.
Des efforts sont faits pour étendre FreeCAD dans des secteurs comme l'architecture, avec l'atelier BIM , ou en direction de l'électrotechnique et de la construction.
FreeCAD intègre un module de simulation numérique utilisant la méthode des éléments finis, basée sur le logiciel Calculix et sur la bibliothèque VTK pour la visualisation.
Au-delà des fonctionnalités proposées par l'interface graphique, FreeCAD propose à ses utilisateurs avancés de piloter et de personnaliser le logiciel via un interpréteur et une API Python dédié.

Dans la modélisation volumique traditionnelle (ou CSG), on utilise des primitives simples, comme les cubes, les sphères et les cylindres ; que l'on va transformer à l'aide d'opérations booléennes, pour créer des solides plus complexes. Dans l'animation de gauche, réalisée avec le module Part (atelier pièce) du logiciel, une sphère et un cube sont intersectés (common dans l'arborescence), ce qui produit un nouveau volume. A ce nouveau volume, on va soustraire (cut dans l'arborescence) trois cylindres précédemment fusionnés (fusion dans l'arborescence).
Les primitives doivent être placées précisément les unes par rapport aux autres pour obtenir le résultat escompté.
Cependant du fait de la conception paramétrique, il est possible à tout moment, de modifier les positions relatives des primitives, en augmentant ou en diminuant l'interpénétration des volumes. On peut aussi faire varier les angles, ou les dimensions (longueur, largeur, profondeur) de ces primitives.
C'est d'ailleurs ce qui est fait avec les diamètres des trois cylindres, qui sont agrandis à deux reprises après leur fusion. Dans cette animation GIF, les rotations sont réalisées sur les solides (et non sur la vue 3D) par incrément successif, à partir de l'onglet « Propriété » qui permet d'éditer les paramètres (non visibles dans l'animation pour éviter la stroboscopie des images). On peut observer en haut à gauche, un onglet intitulé « Modèle » et en dessous un autre intitulé « Etiquettes & attributs ». C'est là que se trouve l'arbre de construction (ou arborescence), contenant les primitives et les opérations booléennes effectuées.
Dans la modélisation fonctionnelle ou modélisation directe, il n’est plus nécessaire de s’appuyer sur des opérations booléennes. En CAO, une fonction est une opération qui modifie la géométrie d’un objet. Des fonctions spécifiques sont déjà intégrées à certains modules ou ateliers. Nous avons par exemple les fonctions « chanfrein » et « congé » dans le module Part (l’atelier Pièce) qui permettent de travailler directement sur la pièce, comme si on l’usinait en temps réel.
Il existe toutes sortes de fonctions, elles peuvent être additive, soustractive, basée sur un profil ou sur des primitives géométriques (comme les solides de l’atelier Part utilisés en CSG), etc. Au fur et à mesure que de nouvelles fonctions sont ajoutées au modèle, chaque fonction s’appuie sur la fonction précédente. Là encore, on retrouve l’intérêt de la conception paramétrique, les fonctions étant listées de façon séquentielle dans l’arborescence du modèle, une modification en amont est répercutée en aval et finalement sur l’objet,.

Dans l’animation GIF de droite, un support mécanique est réalisé d’après un tutoriel de HarryGeier ; en utilisant l'atelier PartDesign (conception de pièces) et Sketcher (esquisseur). Une esquisse « variationnelle » en 2D, constituant la fonction de base de notre objet (ou fonction sous-jacente) est d’abord dessinée, puis contrainte à l'aide de paramètres et enfin extrudée. Une nouvelle esquisse, créée sur la face arrière va permettre de réaliser une cavité ; puis nous allons rendre la pièce symétrique, grâce à une fonction de symétrie intégrée à l’atelier. Une autre esquisse va servir pour une extrusion et la pièce va à nouveau être rendue symétrique. Enfin une dernière cavité, créée à partir de deux nouvelles esquisses sur la face avant et arrière, va donner à ce support mécanique son aspect final.
La modélisation fonctionnelle (ou modélisation directe) permet de réaliser beaucoup plus rapidement que la modélisation volumique traditionnelle, des pièces relativement complexes. Il est aussi plus facile et plus direct de modifier ou d'éditer les paramètres qui contraignent les esquisses. Cependant, les corps créés avec l'atelier PartDesign, peuvent être soumis à un problème de dénomination topologique.
FreeCAD utilise son propre format de fichier, le FreeCAD Standard file format (.FCStd). Il s'agit d'un fichier zip standard qui contient des fichiers dans une certaine structure. Les fichiers Document.xml contiennent des objets définis de manière géométrique et paramétrique mais sans leur représentation visuelle ; contrairement à ceux du type GuiDocument.xml qui sont leurs équivalents GUI et sont plus complets.
En plus du format développé par FreeCAD, les documents peuvent être exportés et importés dans les formats de fichier suivants : DXF, SVG, VRML, STEP, IGES, STL, OBJ, PLY, DAE (Collada), SCAD (OpenSCAD), IV (Inventor) et IFC.
La prise en charge par FreeCAD de l'important format de fichier DWG est problématique, en raison de l'incompatibilité des licences logicielles avec la bibliothèque GNU LibreDWG. Cette dernière a initié une véritable alternative libre, à la bibliothèque Open Design Alliance, à « code source disponible (en) » (avec plus tard les convertisseurs de fichier Teigha et ODA) et avec une licence GPLv3. Comme FreeCAD (et aussi LibreCAD) ont des dépendances avec Open CASCADE Technology, qui avant la version 6.7.0 n'était compatible qu'avec la GPLv2, ils ne pouvaient pas utiliser la bibliothèque GNU LibreDWG car les licences GPLv2 et GPLv3 sont essentiellement incompatibles (en),. Open CASCADE Technology (OCCT) est contactée par l'équipe Debian en 2009 et en 2012, il est envisagé une double licence concernant la bibliothèque d'OCCT ; mais finalement le mouvement est reporté. Toujours en 2012, une demande est adressée à la FSF pour un renouvellement de licence (en) de GNU LibreDWG en GPLv2 ou LGPLv3, mais cette dernière est rejetée.
Depuis 2014 avec la version 0.14 de FreeCAD, incluant la nouvelle version LGPL d'Open Cascade, la version sous licence BSD de Coin3D et la suppression de PyQT au profit de PySide, FreeCAD est désormais dépourvu de GPL. Cependant, LibreDWG n'est pas adopté. Le logiciel est capable d'importer et d'exporter un sous-ensemble limité du format DWG via le convertisseur ODA (l'ancienne bibliothèque OpenDWG).
Un module de FreeCAD, l'atelier Path, est disponible pour produire des instructions en G-Code, pour les machines à commande numérique, comme les fraiseuses et les tours CNC, pour la technologie soustractive, ou les imprimantes 3D pour la technologie additive. Cet atelier offre une API de script Python étendue et permet d'étendre les possibilités de la FAO.
FreeCAD est testé et utilisé par des Fablabs, comme celui de Carrefour numérique2 de la Cité des sciences et de l’industrie et différents sites de « culture maker », ou d'impression 3D, comme 3Dnatives.
Le développement de FreeCAD repose sur un travail collaboratif, lancé à son origine par Jürgen Riegel en . L'équipe de développement s'est ensuite progressivement élargie, comptant plusieurs dizaines de contributeurs réguliers en 2026. Comme pour d'autres projets libre et open source, chacun peut venir contribuer d'une manière ou d'une autre, en fonction de son temps et de ses compétences. La FreeCAD Project Association (FPA) a été créée en novembre 2021 pour centraliser les dons et les redistribuer via différents programmes soutenant le développement du logiciel. En 2025, le budget de la FPA avoisinait les 127 000 €.
Depuis 2016, FreeCAD participe au Google Summer of Code, avec BRL-CAD, OpenSCAD, LibreCAD (les quatre étant des logiciels de CAO libres) et Slic3r (pour la FAO). Ces événements permettent un effort combiné et se déroulent au sein de l'organisation parapluie de BRL-CAD, spécialement conçue pour l'occasion. Cela renforce aussi, l’interopérabilité entre ces logiciels de CAO libre et open-source.
GitHub héberge le code source et est également utilisé comme plateforme de collaboration pour le développement. L'application ainsi que le site officiel sont traduits en plusieurs langues via la plateforme collaborative Crowdin (en).

FreeCAD est représenté à de nombreux événements autour du logiciel libre, comme lors du FISL16 (en) en 2015, à Porto Alegre, ainsi que lors du Libre Graphics Meeting de Londres en 2016. Ces deux salons peuvent regrouper à la fois des développeurs et des utilisateurs. En 2020, c'est lors du FOSDEM à Bruxelles, que deux de ces développeurs, Yorik Van Havre et Brad Collette effectuent la présentation. Depuis 2023, le FreeCAD Day est organisé en marge du FOSDEM pour une journée d'échange autour du logiciel.
Avec l'essor des imprimantes 3D bon marché auprès du grand public, FreeCAD s'est popularisé davantage au sein de la « culture maker », dans les fablabs et hackerspaces. La licence permissive du logiciel ainsi que la possibilité de personnalisation de l'interface permettent une meilleure prise en main du logiciel par l'utilisateur final. La qualité de la documentation officielle et les nombreux tutoriels YouTube ont également participé à son essor.
Le logiciel est testé par des sites web du « monde Linux », comme Full Circle Magazine, linuxfr.org en 2017 ou Framboise 314 en 2019. FreeCAD est utilisé dans le monde universitaire par l'intermédiaire de France Université Numérique, lors du MOOC (le FUN) de l'EESAB de Rennes en 2020 et de l'IMT Atlantique.
D'après 3Dnatives, la communauté FreeCAD aurait compté en plus de 25 000 membres. D'après SimilarWeb, entreprise qui fournit des services d'audience de site Web, le site officiel de FreeCAD aurait été visité 650 000 fois en et 865 410 fois en .
La documentation officielle de FreeCAD est organisée sous forme de wiki, animé par le moteur MediaWiki. Ce qui implique qu'elle repose sur un travail collaboratif. C'est à partir de l'anglais qui est la langue source, que toutes les modifications sont effectuées. Tout ajout ou retrait doit d'abord être fait en anglais et c'est ensuite que l'on peut effectuer les traductions vers les autres langues. De cette manière, on évite d'avoir des documentations divergentes, entre les différentes langues, ce qui rendrait la compréhension du logiciel plus difficile. C'est une différence avec Wikipédia ou chaque version linguistique de l'encyclopédie, peut évoluer de manière indépendante sans que cela ne pose de problèmes.
En , ce wiki contient 1 884 pages pour la documentation utilisateurs. 97 pages supplémentaires sont destinées aux « utilisateurs expérimentés » et permettent notamment d'apprendre à utiliser des scripts Python,. 121 autres pages sont consacrées plus spécifiquement aux développeurs.
Il existe aussi un manuel, sous forme de livre électronique, publié sous licence Creative Commons 4.0, qui peut être plus adapté aux débutants.
Dans la documentation, le français est une des langues les plus traduites et Yorik Van Havre un des principaux développeurs, est francophone.
| Versions | Date de sortie | Informations | |
|---|---|---|---|
| 0.0.1 | Version initiale | ||
| 0.1 | |||
| 0.2 | |||
| 0.3 | |||
| 0.4 | |||
| 0.5 | |||
| 0.6 | |||
| 0.7 | |||
| 0.8 | |||
| 0.9 | |||
| 0.10 | |||
| 0.11 | |||
| 0.12 | |||
| 0.13 | |||
| 0.14 | Changement de Licence pour LGPLv2+ | ||
| 0.15 | Support de l'Oculus Rift | ||
| 0.16 | |||
| 0.17 | Roland | ||
| 0.18 | Notes de version | ||
| 0.19 | Notes de version, | ||
| 0.20 | Notes de version | ||
| 0.21.1 | Notes de version | ||
| 1.0 | Notes de version | ||
| 1.0.1 | Version de correction de bogues | ||
| 1.0.2 | Version de correction de bogues | ||
| 1.1 | Notes de version | ||
| 1.1.1 | Version de correction de bogues | ||
| 26.3 | Pas encore sortie () | Notes de version | |
Légende : Ancienne version Ancienne version, toujours prise en charge Dernière version stable Dernière version avancée Version future | |||
Concernant FreeCAD :
À propos des fondateurs :