Feature list/cs

Toto je obsáhlý, i když ne kompletní, seznam charakteristických vlastností implementace FreeCADu. Chcete-li se nahlédnout do budoucnosti, podívejte se na Směry vývoje na rychlý přehled o tom co se očekává. Zajímavé jsou i Screenshoty.

Poznámky k verzím

 * Release 0.11 - Březen 2011
 * Release 0.12 - Prosinec 2011
 * Release 0.13 - Leden 2013

Klíčové vlastnosti

 * [[Image:Feature1.jpg|left]] Založeno na kompletní Open CASCADE Technologii konstrukčního jádra umožňujícího komplexní 3D operace na komplexních tvarových typech s nativní podporou konceptů jako jsou B-rep, NURB křivky a povrchy, širokou oblast konstrukčních entit, logických operací  a zaoblení a zabudovanou podporu pro STEP a IGES formáty


 * [[Image:Feature3.jpg|left]] Plně parametrický model. Všechny objekty FreeCADu jsou nativně parametrické, což znamená, že jejich tvar může být založen na vlastnostech nebo dokonce záviset na jiných objektech, všechny změny jsou přepočítávány na požádání a zaznamenávány do undo/redo zásobníku (lze se při kreslení vracet několik kroků zpět nebo vpřed). Snadno mohou bát přidávány nové objektové typy a mohou být dokonce i plně programovány v Pythonu


 * [[Image:Feature4.jpg|left]] Modulární architektura dovoluje pluginy (moduly) pro přidávání dalších funkcionalit k základní aplikaci. tato rozšíření mohou být tak komplexní jako jsou celé nové aplikace programované v C++ nabo až tak jednoduché jako jsou skripty v Pythonu nebo samozaznamenávaná makra. Máte kompletní přístup ze zabudovaného interpreteru Pythonu, maker nebo externích skriptů k téměř všem částem FreeCADu, jako jsou vytváření a transformace konstrukcí, 2D nebo 3D reprezentace jejich konstrukce (Scene graph) nebo i FreeCAD interface


 * [[Image:Feature5.jpg|left]] Import/export do standardních formátů jako jsou STEP, IGES, OBJ, STL, DXF, SVG, STL, DAE, IFC or OFF, NASTRAN, VRML in addition to FreeCAD's native Fcstd file format. Úroveň kompatibility mezi FreeCADem a daným souborováým formátem se může měnit, protože závisí na modulu, který ji implementuje.


 * [[Image:Feature7.jpg|left]] Pracovní plocha Náčrt s řídícím programem umožňujícím náčrty konstrukčně výzaných 2D tvarů. Náčrt v současné době umožňuje stavět několik typů vázaných konstrukcí a používat je jako základ j vytváření dalších objektů prostřednictvím FreeCADu.


 * [[Image:Feature9.jpg|left]] Robotický simulační modul umožňuje studovat robotické pohyby. Robotický modul již má rozšířený grafický interface, který umožňuje práci i prostřednictvím GUI.


 * [[Image:Feature8.jpg|left]] Modul výkresy dovoluje ukládat 2D pohledy vašeho 3D modelu na stránky. Tento modul pak vytváří stránky v SVG nebo PDF připravené pro export. Tento modul ještě není dokonalý, ale dává vysokou funkcionalitu v Pythonu.


 * [[Image:Feature-raytracing.jpg|left]] Zobrazovací modul může exportovat 3D objekty pro zobrazování v externích renderovacích systémech. V současnosti podporuje pouze povray, ale očekává se, že v budoucnosti bude rozšířen i na další renderery.


 * [[Image:Feature-arch.jpg|left]] Modul Architektura umožňuje práci podobně jako BIM, s kompatibilitou s IFC. Tvorba modulu Architektura je intenzivně diskutována komunitou here.

General features

 * FreeCAD is multi-platform. It runs and behaves exactly the same way on Windows Linux and Mac OSX platforms.


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


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


 * FreeCAD can be imported as a Python module, inside other applications that can run python scripts, or in a python console. Like in console 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 to display only the tools used to accomplish a certain task, keeping the workspace uncluttered and responsive, and the application fast to load.


 * Plugin/Module framework for late loading of features/data-types. FreeCAD is divided into a core application and modules, that are loaded only when needed. Almost all the tools and geometry types are stored in modules. Modules behave like plugins, and can be added or removed to 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 on the fly, and recomputed anytime. The relationship between objects is also stored, so modifying one object also modifies its dependent objects.


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