Feature list/fr

Vous trouverez ici une liste approfondie, mais cependant incomplète, des fonctionnalités implémentées dans FreeCAD. Si vous voulez vous renseigner sur les fonctionnalités à venir, vous pouvez consulter le calendrier de développement. Pour un aperçu rapide, la page captures d'écran est un bon endroit à visiter.

Notes de versions

 * Note de version 0.11-Mars 2011
 * Note de version 0.12-Décembre 2011
 * Note de version 0.13-Janvier 2013

Fonctions clefs ==


 * [[Image:Feature1.jpg|left]] A complete Open CASCADE Technology-based geometry kernel allowing complex 3D operations on complex shape types, with native support for concepts like brep, nurbs curves and surfaces, a wide range of geometric entities, boolean operations and fillets, and built-in support of STEP and IGES formats


 * [[Image:Feature3.jpg|left]] A full parametric model. All FreeCAD objects are natively parametric, which means their shape can be based on properties or even depend on other objects, all changes being recalculated on demand, and recorded by the undo/redo stack. New object types can be added easily, that can even be fully programmed in Python


 * [[Image:Feature4.jpg|left]] A modular architecture that allow plugins (modules) to add functionality to the core application. Those extensions can be as complex as whole new applications programmed in C++ or as simple as Python scripts or self-recorded macros. You have complete access from the Python built-in interpreter, macros or external scripts to almost any part of FreeCAD, being geometry creation and transformation, the 2D or 3D representation of that geometry (scenegraph) or even the FreeCAD interface


 * [[Image:Feature5.jpg|left]] Import/export to standard formats such as STEP, IGES, OBJ, STL, DXF, SVG, STL, DAE, IFC or OFF, NASTRAN, VRML in addition to FreeCAD's native Fcstd file format. The level of compatibility between FreeCAD and a given file format can vary, since it depends on the module that implements it.


 * [[Image:Feature7.jpg|left]] A Sketcher with constraint-solver, allowing to sketch geometry-constrained 2D shapes. The sketcher currently allows you to build several types of constrained geomerty, and use them as a base to build other objects throughout FreeCAD.


 * [[Image:Feature9.jpg|left]] A Robot simulation module that allows to study robot movements. The robot module already has an extended graphical interface allowing GUI-only workflow.


 * [[Image:Feature8.jpg|left]] A Drawing sheets module that permit to put 2D views of your 3D models on a sheet. This modules then produces ready-to-export SVG or PDF sheets. The module is still sparse but already features a powerful Python functionality.


 * [[Image:Feature-raytracing.jpg|left]] A Rendering module that can export 3D objects for rendering with external renderers. Currently only supports povray, but is expected to be extended to other renderers in the future.


 * [[Image:Feature-arch.jpg|left]] An Architecture module that allows BIM-like workflow, with IFC compatibility. The making of the Arch module is heavily discussed by the community here.

Fonctions générales

 * FreeCAD est multiplate-forme. Le logiciel fonctionne et se comporte exactement de la même manière sur les plates-formes Windows, Linux et Mac OSX.


 * FreeCAD est une application entièrement graphique. FreeCAD possède une Interface Graphique Utilisateur développée sur le célèbre framework Qt, avec une visualisation 3D basée sur Open Inventor (lien en anglais), ce qui permet un rendu rapide des scènes 3D et une représentation du graphe de scène très accessible.


 * FreeCAD peut aussi fonctionner comme une application en ligne de commande, avec une utilisation réduite des ressources. En ligne de commande, FreeCAD s'exécute sans son interface, mais avec tous ces outils géométriques. Il est possible, par exemple, de l'utiliser comme serveur pour produire du contenu destiné à d'autres applications.


 * FreeCAD peut être importé en tant que module Python, à l'intérieur d'autres applications capables d'exécuter des scripts Python, ou dans une console Python. Comme dans le mode console (ligne de commande), l'interface de FreeCAD n'est pas disponible, mais tous les outils géométriques sont accessibles.


 * Le concept d'environnement de travail : Dans l'interface FreeCAD, les outils sont regroupés en environnements de travail. Ceci permet d'afficher uniquement les outils nécessaires à l'accomplissement d'une tâche particulière, laissant ainsi l'interface épurée et réactive, et l'application rapide à charger.


 * Framework Plugin/Module pour le chargement de fonctionnalités et de types de données.. FreeCAD est divisé en une application de base et des modules, qui sont chargés uniquement lorsque cela est nécessaire. Presque tous les outils ainsi que les types de géométrie sont stockés dans des modules. Les modules agissent comme des plugins, et peuvent être ajoutés ou enlevés à une installation existante de FreeCAD.


 * Objets paramétrables et associatifs: Tous les objets d'un document FreeCAD peuvent être définis par des paramètres. Ces paramètres peuvent être modifiés à la volée, et recalculés à tout instant. Les relations entre les objets sont ainsi mémorisées, et modifier un objet entraine la modification de tous les objets qui dépendent de celui-ci.


 * Parametric primitive creation (box, sphere, cylinder, etc)


 * Graphical modification operations like translation, rotation, scaling, mirroring, offset (trivial or after Jung/Shin/Choi) or shape conversion, in any plane of the 3D space


 * Boolean operations (union, difference, intersect)


 * Graphical creation of simple planar geometry like lines, wires, rectangles, arcs or circles in any plane of the 3D space


 * Modeling with straight or revolution extrusions, sections and fillets.


 * Topological components like vertices, edges, wires and planes (via python scripting).


 * Testing and repairing tools for meshes: solid test, non-two-manifolds test, self-intersection test, hole filling and uniform orientation.


 * Annotations like texts or dimensions


 * Undo/Redo framework: Everything is undo/redoable, with access to the undo stack, so multiple steps can be undone at a time.


 * Transaction management: The undo/redo stack stores document transactions and not single actions, allowing each tool to define exactly what must be undone or redone.


 * Built-in scripting framework: FreeCAD features a built-in Python interpreter, and an API that covers almost any part of the application, the interface, the geometry and the representation of this geometry in the 3D viewer. The interpreter can run single commands up to complex scripts, in fact entire modules can even be programmed completely in Python.


 * Built-in Python console with syntax highlighting, autocomplete and class browser: Python commands can be issued directly in FreeCAD and immediately return results, permitting scriptwriters to test functionality on the fly, explore the contents of the modules and easily learn about FreeCAD internals.


 * User interaction mirroring on the console: Everything the user does in the FreeCAD interface executes python code, which can be printed on the console and recorded in macros.


 * Full macro recording & editing: The python commands issued when the user manipulates the interface can then be recorded, edited if needed, and saved to be reproduced later.


 * Compound (ZIP based) document save format: FreeCAD documents saved with .fcstd extension can contain many different types of information, such as geometry, scripts or thumbnail icons.


 * Fully customizable/scriptable Graphical User Interface. The Qt-based interface of FreeCAD is entirely accessible via the python interpreter. Aside from the simple functions that FreeCAD itself provides to workbenches, the whole Qt framework is accessible too, allowing any operation on the GUI, such as creating, adding, docking, modifying or removing widgets and toolbars.


 * Thumbnailer (Linux systems only at the moment): The FreeCAD document icons show the contents of the file in most file manager applications such as gnome's nautilus.


 * A modular MSI installer allows flexible installations on Windows systems. Packages for Ubuntu systems are also maintained.

In development

 * [[Image:Feature-assembly.jpg|left]] An Assembly module that allows to work with multiple projects, multiple shapes, multiple documents, multiple files, multiple relationships...


 * [[Image:Feature-CAM.jpg|left]] A Cam Module dedicated to mechanical machining like milling, and will be able to output, display and adjust G code. This module is currently in planning state.