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
 * Note di rilascio della versione 0.14 - Marzo 2014

Funzioni principali

 * [[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 and LuxRender, 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.

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.


 * Modellazione lineare o rivolutiva di estrusioni, sezioni e raccordi.


 * Elementi topologici quali vertici, spigoli, contorni e piani facilmente ottenibili tramite script.


 * Strumenti per il test e la correzione di oggetti mesh: solid test, non-two-manifolds test, self-intersection test, hole-filling e uniform-orientation.


 * Annotazioni come testi o dimensioni


 * Strumento annulla/ripristina: tutto si può annullare o ripristinare tramite l'accesso diretto allo storico delle azioni. In questo modo è possibile annullare più modifiche contemporaneamente.


 * Gestione delle modifiche: lo storico annulla/ripristina conserva le informazioni sulle modifiche globali e non sulla singola azione, così ogni singolo strumento può gestire esattamente ciò che deve essere annullato o ripristinato.


 * Strumento di sviluppo di script integrato: FreeCAD fornisce un interprete Python integrato nel programma e delle API che coprono la quasi totalità del programma, come ad esempio l'interfaccia, la geometria e la visualizzazione 3D. L'interprete è in grado di gestire singoli comandi così come interi script complessi. Tutti i moduli possono essere gestiti tramite Python.


 * Console Python integrata completa della funzione di highlight del codice, dell'autocompletamento e anche del class-browser. I comandi, in python, possono essere inviati direttamente dall'interno del programma e essere eseguiti immediatamente. Questa funzione è molto utile per testare il funzionamento di uno script, ma anche per esplorare i contenuti dei moduli integrati e conoscere a fondo il programma stesso.


 * Azioni dell'utente registrate nella console: tutto quello che si costruisce in FreeCAD viene tradotto in comandi python. L'output di tali comandi può essere stampato sulla riga di comando integrata per tenerne nota oppure per essere registrato nelle macro.


 * Registrazione e editazione di macro.: I comandi python generati quando l'utente manipola l'interfaccia possono essere registrati, modificati, se necessario, e salvati per essere poi riprodotti in seguito.


 * Formato di salvataggio parametrico: I documenti FreeCAD vengono salvati con estensione .fcstd e contengono numerose informazioni come ad esempio la geometria, gli script e le anteprime. Il file .fcstd è di per sé un contenitore zip, quindi un file di FreeCAD salvato è già stato compresso.


 * G.U.I. completamente personalizzabile. L'interfaccia di FreeCAD è basata su Qt ed è completamente configurabile tramite l'interprete Python. Oltre alle funzioni standard definite nel software, si ha a disposizione la potenze e la versatilità dell'intero framework Qt, il quale permette di aggiungere, spostare, agganciare oppure eliminare i widgets dall'area di lavoro.


 * Thumbnailer (per ora disponibile solo su piattaforme GNU/Linux): le icone dei documenti salvati in formato .fcstd forniscono una comoda anteprima del loro contenuto, rendendo facile individuare i propri elaborati.


 * Un installer MSI modulare garantisce una installazione flessibile in ambienti Microsoft Windows®. Sono disponibili anche dei pacchetti specifici per Ubuntu.

Funzioni in fase di sviluppo

 * [[Image:Feature-assembly.jpg|left]] Un modulo di Assemblaggio che permetta di lavorare contemporaneamente su diverse forme, documenti, file e relazioni...


 * [[Image:Feature-CAM.jpg|left]] Un Modulo CAM dedicato alle lavorazioni meccaniche, come la fresatura, in grado di produrre, visualizzare e modificare il Codice G. Questo modulo è attualmente in fase di progettazione.