Power users hub/fr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
 
(7 intermediate revisions by 2 users not shown)
Line 14: Line 14:
Si vous souhaitez contribuer au contenu de ces pages, demandez un compte wiki avec les droits d'éditeur [https://forum.freecadweb.org/viewtopic.php?f=21&t=6830 dans le forum] et lisez les [[WikiPages/fr|Pages Wiki]] pour les directives générales que vous devez suivre. Pour d'autres façons de contribuer au projet, consultez la page [[Help_FreeCAD/fr|Contribuer à FreeCAD]].
Si vous souhaitez contribuer au contenu de ces pages, demandez un compte wiki avec les droits d'éditeur [https://forum.freecadweb.org/viewtopic.php?f=21&t=6830 dans le forum] et lisez les [[WikiPages/fr|Pages Wiki]] pour les directives générales que vous devez suivre. Pour d'autres façons de contribuer au projet, consultez la page [[Help_FreeCAD/fr|Contribuer à FreeCAD]].


<span id="Customizing_FreeCAD"></span>
== Personnaliser FreeCAD ==
== Personnaliser FreeCAD ==


Line 22: Line 23:
* [[Installing_more_workbenches/fr|Installer plus d'ateliers]]
* [[Installing_more_workbenches/fr|Installer plus d'ateliers]]


<span id="Scripting_in_FreeCAD"></span>
== Scripts dans FreeCAD ==
== Scripts dans FreeCAD ==


<span id="General"></span>
===Général===
===Général===


* [[Scripting_and_macros/fr|Exemples de scripts et macros]] - Une liste de pages du wiki pertinentes.
* [[Introduction_to_Python/fr|Introduction à Python]] : Allez voir aussi les autres tutoriels pour Python en liens en bas de cette page.
* [[Introduction_to_Python/fr|Introduction à Python]] : Allez voir aussi les autres tutoriels pour Python en liens en bas de cette page.
* [[Python_scripting_tutorial/fr|Tutoriel sur les scripts Python]] : Une vue générale des scripts Python dans FreeCAD.
* [[Python_scripting_tutorial/fr|Tutoriel sur les scripts Python]] : Une vue générale des scripts Python dans FreeCAD.
* [[FreeCAD_Scripting_Basics/fr|Scripts de base]] : Les bases des scripts en Python...
* [[FreeCAD_Scripting_Basics/fr|Scripts de base]] : Les bases des scripts en Python...
* [[Gui_Command/fr|Interface et commandes]] : Ajouter des commandes personnalisées dans l'interface de FreeCAD.
* [[Gui_Command/fr|Interface et commandes]] : Ajouter des commandes personnalisées dans l'interface de FreeCAD.
* [[Manual:A_gentle_introduction/fr|Manuel : petite introduction à Python]] : Introduction en plusieurs chapitres aux scripts Python dans FreeCAD.
* Utiliser des [[Units/fr|Unités]] variées dans FreeCAD.
* Utiliser des [[Units/fr|Unités]] variées dans FreeCAD.
* [[Profiling/fr|Profilage]] du code Python.
* [[Profiling/fr|Profilage]] du code Python.
* [[Debugging/fr#D.C3.A9bogage_Python|Débogage]] du code Python.
* [[Debugging/fr#D.C3.A9bogage_Python|Débogage]] du code Python.
*[[Python_Development_Environment/fr|Environnement de développement pour Python]] - Un développement simplifié pour Python dans FreeCAD


=== Modules ===
=== Modules ===
Line 41: Line 47:
* [[Workbench creation/fr|Création d'Ateliers]] vous montre comment créer votre propre atelier.
* [[Workbench creation/fr|Création d'Ateliers]] vous montre comment créer votre propre atelier.


<span id="Working_with_Meshes"></span>
====Travailler avec les maillages====
====Travailler avec les maillages====


* [[Mesh Scripting/fr|Mesh Scripts]]: comment interagir avec l'[[Mesh_Workbench/fr|atelier Mesh]]
* [[Mesh Scripting/fr|Mesh Scripts]]: comment interagir avec l'[[Mesh_Workbench/fr|atelier Mesh]]


<span id="Working_with_Parts"></span>
====Travailler avec les objets Parts====
====Travailler avec les objets Parts====


Line 52: Line 60:
* [[Mesh to Part/fr|Conversion objet Mesh en Part]] : conversion entre les types d'objets.
* [[Mesh to Part/fr|Conversion objet Mesh en Part]] : conversion entre les types d'objets.


<span id="Accessing_the_Coin_scenegraph"></span>
====Accéder aux graphes de scène de Coin====
====Accéder aux graphes de scène de Coin====


Line 57: Line 66:
* [[Pivy/fr|Pivy]] : Comment accéder et modifier le graphe de scène
* [[Pivy/fr|Pivy]] : Comment accéder et modifier le graphe de scène


<span id="Controlling_the_Qt_interface"></span>
===Contrôler l'interface avec Qt===
===Contrôler l'interface avec Qt===


Line 62: Line 72:
* [[Embedding_FreeCADGui/fr|Utilisez les modules graphiques FreeCAD]] : dans d'autres applications Qt avec l'aide de PyQt.
* [[Embedding_FreeCADGui/fr|Utilisez les modules graphiques FreeCAD]] : dans d'autres applications Qt avec l'aide de PyQt.


<span id="Working_with_parametric_objects"></span>
===Travailler avec des objets paramétriques===
===Travailler avec des objets paramétriques===


* [[Scripted_objects/fr|Objets créés par script]] : comment créer des objets créés par script à 100% en Python.
* [[Scripted_objects/fr|Objets créés par script]] : comment créer des objets créés par script à 100% en Python.
** [[Scripted_objects_with_attachment/fr|Objets créés par script avec pièce jointe]] : comment rendre les objets créés par script attachables à d'autres objets.
** [[Scripted_objects_with_attachment/fr|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|Scripted objects saving attributes]] : comment sauvegarder et restaurer les attributs de la classe proxy avec {{incode|__getstate__}} et {{incode|__setstate__}}.
** [[Scripted_objects_saving_attributes/fr|Sauvegarde des attributs des objets scripts]] : comment sauvegarder et restaurer les attributs de la classe proxy avec {{incode|dumps}} et {{incode|loads}}.
** [[Scripted_objects_migration|Scripted objects migration]] : comment migrer d'anciens objets créés par script vers une nouvelle classe.
** [[Scripted_objects_migration/fr|Migration d'objets créés par script]] : comment migrer d'anciens objets créés par script vers une nouvelle classe.


<span id="Examples"></span>
===Exemples===
===Exemples===


Line 78: Line 90:
* [[FreeCAD_vector_math_library/fr|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.
* [[FreeCAD_vector_math_library/fr|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.


<span id="API_Functions"></span>
== Fonctions API ==
== Fonctions API ==


Line 84: Line 97:
En rapport : [[Exposing_C%2B%2B_to_Python|Exposing C++ to Python]]
En rapport : [[Exposing_C%2B%2B_to_Python|Exposing C++ to Python]]


<span id="Advanced_modification"></span>
== Modifications avancées ==
== Modifications avancées ==


Line 92: Line 106:
* [[Extra_python_modules/fr|Extension des modules Python]]: l’interpréteur Python de FreeCAD est facilement extensible par l'ajout de nombreux modules !
* [[Extra_python_modules/fr|Extension des modules Python]]: l’interpréteur Python de FreeCAD est facilement extensible par l'ajout de nombreux modules !


<span id="Python_tutorials"></span>
== Tutoriels pour Python ==
== Tutoriels pour Python ==


Line 118: Line 133:
* [https://www.semanticscholar.org/paper/Integrating-Pivy-into-Studierstube-4.2-Gruber/08c9a89c8326c87f81c2d83428029fbfb6c2ae64 Introducing Pivy into studierstube] [https://www.researchgate.net/publication/228737136_Integrating_Pivy_into_Studierstube_42 (Mirror)] : Un article qui n'est pas vraiment un tutoriel mais qui illustre bien le fonctionnement de Pivy (nécessite un compte académique)
* [https://www.semanticscholar.org/paper/Integrating-Pivy-into-Studierstube-4.2-Gruber/08c9a89c8326c87f81c2d83428029fbfb6c2ae64 Introducing Pivy into studierstube] [https://www.researchgate.net/publication/228737136_Integrating_Pivy_into_Studierstube_42 (Mirror)] : Un article qui n'est pas vraiment un tutoriel mais qui illustre bien le fonctionnement de Pivy (nécessite un compte académique)


<span id="Community_projects"></span>
== Projets communautaires ==
== Projets communautaires ==



Latest revision as of 12:31, 27 January 2024


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

Scripts dans FreeCAD

Général

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

Travailler avec les objets Parts

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

Travailler avec des objets paramétriques

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

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

PySide - Comment créer et gérer l'UI Qt de FreeCAD à partir de Python

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

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.

  • Scientific literature: articles qui référencent ou utilisent le système FreeCAD de différentes manières.