Feature list/it: Difference between revisions

From FreeCAD Documentation
No edit summary
(aggiornato)
Line 2: Line 2:




Questa è una lista estesa, ma non completa, delle caratteristiche già implementate in FreeCAD.<br>Se siente interessati agli sviluppi futuri è possibile consultare la [[Development roadmap| roadmap di sviluppo]].<br>Per un approccio alle caratteristiche sono invece disponibili gli [[Screenshots/it | screenshot]].
Questa è una lista estesa, ma non completa, delle caratteristiche (funzioni) già implementate in FreeCAD.<br>Se siete interessati a conoscere gli sviluppi futuri è possibile consultare la [[Development roadmap| roadmap dello sviluppo]].<br>Per un approccio alle caratteristiche sono anche disponibili gli [[Screenshots/it | screenshot]].
{{TOCright}}
{{TOCright}}
== Note di sviluppo ==
== Note di sviluppo ==
* [[Release notes 011|Release 0.11]](en) --- [[Release notes 011/it|Note di rilascio della versione 0.11]]
* [[Release notes 011|Release 0.11]](en) --- [[Release notes 011/it|Note di rilascio della versione 0.11]] - Marzo 2011
* [[Release_notes_012/it|Note di rilascio della versione 0.12]]
* [[Release_notes_012/it|Note di rilascio della versione 0.12]] - Dicembre 2011
* [[Release_notes_013/it|Note di rilascio della versione 0.13]]
* [[Release_notes_013/it|Note di rilascio della versione 0.13]] - Gennaio 2013
{{clear}}
{{clear}}

== Funzioni principali ==
== Funzioni principali ==


* [[Image:Feature1.jpg|left]] Un kernel basato su [http://it.wikipedia.org/wiki/Open_CASCADE_Technology OpenCasCade] permette operazioni complesse su profili di varia natura, anche molto articolati. È presente il supporto nativo al [http://it.wikipedia.org/wiki/B-Rep BREP], alle curve e alle superfici [http://it.wikipedia.org/wiki/NURBS NURBS], una vasta gamma di entità geometriche, di operazioni booleane e raccordi, e il sopporto built-in per i file STEP e IGES. {{clear}}
* [[Image:Feature1.jpg|left]] Un '''kernel geometrico''' (nucleo) basato su [http://it.wikipedia.org/wiki/Open_CASCADE_Technology OpenCasCade] permette operazioni complesse su profili di varia natura, anche molto articolati. È presente il supporto nativo al [http://it.wikipedia.org/wiki/B-Rep BREP], alle curve e alle superfici [http://it.wikipedia.org/wiki/NURBS NURBS], una vasta gamma di entità geometriche, di operazioni booleane e raccordi, e il sopporto built-in per i file STEP e IGES. {{clear}}


* [[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 [[Property/it|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 [[Scripted objects/it|completamente programmati in Python]]{{clear}}
* [[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 [[Property/it|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 [[Scripted objects/it|completamente programmati in Python]]{{clear}}


* [[Image:Feature4.jpg|left]] Una architettura modulare permette l'estensione delle funzioni del programma attraverso l'utilizzo dei plugins. Queste estensioni possono essere complesse, come le intere nuove applicazioni programmate in C++ o semplici come gli [[Scripting/it|script Python]] o le [[macros/it|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 [[Topological data scripting/it|creare e/o modificare oggetti geometrici]], interagire con [[scenegraph/it|l'ambiente di lavoro]] o addirittura [[PyQt/it|personalizzare l'interfaccia grafica]] del programma. {{clear}}
* [[Image:Feature4.jpg|left]] Una '''architettura modulare''' permette l'estensione delle funzioni del programma attraverso l'utilizzo dei plugins. Queste estensioni possono essere complesse, come le intere nuove applicazioni programmate in C++ o semplici come gli [[Scripting/it|script Python]] o le [[macros/it|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 [[Topological data scripting/it|creare e/o modificare oggetti geometrici]], interagire con [[scenegraph/it|l'ambiente di lavoro]] o addirittura [[PyQt/it|personalizzare l'interfaccia grafica]] del programma. {{clear}}


* [[Image:Feature5.jpg|left]] È possibile importare ed esportare molti dei '''formati standard''' di rappresentazione 3D, come ad esempio: [http://en.wikipedia.org/wiki/ISO_10303 STEP], [http://en.wikipedia.org/wiki/IGES IGES], [http://en.wikipedia.org/wiki/Obj OBJ], [http://en.wikipedia.org/wiki/STL_%28file_format%29 STL], [http://en.wikipedia.org/wiki/Dxf DXF], [http://en.wikipedia.org/wiki/Svg SVG], [http://en.wikipedia.org/wiki/STL_(file_format) STL], [http://en.wikipedia.org/wiki/COLLADA DAE], [http://en.wikipedia.org/wiki/Industry_Foundation_Classes IFC] oppure [http://people.sc.fsu.edu/~jburkardt/data/off/off.html OFF], [http://en.wikipedia.org/wiki/NASTRAN NASTRAN], [http://en.wikipedia.org/wiki/VRML VRML], oltre al formato nativo di FreeCAD [[Fcstd file format/it|Fcstd]]. Il livello di compatibilità tra FreeCAD e un formato di file specifico può variare, dipende dal modulo che lo implementa.{{clear}}
* [[Image:Feature5.jpg|left]] È possibile importare ed esportare molti dei '''formati standard''' di rappresentazione 3D, come ad esempio: [http://en.wikipedia.org/wiki/ISO_10303 STEP], [http://en.wikipedia.org/wiki/IGES IGES], [http://en.wikipedia.org/wiki/Obj OBJ], [http://en.wikipedia.org/wiki/STL_%28file_format%29 STL], [http://en.wikipedia.org/wiki/Dxf DXF], [http://en.wikipedia.org/wiki/Svg SVG], [http://en.wikipedia.org/wiki/STL_(file_format) STL], [http://en.wikipedia.org/wiki/COLLADA DAE], [http://en.wikipedia.org/wiki/Industry_Foundation_Classes IFC] oppure [http://people.sc.fsu.edu/~jburkardt/data/off/off.html OFF], [http://en.wikipedia.org/wiki/NASTRAN NASTRAN], [http://en.wikipedia.org/wiki/VRML VRML], oltre al formato nativo di FreeCAD [[Fcstd file format/it|Fcstd]]. Il livello di compatibilità tra FreeCAD e un formato di file specifico può variare, dipende dal modulo che lo implementa.{{clear}}


* [[Image:Feature7.jpg|left]] Un ambiente di [[Sketcher Workbench/it|sketch]] dotato di strumenti per il disegno di sagome in 2D, anche vincolate. Questa funzionalità permette di utilizzare le sagome tracciate come base per la costruzione dei profili 3D.{{clear}}
* [[Image:Feature7.jpg|left]] Un ambiente di [[Sketcher Workbench/it|sketch]] dotato di strumenti per disegnare sagome in 2D vincolate. Questa funzionalità permette di vincolare in diversi modi le geometrie tracciate e di utilizzarle come base per la costruzione delle forme 3D.{{clear}}


* [[Image:Feature9.jpg|left]] Un modulo di [[Robot Module/it|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.{{clear}}
* [[Image:Feature9.jpg|left]] Un modulo di [[Robot Module/it|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.{{clear}}


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


* [[Image:Feature-raytracing.jpg|left]] Un modulo dedicato al [[Raytracing Module/it|rendering]] per mezzo del quale si possono esportare i modelli 3D ed effettuare renderizzazioni con software di terze parti. Al momento è pienamente supportato il solo [http://it.wikipedia.org/wiki/POV-Ray POV-Ray].{{clear}}
* [[Image:Feature-raytracing.jpg|left]] Un modulo dedicato al [[Raytracing Module/it|rendering]] per mezzo del quale si possono esportare i modelli 3D ed effettuare renderizzazioni con software di terze parti. Al momento è pienamente supportato il solo [http://it.wikipedia.org/wiki/POV-Ray POV-Ray].{{clear}}


* [[Image:Feature-arch.jpg|left]] È stato inoltre avviato lo sviluppo di un modulo dedicato all'[[Arch Module/it|architettura]] compatibile con il modello [http://it.wikipedia.org/wiki/Building_Information_Modeling BIM] e compatibile con l'[http://en.wikipedia.org/wiki/Industry_Foundation_Classes IFC]. Le prospettive di questo modulo sono ancora in via di definizione. Maggiori informazioni sono disponibili [http://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=10&t=821 qui].{{clear}}
* [[Image:Feature-arch.jpg|left]] Inoltre, è stato avviato lo sviluppo di un modulo di [[Arch Module/it|architettura]] compatibile con il modello [http://it.wikipedia.org/wiki/Building_Information_Modeling BIM] e compatibile con l'[http://en.wikipedia.org/wiki/Industry_Foundation_Classes IFC]. Le caratteristiche di questo modulo sono ancora in via di definizione e sono discusse dalla comunità in [http://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=10&t=821 questa pagina] del forum.{{clear}}




Line 34: Line 35:
*'''FreeCAD è multipiattaforma'''. È in grado di funzionare esattamente allo stesso modo su piattaforme Microsoft Windows®, Linux e Mac OSX®.
*'''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 [http://www.qtsoftware.com/ Qt] e una interfaccia di visualizzazione 3D basata su [http://en.wikipedia.org/wiki/Open_Inventor Open Inventor] che garantisce un rendering rapido e permette di accedere facilmente alle varie proiezioni della scena.
* '''FreeCAD ha una interfaccia grafica completa '''basata sulla famosa piattaforma [http://www.qtsoftware.com/ Qt] e una interfaccia di visualizzazione 3D basata su [http://en.wikipedia.org/wiki/Open_Inventor Open Inventor] che garantisce un rendering rapido e permette di accedere facilmente alle varie proiezioni della scena.


* '''FreeCAD funziona anche da riga di comando''', con il minimo utilizzo di memoria. Utilizzando quest'ultima '''FreeCAD''' si avvia senza la [http://it.wikipedia.org/wiki/Interfaccia_grafica GUI], ma dispone comunque di tutte le sue funzioni, anche quelle più avanzate. Può, così facendo, essere utilizzato come server per generare contenuti utilizzati in altre applicazioni.
* '''FreeCAD funziona anche tramite riga di comando''', con il minimo utilizzo di memoria. Utilizzando questa modalità, '''FreeCAD''' si avvia senza la [http://it.wikipedia.org/wiki/Interfaccia_grafica 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 [[Embedding FreeCAD/it|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.
* '''FreeCAD può essere importato come un [[Embedding FreeCAD/it|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/it|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.
* '''Basato su plugins e moduli'''. '''FreeCAD''' è formato da una struttura di base, il '''''core''''', e numerosi moduli che vengono avviati solo quando è necessario. Questo permette di aggiungere e/o rimuovere funzionalità ,attraverso i moduli, anche ad una installazione preesistente.


* '''Struttura a plugins e moduli per il caricamento ritardato di funzioni e dati'''. '''FreeCAD''' è formato da una struttura di base, il '''''cuore''''', e da numerosi moduli che vengono avviati solo quando sono necessari. Questo permette di aggiungere e/o rimuovere funzionalità, attraverso i moduli, anche ad una installazione preesistente.
* '''Strumento di sviluppo di [[Scripting/it|script]] integrato''': '''FreeCAD''' fornisce un interpreter [http://www.python.org/ 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'interpreter è in grado di gestire singoli comandi così come interi script complessi. Tutti i moduli possono essere gestiti tramite Python.


* '''Gestione parametrica degli ogetti'''. Tutti gli oggetti in un documento '''FreeCAD''' vengono definiti tramite parametri. Questi 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 modificandone uno vengono modificati automaticamente tutti gli altri oggetti collegati con esso.
* '''Un installer MSI modulare''' che garantisce una installazione flessibile in ambiente Microsoft Windows®. Sono disponibili anche pacchetti specifici per Ubuntu.


* '''Geometrie primitive''' costruite per via '''parametrica''' come, ad esempio, cubi e parallelepipedi, sfere, cilindri, coni, figure toroidali ecc.
* '''Strumento annulla/ripristina''': tutto si può annullare o ripristinare tramite l'accesso diretto allo storico delle azioni. In questo modo è possibile annullare più modifiche allo stesso tempo.


* Operazioni di '''modifica grafica''' come traslazione, rotazione, scalatura, specularità, offset (triviali o di tipo [http://www.ann.jussieu.fr/~frey/papers/meshing/Jung%20W.,%20Self-intersection%20removal%20in%20triangular%20mesh%20offsetting.pdf Jung/Shin/Choi]) e anche trasformazione della forma, in qualsiasi piano dello spazio 3D.
* '''Gestione delle modifiche''': lo storico annulla/ripristina conserva informazioni sulle modifiche globali e non sulla singola azione, così ogni singolo strumento può gestire esattamente ciò che deve essere annullato o ripristinato.


* '''[http://en.wikipedia.org/wiki/Constructive_solid_geometry Operazioni booleane (en)]''' come '''unisci''', '''sottrai''' e '''interseca'''.
* '''Gestione parametrica degli ogetti''': Tutti gli oggetti in un documento '''FreeCAD''' vengono definiti tramite parametri. Questi 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 modificandone uno vengono modificati automaticamente tutti gli altri oggetti collegati con esso.


* Creazione grafica di '''geometrie semplici''' come line, archi, rettangoli, cerchi, spezzate in ogni proiezione dello spazio 3D.
* '''Formato di salvataggio parametrico''': I documenti FreeCAD vengono salvati con estensione <code>.fcstd</code> e contengono numerose informazioni come ad esempio la geometria, gli script e le anteprime.


* Modellazione lineare o rivolutiva di '''estrusioni''', '''sezioni''' e '''raccordi'''.
* '''G.U.I. completamente personalizzabile'''. L'interfaccia di '''FreeCAD''', basata su [http://www.qtsoftware.com Qt] è completamente configurabile tramite il Python interpreter. 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.


* Elementi topologici quali '''vertici, spigoli, contorni''' e '''piani''' facilmente ottenibili tramite [[Scripting/it|script]].
* '''Workbench''': nell'interfaccia di '''FreeCAD''' le icone degli strumenti sono raggruppate all'interno delle [[workbenches/it|workbenches]] (aree di lavoro ndr.). Questo permette che vengano visualizzati soltanto gli strumenti necessari all'azione specifica che si deve compiere, ottenendo un'area di lavoro pulita, veloce e facile da gestire.


* '''Strumenti per il test e la correzione''' di meshes: solid test, non-two-manifolds test, self-intersection test, hole-filling e uniform-orientation.
* '''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 immediatamente eseguiti. Questa funzione è molto utile per testare il funzionamento di uno script, piuttosto che per esplorare i contenuti dei moduli integrati e conoscere a fondo il programma stesso.


* '''Annotazioni''' come testi o dimensioni
* '''Azioni 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 [[macros/it|macro]] .


* '''Strumento annulla/ripristina''': tutto si può annullare o ripristinare tramite l'accesso diretto allo storico delle azioni. In questo modo è possibile annullare più modifiche allo stesso tempo.
* '''Le Macro''': l'utilizzo di queste procedure automatizza le operazioni da svolgere e rende l'uso di '''FreeCAD''' molto più veloce e semplice.


* '''Gestione delle modifiche''': lo storico annulla/ripristina conserva informazioni sulle modifiche globali e non sulla singola azione, così ogni singolo strumento può gestire esattamente ciò che deve essere annullato o ripristinato.
* '''Thumbnailer''' (disponibile solo su piattaforme GNU/Linux): le icone dei documenti salvati in formato <code>.fcstd</code> forniscono una comoda anteprima del loro contenuto, rendendo facile individuare i propri elaborati.


* '''Strumento di sviluppo di [[Scripting/it|script]] integrato''': '''FreeCAD''' fornisce un interprete [http://www.python.org/ 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.
* '''Creazione di primitive''' (cubi, sfere, cilindri, ecc), '''offset''' (triviali o di tipo Jung/Shin/Choi) e anche '''operazioni boleane''' (aggiungi, taglia, interseca, ecc)


* '''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 immediatamente eseguiti. Questa funzione è molto utile per testare il funzionamento di uno script, piuttosto che per esplorare i contenuti dei moduli integrati e conoscere a fondo il programma stesso.
* '''Strumenti per il test e la correzione''' di meshes: solid test, non-two-manifolds test, self-intersection test, hole-filling e uniform-orientation.


* '''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 [[macros/it|macro]] .
* Creazione di '''geometrie semplici''' come line, archi, rettangoli, cerchi, spezzate in ogni proiezione dello spazio 3D.


* '''Interazione con le forme da console''' come traslazione, rotazione, scalatura, specchiatura, offset ecc.
* '''Quote''' dimensionali oppure commenti.


* '''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.
* '''Interazione con le forme''' come traslazione, rotazione, scalatura, specchiatura, offset ecc.


* '''Formato di salvataggio parametrico''': I documenti FreeCAD vengono salvati con estensione <code>.fcstd</code> e contengono numerose informazioni come ad esempio la geometria, gli script e le anteprime.
* '''Geometrie primitive''' costruite per via '''parametrica''' come, ad esempio, cubi e parallelepipedi, sfere, cilindri, coni, figure toroidali ecc.


* '''G.U.I. completamente personalizzabile'''. L'interfaccia di '''FreeCAD''', basata su [http://www.qtsoftware.com Qt] è completamente configurabile tramite il Python interpreter. 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.
* Elementi topologici quali '''vertici, spigoli, contorni''' e '''piani''' facilmente ottenibili tramite [[Scripting/it|script]].


* '''Thumbnailer''' (per ora disponibile solo su piattaforme GNU/Linux): le icone dei documenti salvati in formato <code>.fcstd</code> forniscono una comoda anteprima del loro contenuto, rendendo facile individuare i propri elaborati.
* Modellazione lineare o rivolutiva di '''estrusioni''', '''sezioni''' e '''nastri'''.

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


* '''[http://en.wikipedia.org/wiki/Constructive_solid_geometry Operazioni booleane (en)]''' come '''unisci''', '''sottrai''' e '''interseca'''.


==In fase di sviluppo==
==In fase di sviluppo==

Revision as of 21:51, 5 September 2013

Caratteristiche di FreeCAD

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

Note di sviluppo

Funzioni principali

  • 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 sopporto built-in per i file STEP e IGES.
  • 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
  • Una architettura modulare permette l'estensione delle funzioni del programma attraverso l'utilizzo dei plugins. Queste estensioni possono essere complesse, come le intere nuove applicazioni programmate in C++ o 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.
  • È 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 può variare, dipende dal modulo che lo implementa.
  • 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 di utilizzarle come base per la costruzione delle forme 3D.
  • 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.
  • Un ambiente di disegno che permette di proiettare sul piano le viste del modello solido. È anche possibile esportare direttamente la proiezione in formato SVG o PDF.
  • 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 il solo POV-Ray.
  • 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.


Caratteristiche 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 cuore, e da numerosi moduli che vengono avviati solo quando sono necessari. Questo permette di aggiungere e/o rimuovere funzionalità, attraverso i moduli, anche ad una installazione preesistente.
  • Gestione parametrica degli ogetti. Tutti gli oggetti in un documento FreeCAD vengono definiti tramite parametri. Questi 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 modificandone uno vengono modificati automaticamente tutti gli altri oggetti collegati con esso.
  • 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.
  • 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 meshes: 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 allo stesso tempo.
  • Gestione delle modifiche: lo storico annulla/ripristina conserva 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 immediatamente eseguiti. Questa funzione è molto utile per testare il funzionamento di uno script, piuttosto che 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 .
  • Interazione con le forme da console come traslazione, rotazione, scalatura, specchiatura, offset ecc.
  • 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.
  • G.U.I. completamente personalizzabile. L'interfaccia di FreeCAD, basata su Qt è completamente configurabile tramite il Python interpreter. 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 che garantisce una installazione flessibile in ambiente Microsoft Windows®. Sono disponibili anche pacchetti specifici per Ubuntu.


In fase di sviluppo

  • Un modulo di Assemblaggio che permetta di lavorare contemporaneamente su diverse forme, documenti, file e relazioni...
  • 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.


Altre lingue: Template:Cn Template:Se