Feature list/it

Questa è una lista estesa, ma non completa, delle caratteristiche (funzionalità) già implementate in FreeCAD. Se siete interessati a conoscere gli sviluppi futuri è possibile consultare il Piano di sviluppo. Per un approccio sommario alle caratteristiche sono anche disponibili gli screenshot.

Note di sviluppo

 * Note di rilascio della versione 0.11 - Marzo 2011
 * Note di rilascio della versione 0.12 - Dicembre 2011
 * Note di rilascio della versione 0.13 - Gennaio 2013

Funzioni principali

 * [[Image:Feature1.jpg|left]] Un kernel geometrico (nucleo) basato su OpenCasCade permette operazioni complesse su profili di varia natura, anche molto articolati. È presente il supporto nativo al BREP, alle curve e alle superfici NURBS, una vasta gamma di entità geometriche, di operazioni booleane e raccordi, e il supporto interno per i file STEP e IGES.


 * [[Image:Feature3.jpg|left]] Un modellatore interamente parametrico. Tutti gli oggetti di FreeCAD sono nativamente parametrici, il che significa che la loro forma può essere basata sulle proprietà e, quando dipendono da altri oggetti, se subiscono delle modifiche possono essere ricalcolati a richiesta, e registrati dall'albero delle operazioni annulla o ripeti. Possono essere aggiunti facilmente nuovi tipi di oggetti, anche quelli completamente programmati in Python


 * [[Image:Feature4.jpg|left]] Una architettura modulare permette di estendere le funzioni del programma attraverso l'utilizzo dei plugins. Queste estensioni possono essere complesse, come sono le intere nuove applicazioni programmate in C++ o essere semplici, come gli script Python o le macro auto-registrate. Attraverso l'utilizzo della riga di comando integrata nella GUI, è possibile accedere praticamente a tutte le funzionalità del software per mezzo di semplici comandi Python. Si possono creare e/o modificare oggetti geometrici, interagire con l'ambiente di lavoro o addirittura personalizzare l'interfaccia grafica del programma.


 * [[Image:Feature5.jpg|left]] È possibile importare ed esportare molti dei formati standard di rappresentazione 3D, come ad esempio: STEP, IGES, OBJ, STL, DXF, SVG, STL, DAE, IFC oppure OFF, NASTRAN, VRML, oltre al formato nativo di FreeCAD Fcstd. Il livello di compatibilità tra FreeCAD e un formato di file specifico è variabile, dipende dal modulo che lo implementa.


 * [[Image:Feature7.jpg|left]] Un ambiente di sketch dotato di strumenti per disegnare sagome in 2D vincolate. Questa funzionalità permette di vincolare in diversi modi le geometrie tracciate e poi di utilizzarle come base per la costruzione delle forme 3D.


 * [[Image:Feature9.jpg|left]] Un modulo di simulazione robotica con il quale studiare i movimenti e le traiettorie del manipolatore. È disponibile una interfaccia grafica di questo modulo che permette di manovrare i vari elementi del modello 3D in modo semplice e intuitivo.


 * [[Image:Feature8.jpg|left]] Un ambiente di disegno permette di proiettare sul piano le viste del modello solido. È anche possibile esportare direttamente la proiezione in formato SVG o PDF.


 * [[Image:Feature-raytracing.jpg|left]] Un modulo dedicato al rendering per mezzo del quale si possono esportare i modelli 3D ed effettuare renderizzazioni con software di terze parti. Al momento è pienamente supportato solo POV-Ray.


 * [[Image:Feature-arch.jpg|left]] Inoltre, è stato avviato lo sviluppo di un modulo di architettura compatibile con il modello BIM e compatibile con l'IFC. Le caratteristiche di questo modulo sono ancora in via di definizione e sono discusse dalla comunità in questa pagina del forum.

Funzioni Generali

 * FreeCAD è multipiattaforma. È in grado di funzionare esattamente allo stesso modo su piattaforme Microsoft Windows®, Linux e Mac OSX®.


 * FreeCAD ha una interfaccia grafica completa basata sulla famosa piattaforma Qt e una interfaccia di visualizzazione 3D basata su Open Inventor che garantisce un rendering rapido e permette di accedere facilmente alle varie proiezioni della scena.


 * FreeCAD funziona anche tramite riga di comando, con il minimo utilizzo di memoria. Utilizzando questa modalità, FreeCAD si avvia senza la GUI, ma dispone comunque di tutte le sue funzioni, anche di quelle più avanzate. In questo modo, può essere utilizzato come server per generare contenuti utilizzati in altre applicazioni.


 * FreeCAD può essere importato come un modulo Python all'interno di altre applicazioni in grado di gestire script in questo linguaggio, oppure direttamente all'interno di una console python. In questa modalità la GUI non viene caricata, ma è comunque possibile utilizzare tutti gli strumenti di modellazione geometrica come se si stesse agendo da riga di comando.


 * Concepito in Ambienti: nell'interfaccia di FreeCAD gli strumenti sono raggruppati all'interno di workbenches (ambienti di lavoro). Questo permette che vengano visualizzati soltanto gli strumenti necessari all'azione specifica che si deve compiere, ottenendo un'area di lavoro pulita, facile da gestire e veloce da caricare.


 * Struttura a plugins e moduli per il caricamento ritardato di funzioni e dati. FreeCAD è formato da una struttura di base, il suo "cuore", e da numerosi moduli che vengono avviati solo quando sono necessari. Questo permette di aggiungere o rimuovere funzionalità, attraverso i moduli, anche ad una installazione preesistente.


 * Gestione parametrica degli ogetti. In un documento di FreeCAD tutti gli oggetti vengono definiti tramite parametri. Questi parametri sono modificabili a piacere e gli effetti delle modifiche sono visibili in tempo reale. Vengono memorizzate anche le relazioni che intercorrono tra i vari oggetti, quindi modificando un oggetto vengono modificati automaticamente tutti quelli collegati.


 * Geometrie primitive costruite per via parametrica come, ad esempio, cubi e parallelepipedi, sfere, cilindri, coni, figure toroidali ecc.


 * Operazioni di modifica grafica come traslazione, rotazione, scalatura, specularità, offset (triviali o di tipo Jung/Shin/Choi) e anche trasformazione della forma,  in qualsiasi piano dello spazio 3D.


 * Operazioni booleane (en) di costruzione di solidi geometrici quali Unione, Differenza e Intersezione.


 * Creazione grafica di geometrie semplici come line, archi, rettangoli, cerchi, spezzate in ogni proiezione dello spazio 3D.


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