Hub degli utenti esperti
Questo è il posto per esplorare più a fondo FreeCAD. Qui si può imparare a personalizzazione e estendere FreeCAD secondo le proprie esigenze.
FreeCAD è estendibile con il codice Python che viene eseguito direttamente nella Console Python o che viene caricato dai moduli all'avvio. Questo significa che è possibile modificare FreeCAD senza dover ricompilare il programma. Ad esempio, è possibile:
- Creare e modificare elementi di geometria: serve un particolare oggetto (forma o linea speciale) che non è presente nell'installazione di default FreeCAD? Si può facilmente creare un nuovo tipo di oggetto, sia partendo da zero che adattando un tipo di oggetto esistente.
- Creare strumenti e comandi personalizzati: aggiungere un set di strumenti che eseguono il proprio codice.
- Modificare l'interfaccia: creare delle barre degli strumenti per mettere i propri strumenti, creare finestre, pannelli o interfacce speciali per interagire con i propri strumenti.
- Modificare il grafo della scena: per costruire e calcolare la geometria, FreeCAD usa processi diversi da quelli che usa per visualizzare la geometria sullo schermo. Si ha accesso totale al modo in cui i contenuti della scena vengono visualizzati sullo schermo, quindi è possibile modificare tale rappresentazione, interagire con essa, o aggiungere tutti i tipi di comportamenti personalizzati e agli accessori dello schermo, quali, ad esempio, informazioni, opzioni di trascinamento, ancoraggio o entità temporanee.
Se si desidera contribuire con contenuti a queste pagine, richiedere un account wiki con autorizzazioni dell'editor nel forum e leggere le WikiPages per le linee guida generali da seguire. Per gli altri modi di contribuire al progetto, vedere la pagina Contribuire a FreeCAD.
Personalizzare FreeCAD
- Personalizzare l'interfaccia: Cominciando dall'inizio: le barre degli strumenti e i tasti di scelta rapida
- Operare con le Macro: Registrare semplicemente le operazioni che vengono ripetute spesso o creare il codice Python
- Esempi di macro
- Personalizzare la barra degli strumenti
- Installare ambienti aggiuntivi
Script in FreeCAD
Generale
- Scripting e Macros - Un elenco di pagine wiki rilevanti
- Introduzione a Python - Vedere anche altri tutorial Python in fondo a questa pagina
- Guida agli script in FreeCAD - Uno sguardo generale agli script in Python FreeCAD
- Script base in FreeCAD: Gli script di base.
- Manuale FreeCAD - Sezione Python Scripting: Introduzione in più capitoli agli script Python in FreeCAD
- Comandi dell'interfaccia grafica : Aggiungere comandi personalizzati alla GUI
- Unità: utilizzare unità miste in FreeCAD
- Profilazione del codice Python
- Debugging del codice Python
- Python Development Environment - Un ambiente di sviluppo semplicistico per Python all'interno di FreeCAD
Moduli
Le funzionalità di FreeCAD sono suddivise in moduli che trattano tipi specifici di dati e di applicazioni. FreeCAD è composto da moduli built-in e da moduli di estensione (plug-in). Quando i moduli plugin sono installati, sono disponibili come i moduli built-in. I moduli descritti di seguito sono i moduli di default, inclusi in ogni installazione FreeCAD.
- I Moduli builtin sono i moduli principali di FreeCAD. Essi contengono gli strumenti per manipolare le configurazioni generali di FreeCAD, i documenti e il loro contenuto.
- La pagina Creare un Ambiente di lavoro spiega come creare un proprio ambiente di lavoro.
Lavorare con Meshes
- Script per Mesh: Come interagire con il Ambiente Mesh
Lavorare con Parts
- L'ambiente Part: Come sono utilizzati gli strumenti e la struttura di Open CASCADE Technology in FreeCAD
- Script di dati topologici: Come interagire con il Modulo Parte
- PythonOCC - PythonOCC: Come utilizzare tutta la potenza di Open CASCADE
- Da Mesh a Parte: Conversione tra tipi di oggetti
Accedere alla scenografia di Coin
- La grafica di scena di Coin/Inventor: Come funziona la rappresentazione della scena in FreeCAD
- Pivy: Come accedere alla grafica della scena e come modificarla
Controllare l'interfaccia di Qt
- PySide: Come accedere alla gestione dell'interfaccia e modificare il suo contenuto
- Using the FreeCAD GUI - Utlizzare l'interfaccia grafica utente di FreeCAD in una diversa applicazione Qt tramite PyQt
Lavorare con oggetti parametrici
- Script di oggetti: come realizzare oggetti con script Python al 100%.
- Oggetti creati da script con parti associate: come rendere gli oggetti creati da script associabili ad altri oggetti.
- Oggetti creati da script che salvano gli attributi: come salvare e ripristinare gli attributi della classe proxy con
dumps
eloads
. - Migrazione di oggetti creati da script: come migrare dei vecchi oggetti creati da script in una nuova classe.
Esempi
- Parti di codici : Una raccolta di esempi di codice Python di FreeCAD, da utilizzare negli script ...
- Funzione per tracciare linee: Come costruire un semplice strumento per tracciare linee
- Creare finestre di dialogo: Come creare finestre di dialogo con Qt designer, e come utilizzarle in FreeCAD
- Incorporare FreeCAD: Come importare FreeCAD sotto forma di un modulo Python in altre applicazioni
- L'Ambiente Draft aggiunge a FreeCAD funzioni base di disegno 2D. E 'scritto interamente in Python, e costituisce un valido esempio per scrivere moduli personali.
- FreeCAD vector math library - Libreria di matematica vettoriale di FreeCAD : Un paio di funzioni utili per manipolare i vettori in FreeCAD. Questa libreria è inclusa anche nel modulo Draft.
Funzioni API
La documentazione completa di FreeCAD si trova in http://www.freecadweb.org/api/ . Essa contiene le API C++ e Python, e non è ancora del tutto formattata, il che può essere fonte di confusione quando si cerca solo il codice Python. Una versione delle API più facile da esplorare si trova in questa pagina in inglese e in questa in italiano. Ricordare che può essere incompleta in quanto viene aggiornata manualmente. Per informazioni più accurate, esplorare i moduli direttamente dalla console di FreeCAD.
Relazionato: Exposing C++ to Python
Modifiche avanzate
- Avvio e configurazione: Avvio e opzioni della riga di comando
- Installare in Windows: Utlizzando l'installatore di Windows
- Compilare FreeCAD in Windows e Compilare FreeCAD in Linux
- Marchiare e Personalizzare: Semplici modifiche che si possono apportare al codice sorgente per modificare alcuni aspetti del FreeCAD
- Moduli extra in Python : Potenzia l'interprete di Python in FreeCAD con questi moduli aggiuntivi!
Guide di Python
Questi sono buoni tutorial generici, non specifici per FreeCAD, che possono interessare chi è totalmente nuovo a Python.
Python
- Official python tutorial - Una guida molto completa per scoprire Python
- Non-programmer tutorial per Python - Un eccellente wiki
- Python per novizi - Un grande manuale che si occupa di tutti i concetti base
PySide - Come creare e gestire l'interfaccia Qt di FreeCAD con Python
- PySide tutorial : Una piattaforma che funge da tutorial mostrando esempi sull'uso di PySide
- PySide/PyQt tutorial : Un tutorial di facile lettura con esempi che riguardano PySide e PyQt
- PySide documentation : dal Progetto Qt
- Using QtCreator in PySide : anche dal Progetto Qt
- PySide reference : infiniti dettagli sulle minuzie di PySide e Qt, una fonte di riferimento attendibile
- PySide code snippets : un ricercato database di parti di codice di PySide
I seguenti sono due riferimenti specifici di PyQt (non di PySide) che possono offrire alcune informazioni sul suo utilizzo:
- Tutorial base di PyQt : Un semplice e breve tutorial basato su Linux che spiega come lavorare con PyQt e Qt Designer
- Programmare Applicazioni Qt in Python : Un tutorial molto approfondito che copre tutti i processi di lavoro con Qt e Python.
Pivy - Come interagire con le scene 3D di FreeCAD
- Pivy - Embedding a Dynamic Scripting Language into a Scene Graph Library : Tesi che illustra Pivy nel dettaglio
- High Level 3D Graphics Programming in Python : esempio Pivy da Pycon 2004
- Introducing Pivy into studierstube (Mirror) : Uno scritto che non è un vero tutorial, ma illustra bene come Pivy funziona (richiede un account accademico)
Progetti della comunità
Nel Portale della comunità, è possibile trovare altri progetti basati su FreeCAD e gestiti dalla comunità degli utenti di FreeCAD. Quando si avvia un nuovo progetto con FreeCAD, ricordarsi di riferirlo nel Portale!
È anche disponibile una pagina dove è descritto come Contribuire a FreeCAD.

- FreeCAD scripting: Python, Introduction to Python, Python scripting tutorial, FreeCAD Scripting Basics
- Modules: Builtin modules, Units, Quantity
- Workbenches: Workbench creation, Gui Commands, Commands, Installing more workbenches
- Meshes and Parts: Mesh Scripting, Topological data scripting, Mesh to Part, PythonOCC
- Parametric objects: Scripted objects, Viewproviders (Custom icon in tree view)
- Scenegraph: Coin (Inventor) scenegraph, Pivy
- Graphical interface: Interface creation, Interface creation completely in Python (1, 2, 3, 4, 5), PySide, PySide examples beginner, intermediate, advanced
- Macros: Macros, How to install macros
- Embedding: Embedding FreeCAD, Embedding FreeCADGui
- Other: Expressions, Code snippets, Line drawing function, FreeCAD vector math library (deprecated)
- Hubs: User hub, Power users hub, Developer hub