Feature list/es

Esto es una extensa, aunque incompleta, lista de las características que tiene FreeCAD. Si quiere mirar hacia el futuro vea Development roadmap. Para obtener una descripción rápida Screenshots es un buen punto para empezar.

Aplicación de Base



 * FreeCAD es multiplataforma. Se ejecuta y se comporta exactamente de la misma manera en Windows Linux y Mac OSX.


 * FreeCAD es una completa aplicación GUI. FreeCAD cuenta con un completo interfaz gráfica de usuario basada en el famoso entorno Qt, con un visualizador 3D basado en Open Inventor, que permite un rápido renderizado de escenas 3D y una representación gráfica de escena muy accesible.


 * FreeCAD también se ejecuta como una aplicación de línea de comandos, con una huella de memoria baja. En el modo de línea de comandos, FreeCAD se ejecuta sin su interfaz gráfica GUI, pero con todas sus herramientas de geometría. Puede ser, por ejemplo, utilizado como servidor para producir contenidos para otras aplicaciones.


 * FreeCAD puede ser importado como un Python module, dentro de otras aplicaciones que puedan ejecutar scripts python, o en una consola python. Al igual que en modo consola, la parte de interfaz GUI de FreeCAD no estaríá disponible, pero todas las herramientas de geometría son accesibles.


 * Características de carga tardía para el entramado de Plugin/Módulos y para las estructuras de datos. FreeCAD se divide en una aplicación principal y los módulos que se cargan sólo cuando es necesario. Casi todas las herramientas y elementos de geometría se almacenan en módulos. Los módulos se comportan como plugins, y se pueden agregar o eliminar en una instalación existente de FreeCAD.


 * 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.


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

Document structure



 * 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.


 * Parametric associative document objects: All objects in a FreeCAD document can be defined by parameters. Those parameters can be modified on the fly, and recomputed anytime. The relationship between objects is also stored, so modifying one object also modifies its dependent objects.


 * 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.

User Interface

 * 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.


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


 * 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.


 * 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.

Application specific features
The functionality of FreeCAD is separated in modules, each one dealing with special data types and applications:

Meshes



 * The Mesh Module deals with 3D meshes. It is intented primarily for import, healing and conversion of third-party generated mesh geometry into FreeCAD, and export of FreeCAD geometry into mesh formats. But FreeCAD itself also features much more advanced geometry types than meshes.


 * Primitive creation (box, sphere, cylinder, etc), offset (trivial or after Jung/Shin/Choi) or boolean operations (add, cut, intersect)


 * Import of the following formats: ASCII or binary STL (Stereo lithography format) (*.stl, *.ast), the OBJ format (*.obj), limited NASTRAN support (*.nas), Open Inventor meshes (*.iv), and FreeCAD native mesh kernel (*.bms)


 * Export of the following formats: ASCII or binary STL (Stereo lithography format) (*.stl, *.ast), the OBJ format (*.obj), limited NASTRAN support (*.nas, *.brl), VRML meshes (*.wrl), FreeCAD native mesh kernel (*.bms), mesh as Python module (*.py)


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


 * Extensive Python scripting API.

2D Drafting

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


 * Annotations like texts or dimensions


 * Graphical modification operations like translation, rotation, scaling, mirroring, offset or shape conversion, in any plane of the 3D space


 * Import and Export of the following formats: Autodesk's Drawing Exchange Format (*.dxf), Open Cad Format (*.oca, *.gcad) e SVG (*.svg)

CAD



 * The Part Module deals with everything around CAD modeling and the CAD data structures. The CAD functionality is under heavy development (see the PartDesign_project and Assembly_project in the Development_roadmap). The Part Module works with high-level Open CASCADE geometry.


 * Parametric primitive shapes like box, sphere, cylinder, cone or torus.


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


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


 * Boolean operations like union, difference and intersection.


 * Extensive Python scripting API.


 * Import and Export of the following formats: STEP parts and assemblies (*.stp,*.step), IGES models (*.igs, *.iges) and BRep (*.brp), the native format of our Open CASCADE CAD kernel.

Raytracing

 * The Raytracing Module permits the export of FreeCAD geometry to external renderers for generation of high-quality images. Currently, the only supported render engine is POV-Ray. The module currently permits the creation of a render sheet, and adding geometry to that render sheet for export to a POV-Ray file.

Drawing

 * The Drawing Module allows to export projected views of your 3D geometry to a 2D SVG document. It allows the creation of a 2D sheet with an existing svg template, and the insertion of projected views of your geometry in that sheet. Then the sheet can be saved as a SVG file.

CAM

 * The Cam Module is dedicated to mechanical machining like milling. This module is at the very beginning and at the moment mostly dedicated to Incremental Sheet Forming. Although there are some algorithms for toolpath planing they are not usable for the end-user at the moment.