Comment installer des macros

From FreeCAD Documentation
Revision as of 13:16, 4 August 2018 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
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

Ce petit tutoriel vous guide sur la façon d'utiliser les macros disponibles et de les incorporer dans l'éditeur de FreeCAD pour pouvoir les faire fonctionner.

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.

Python

Python est un langage de programmation vraiment simple d'utilisation et vraiment facile à apprendre.

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 Guido Van Rossun

Le menu Macro et la barre d'outils disponible pour les macros

record Lancer l'enregistrement de la macro stop Arrête l'enregistrement open editor Ouvre le menu des macros execute Exécute la macro start Debug la macro stop Arrête le débogage

Localisation et destination des macros

Cette section vous permet de localiser l'emplacement définitif de vos macros.

1: Cliquer Menu > Macro > Macros (ou cliquez sur le bouton "pour ouvrir une boîte de dialogue et vous permettre d'exécuter une macro enregistrée")

Ouvre la fenêtre des macros
Ouvre la fenêtre des macros

2 : une boîte de dialogue s'ouvre

3 : l'adresse de destination des Macros est (ici dans cet exemple C:\Users\your_user_name\AppData\Roaming\FreeCAD\ )

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

4 : copiez l'adresse de destination des Macros (ici C:\Users\your_user_name\AppData\Roaming\FreeCAD\)

localisation des macros
localisation des macros

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)
Allez vers le répertoire des macros
Allez vers le répertoire des macros

6 : gardez votre explorateur ouvert

  • 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)
Le répertoire des macros
Le répertoire des macros


Cette section est destinée à ceux qui ne sont pas habitués avec la programmation Python (erreurs fréquentes copier/coller).

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

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 :

<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'))

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.

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.

le code sans indentation
le code sans indentation

2 : le code a été corrigé les indentations sont à la bonne place.

le code est corrigé et l'indentation à la bonne place
le code est corrigé et l'indentation à la bonne place

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

la macro doit fonctionner tout va bien
la macro doit fonctionner tout va bien

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

supprimer un espace dans toutes les lignes
supprimer un espace dans toutes les lignes

5 : Ici le code a été copié dans une fenêtre du forum avec le bouton Select all apparemment la sélection est bonne

le code a été copié à partir d'une fenêtre du forum avec le bouton Select all
le code a été copié à partir d'une fenêtre du forum avec le bouton Select all

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

une indentation de quatre espaces a été ajoutée par le système ? le code n'est pas bon
une indentation de quatre espaces a été ajoutée par le système ? le code n'est pas bon

7 : Vous devez effacer tous les espaces supplémentaires c'est à dire quatre espaces à chaque ligne (pour Windows le traitement de textes notepad-plus-plus permet sélection verticale avec une combinaison de touches Alt + Mouse dragging ou Menu > Édition > Indentation > Réduire l'indentation)

7 : Vous devez effacer quatre espaces à chaque ligne
7 : Vous devez effacer quatre espaces à chaque ligne

8 : Ici la sélection prend aussi les numéros de colonne qui donnera aussi une erreur

8 : Ici la sélection prend aussi les numéros de colonne qui donnera aussi une erreur
8 : Ici la sélection prend aussi les numéros de colonne qui donnera aussi une erreur

9 : Code parfait.

Code parfait
Code parfait


Méthode 1:

Méthode copier le code à partir d'une fenêtre et coller dans l'éditeur de FreeCAD

Pour l'exemple nous allons copier la macro Macro_Apothem_Based_Prism_GUI

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 barre des tâches.

Download icon
Download icon

Après avoir copié votre code nous allons coller le code dans l'éditeur de FreeCAD.

1 : Ouvrez FreeCAD et ouvrons l'éditeur de code incorporé dans FreeCAD

2 : La fenêtre des fichiers macros s'ouvre, cliquez sur le bouton Créer

La fenêtre des fichiers macros s'ouvre
La fenêtre des fichiers macros s'ouvre

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 Ok

Entrez le nom de la macro
Entrez le nom de la macro

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

La fenêtre d'édition de macros de FreeCAD est maintenant disponible
La fenêtre d'édition de macros de FreeCAD est maintenant disponible

5 : Coller votre code dans la fenêtre éditeur de macro et cliquez sur la petite croix pour fermer la fenêtre.

Fermez la fenêtre
Fermez la fenêtre

6 : Une fenêtre d'avertissement s'affiche et demande une confirmation de sauvegarde du code, cliquer sur le bouton Oui

PS: Pour que la modification soit prise en compte il faut enregistrer la macro puis la rouvrir et seulement l'exécuter.

Une fenêtre d'avertissement s'affiche et demande une confirmation de sauvegarde
Une fenêtre d'avertissement s'affiche et demande une confirmation de sauvegarde

7 : Répétez le numéro 1 :, Cliquez sur votre nouvelle macro et sur le bouton Exécuter

Cliquez sur votre macro et exécutez
Cliquez sur votre macro et exécutez

8 : La macro s'exécute , remplissez les champs avec vos valeurs et cliquez sur le bouton OK

remplissez les champs avec vos valeurs
remplissez les champs avec vos valeurs

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 ou signalent l'erreur.

La macro retourne une erreur !
La macro retourne une erreur !

10 : Et voici notre prisme

voici notre prisme
voici notre prisme

11 : Vous pouvez aussi ouvrir votre macro dans l'éditeur pour l'exécuter ou la modifier, cliquez sur le bouton Éditer

Vous pouvez aussi ouvrir votre macro dans l'éditeur
Vous pouvez aussi ouvrir votre macro dans l'éditeur

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 vert dans la barre d'outils des macros

La macro est dans l'éditeur de FreeCAD
La macro est dans l'éditeur de FreeCAD

Méthode 2:

Méthode avec un fichier compressé .ZIP

Téléchargez votre fichier si c'est un fichier.zip (exemple) [1].(la page de Macro_screw_maker)

Des gratuits pour Windows 7-zip ou L-Zarc ou quickzip

Pour Linux utilisez la commande suivante dans un terminal:

unzip your_file.zip -d your_directory

Vous devez maintenant décompresser le fichier (ou les fichiers et dossiers) et le copier dans votre répertoire de macros.

Procédure

1 : Téléchargez votre fichier dans votre dossier habituel , ici le dossier Temp

Téléchargez votre fichier
Téléchargez votre fichier

2 : Décompressez votre fichier dans le dossier.

Décompressez votre fichier.
Décompressez votre fichier.

3 : Le décompresseur a fini son travail et a créé un nouveau dossier avec le fichier décompressé

Le décompresseur a fini son travail et a créé un nouveau dossier avec le fichier décompressé
Le décompresseur a fini son travail et a créé un nouveau dossier avec le fichier décompressé

4 : Entrez dans le répertoire nouvellement créé , positionnez vous sur le fichier, cliquez avec le bouton droit de la souris et faites Couper.

Entrez dans le répertoire, positionnez vous sur le fichier
Entrez dans le répertoire, positionnez vous sur le fichier

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.

5 : Retournez dans votre explorateur resté ouvert
5 : Retournez dans votre explorateur resté ouvert

6 : Ouvrez FreeCAD et entrez dans le menu macro par Menu > Macro > Macros ou cliquez sur le bouton "Ouvre une boîte de dialogue pour exécuter une macro enregistrée"

Ouvrez FreeCAD
Ouvrez FreeCAD

7 : La fenêtre des macros s'ouvre , sélectionnez votre macro et cliquez sur le bouton Exécuter

La fenêtre des macros s'ouvre
La fenêtre des macros s'ouvre

8 : Votre macro est exécutée entrez les données et cliquez sur le bouton Create

Votre macro est exécutée
Votre macro est exécutée

9 : Whaouu

Whaouu
Whaouu

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

Pour ceux qui ne voient aucune information s'afficher.

Certaines macros affichent des informations à l'écran en général elles s'affichent dans la Vue rapport

FreeCAD utilise deux méthodes pour afficher les informations dans la fenêtre Vue rapport.

1 : Commandes

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

ou

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

ou

print "Hello World !"

Pour voir afficher ces renseignements dans la console vous devez :

1 : ouvrir FreeCAD

Ouvrir FreeCAD
Ouvrir FreeCAD

2 : cliquez sur le menu Affichage puis Vues

Cliquez Affichage puis Vues
Cliquez Affichage puis Vues

3 : cochez Vue rapport et Console python

cochez Vue rapport et Console python
cochez Vue rapport et Console python

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"

Hello World!
Hello World!


2 : la commande "print" qui est une commande Python

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

Menu Édition
Menu Édition

2 : dans la nouvelle fenêtre, cliquez sur Général et sélectionnez l'onglet Fenêtre de sortie

General
General

3 : cochez les deux cases:

Rediriger les 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
Redirection interne

4 : la configuration est terminée tout les messages doivent s'afficher dans la fenêtre Vue rapport

le setup est complet
le setup est complet

Fin du didacticiel bon travail.

Liens

Macro addons_installer.FCMacro pour une installation facile de macros

Autre macro installateur facile de macros freecad-pluginloader

La page Macros recipes vous donne une série de macros.