How to install macros/fr: Difference between revisions

From FreeCAD Documentation
mNo edit summary
No edit summary
 
(248 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
{{TutorialInfo/fr|Class=Programmation|Level=Programmeur moyen|Time=15 minutes|FCVersion=Toutes versions|Author=[[User:Mario52|Mario52]]}}

{{TutorialInfo/fr
|Topic=Programmation
|Level=Programmeur moyen
|Time=15 minutes
|FCVersion=Toutes versions
|Author=[[User:Mario52|Mario52]]
}}


==Description==
==Description==
This short tutorial will show you how to install and use FreeCAD Macros.


Depuis la v0.17, il est facile d'ajouter des macros en utilisant le [[Std_AddonMgr/fr|Gestionnaire des extensions]]. Un utilisateur régulier n'a pas besoin de faire plus que d'utiliser cet outil. Continuez à lire pour plus d'informations sur l'installation de [[Macros/fr|macros]].
Ce tutoriel a été fait sur la plateforme Windows une petite adaptation des chemins sera peut être nécessaire pour d'autres systèmes.
Il a été mis à jour pour l'utilisation dans la plate-forme Macintosh.


Les macros sont des séquences de commandes utilisées pour effectuer une opération de dessin complexe. Les macros sont des scripts en [[Python/fr|Python]], ce qui signifie qu'il s'agit de fichiers texte pouvant être écrits et modifiés à l'aide d'un éditeur de texte.
==Python==
Python est un langage de programmation vraiment simple d'utilisation et vraiment facile à [[Introduction_to_Python/fr|apprendre]].


Alors que les scripts Python ont normalement pour extension {{incode|.py}}, les macros FreeCAD doivent avoir comme extension {{incode|.FCMacro}}. Une collection de macros écrites par des utilisateurs expérimentés se trouve dans la page [[macros recipes/fr|Macros]].
L'extension des fichiers Python est '''.py''' les macros de FreeCAD (qui sont également des fichiers Python) ont l'extension '''.FCMacro'''. Les macros dans FreeCAD peuvent aussi être exécutées avec l'extension '''.py'''. Python a été inventé par [https://www.python.org/~guido/ Guido Van Rossun]


Voir [[Introduction to Python/fr|Introduction à Python]] pour en savoir plus sur le langage de programmation Python, puis sur [[Python scripting tutorial/fr|Tutoriel sur les scripts Python]] et sur [[FreeCAD Scripting Basics/fr|principes de base des scripts FreeCAD]] pour lancer la création de scripts dans FreeCAD.
==Le menu Macro et la barre d'outils disponible pour les macros==


Ici une video sur l'installation [https://wiki.opensourceecology.org/wiki/Installing_Macros_in_FreeCAD installing FreeCAD macros in Ubuntu].
[[Image:Macro-record.svg|32px|record]] [[Std_DlgMacroRecord/fr|Lancer l'enregistrement de la macro]]
[[Image:Macro-stop.svg|32px|stop]] [[Std_DebugStop/fr|Arrête l'enregistrement]]
[[Image:Std_DlgMacroExecuteDirect.svg|32px|open editor]] [[Std_DlgMacroExecuteDirect/fr|Ouvre le menu des macros]]
[[Image:Macro-execute.svg|32px|execute]] [[Std_DlgMacroExecute/fr|Exécute la macro]]
[[Image:Debug-start.svg|32px|start]] [[Std_DebugMacro/fr|Debug la macro]]
[[Image:Debug-stop.svg|32px|stop]] [[Std_DlgMacroStop/fr|Arrête le débogage]]


<span id="The_Macro_menu_and_toolbar"></span>
==Location and destination of macros==
==Le menu Macro et sa barre d'outils==


<span id="Toolbar"></span>
Cette section vous permet de localiser l'emplacement définitif de vos macros.
===Barre d'outils===


* [[Image:Std_DlgMacroRecord.svg|32px]] [[Std_DlgMacroRecord/fr|Enregistrer une macro]]
'''1:''' Cliquer '''Menu > Macro > Macros''' (ou cliquez sur le bouton [[File:Std DlgMacroExecuteDirect.svg|24px]] "pour ouvrir une boîte de dialogue et vous permettre d'exécuter une macro enregistrée")
* [[Image:Std_MacroStopRecord.svg|32px]] [[Std_MacroStopRecord/fr|Arrêter l'enregistrement de la macro]]
* [[Image:Std_DlgMacroExecute.svg|32px]] [[Std_DlgMacroExecute/fr|Macros...]]
* [[Image:Std_DlgMacroExecuteDirect.svg|32px]] [[Std_DlgMacroExecuteDirect/fr|Lancer la macro]]


===Menu===
[[File:Dxf_Importer_Install_01.png|640px|center|Ouvre la fenêtre des macros]]


Outre les outils de la barre d'outils, les fonctions suivantes sont également disponibles dans le menu {{MenuCommand|Macro}}.
'''2 :''' une boîte de dialogue s'ouvre
* [[Std_MacroAttachDebugger/fr|Attacher au débogueur distant...]]
* [[Image:Std_MacroStartDebug.svg|32px]] [[Std_MacroStartDebug/fr|Déboguer la macro]]
* [[Image:Std_MacroStopDebug.svg|32px]] [[Std_MacroStopDebug/fr|Arrêter le débogage]]
* [[Std_MacroStepOver/fr|Passer outre]]
* [[Std_MacroStepInto/fr|Pénétrer dans]]
* [[Std_ToggleBreakpoint/fr|Basculer le point d'arrêt]]


<span id="Macros_directory"></span>
'''3 :''' l'adresse de destination des Macros est (ici dans cet exemple '''C:\Users\your_user_name\AppData\Roaming\FreeCAD\''' )
==Répertoires des macros==
* Windows : en général '''drive:\Users\your_user_name\AppData\Roaming\FreeCAD\'''
* Ubuntu : en général '''/home/your_user_name/.FreeCAD'''
* Macintosh : habituellement sous cette forme "/Users/your_user_name/Library/Preferences/FreeCAD"


<div class="toccolours mw-collapsible mw-collapsed">
'''4 :''' copiez l'adresse de destination des Macros (ici '''C:\Users\your_user_name\AppData\Roaming\FreeCAD\''')


Les macros sont créées dans un dossier spécifique du répertoire FreeCAD de l'utilisateur. Ce répertoire peut être configuré dans la [[Std_DlgMacroExecute/fr|boîte d'exécution des macros]] ou dans l'[[Preferences Editor/fr|éditeur de préférences]], via le menu {{MenuCommand|Édition → Préférences → Python → Macro → Paramètres d'enregistrement des macros}}.
[[File:Dxf_Importer_Install_02.png|640px|center|localisation des macros]]


Les macros téléchargées doivent également être placées dans ce répertoire.
'''5 :''' recherche du fichier de destination dans :
* Windows : collez l'adresse dans la boîte de dialogue de votre explorateur et confirmez
* Macintosh : recherchez le dossier dans le Finder ou collez l'adresse dans un navigateur (n'oubliez pas le préfixe "file:///" dans le navigateur pour un fichier sur le disque)


<div class="mw-collapsible-content">
[[File:Dxf_Importer_Install_03.png|640px|center|Allez vers le répertoire des macros]]


<span id="Default_directory"></span>
'''6 :''' gardez votre explorateur ouvert
=== Répertoire par défaut ===
* Windows : laissez votre explorateur ouvert

* Macintosh : soit laisser la fenêtre du Finder ouverte ou le chemin de l'emplacement dans votre navigateur, ou mettez en place un alias pour pointer sur lui, ou faites glisser le dossier dans la barre latérale du Finder de sorte qu'il puisse être utilisé par d'autres programmes tels que les éditeurs de texte, etc. (note: La version 0.14 de FreeCAD ne supporte pas les Alias)
Les macros peuvent être simplement copiées dans

{{Code|code=
$ROOT_DIR/
}}

où {{incode|$ROOT_DIR}} est un des premiers répertoire recherché par FreeCAD au démarrage.

Le {{incode|$ROOT_DIR}} pourrait être un répertoire système, auquel cas la macro est installée pour tous les utilisateurs.
* Sous Linux, il s’agit généralement de {{incode|/usr/share/freecad/}}.
* Sous Windows, il s’agit généralement de {{incode|C:\Program Files\FreeCAD\}}.
* Sous Mac OSX, il s’agit généralement de {{incode|/Applications/FreeCAD/}}.

Le {{incode|$ROOT_DIR}} pourrait être le répertoire d'un utilisateur particulier.
* Sous Linux, il s’agit généralement de {{incode|/home/username/.local/share/FreeCAD/}} ({{VersionPlus/fr|0.20}}) ou {{incode|/home/username/.FreeCAD/}} ({{VersionMinus/fr|0.19}}).
* Sous Windows, il s’agit généralement de {{incode|C:\Users\username\AppData\FreeCAD\}}
* Sous Mac OSX, il s’agit généralement de {{incode|/Users/username/Library/Preferences/FreeCAD/}}.

<span id="Configuring_the_user_directory"></span>
=== Configuration du répertoire utilisateur ===

1. Ouvrez le menu {{MenuCommand|Macro → [[Image:Std_DlgMacroExecute.svg|16px]] [[Std_DlgMacroExecute/fr|Macros...]]}} pour ouvrir la [[Std_DlgMacroExecute/fr|boîte d'exécution des macros]].

[[Image:Dxf_Importer_Install_01.png|center]]
{{Caption|align=center|Ouverture de la boîte de dialogue de lancement des macro}}

2. Définissez l'emplacement {{incode|User macros location}} approprié.
* Linux: généralement {{incode|/home/username/.local/share/FreeCAD/}} ({{VersionPlus/fr|0.20}}) ou {{incode|/home/username/.FreeCAD/}} ({{VersionMinus/fr|0.19}})
* Windows: généralement {{incode|C:\Users\username\AppData\Roaming\FreeCAD\}}.
* MacOS: généralement {{incode|/Users/username/Library/Preferences/FreeCAD/}}.

[[Image:Dxf_Importer_Install_02.png|center]]
{{Caption|align=center|Paramétrage du répertoire des macros}}

3. Accédez à ce répertoire sur votre ordinateur.
* Linux: collez l'adresse dans votre gestionnaire de fichiers, "Nautilus" ou autre. Vous devrez peut-être appuyer sur {{KEY|Ctrl}}+{{KEY|H}} pour rendre le répertoire masqué {{incode|.FreeCAD /}} visible.
* Windows: collez l'adresse dans votre "Explorateur de fichiers" et confirmez.
* MacOS: localisez le dossier dans le "Finder" ou collez l'adresse dans un "Explorateur de fichiers"; rappelez-vous du préfixe {{incode|file:///}} dans l'explorateur de fichiers pour un fichier sur le disque.

[[Image:Dxf_Importer_Install_03.png|center]]
{{Caption|align=center|Accés au répertoire des macros dans le système d'exploitation}}

4. Ajoutez des fichiers de macro à ce répertoire.
* Linux: laissez le gestionnaire de fichiers ouvert et marquez l’emplacement pour un accès plus rapide.
* Windows: laissez ouvert l'explorateur de fichiers.
* MacOS: laissez une fenêtre du "Finder" ouverte ou enregistrez l'emplacement dans votre "Explorateur de fichiers", ou configurez un "Alias" pour le désigner, ou faites glisser le dossier dans la "Barre latérale" du "Finder" afin il est là pour utiliser d'autres programmes tels que des éditeurs de texte.

[[Image:Dxf_Importer_Install_04.png|center]]
{{Caption|align=center|Le répertoire des macros}}


[[File:Dxf_Importer_Install_04.png|640px|center|Le répertoire des macros]]
{{clear}}
{{clear}}
</div>
</div>


<span id="Installing_macros"></span>
== Installation de macros ==


<div class="toccolours mw-collapsible mw-collapsed">
'''Cette section est destinée à ceux qui ne sont pas habitués avec la programmation Python (erreurs fréquentes copier/coller).'''

<span id="Automatic_method"></span>
=== Méthode automatique ===

À partir de FreeCAD 0.17, utilisez le [[Image:Std_AddonMgr.svg|24px]] [[Std_AddonMgr/fr|Gestionnaire des extensions]] dans {{MenuCommand|Outils → Gestionnaire des extensions}} pour installer une macro incluse dans le dépôt [https://github.com/FreeCAD/FreeCAD-macros FreeCAD-macros].

<div class="mw-collapsible-content">

Dans les versions précédentes de FreeCAD, vous pouviez utiliser deux méthodes automatisées pour installer des macros et d’autres extensions :
* [https://github.com/FreeCAD/FreeCAD-addons addons_installer.FCMacro]: elle-même une macro, elle était le précurseur du gestionnaire des extensions et est hébergée dans le répertoire [https://github.com/FreeCAD/FreeCAD-addons FreeCAD-addons]. Vous n'avez pas besoin d'utiliser cet outil dans les nouvelles installations de FreeCAD.
* [https://github.com/microelly2/freecad-pluginloader freecad-pluginloader]: également une macro, elle pourrait être utilisée pour installer de nouveaux composants dans FreeCAD. Ce n'est plus développé.

La méthode recommandée pour installer des extensions, c'est-à-dire des [[External_workbenches/fr|Ateliers externes]] et les macros, est le [[Image:Std_AddonMgr.svg|24px]] [[Std_AddonMgr/fr|Gestionnaire des extensions]]. Toutefois, vous pouvez toujours ajouter des macros à votre système avec les méthodes manuelles décrites dans les sections suivantes. Ceci est utile si vous développez et testez votre propre code.

</div>
</div>


<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">


<span id="Manual_method_1._Copy_the_code_to_the_macro_editor"></span>
==Exemples de code erroné dû à des erreurs d'indentation==
===Méthode manuelle 1. Copiez le code dans l'éditeur de macro===

Pour les macros relativement petites, 300 lignes ou moins, le code peut être copié et collé directement dans l'éditeur de macros FreeCAD.

<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


Nous utiliserons [[Image:Part_Prism_Apothem.svg|24px]] [[Macro_Apothem_Based_Prism_GUI/fr|Macro Apothem Based Prism GUI]] par exemple.
L'indentation dans la programmation Python est très importante et fait partie intégrante du code, un espace ou un décalage inapproprié provoque une erreur d'indentation et la macro ne s'exécute pas ex :


1. Allez sur la page wiki macro qui devrait être présente dans la liste [[Macros recipes/fr|Macros]].
<span style="color:red">
'''<unknown exception traceback><type 'exceptions.IndentationError'>: ('expected an indented block', ('C:/Users/d/AppData/Roaming/FreeCAD/Macro_Apothem_Based_Prism_GUI.FCMacro', 21, 3, 'def priSm(self):\n'))'''
</span>


S'il y a une icône personnalisée, téléchargez-la. Cliquez dessus avec le bouton droit de la souris et sélectionnez {{incode|Save image as...}}; Placez l'icône dans le répertoire des macros. Cette icône peut être utilisée comme raccourci pour la macro dans une [[Customize_Toolbars/fr|Barre d'outils personnalisée]]. L'icône par défaut est [[Image:Text-x-python.png|24px]].
l'erreur renvoyée donne 'expected an indented block' indentation de bloc attendue à la ligne '''21, 3,''' normal après un '''class p():''' il faut a la ligne suivante un indentation d'au moins un espace.


[[File:Macro Install HowTo 28.png|center]]
'''1 :''' Dans cet exemple le code a été collé sans aucune indentation et bien sûr ne fonctionne pas ! ici certainement une erreur du programmeur au moment de coller son code sur la page car il n'aurait jamais su le faire fonctionner.
{{Caption|align=center|Téléchargement de l'icône depuis la page macro}}


2. Dans la page macro, sélectionnez le code dans les sections {{Emphasis|Script}} ou {{Emphasis|Macro}} et copiez-le.
[[Image:Macro Install HowTo 09.png|center|le code sans indentation]]


3. Dans FreeCAD, ouvrez le menu {{MenuCommand|Macro → [[Image:Std_DlgMacroExecute.svg|16px]] [[Std_DlgMacroExecute/fr|Macros...]]}} pour ouvrir la [[Std_DlgMacroExecute/fr|boîte d'exécution des macros]].
'''2 :''' le code a été corrigé les indentations sont à la bonne place.


[[Image:Macro Install HowTo 10.png|center|le code est corrigé et l'indentation à la bonne place]]
[[Image:Dxf_Importer_Install_01.png|center]]
{{Caption|align=center|Ouverture de la boîte de dialogue de lancement des macro}}


4. Cliquer {{Button|Créer}}.
'''3 :''' nous sélectionnons le code et nous voyons que la sélection est bien au bord du code , la macro doit fonctionner tout va bien


[[Image:Macro Install HowTo 11.png|center|la macro doit fonctionner tout va bien
[[Image:Macro Install HowTo 17.png|center]]
{{Caption|align=center|Création d'une nouvelle macro}}
]]


5. Entrez le nom de la macro, ici {{incode|Macro_Apothem_Based_Prism_GUI}}, puis appuyez sur {{Button|OK}}.
'''4 :''' Ici un espace supplémentaire est sélectionné (ça peut arriver) vous devez alors copier le code dans un traitement de texte pour supprimer '''un espace dans toutes les lignes'''


[[Image:Macro Install HowTo 12.png|center|supprimer '''un espace dans toutes les lignes'''
[[Image:Macro Install HowTo 18.png|center]]
{{Caption|align=center|Renseignement du nom de la macro}}
]]


6. La fenêtre d'édition de macros de FreeCAD est maintenant disponible et porte le nom de notre future macro.
'''5 :''' Ici le code a été copié dans une fenêtre du forum avec le bouton {{KEY|Select all}} apparemment la sélection est bonne


[[Image:Macro Install HowTo 14.png|center|640px|le code a été copié à partir d'une fenêtre du forum avec le bouton Select all]]
[[Image:Macro Install HowTo 19.png|center]]
{{Caption|align=center|Fenêtre d'édition de macros}}


7. Collez le code dans la fenêtre de l'éditeur puis cliquez sur la croix de l'onglet pour fermer la fenêtre.
'''6 :''' Mais la sélection collée dans l'éditeur de FreeCAD donne une surprise, une indentation de quatre espaces a été ajoutée par le système ? le code n'est pas bon


[[Image:Macro Install HowTo 15.png|center|640px|une indentation de quatre espaces a été ajoutée par le système ? le code n'est pas bon
[[Image:Macro Install HowTo 20.png|center]]
{{Caption|align=center|Fermeture de la fenêtre}}
]]


8. Une fenêtre apparaît vous demandant de confirmer l'enregistrement du code. Cliquez sur {{Button|Oui}}. Vous pouvez également utiliser {{KEY|Ctrl}}+{{KEY|S}} pour enregistrer le fichier.
'''7 :''' Vous devez effacer tous les espaces supplémentaires c'est à dire quatre espaces à chaque ligne (pour Windows le traitement de textes [http://notepad-plus-plus.org/ notepad-plus-plus] permet sélection verticale avec une combinaison de touches {{KEY|Alt}} + Mouse dragging ou Menu > Édition > Indentation > Réduire l'indentation)


Redémarrez FreeCAD pour enregistrer correctement la nouvelle macro.
[[Image:Macro Install HowTo 16.png|center|640px|'''7 :''' Vous devez effacer quatre espaces à chaque ligne
]]


[[Image:Macro Install HowTo 27.png|center]]
'''8 :''' Ici la sélection prend aussi les numéros de colonne qui donnera aussi une erreur
{{Caption|align=center|Fenêtre pour confirmer la sauvegarde}}


9. Ouvrez à nouveau le menu, {{MenuCommand|Macro → [[Image:Std_DlgMacroExecute.svg|16px]] [[Std_DlgMacroExecute/fr|Macros...]]}}, sélectionnez la nouvelle macro et appuyez sur {{Button|Exécuter}}.
[[Image:Macro_Install_HowTo_29.png|center|640px|'''8 :''' Ici la sélection prend aussi les numéros de colonne qui donnera aussi une erreur
]]


[[Image:Macro Install HowTo 21.png|center]]
'''9 :''' Code parfait.
{{Caption|align=center|Cliquez sur votre macro pour la jouer}}


10. La macro s'exécute. Remplissez les champs avec vos valeurs et cliquez sur le bouton {{Button|OK}}.
[[Image:Macro Install HowTo 13.png|center|Code parfait]]

[[Image:Macro Install HowTo 22.png|center]]
{{Caption|align=center|La macro en action; remplissez les informations et appuyez sur OK lorsque vous êtes prêt}}

11. Cette macro doit renvoyer une erreur si aucun document n'est actif. Les autres macros ouvrent un nouveau document s'il n'en existe pas.

Créez un nouveau document avec {{MenuCommand|Fichier → [[Image:Std_New.svg|16px]] [[Std_New/fr|Nouveau]]}} puis répétez les étapes précédentes pour exécuter la macro.

[[Image:Macro Install HowTo 23.png|center|]]
{{Caption|align=center|La macro renvoyant une erreur si aucun document n'est actif}}

12. Lorsqu'un document actif est disponible, la macro s'exécute et crée un objet.

[[Image:Macro Install HowTo 24.png|center]]
{{Caption|align=center|Objet crée par la macro}}

13. Vous pouvez ouvrir à nouveau la macro dans l'éditeur pour l'exécuter ou la modifier. Accédez à {{MenuCommand|Macro → [[Image:Std_DlgMacroExecute.svg|16px]] [[Std_DlgMacroExecute/fr|Macros...]]}}, sélectionnez la macro et appuyez sur {{Button|Modifier}}.

[[Image:Macro Install HowTo 25.png|center]]
{{Caption|align=center|Ouverture de la macro dans l'éditeur}}

14. La macro peut maintenant être exécutée avec {{MenuCommand|Macro → [[Image:Std_DlgMacroExecuteDirect.svg|16px]] [[Std_DlgMacroExecuteDirect/fr|Lancer la macro]]}} ou en cliquant sur le {{Button|[[Image:Std_DlgMacroExecuteDirect.svg|16px]] [[Std_DlgMacroExecuteDirect/fr|Lancer la macro]]}} dans la barre d'outils.

[[Image:Macro Install HowTo 26.png|center]]
{{Caption|align=center|Exécution de la macro chargée dans l'éditeur}}


<br />
</div>
</div>
</div>
</div>

'''Méthode 1:'''


<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">

==Méthode copier le code à partir d'une fenêtre et coller dans l'éditeur de FreeCAD==
<span id="Manual_method_2._Add_a_macro_file_from_a_compressed_.zip_file"></span>
===Méthode manuelle 2. Ajouter un fichier de macro à partir d'un fichier .zip compressé===

Certaines macros sont trop importantes pour être copier-coller dans l'éditeur de macros être hébergées sur le wiki. Dans ce cas, le code peut être hébergé ailleurs, dans un répertoir Github ou sur le [https://forum.freecadweb.org/ Forum FreeCAD]. Le code peut également être compressé dans un fichier {{incode|.zip}}, tarball {{incode|.tar.xz}} ou dans un autre type d'archive s'il contient plusieurs fichiers. Si le code est distribué de cette manière, l'archive doit être extraite et les fichiers placés dans le répertoire macros.

<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


Nous utiliserons [[Image:Text-x-python.png|24px]] [[Macro_screw_maker1_2/fr|Macro screw maker]] par exemple.
Pour l'exemple nous allons copier la macro [[File:Part_Prism_Apothem.svg|16px]] [[Macro_Apothem_Based_Prism_GUI|Macro_Apothem_Based_Prism_GUI]]


1. Téléchargez le code compressé à partir du forum,[http://forum.freecadweb.org/viewtopic.php?f=22&t=6558#p52887 Screw Maker].
S'il y a un ou plusieurs icône(s) téléchargez les aussi , positionnez votre souris sur l'icône cliquez sur le bouton droit et cliquez sur "Enregistrez l'image sous..." cet icône ou les icônes seront placés dans le répertoire des macros et un de ces icônes servira comme icône de raccourci à placer sur la [[Customize_ToolsBar|barre des tâches]].


Vous devez utiliser un décompresseur pour obtenir les fichiers internes.
[[File:Macro Install HowTo 28.png|300px|center|Download icon]]
* Pour Windows, vous pouvez utiliser une application telle que [http://www.7-zip.org/ 7-zip] ou [http://www.kanmandet.dk/?p=37 L-Zarc] ou [http: //www.quickzip.org/quickzip51.html quickzip].
* Pour Linux, vous pouvez utiliser une commande du terminal


{{Code|code=
Après avoir copié votre code nous allons coller le code dans l'éditeur de FreeCAD.
unzip your_file.zip -d your_directory
}}


2. Téléchargez l'archive compressée avec le code de la macro dans un dossier local.
'''1 :''' Ouvrez FreeCAD et ouvrons l'éditeur de code incorporé dans FreeCAD


[[File:Dxf_Importer_Install_01.png|640px|center]]
[[Image:Macro Install HowTo 01.png|center]]
{{Caption|align=center|Téléchargement de l'archive compressée avec le code de macro dans un dossier local}}


3. Décompressez votre fichier dans le dossier.
'''2 :''' La fenêtre des fichiers macros s'ouvre, cliquez sur le bouton {{KEY|Créer}}


[[File:Macro Install HowTo 17.png|300px|center|La fenêtre des fichiers macros s'ouvre]]
[[Image:Macro Install HowTo 02.png|center]]
{{Caption|align=center|Décompressez votre fichier dans le dossier}}


4. Le décompresseur crée un nouveau répertoire avec les fichiers décompressés.
'''3 :''' Une nouvelle fenêtre s'ouvre, entrez le nom de la macro a créer (ici "'''Macro_Apothem_Based_Prism_GUI'''") puis cliquez sur le bouton {{KEY|Ok}}


[[File:Macro Install HowTo 18.png|300px|center|Entrez le nom de la macro]]
[[Image:Macro Install HowTo 03.png|center]]
{{Caption|align=center|Le nouveau répertoire créé après la décompression de l'archive}}


5. Accédez au nouveau répertoire et copiez ou coupez le fichier macro.
'''4 :''' La fenêtre d'édition de macros de FreeCAD est maintenant disponible et porte le nom de notre future macro.


[[File:Macro Install HowTo 19.png|640px|center|La fenêtre d'édition de macros de FreeCAD est maintenant disponible]]
[[Image:Macro Install HowTo 04.png|center]]
{{Caption|align=center|Saisie du nouveau répertoire créé avec le fichier de macro décompressé}}


6. Accédez au répertoire des macros et collez le fichier à cet endroit.
'''5 :''' Coller votre code dans la fenêtre éditeur de macro et cliquez sur la petite '''croix''' pour fermer la fenêtre.


[[File:Macro Install HowTo 20.png|640px|center|Fermez la fenêtre]]
[[Image:Macro Install HowTo 05.png|center]]
{{Caption|align=center|Placer le fichier macro dans le répertoire macro}}


7. Dans FreeCAD, ouvrez le menu {{MenuCommand|Macro → [[Image:Std_DlgMacroExecute.svg|16px]] [[Std_DlgMacroExecute/fr|Macros...]]}} pour ouvrir la [[Std_DlgMacroExecute/fr|boîte d'exécution des macros]].
'''6 :''' Une fenêtre d'avertissement s'affiche et demande une confirmation de sauvegarde du code, cliquer sur le bouton {{KEY|Oui}}


[[Image:Macro Install HowTo 06.png|center]]
'''PS:''' Pour que la modification soit prise en compte il faut enregistrer la macro puis la rouvrir et seulement l'exécuter.
{{Caption|align=center|Ouverture de la boîte de dialogue de lancement des macro}}


8. Sélectionnez la nouvelle macro et appuyez sur {{Button|Execute}}.
[[File:Macro Install HowTo 27.png|300px|center|Une fenêtre d'avertissement s'affiche et demande une confirmation de sauvegarde]]


[[Image:Macro Install HowTo 07.png|center]]
'''7 :''' Répétez le numéro '''1 :''', Cliquez sur votre nouvelle macro et sur le bouton {{KEY|Exécuter}}
{{Caption|align=center|Cliquez sur votre macro pour la jouer}}


9. La macro s'exécute maintenant. Sélectionnez les options souhaitées et cliquez sur le bouton {{Button|Create}}.
[[File:Macro Install HowTo 21.png|300px|center|Cliquez sur votre macro et exécutez]]


[[Image:Macro Install HowTo 08.png|center|640px]]
'''8 :''' La macro s'exécute , remplissez les champs avec vos valeurs et cliquez sur le bouton {{KEY|OK}}
{{Caption|align=center|La macro en action; sélectionnez les options souhaitées et appuyez sur Créer lorsque vous êtes prêt}}


[[File:Macro Install HowTo 22.png|640px|center|remplissez les champs avec vos valeurs]]
[[Image:Macro Install HowTo 30.png|center]]
{{Caption|align=center|Objet crée par la macro}}


</div>
9 : La macro retourne une erreur ! nous n'avons pas de document ouvert, ouvrons un document et répétons les opérations '''7:''' et '''8:'''. Certaines macros ouvrent un nouveau document s'il n'en trouve pas.
</div>


<span id="Execute_a_macro_in_command_line"></span>
[[File:Macro Install HowTo 23.png|640px|center|La macro retourne une erreur !]]
== Exécuter une macro en ligne de commande ==


<div class="toccolours mw-collapsible mw-collapsed">
10 : Et voici notre prisme


Ligne de commande pour exécuter une macro en (.FCMacro or .py)
[[File:Macro Install HowTo 24.png|640px|center|voici notre prisme]]


<div class="mw-collapsible-content">
11 : Vous pouvez aussi ouvrir votre macro dans l'éditeur pour l'exécuter ou la modifier, cliquez sur le bouton {{KEY|Éditer}}


sur Windows
[[File:Macro Install HowTo 25.png|300px|center|Vous pouvez aussi ouvrir votre macro dans l'éditeur]]


{{Code|code=
12 : La macro est maintenant dans l'éditeur de FreeCAD vous pouvez l'exécuter par le menu "Macro > Lancer la macro" ou en cliquant sur le triangle [[File:Macro-execute.svg|16px]] vert dans la barre d'outils des macros
"C:\Program Files\FreeCAD\bin\FreeCAD.exe" "C:\Users\userName\AppData\Roaming\FreeCAD\Mod\WorkFeature\start_WF.FCMacro"
}}


sur Linux
[[File:Macro Install HowTo 26.png|640px|center|La macro est dans l'éditeur de FreeCAD]]

{{Code|code=
todo
}}


</div>
</div>
</div>
</div>


<span id="Errors_in_macros"></span>
'''Méthode 2:'''
== Erreurs dans les macros ==


<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">
==Méthode avec un fichier compressé .ZIP==
<div class="mw-collapsible-content">


<span id="Indentation_errors"></span>
Téléchargez votre fichier si c'est un fichier.zip (exemple) [http://forum.freecadweb.org/viewtopic.php?f=22&t=6558#p52887].(la page de [[Macro_screw_maker1_2/fr|Macro_screw_maker]])
=== Exemples de code erroné dû à des erreurs d'indentation ===


L'espace blanc au début des lignes (indentation) dans le langage de programmation [[Python/fr|Python]] est très important et fait partie intégrante du code. Un espace inapproprié peut empêcher le code de s'exécuter ou présenter des erreurs.
Des gratuits pour Windows [http://www.7-zip.org/ 7-zip] ou [http://www.kanmandet.dk/?p=37 L-Zarc] ou [http://www.quickzip.org/quickzip51.html quickzip]


Cette section décrit certaines erreurs susceptibles d’être rencontrées lors des opérations de copier-coller et d’écriture de code macro.
Pour Linux utilisez la commande suivante dans un terminal:

<div class="mw-collapsible-content">

Une erreur d’indentation typique ressemble à ceci:


{{Code|code=
{{Code|code=
<unknown exception traceback><type 'exceptions.IndentationError'>: ('expected an indented block', ('C:/Users/d/AppData/Roaming/FreeCAD/Macro_Apothem_Based_Prism_GUI.FCMacro', 21, 3, 'def priSm(self):\n'))
unzip your_file.zip -d your_directory
}}
}}


<span id="Example_1"></span>
Vous devez maintenant décompresser le fichier (ou les fichiers et dossiers) et le copier dans votre répertoire de macros.
==== Exemple 1 ====


Si le code manque d'indentation, le code ne fonctionnera pas. Les définitions de classe ({{incode|class}}) et de fonction ({{incode|def ()}}) ainsi que les structures de contrôle ({{incode|if}}, {{incode|while}}, {{incode|for}}) doivent être suivies d'un bloc de code en retrait.
'''Procédure'''


Cette erreur est possible si l'utilisateur ne copie pas le code correctement et si tous les espaces sont supprimés par inadvertance.
'''1 :''' Téléchargez votre fichier dans votre dossier habituel , ici le dossier '''Temp'''


[[Image:Macro Install HowTo 01.png|center|640px|Téléchargez votre fichier]]
[[Image:Macro Install HowTo 09.png|center]]
{{Caption|align=center|Code Python sans indentation; cela provoquera une erreur quand il sera exécuté}}


Problème d'indentation résolu.
'''2 :''' Décompressez votre fichier dans le dossier.


[[Image:Macro Install HowTo 02.png|center|640px|Décompressez votre fichier.]]
[[Image:Macro Install HowTo 10.png|center]]
{{Caption|align=center|Code Python avec l'indentation correcte}}


Si le code est sélectionné, toutes les lignes doivent être mises en surbrillance jusqu'au bord gauche indiquant que les lignes sont alignées.
'''3 :''' Le décompresseur a fini son travail et a créé un nouveau dossier avec le fichier décompressé


[[Image:Macro Install HowTo 03.png|center|640px|Le décompresseur a fini son travail et a créé un nouveau dossier avec le fichier décompressé]]
[[Image:Macro Install HowTo 11.png|center]]
{{Caption|align=center|Code Python en surbrillance indiquant que toutes les lignes commencent au bord gauche}}


<span id="Example_2"></span>
'''4 :''' Entrez dans le répertoire nouvellement créé , positionnez vous sur le fichier, cliquez avec le bouton droit de la souris et faites '''Couper'''.
==== Exemple 2 ====


Si un espace supplémentaire est introduit au début de toutes les lignes, l'interpréteur Python échouera et se plaindra de l'indentation inutile. Dans ce cas, toutes les lignes nécessitent la suppression de l'espace initial.
[[Image:Macro Install HowTo 04.png|center|640px|Entrez dans le répertoire, positionnez vous sur le fichier]]


[[Image:Macro Install HowTo 12.png|center]]
'''5 :''' Retournez dans votre explorateur resté ouvert dans l'emplacement des macros (ici '''C:\Users\your_user_name\AppData\Roaming\FreeCAD\''') et fermez l'explorateur.
{{Caption|align=center|Code Python avec espace supplémentaire sur chaque ligne}}


<span id="Example_3"></span>
[[Image:Macro Install HowTo 05.png|center|640px|'''5 :''' Retournez dans votre explorateur resté ouvert]]
==== Exemple 3 ====


Ici, le code a été copié depuis un fil de forum en utilisant le bouton {{Button|Select all}}. Apparemment, le choix est bon.
'''6 :''' Ouvrez FreeCAD et entrez dans le menu macro par '''Menu > Macro > Macros''' ou cliquez sur le {{KEY|bouton}} [[File:Std_DlgMacroExecuteDirect.svg|18px]] "Ouvre une boîte de dialogue pour exécuter une macro enregistrée"


[[Image:Macro Install HowTo 06.png|center|640px|Ouvrez FreeCAD]]
[[Image:Macro Install HowTo 14.png|center]]
{{Caption|align=center|Code Python copié à partir d'un forum}}


Cependant, lorsque la sélection est collée dans l'éditeur de macro, une indentation indésirable semble apparaître.
'''7 :''' La fenêtre des macros s'ouvre , sélectionnez votre macro et cliquez sur le bouton {{KEY|Exécuter}}


[[Image:Macro Install HowTo 07.png|center|640px|La fenêtre des macros s'ouvre]]
[[Image:Macro Install HowTo 15.png|center]]
{{Caption|align=center|Code Python copié d'un forum dans l'éditeur de macros; l'indentation inutile est ajoutée}}


Dans ce cas, les espaces initiaux doivent être supprimés. Cela peut être fait avec un éditeur de texte spécialisé pour réduire rapidement l'indentation des lignes.
'''8 :''' Votre macro est exécutée entrez lles données et faites et cliquez sur le bouton {{KEY|Create}}


Sous Windows, [http://notepad-plus-plus.org/Notepad ++] peut effectuer une sélection avec {{KEY|Alt}} et le déplacement de la souris, puis utiliser {{MenuCommand|Edit → Indent → Diminuer l'indentation}}.
[[Image:Macro Install HowTo 08.png|center|640px|Votre macro est exécutée]]


[[Image:Macro Install HowTo 16.png|center]]
'''9''' : Whaouu
{{Caption|align=center|Code Python avec l'indentation correcte}}


<span id="Example_4"></span>
[[Image:Macro Install HowTo 30.png|center|640px|Whaouu]]
==== Exemple 4 ====

Ici, la sélection sélectionne également les numéros de ligne dans l'exemple de code. Si cette sélection est collée dans l'éditeur de macro, cela ne fonctionnera pas. Tous les numéros de ligne doivent être supprimés et les espaces ajustés de manière à ce que le code Python présente l'indentation appropriée.

[[Image:Macro_Install_HowTo_29.png|center]]
{{Caption|align=center|Sélection qui sélectionne également les numéros de ligne; si ce code est collé dans l'éditeur de macro, cela ne fonctionnera pas}}

<span id="Good_code"></span>
==== Bon code ====

[[Image:Macro Install HowTo 13.png|center]]
{{Caption|align=center|Code Python avec l'indentation correcte}}


</div>
</div>
</div>
</div>

'''Section pour ceux qui ne voient aucune information s'afficher.'''


<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">

==Pour ceux qui ne voient aucune information s'afficher.==
<span id="No_text_output_from_macros"></span>
===Pour ceux qui ne voient aucune information s'afficher===

Les macros peuvent générer des informations dans la vue du rapport afin de détailler l'action du code en cours d'exécution.

Si aucune information n'est affichée, assurez-vous que la vue du rapport et la console [[Python/fr|Python]] sont visibles et que la sortie est dirigée vers la vue du rapport.

<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Certaines macros affichent des informations à l'écran en général elles s'affichent dans la Vue rapport


<span id="Printing_information"></span>
FreeCAD utilise deux méthodes pour afficher les informations dans la fenêtre Vue rapport.
==== Informations sur l'affichage====

Les macros FreeCAD ont deux méthodes pour afficher des informations dans la vue rapport.

Les fonctions FreeCAD


'''1 : Commandes'''
{{Code|code=
{{Code|code=
App.Console.PrintMessage ("Hello World! \N")
FreeCAD.Console.PrintMessage("Hello World! \n")
App.Console.PrintError ("Hello World! \N")
FreeCAD.Console.PrintError("Hello World! \n")
App.Console.PrintWarning ("Hello World! \N")
FreeCAD.Console.PrintWarning("Hello World! \n")
}}
}}

ou
La simple fonction Python

{{Code|code=
{{Code|code=
FreeCAD.Console.PrintMessage ("Hello World! \N")
print("Hello World!")
FreeCAD.Console.PrintError ("Hello World! \N")
FreeCAD.Console.PrintWarning ("Hello World! \N")
}}
}}
Pour voir afficher ces renseignements dans la console vous devez :


<span id="Enabling_the_report_view"></span>
'''1 :''' ouvrir FreeCAD
==== Activer la vue rapport ====


Pour voir les informations affichées dans la console, vous devez:
[[Image:Macro Install HowTo 31.png|center|640px|Ouvrir FreeCAD]]


'''2 :''' cliquez sur le menu '''Affichage''' puis '''Vues'''
1. Accédez au menu {{MenuCommand|Affichage Panneaux}}.


[[Image:Macro Install HowTo 32.png|center|640px|Cliquez Affichage puis Vues]]
[[Image:Macro Install HowTo 31.png|center]]


[[Image:Macro Install HowTo 32.png|center]]
'''3 :''' cochez '''Vue rapport''' et '''Console python'''
{{Caption|align=center|Rendre les panneaux visibles dans le menu Affichage → Panneaux}}


2. Cochez {{incode|Report view}} et {{incode|Python console}}.
[[Image:Macro Install HowTo 33.png|center|640px|cochez Vue rapport et Console python]]


[[Image:Macro Install HowTo 33.png|center]]
'''4 :''' les fenêtres sont activées et disponibles et les commandes comme "App.Console.PrintMessage("Hello World!\n")" seront affichées dans la "Vue rapport"
{{Caption|align=center|Activation de l'affichage du rapport et de la console Python}}


3. Les panneaux sont maintenant visibles et les commandes telles que {{incode|FreeCAD.Console.PrintMessage()}} affichent maintenant les informations qui apparaissent dans la {{incode|Affichage du rapport}}.
[[Image:Macro Install HowTo 34.png|center|640px|Hello World!]]


[[Image:Macro Install HowTo 34.png|center]]
{{Caption|align=center|Fenêtre principale de FreeCAD avec la vue Rapport et la console Python}}


<span id="Enabling_the_print()_command"></span>
'''2 : la commande "print" qui est une commande Python'''
==== Activer la commande <tt>print()</tt> ====


FreeCAD devra peut-être être configuré pour que la fonction {{incode|print()}} de [[Python/fr|Python]] redirige correctement sa sortie vers la vue du rapport.
Il est possible que cette commande n'affiche pas la chaîne attendue.

Pour voir s'afficher les renseignements dans la fenêtre faites ceci :


'''1 :''' cliquez sur le menu '''Édition''' puis '''Préférences'''
'''1 :''' cliquez sur le menu '''Édition''' puis '''Préférences'''


1. Allez dans [[Preferences Editor/fr|Editeur de Préférences]] avec le menu {{MenuCommand|Édition → Préférences}}.
[[Image:Macro Install HowTo 35.png|center|640px|Menu Édition]]


[[Image:Macro Install HowTo 35.png|center]]
'''2 :''' dans la nouvelle fenêtre, cliquez sur '''Général''' et sélectionnez l'onglet '''Fenêtre de sortie'''
{{Caption|align=center|Entrer dans l'éditeur de préférences}}


2. Accédez à la section {{MenuCommand|Python}} puis à {{MenuCommand|Fenêtre de sortie → Interpréteur Python}}.
[[Image:Macro Install HowTo 36.png|center|640px|General]]


[[Image:Macro Install HowTo 36.png|center]]
'''3 :''' cochez les deux cases:
{{Caption|align=center|Préférences de la fenêtre de sortie}}


3. Cochez les deux cases:
[[Image:Case_a_cocher_O.png|16px]] Rediriger les messages internes Python vers la Vue rapport


[[Image:Case_a_cocher_O.png|16px]] Rediriger les erreurs internes de Python vers la Vue rapport
* [[Image:Case_a_cocher_O.png|16px]] Rediriger es messages internes Python vers la vue rapport


* [[Image:Case_a_cocher_O.png|16px]] Rediriger les erreurs internes de Python vers la vue rapport
et validez en cliquant sur le bouton {{KEY|OK}}


et validez en cliquant sur le bouton {{Button|OK}}.
[[Image:Macro Install HowTo 37.png|center|640px|Redirection interne]]


[[Image:Macro Install HowTo 37.png|center]]
'''4 :''' la configuration est terminée tout les messages doivent s'afficher dans la fenêtre Vue rapport
{{Caption|align=center|Redirection interne}}

[[Image:Macro Install HowTo 38.png|center|640px|le setup est complet]]


[[Image:Macro Install HowTo 38.png|center]]
{{Caption|align=center|Commandes Python imprimant des informations dans la vue rapport}}
</div>
</div>
</div>
</div>


{{Powerdocnavi{{#translation:}}}}
Fin du didacticiel bon travail.
[[Category:Developer Documentation{{#translation:}}]]

[[Category:Python Code{{#translation:}}]]
==Liens==

La page [[Macros_recipes/fr|Macros_recipes]] vous donne une série de macros.

[[Category:Tutorials/fr]]
<languages/>

Latest revision as of 20:42, 10 October 2023

Tutoriel
Thème
Programmation
Niveau
Programmeur moyen
Temps d'exécution estimé
15 minutes
Auteurs
Mario52
Version de FreeCAD
Toutes versions
Fichiers exemples
None
Voir aussi
None

Description

Depuis la v0.17, il est facile d'ajouter des macros en utilisant le Gestionnaire des extensions. Un utilisateur régulier n'a pas besoin de faire plus que d'utiliser cet outil. Continuez à lire pour plus d'informations sur l'installation de macros.

Les macros sont des séquences de commandes utilisées pour effectuer une opération de dessin complexe. Les macros sont des scripts en Python, ce qui signifie qu'il s'agit de fichiers texte pouvant être écrits et modifiés à l'aide d'un éditeur de texte.

Alors que les scripts Python ont normalement pour extension .py, les macros FreeCAD doivent avoir comme extension .FCMacro. Une collection de macros écrites par des utilisateurs expérimentés se trouve dans la page Macros.

Voir Introduction à Python pour en savoir plus sur le langage de programmation Python, puis sur Tutoriel sur les scripts Python et sur principes de base des scripts FreeCAD pour lancer la création de scripts dans FreeCAD.

Ici une video sur l'installation installing FreeCAD macros in Ubuntu.

Le menu Macro et sa barre d'outils

Barre d'outils

Menu

Outre les outils de la barre d'outils, les fonctions suivantes sont également disponibles dans le menu Macro.

Répertoires des macros

Les macros sont créées dans un dossier spécifique du répertoire FreeCAD de l'utilisateur. Ce répertoire peut être configuré dans la boîte d'exécution des macros ou dans l'éditeur de préférences, via le menu Édition → Préférences → Python → Macro → Paramètres d'enregistrement des macros.

Les macros téléchargées doivent également être placées dans ce répertoire.

Répertoire par défaut

Les macros peuvent être simplement copiées dans

$ROOT_DIR/

$ROOT_DIR est un des premiers répertoire recherché par FreeCAD au démarrage.

Le $ROOT_DIR pourrait être un répertoire système, auquel cas la macro est installée pour tous les utilisateurs.

  • Sous Linux, il s’agit généralement de /usr/share/freecad/.
  • Sous Windows, il s’agit généralement de C:\Program Files\FreeCAD\.
  • Sous Mac OSX, il s’agit généralement de /Applications/FreeCAD/.

Le $ROOT_DIR pourrait être le répertoire d'un utilisateur particulier.

  • Sous Linux, il s’agit généralement de /home/username/.local/share/FreeCAD/ (version 0.20 et suivantes) ou /home/username/.FreeCAD/ (version 0.19 et précédentes).
  • Sous Windows, il s’agit généralement de C:\Users\username\AppData\FreeCAD\
  • Sous Mac OSX, il s’agit généralement de /Users/username/Library/Preferences/FreeCAD/.

Configuration du répertoire utilisateur

1. Ouvrez le menu Macro → Macros... pour ouvrir la boîte d'exécution des macros.

Ouverture de la boîte de dialogue de lancement des macro

2. Définissez l'emplacement User macros location approprié.

  • Linux: généralement /home/username/.local/share/FreeCAD/ (version 0.20 et suivantes) ou /home/username/.FreeCAD/ (version 0.19 et précédentes)
  • Windows: généralement C:\Users\username\AppData\Roaming\FreeCAD\.
  • MacOS: généralement /Users/username/Library/Preferences/FreeCAD/.

Paramétrage du répertoire des macros

3. Accédez à ce répertoire sur votre ordinateur.

  • Linux: collez l'adresse dans votre gestionnaire de fichiers, "Nautilus" ou autre. Vous devrez peut-être appuyer sur Ctrl+H pour rendre le répertoire masqué .FreeCAD / visible.
  • Windows: collez l'adresse dans votre "Explorateur de fichiers" et confirmez.
  • MacOS: localisez le dossier dans le "Finder" ou collez l'adresse dans un "Explorateur de fichiers"; rappelez-vous du préfixe file:/// dans l'explorateur de fichiers pour un fichier sur le disque.

Accés au répertoire des macros dans le système d'exploitation

4. Ajoutez des fichiers de macro à ce répertoire.

  • Linux: laissez le gestionnaire de fichiers ouvert et marquez l’emplacement pour un accès plus rapide.
  • Windows: laissez ouvert l'explorateur de fichiers.
  • MacOS: laissez une fenêtre du "Finder" ouverte ou enregistrez l'emplacement dans votre "Explorateur de fichiers", ou configurez un "Alias" pour le désigner, ou faites glisser le dossier dans la "Barre latérale" du "Finder" afin il est là pour utiliser d'autres programmes tels que des éditeurs de texte.

Le répertoire des macros

Installation de macros

Méthode automatique

À partir de FreeCAD 0.17, utilisez le Gestionnaire des extensions dans Outils → Gestionnaire des extensions pour installer une macro incluse dans le dépôt FreeCAD-macros.

Dans les versions précédentes de FreeCAD, vous pouviez utiliser deux méthodes automatisées pour installer des macros et d’autres extensions :

  • addons_installer.FCMacro: elle-même une macro, elle était le précurseur du gestionnaire des extensions et est hébergée dans le répertoire FreeCAD-addons. Vous n'avez pas besoin d'utiliser cet outil dans les nouvelles installations de FreeCAD.
  • freecad-pluginloader: également une macro, elle pourrait être utilisée pour installer de nouveaux composants dans FreeCAD. Ce n'est plus développé.

La méthode recommandée pour installer des extensions, c'est-à-dire des Ateliers externes et les macros, est le Gestionnaire des extensions. Toutefois, vous pouvez toujours ajouter des macros à votre système avec les méthodes manuelles décrites dans les sections suivantes. Ceci est utile si vous développez et testez votre propre code.

Méthode manuelle 1. Copiez le code dans l'éditeur de macro

Pour les macros relativement petites, 300 lignes ou moins, le code peut être copié et collé directement dans l'éditeur de macros FreeCAD.

Nous utiliserons Macro Apothem Based Prism GUI par exemple.

1. Allez sur la page wiki macro qui devrait être présente dans la liste Macros.

S'il y a une icône personnalisée, téléchargez-la. Cliquez dessus avec le bouton droit de la souris et sélectionnez Save image as...; Placez l'icône dans le répertoire des macros. Cette icône peut être utilisée comme raccourci pour la macro dans une Barre d'outils personnalisée. L'icône par défaut est .

Téléchargement de l'icône depuis la page macro

2. Dans la page macro, sélectionnez le code dans les sections Script ou Macro et copiez-le.

3. Dans FreeCAD, ouvrez le menu Macro → Macros... pour ouvrir la boîte d'exécution des macros.

Ouverture de la boîte de dialogue de lancement des macro

4. Cliquer Créer.

Création d'une nouvelle macro

5. Entrez le nom de la macro, ici Macro_Apothem_Based_Prism_GUI, puis appuyez sur OK.

Renseignement du nom de la macro

6. La fenêtre d'édition de macros de FreeCAD est maintenant disponible et porte le nom de notre future macro.

Fenêtre d'édition de macros

7. Collez le code dans la fenêtre de l'éditeur puis cliquez sur la croix de l'onglet pour fermer la fenêtre.

Fermeture de la fenêtre

8. Une fenêtre apparaît vous demandant de confirmer l'enregistrement du code. Cliquez sur Oui. Vous pouvez également utiliser Ctrl+S pour enregistrer le fichier.

Redémarrez FreeCAD pour enregistrer correctement la nouvelle macro.

Fenêtre pour confirmer la sauvegarde

9. Ouvrez à nouveau le menu, Macro → Macros..., sélectionnez la nouvelle macro et appuyez sur Exécuter.

Cliquez sur votre macro pour la jouer

10. La macro s'exécute. Remplissez les champs avec vos valeurs et cliquez sur le bouton OK.

La macro en action; remplissez les informations et appuyez sur OK lorsque vous êtes prêt

11. Cette macro doit renvoyer une erreur si aucun document n'est actif. Les autres macros ouvrent un nouveau document s'il n'en existe pas.

Créez un nouveau document avec Fichier → Nouveau puis répétez les étapes précédentes pour exécuter la macro.

La macro renvoyant une erreur si aucun document n'est actif

12. Lorsqu'un document actif est disponible, la macro s'exécute et crée un objet.

Objet crée par la macro

13. Vous pouvez ouvrir à nouveau la macro dans l'éditeur pour l'exécuter ou la modifier. Accédez à Macro → Macros..., sélectionnez la macro et appuyez sur Modifier.

Ouverture de la macro dans l'éditeur

14. La macro peut maintenant être exécutée avec Macro → Lancer la macro ou en cliquant sur le Lancer la macro dans la barre d'outils.

Exécution de la macro chargée dans l'éditeur

Méthode manuelle 2. Ajouter un fichier de macro à partir d'un fichier .zip compressé

Certaines macros sont trop importantes pour être copier-coller dans l'éditeur de macros être hébergées sur le wiki. Dans ce cas, le code peut être hébergé ailleurs, dans un répertoir Github ou sur le Forum FreeCAD. Le code peut également être compressé dans un fichier .zip, tarball .tar.xz ou dans un autre type d'archive s'il contient plusieurs fichiers. Si le code est distribué de cette manière, l'archive doit être extraite et les fichiers placés dans le répertoire macros.

Nous utiliserons Macro screw maker par exemple.

1. Téléchargez le code compressé à partir du forum,Screw Maker.

Vous devez utiliser un décompresseur pour obtenir les fichiers internes.

  • Pour Windows, vous pouvez utiliser une application telle que 7-zip ou L-Zarc ou [http: //www.quickzip.org/quickzip51.html quickzip].
  • Pour Linux, vous pouvez utiliser une commande du terminal
unzip your_file.zip -d your_directory

2. Téléchargez l'archive compressée avec le code de la macro dans un dossier local.

Téléchargement de l'archive compressée avec le code de macro dans un dossier local

3. Décompressez votre fichier dans le dossier.

Décompressez votre fichier dans le dossier

4. Le décompresseur crée un nouveau répertoire avec les fichiers décompressés.

Le nouveau répertoire créé après la décompression de l'archive

5. Accédez au nouveau répertoire et copiez ou coupez le fichier macro.

Saisie du nouveau répertoire créé avec le fichier de macro décompressé

6. Accédez au répertoire des macros et collez le fichier à cet endroit.

Placer le fichier macro dans le répertoire macro

7. Dans FreeCAD, ouvrez le menu Macro → Macros... pour ouvrir la boîte d'exécution des macros.

Ouverture de la boîte de dialogue de lancement des macro

8. Sélectionnez la nouvelle macro et appuyez sur Execute.

Cliquez sur votre macro pour la jouer

9. La macro s'exécute maintenant. Sélectionnez les options souhaitées et cliquez sur le bouton Create.

La macro en action; sélectionnez les options souhaitées et appuyez sur Créer lorsque vous êtes prêt

Objet crée par la macro

Exécuter une macro en ligne de commande

Ligne de commande pour exécuter une macro en (.FCMacro or .py)

sur Windows

"C:\Program Files\FreeCAD\bin\FreeCAD.exe" "C:\Users\userName\AppData\Roaming\FreeCAD\Mod\WorkFeature\start_WF.FCMacro"

sur Linux

todo

Erreurs dans les macros

Exemples de code erroné dû à des erreurs d'indentation

L'espace blanc au début des lignes (indentation) dans le langage de programmation Python est très important et fait partie intégrante du code. Un espace inapproprié peut empêcher le code de s'exécuter ou présenter des erreurs.

Cette section décrit certaines erreurs susceptibles d’être rencontrées lors des opérations de copier-coller et d’écriture de code macro.

Une erreur d’indentation typique ressemble à ceci:

<unknown exception traceback><type 'exceptions.IndentationError'>: ('expected an indented block', ('C:/Users/d/AppData/Roaming/FreeCAD/Macro_Apothem_Based_Prism_GUI.FCMacro', 21, 3, 'def priSm(self):\n'))

Exemple 1

Si le code manque d'indentation, le code ne fonctionnera pas. Les définitions de classe (class) et de fonction (def ()) ainsi que les structures de contrôle (if, while, for) doivent être suivies d'un bloc de code en retrait.

Cette erreur est possible si l'utilisateur ne copie pas le code correctement et si tous les espaces sont supprimés par inadvertance.

Code Python sans indentation; cela provoquera une erreur quand il sera exécuté

Problème d'indentation résolu.

Code Python avec l'indentation correcte

Si le code est sélectionné, toutes les lignes doivent être mises en surbrillance jusqu'au bord gauche indiquant que les lignes sont alignées.

Code Python en surbrillance indiquant que toutes les lignes commencent au bord gauche

Exemple 2

Si un espace supplémentaire est introduit au début de toutes les lignes, l'interpréteur Python échouera et se plaindra de l'indentation inutile. Dans ce cas, toutes les lignes nécessitent la suppression de l'espace initial.

Code Python avec espace supplémentaire sur chaque ligne

Exemple 3

Ici, le code a été copié depuis un fil de forum en utilisant le bouton Select all. Apparemment, le choix est bon.

Code Python copié à partir d'un forum

Cependant, lorsque la sélection est collée dans l'éditeur de macro, une indentation indésirable semble apparaître.

Code Python copié d'un forum dans l'éditeur de macros; l'indentation inutile est ajoutée

Dans ce cas, les espaces initiaux doivent être supprimés. Cela peut être fait avec un éditeur de texte spécialisé pour réduire rapidement l'indentation des lignes.

Sous Windows, ++ peut effectuer une sélection avec Alt et le déplacement de la souris, puis utiliser Edit → Indent → Diminuer l'indentation.

Code Python avec l'indentation correcte

Exemple 4

Ici, la sélection sélectionne également les numéros de ligne dans l'exemple de code. Si cette sélection est collée dans l'éditeur de macro, cela ne fonctionnera pas. Tous les numéros de ligne doivent être supprimés et les espaces ajustés de manière à ce que le code Python présente l'indentation appropriée.

Sélection qui sélectionne également les numéros de ligne; si ce code est collé dans l'éditeur de macro, cela ne fonctionnera pas

Bon code

Code Python avec l'indentation correcte

Pour ceux qui ne voient aucune information s'afficher

Les macros peuvent générer des informations dans la vue du rapport afin de détailler l'action du code en cours d'exécution.

Si aucune information n'est affichée, assurez-vous que la vue du rapport et la console Python sont visibles et que la sortie est dirigée vers la vue du rapport.

Informations sur l'affichage

Les macros FreeCAD ont deux méthodes pour afficher des informations dans la vue rapport.

Les fonctions FreeCAD

FreeCAD.Console.PrintMessage("Hello World! \n")
FreeCAD.Console.PrintError("Hello World! \n")
FreeCAD.Console.PrintWarning("Hello World! \n")

La simple fonction Python

print("Hello World!")

Activer la vue rapport

Pour voir les informations affichées dans la console, vous devez:

1. Accédez au menu Affichage → Panneaux.

Rendre les panneaux visibles dans le menu Affichage → Panneaux

2. Cochez Report view et Python console.

Activation de l'affichage du rapport et de la console Python

3. Les panneaux sont maintenant visibles et les commandes telles que FreeCAD.Console.PrintMessage() affichent maintenant les informations qui apparaissent dans la Affichage du rapport.

Fenêtre principale de FreeCAD avec la vue Rapport et la console Python

Activer la commande print()

FreeCAD devra peut-être être configuré pour que la fonction print() de Python redirige correctement sa sortie vers la vue du rapport.

1 : cliquez sur le menu Édition puis Préférences

1. Allez dans Editeur de Préférences avec le menu Édition → Préférences.

Entrer dans l'éditeur de préférences

2. Accédez à la section Python puis à Fenêtre de sortie → Interpréteur Python.

Préférences de la fenêtre de sortie

3. Cochez les deux cases:

  • Rediriger es messages internes Python vers la vue rapport
  • Rediriger les erreurs internes de Python vers la vue rapport

et validez en cliquant sur le bouton OK.

Redirection interne

Commandes Python imprimant des informations dans la vue rapport