Feature list/it

Questa è una lista estesa, ma non completa, delle funzionalità (caratteristiche) 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
 * Note di rilascio della versione 0.15 - Marzo 2015
 * Note di rilascio della versione 0.16 - Aprile 2016
 * Note di rilascio della versione 0.17 - Marzo 2018

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.


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

Funzioni Generali

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


 * 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 oggetti. 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 linee, 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 Python.


 * 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'auto-completamento 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 in molte applicazioni di gestione dei file, come Nautilus di Gnome, 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
Questo modulo è attualmente in fase di progettazione.
 * [[Image:Feature-assembly.jpg|left]] Un modulo di Assemblaggio che permetta di lavorare contemporaneamente su diverse forme, documenti, file e relazioni...

Ambienti complementari
Alcuni utenti esperti hanno creato vari ambienti complementari personalizzati.