Documentation pour utilisateurs expérimentés
C'est l'endroit à venir si vous êtes un utilisateur expérimenté et que vous voulez en savoir plus sur la personnalisation et l'extension de FreeCAD.
FreeCAD est extensible par du code Python qui est exécuté directement dans la console Python ou chargé à partir de modules au démarrage. Cela signifie que vous pouvez modifier FreeCAD sans avoir besoin de recompiler le programme. Par exemple, vous pouvez :
- Créer et modifier la géométrie : vous pouvez créer un nouveau type d'objet, soit à partir de zéro, soit en adaptant un type existant.
- Créer des outils et des commandes personnalisés : ajoutez votre propre ensemble d'outils qui exécutent votre code.
- Modifier l'interface : créer des barres d'outils pour y placer vos outils, créer des fenêtres, des panneaux ou des interfaces spéciales pour interagir avec vos outils.
- Modifier la représentation scénographique : FreeCAD a des processus séparés pour construire la géométrie et afficher cette géométrie à l'écran. Vous avez un accès complet à la façon dont le contenu de la scène est affiché à l'écran, vous pouvez donc modifier cette représentation, interagir avec elle ou lui ajouter un comportement personnalisé. Vous pouvez également ajouter des widgets d'écran personnalisés, comme des informations, des glisseurs, des ancres ou des entités temporaires.
Si vous souhaitez contribuer au contenu de ces pages, demandez un compte wiki avec les droits d'éditeur dans le forum et lisez les Pages Wiki pour les directives générales que vous devez suivre. Pour d'autres façons de contribuer au projet, consultez la page Contribuer à FreeCAD.
Personnaliser FreeCAD
- Personnaliser l'interface : Les fondamentaux : les barres d'outils et les raccourcis claviers.
- Travailler avec les macros : Enregistrer facilement les actions répétitives ou du code Python
- Liste de macros
- Personnaliser la barre d'outils
- Installer plus d'ateliers
Scripts dans FreeCAD
Général
- Exemples de scripts et macros - Une liste de pages du wiki pertinentes.
- Introduction à Python : Allez voir aussi les autres tutoriels pour Python en liens en bas de cette page.
- Tutoriel sur les scripts Python : Une vue générale des scripts Python dans FreeCAD.
- Scripts de base : Les bases des scripts en Python...
- Interface et commandes : Ajouter des commandes personnalisées dans l'interface de FreeCAD.
- Manuel : petite introduction à Python : Introduction en plusieurs chapitres aux scripts Python dans FreeCAD.
- Utiliser des Unités variées dans FreeCAD.
- Profilage du code Python.
- Débogage du code Python.
- Environnement de développement pour Python - Un développement simplifié pour Python dans FreeCAD
Modules
Le fonctionnement de FreeCAD est séparé en modules qui traitent de types de données et d'applications spéciales. FreeCAD a intégré des modules et des modules d'extension (plug-ins). Une fois que les modules de plug-in sont installés, ils deviennent disponibles aussi facilement que les modules intégrés. Les modules décrits ci-dessous sont les modules par défaut, inclus dans chaque installation FreeCAD.
- Les modules intégrés sont les principaux modules de FreeCAD. Ils contiennent les outils pour manipuler les configurations générales de FreeCAD, les documents et leur contenu.
- Création d'Ateliers vous montre comment créer votre propre atelier.
Travailler avec les maillages
- Mesh Scripts: comment interagir avec l'atelier Mesh
Travailler avec les objets Parts
- Atelier Part : comment les outils et la structure de Open CASCADE Technology sont utilisés dans FreeCAD.
- Les Scripts pour création topologique : interaction avec l'atelier Part.
- PythonOCC :comment utiliser toute la puissance du moteur Open CASCADE.
- Conversion objet Mesh en Part : conversion entre les types d'objets.
Accéder aux graphes de scène de Coin
- Graphe de scène : Comment fonctionne la représentation de la scène FreeCAD.
- Pivy : Comment accéder et modifier le graphe de scène
Contrôler l'interface avec Qt
- PySide : comment accéder à l'interface et modifier son contenu.
- Utilisez les modules graphiques FreeCAD : dans d'autres applications Qt avec l'aide de PyQt.
Travailler avec des objets paramétriques
- Objets créés par script : comment créer des objets créés par script à 100% en Python.
- Objets créés par script avec pièce jointe : comment rendre les objets créés par script attachables à d'autres objets.
- Sauvegarde des attributs des objets scripts : comment sauvegarder et restaurer les attributs de la classe proxy avec
dumps
etloads
. - Migration d'objets créés par script : comment migrer d'anciens objets créés par script vers une nouvelle classe.
Exemples
- Code snippets : une collection de morceaux de code Python de FreeCAD, pour servir d'ingrédients dans vos scripts...
- Fonction - tracer une ligne : comment construire un outil simple pour dessiner des lignes.
- Création d'une boite de dialogue : comment construire des dialogues avec Qt designer et les utiliser dans FreeCAD.
- Intégrer FreeCAD : comment importer FreeCAD en tant que module Python dans d'autres applications.
- L'atelier Draft ajoute des fonctions de dessin 2D de base à FreeCAD. Il est entièrement écrit en Python, donc il peut être un bon exemple si vous voulez écrire vos propres modules.
- Bibliothèque mathématique vectorielle de FreeCAD : Quelques fonctions pratiques pour manipuler les vecteurs FreeCAD. Cette bibliothèque est également incluse dans le module Draft.
Fonctions API
La documentation complète de l'API de FreeCAD se trouve à l'adresse http://www.freecadweb.org/api/. Elle contient à la fois les APIs C++ et Python, et n'est pas encore parfaitement formatée, ce qui peut être déroutant si vous recherchez du code uniquement Python. Une version plus facile à parcourir peut être trouvée ici. Notez qu'elle peut être incomplète, car elle est mise à jour manuellement. Pour des informations plus précises, parcourez les modules directement depuis la console Python de FreeCAD.
En rapport : Exposing C++ to Python
Modifications avancées
- Démarrage et configuration: démarrage et options en ligne de commande
- Installation sous Windows: utilisation de l'installeur Windows
- Compilation de FreeCAD sous Windows et Compiler sous Linux/Unix
- Identification à la marque FreeCAD: les modifications simples à effectuer sur le code source de FreeCAD pour construire votre propre application
- Extension des modules Python: l’interpréteur Python de FreeCAD est facilement extensible par l'ajout de nombreux modules !
Tutoriels pour Python
Voici une compilation de très bons tutoriels, pas forcement liés à FreeCAD, mais très intéressants si vous êtes totalement débutants en Python.
Python
- Official python tutorial - Un tutoriel très complet pour découvrir Python
- Non-programmer tutorial for python - un excellent livre au format Wiki
- Python for newbies - un grand tutoriel couvrant tous les grands principes de base.
PySide - Comment créer et gérer l'UI Qt de FreeCAD à partir de Python
- tutorial - Un tutoriel de plate-forme montrant l'utilisation de PySide avec des exemples
- PySide/PyQt tutorial - Un tutoriel facile à lire qui couvre PySide et PyQt avec des exemples
- documentation PySide du projet Qt (les personnes qui ont tout écrit)
- Using QtCreator in PySide : Aussi depuis le Projet Qt
- PySide reference : détails inépuisables sur la minutie de PySide et Qt, une source de référence fiable
- PySide code snippets : une base de données interrogeable d'extraits de code PySide
Les deux références suivantes sont spécifique à PyQt (pas PySide) mais peuvent offrir des informations d'utilisation :
- PyQt tutoriel : Un tutoriel simple et court basé sur Linux qui vous expliquera comment travailler avec PyQt et Qt Designer
- Programming Qt applications in python: Un tutoriel plus approfondi couvrant l'ensemble des processus de travail avec Qt et python.
Pivy - Comment interagir avec les scènes 3D de FreeCAD
- Pivy - Incorporation d'un langage de script dynamique dans une bibliothèque de graphes de scènes: Thèse qui explique Pivy en détail
- Programmation graphique 3D de haut niveau en Python: exemple Pivy de Pycon 2004
- Introducing Pivy into studierstube (Mirror) : Un article qui n'est pas vraiment un tutoriel mais qui illustre bien le fonctionnement de Pivy (nécessite un compte académique)
Projets communautaires
Sur le Portail communautaire FreeCAD, vous pouvez rechercher d'autres projets basés sur FreeCAD et gérés par la communauté. Si vous avez commencé un nouveau projet FreeCAD, assurez vous de le signaler sur le Community portal (page en anglais) ! Si vous souhaitez participer au développement de FreeCAD vous pouvez visiter la page Aider FreeCAD et voir ce que vous pouvez faire.

- Scripts FreeCAD : Python, Introduction à Python, Tutoriel sur les scripts Python, Débuter avec les scripts
- Modules : Modules intégrés, Unités, Quantity
- Ateliers : Création d'atelier, Commands Gui, Les commandes, Installer des ateliers supplémentaires
- Maillages et objets Parts : Scripts Mesh, Script de données topologiques, Conversion objet Mesh en Part, PythonOCC
- Objets paramétriques : Objets créés par script, Viewproviders (Icône personnalisée dans l'arborescence)
- Scénographie : Graphe de scène Coin (Inventor), Pivy
- Interface graphique : Création d'interface, Création d'une boite de dialogue (1, 2, 3, 4, 5), PySide, Exemples PySide débutant, intermédiaire, expérimenté
- Macros : Macros, Comment installer des macros
- Intégration : Intégrer FreeCAD, Intégration de FreeCADGui
- Autre : Expressions, Extraits de codes, Fonction - tracer une ligne, Bibliothèque mathématique vectorielle de FreeCAD (déprécié)