Feature list

Esta é uma lista extensa, mas não completa, de recursos implementados no FreeCAD. Se você quiser olhar para o futuro, consulte o Roadmap de desenvolvimento para ter uma visão geral rápida do que está por vir. Além disso, a página de Screenshots é um bom lugar para você visitar.

Release notes

 * Release 0.20 - A ser anunciado
 * Release 0.19 - Março de 2021
 * Release 0.18 - Março de 2019
 * Release 0.17 - Abril de 2018
 * Release 0.16 - Abril de 2016
 * Release 0.15 - Março de 2015
 * Release 0.14 - Março de 2014
 * Release 0.13 - Janeiro de 2013
 * Release 0.12 - Dezembro de 2011
 * Release 0.11 - Março de 2011

Funcionalidades-chave (Key Features)

 * [[Image:Feature1.jpg|left]] Um kernel geométrico completo, baseado na tecnologia Open CASCADE, possibilitam que sejam realizadas operações complexas em 3D, com suporte nativo para objetos B-rep Boundary Representation, curvas e superfícies NURBS Non-uniform rational basis spline, uma ampla gama de entidades geométricas, operações booleanas e filetes, e inclui suporte aos formatos STEP e IGES


 * [[Image:Feature3.jpg|left]] Um modelo paramétrico. Todos os objetos do FreeCAD são nativamente paramétricos, o que significa que suas formas podem ser baseadas em propriedades ou mesmo serem dependentes de outros objetos. Todas as mudanças são recalculadas sob demanda e gravadas em uma pilha de fazer/desfazer. Novos tipos de objetos podem ser facilmente adicionados, assim como objetos programados inteiramente em Python.


 * [[Image:Feature4.jpg|left]] Uma arquitetura modular que permite conectar extensões (módulos) que adicionam funcionalidades ao núcleo do aplicativo. Uma extensão pode ser tão complexa quanto um novo aplicativo programado em C++ ou tão simples quanto um script em Python ou uma macro. Você tem total acesso a quase qualquer parte do FreeCAD a partir do interpretador Python, macros ou scripts externos, que podem tratar de criação e edição de geometrias, representações 2D ou 3D destas geometrias (scenegraph) ou mesmo da interface do FreeCAD


 * [[Image:Feature5.jpg|left]] Importação ou exportação para formatos padrão como o STEP, IGES, OBJ, STL, DXF, SVG, DAE, IFC ou o OFF, NASTRAN, VRML, além do, formato nativo do FreeCAD. O nivel de compatibilidade entre o FreeCAD e o formato do arquivo podem variar, uma vez que dependem do módulo que o implementa.


 * [[Image:Feature7.jpg|left]] A bancada de trabalho Sketcher, com um editor de restrições integrado, permitindo a realização de desenhos 2D baseados em restrições. As formas 2D baseadas em restrições, realizadas com o Sketcher, podem ser utilizadas como base para construir outros objetos pelo FreeCAD.


 * [[Image:Feature7.jpg|left]] A Sketcher with integrated constraint-solver, allowing you to sketch geometry-constrained 2D shapes. The constrained 2D shapes built with Sketcher may then be used as a base to build other objects throughout FreeCAD.


 * [[Image:Feature9.jpg|left]] A Robot simulation module that allows you to study robot movements in a graphical environment.


 * [[Image:Feature8.jpg|left]] A technical drawing module with options for detail views, cross sectional views, dimensioning and others, allowing you to generate 2D views of existing 3D models. The module then produces ready-to-export SVG or PDF files. An older Drawing workbench with sparse Gui-commands but a powerful Python functionality also exists.


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


 * [[Image:Feature-arch.jpg|left]] An Architecture module that allows Building Information Modeling (BIM)-like workflow, with Industry Foundation Classes (IFC) compatibility.


 * [[Image:Feature-CAM.jpg|left]] A Path module dedicated to mechanical machining for Computer Aided Manufacturing (CAM). Using the Path module you may output, display and adjust the G code used to control the target machine.


 * [[Image:Feature_spreadsheet.png|left]] An Integrated Spreadsheet and an expression parser which may be used to drive formula-based models and organize model data in a central location.

General features

 * multi-platform. FreeCAD runs and behaves exactly the same way on Windows, Linux, macOS and other platforms.


 * full GUI application. FreeCAD has a complete Graphical User Interface based on the Qt framework, with a 3D viewer based on Open Inventor; allowing fast rendering of 3D scenes and a very accessible scene graph representation.


 * runs as a command line application. In command line mode, FreeCAD runs without its interface but with all its geometry tools. In this mode it has a relatively low memory footprint and can be used, for example, as a server to produce content for other applications.


 * can be imported as a Python module. FreeCAD can be imported into any application that can run Python scripts. As in command line mode, the interface part of FreeCAD is unavailable, but all geometry tools are accessible.


 * workbench concept. In the FreeCAD interface, tools are grouped by workbenches. This allows you to display only the tools used to accomplish a certain task, keeping the workspace uncluttered and responsive, and allowing the application to load rapidly.


 * plugin/module framework for late loading of features/data-types. FreeCAD is divided into a core application with modules that are loaded only when needed. Almost all tools and geometry types are stored in modules. Modules behave like plugins; in addition to delayed loading, individual modules can be added to or removed from an existing installation of FreeCAD.


 * parametric associative document objects. All objects in a FreeCAD document can be defined by parameters. Those parameters can be modified and recomputed at any time. Since object relationships are maintained, the modification of one object will automatically propagate to any dependent objects.


 * parametric primitive creation. Primitive objects such as box, sphere, cylinder, etc. can be created by specifying their geometry constraints.


 * graphical modification operations. FreeCAD can perform translation, rotation, scaling, mirroring, offset (either trivial or as described in Jung/Shin/Choi) or shape conversion, in any plane of the 3D space.


 * Constructive solid geometry (boolean operations). FreeCAD can do constructive solid geometry operations (union, difference, intersect).


 * graphical creation of planar geometry. Lines, wires, rectangles, B-splines, and circular or elliptic arcs can be created graphically in any plane of the 3D space.


 * modeling with straight or revolved extrusions, sections and fillets.


 * topological components like vertices, edges, wires and planes.


 * testing and repairing. FreeCAD has tools for testing meshes (solid test, non-two-manifolds test, self-intersection test) and for repairing meshes (hole filling, uniform orientation).


 * annotations. FreeCAD can insert annotations for text or dimensions.


 * Undo/Redo framework. Everything in FreeCAD is undo/redoable, with user access to the undo stack. Multiple steps can be undone at one time.


 * transaction oriented. The undo/redo stack stores document transactions, 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, with 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 complex scripts as well as single commands; entire modules can be programmed completely in Python.


 * built-in Python console. The Python interpreter includes a console with syntax highlighting, autocomplete and a class browser. Python commands can be issued directly in FreeCAD and immediately return results, permitting script writers to test functionality on the fly, explore the contents of FreeCAD's modules and easily learn about FreeCAD internals.


 * mirrors user interaction. 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 and editing capabilities. The Python commands issued when the user manipulates the interface can be recorded, edited if needed, and saved to be reproduced later.


 * compound (ZIP based) document save format. FreeCAD documents are saved with a extension. The document can contain many different types of information such as geometry, scripts or thumbnail icons.  The  file is itself a zip container; a saved FreeCAD file has already been compressed.


 * fully customizable/scriptable Graphical User Interface. The Qt-based interface of FreeCAD is entirely accessible via the Python interpreter. Aside from simple functions FreeCAD itself provides to workbenches, the entire Qt framework is accessible. The user may perform any operation on the GUI such as creating, adding, docking, modifying or removing widgets and toolbars.


 * thumbnailer. (currently only Linux systems) FreeCAD document icons show the contents of the file in most file manager applications such as Gnome's Nautilus.


 * modular MSI installer. FreeCAD's 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 one to work with multiple projects, multiple shapes, multiple documents, multiple files, multiple relationships... This module is currently in the planning state.

Extra Workbenches
Power users have created various custom external workbenches.