Power users hub/fr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
(35 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
[[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.
[[Image:Crystal_Clear_app_terminal.png|right|150]]


FreeCAD est extensible par du code [[Python/fr|Python]] qui est exécuté directement dans la [[Python_console/fr|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 :
Cet espace va vous permettre de mieux connaître et vous familiariser avec FreeCAD. Vous pourrez ici apprendre à configurer FreeCAD selon vos besoins et exigences.
* '''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 [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]].
Ces pages sont au début de leur développement. Si vous ne trouvez pas l'information que vous recherchez, ou vous avez trouvé ailleurs des informations utiles non répertoriées ici, alors s'il vous plaît laissez un commentaire sur le [http://forum.freecadweb.org/ forum], ou, pourquoi pas, [[Help_FreeCAD/fr|ajouter du contenu vous-même]] !

Une des plus intéressantes possibilités de FreeCAD est de pouvoir créer et compléter des scripts sans devoir compiler quoi que ce soit ni toucher au code source. Tous les scripts sont écrits en langage [http://fr.wikipedia.org/wiki/Python_(langage) Python], un langage de programmation simple et très puissant. Avec un simple script Python vous avez un accès total à toutes les parties de FreeCAD.

Vous pouvez par exemple :

* '''Créer et modifier des éléments géométriques''' : Avez-vous besoin d’un objet spécial qui n’est pas présent dans l’installation par défaut de FreeCAD ? Vous pouvez facilement créer un nouveau type d'objet, soit à partir de zéro, soit en adaptant un type existant.
* '''Créer des outils et commandes personnalisés''' : Actuellement, FreeCAD possède déjà de nombreuses fonctionnalités, mais il manque encore beaucoup d'outils et de commandes utiles à l'utilisateur final. Vous pouvez créer très facilement vos propres outils ou commandes.
* '''Modification de l'interface''': L'interface de FreeCAD est actuellement très basique. Mais FreeCAD vous permet de modifier son apparence et de l'adapter à vos besoins. Vous pouvez, par exemple, créer des barres d’outils pour utiliser vos propres outils, créer des panneaux spéciaux pour interagir avec vos outils, etc.
*'''Modifier la représentation de scènes''' : FreeCAD a des processus séparés pour construire et calculer les formes géométriques et afficher les figures à l'écran. Vous avez le contrôle total sur la manière dont les géométries sont affichées à l'écran, vous pouvez modifier la représentation, être interactif avec le processus ou ajouter toutes sortes de comportements personnalisés comme par exemple l'affichage d'informations, traçage ou entités temporaires.


== Personnaliser FreeCAD ==
== Personnaliser FreeCAD ==
Line 20: Line 18:
* [[Interface Customization/fr|Personnaliser l'interface]] : Les fondamentaux : les barres d'outils et les raccourcis claviers.
* [[Interface Customization/fr|Personnaliser l'interface]] : Les fondamentaux : les barres d'outils et les raccourcis claviers.
* [[Macros/fr|Travailler avec les macros]] : Enregistrer facilement les actions répétitives ou du code Python
* [[Macros/fr|Travailler avec les macros]] : Enregistrer facilement les actions répétitives ou du code Python
* [[Macros_recipes/fr|"Recettes" de macros]]
* [[Macros_recipes/fr|Liste de macros]]
* [[Customize_Toolbars/fr|Personnaliser la barre d'outils]]
* [[Customize_Toolbars/fr|Personnaliser la barre d'outils]]
* [[Installing_more_workbenches/fr|Installer plus d'ateliers]]
* [[Installing_more_workbenches/fr|Installer plus d'ateliers]]
* [http://forum.freecadweb.org/viewtopic.php?t=10556 Chargeur de plugins]
* [https://github.com/FreeCAD/FreeCAD-addons Addons installer.FCMacro]


== Scripts dans FreeCAD ==
== Scripts dans FreeCAD ==


'''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
* [[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|FreeCAD scripting tutorial]]: 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.
* 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.


=== Modules ===
=== Modules ===
Line 59: Line 56:
* [[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


<div class="mw-translate-fuzzy">
===Travailler avec des objets paramétriques===
===Travailler avec des objets paramétriques===

* [[Scripted_objects/fr|Objets scripts]]: Vous pouvez créer vos objets totalement en scripts Python dans FreeCAD
* [[Scripted_objects/fr|Objets créés par script]] : comment créer des objets créés par script à 100% en Python.
* [[Drawing Module/fr|Module de dessin]]: Automatiser les processus 3D-vers-2D
** [[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.
</div>
** [[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_migration|Scripted objects migration]] : comment migrer d'anciens objets créés par script vers une nouvelle classe.


===Exemples===
===Exemples===
* Collection d'[[Code snippets/fr|Extraits de code]] Python qui peuvent servir de base à vos scripts
* 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
* [[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
* 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
* 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
* 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.
* [[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.


Line 81: Line 79:
== 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 !


== Tutoriels pour Python ==
== Tutoriels pour Python ==
Line 105: Line 103:


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)


== Projets communautaires ==
== Projets communautaires ==
Line 116: Line 115:
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 qui référencent ou utilisent le système FreeCAD de différentes manières.
{{Userdocnavi/fr}}

[[Category:Hubs/fr]]


{{Powerdocnavi{{#translation:}}}}
[[Category:Poweruser Documentation/fr]]
[[Category:Hubs{{#translation:}}]]

Revision as of 21:09, 12 January 2021



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 "Mesh"

Travailler avec les géométries "Parts"

Accéder aux Scènes graphiques avec Coin

Contrôler l'interface avec Qt

Travailler avec des objets paramétriques

Exemples

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.