Power users hub/fr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
 
(39 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{TOCright}}
[[Image:Power_user_hub.png|64px]]
[[Image:Power_user_hub.png|64px]]
----
----
__NOTOC__


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.
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.
Line 12: Line 12:
* '''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.
* '''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 [https://forum.freecadweb.org/viewtopic.php?f=21&t=6830 dans le forum] et lisez les [[WikiPages|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===
* [[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
* [[FreeCAD Scripting Basics/fr|Scripts de base]] : Les bases des scripts en Python...
* [[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.
* [[Gui Command/fr|Interface et commandes]] : Ajouter des commandes personnalisées dans l'interface de FreeCAD
* [[Python_scripting_tutorial/fr|Tutoriel sur les scripts Python]] : Une vue générale des scripts Python dans FreeCAD.
* Utiliser des [[Units/fr|Unités]] variées dans FreeCAD
* [[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.
* [[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.
* [[Profiling/fr|Profilage]] 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 38: 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 "Mesh"====
====Travailler avec les maillages====
* [[Mesh Scripting/fr|Les scripts de maillage]] sont interactifs avec le [[Mesh Module/fr|module maillage]]


* [[Mesh Scripting/fr|Mesh Scripts]]: comment interagir avec l'[[Mesh_Workbench/fr|atelier Mesh]]
====Travailler avec les géométries "Parts"====
* Comment le [[Part Module/fr|module géométrie " Part "]] utilise les outils et structures [http://fr.wikipedia.org/wiki/Open_CASCADE Open CASCADE Technology] dans FreeCAD
* Les [[Topological data scripting/fr|scripts de données topologiques]] sont interactifs avec " Part "
* [[PythonOCC/fr|PythonOCC]] peut utiliser toute la puissance du moteur Open CASCADE
* [[Mesh to Part/fr|Maillage vers géométrie]] ou comment convertir les types d'objets différents " Mesh " et " Part "


<span id="Working_with_Parts"></span>
====Accéder aux Scènes graphiques avec Coin====
====Travailler avec les objets Parts====
* [[Scenegraph/fr|Scènes graphiques et Coin/Inventor]] : Vous pouvez avec FreeCad représenter des scènes de travail grâce à [http://fr.wikipedia.org/wiki/Open_CASCADE_Technology Coin3D]
* [[Pivy/fr|Pivy]] : permet d'accéder et modifier la scène graphique (passerelle d'accès à Coin)


* [[Part_Workbench|Atelier Part]] : comment les outils et la structure de [https://fr.wikipedia.org/wiki/Open_CASCADE_Technology Open CASCADE Technology] sont utilisés dans FreeCAD.
* Les [[Topological_data_scripting/fr|Scripts pour création topologique]] : interaction avec l'atelier Part.
* [[PythonOCC/fr|PythonOCC]] :comment utiliser toute la puissance du moteur Open CASCADE.
* [[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====

* [[Scenegraph/fr|Graphe de scène]] : Comment fonctionne la représentation de la scène FreeCAD.
* [[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===
* [[PySide/fr|PySide]] dispose des outils nécessaires pour construire, accéder et modifier le contenu d'une interface utilisateur
* [[Embedding FreeCADGui/fr|Utilisez les modules graphiques FreeCAD]] dans d'autres applications Qt avec l'aide de PyQt


* [[PySide/fr|PySide]] : comment accéder à l'interface et modifier son contenu.
* [[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===
* Collection d'[[Code snippets/fr|Extraits de code]] Python qui peuvent servir de base à vos scripts.
* [[Line drawing function/fr|Dessiner une ligne]] : Toute l'écriture d'un simple outil qui va dessiner une ligne.
* Comment [[Dialog creation/fr|créer une boîte de dialogue]] avec Qt designer, et l'utiliser dans FreeCAD.
* Faire l'[[Embedding FreeCAD/fr|intégration de FreeCAD]] comme module Python dans une application externe.
* Ajouter avec le [[Draft Module/fr|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.
* [[FreeCAD vector math library/fr|Bibliothèque mathématique de vecteurs]] : Quelques fonctions pratiques pour manipuler les vecteurs FreeCAD. Cette bibliothèque est aussi incluse dans le module Draft.


* [[Code_snippets/fr|Code snippets]] : une collection de morceaux de code Python de FreeCAD, pour servir d'ingrédients dans vos scripts...
* [[Line_drawing_function/fr|Fonction - tracer une ligne]] : comment construire un outil simple pour dessiner des lignes.
* [[Dialog_creation/fr|Création d'une boite de dialogue]] : comment construire des dialogues avec Qt designer et les utiliser dans FreeCAD.
* [[Embedding_FreeCAD/fr|Intégrer FreeCAD]] : comment importer FreeCAD en tant que module Python dans d'autres applications.
* L'[[Draft_Workbench/fr|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.
* [[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 76: 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 ==


* [[Start up and Configuration/fr|Démarrage et configuration]] : Démarrage et options en ligne de commande
* [[Start_up_and_Configuration/fr|Démarrage et configuration]]: démarrage et options en ligne de commande
* [[Install on Windows/fr|Installation sous Windows]] : Utilisation de l'installeur Windows
* [[Installing_on_Windows/fr|Installation sous Windows]]: utilisation de l'installeur Windows
* [[Compile_on_Windows/fr|Compilation de FreeCAD sous Windows]] et [[Compile on Linux/Unix/fr|Compiler sous Linux/Unix]]
* [[Compile_on_Windows/fr|Compilation de FreeCAD sous Windows]] et [[Compile_on_Linux/fr|Compiler sous Linux/Unix]]
* [[Branding/fr|Identification à la marque FreeCAD]] : les modifications simples à effectuer sur le code source de FreeCAD pour construire votre propre application
* [[Branding/fr|Identification à la marque FreeCAD]]: les modifications simples à effectuer sur le code source de FreeCAD pour construire votre propre application
* [[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 89: Line 112:


'''Python'''
'''Python'''
* [http://docs.python.org/tut/tut.html Official python tutorial] - Un tutoriel très complet pour découvrir Python
* [https://docs.python.org/3/tutorial/index.html Official python tutorial] - Un tutoriel très complet pour découvrir Python
* [http://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python Non-programmer tutorial for python] - un excellent livre au format Wiki
* [https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3 Non-programmer tutorial for python] - un excellent livre au format Wiki
* [http://npt.cc.rsu.ru/user/wanderer/ODP/Python_for_Newbies.htm Python for newbies] - un grand tutoriel couvrant tous les grands principes de base.
* [http://npt.cc.rsu.ru/user/wanderer/ODP/Python_for_Newbies.htm Python for newbies] - un grand tutoriel couvrant tous les grands principes de base.


Line 102: Line 125:


Les deux références suivantes sont spécifique à PyQt (pas PySide) mais peuvent offrir des informations d'utilisation :
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://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.
* [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
'''Pivy''' - Comment interagir avec les scènes 3D de FreeCAD
* [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.108.947&rep=rep1&type=pdf 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
* [http://pivy.coin3d.org/documentation/pycon Tutoriel Pivy de base] : Un tutoriel très simple sur le site officiel de Pivy
* [http://ftp.ntua.gr/mirror/python/pycon/dc2004/papers/47/ Programmation graphique 3D de haut niveau en Python]: exemple Pivy de Pycon 2004
* [http://www.google.com.br/url?sa=U&start=3&q=http://studierstube.icg.tu-graz.ac.at/doc/pdf/PivyStudierstubeTutorial.pdf&ei=XyC1Sc2wOeCKmQem_eHnBQ&usg=AFQjCNEYhb-0DcUc6OxFVijAe1epBb-4aA Introduction à Pivy studiersturbe] : Ce document n'est pas vraiment un tutoriel mais, il illustre très bien le fonctionnement de Pivy au travail
* [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 ==


Sur le [[FreeCAD Community Portal/fr|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 [[FreeCAD Community Portal|Community portal (page en anglais)]] ! Si vous souhaitez participer au développement de FreeCAD vous pouvez visiter la page [[Help FreeCAD/fr|Aider FreeCAD]] et voir ce que vous pouvez faire.
Sur le [[FreeCAD Community Portal/fr|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 [[FreeCAD Community Portal|Community portal (page en anglais)]] ! Si vous souhaitez participer au développement de FreeCAD vous pouvez visiter la page [[Help FreeCAD/fr|Aider FreeCAD]] et voir ce que vous pouvez faire.


* [[Scientific_literature|Scientific literature]]: articles that reference or use the FreeCAD system in different ways.
* [[Scientific_literature|Scientific literature]]: articles qui référencent ou utilisent le système FreeCAD de différentes manières.



{{Powerdocnavi{{#translation:}}}}
{{Powerdocnavi{{#translation:}}}}

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.