Power users hub/fr



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
 * 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
 * Utiliser des Unités variées 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"

 * Les scripts de maillage sont interactifs avec le module maillage

Travailler avec les géométries "Parts"

 * Comment le module géométrie " Part " utilise les outils et structures Open CASCADE Technology dans FreeCAD
 * Les scripts de données topologiques sont interactifs avec " Part "
 * PythonOCC peut utiliser toute la puissance du moteur Open CASCADE
 * Maillage vers géométrie ou comment convertir les types d'objets différents " Mesh " et " Part "

Accéder aux Scènes graphiques avec Coin

 * Scènes graphiques et Coin/Inventor : Vous pouvez avec FreeCad représenter des scènes de travail grâce à Coin3D
 * Pivy : permet d'accéder et modifier la scène graphique (passerelle d'accès à Coin)

Contrôler l'interface avec Qt

 * PySide dispose des outils nécessaires pour construire, accéder et modifier le contenu d'une interface utilisateur
 * 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.
 * Scripted objects saving attributes : comment sauvegarder et restaurer les attributs de la classe proxy avec et.
 * Scripted objects migration : comment migrer d'anciens objets créés par script vers une nouvelle classe.

Exemples

 * Collection d'Extraits de code Python qui peuvent servir de base à vos scripts.
 * Dessiner une ligne : Toute l'écriture d'un simple outil qui va dessiner une ligne.
 * Comment créer une boîte de dialogue avec Qt designer, et l'utiliser dans FreeCAD.
 * Faire l'intégration de FreeCAD comme module Python dans une application externe.
 * Ajouter avec le module Ébauche des fonctions de dessin 2D dans FreeCAD. Entièrement écrit en Python, c'est un bon exemple si vous voulez écrire vos propres modules.
 * Bibliothèque mathématique de vecteurs : Quelques fonctions pratiques pour manipuler les vecteurs FreeCAD. Cette bibliothèque est aussi 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 :
 * [Http://www.cs.usfca.edu/~afedosov/qttut/Basic PyQt tutoriel] : Un tutoriel simple et court basé sur Linux qui vous expliquera comment travailler avec PyQt et Qt Designer
 * [Http://vizzzion.org/?id=pyqt Programming Qt applications in python]: Un tutoriel plus approfondi couvrant l'ensemble des processus de travail avec Qt et python.

Pivy - Comment être interactif entre FreeCad et scènes 3D
 * Tutoriel Pivy de base : Un tutoriel très simple sur le site officiel de Pivy
 * Introduction à Pivy studiersturbe : Ce document n'est pas vraiment un tutoriel mais, il illustre très bien le fonctionnement de Pivy au travail

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.

Literature

 * "Parametric CAD modeling for open source scientific hardware: Comparing OpenSCAD and FreeCAD Python scripts", Felipe Machado, Norberto Malpica, Susana Borromeo, DOI: 10.1371/journal.pone.0225795.
 * "Low-cost 4D BIM modelling: a comparison between FreeCAD and commercial software", D. Di Donato, Matteo Abita, DOI: 10.5194/isprs-archives-XLII-2-W17-107-2019.