Comment installer des macros
Tutoriel |
Thème |
---|
{{{Topic}}} |
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.
This tutorial was made on the Windows platform so a small adjustment may be necessary for other systems. It was updated to cover the Macintosh platform.
Python
Python is a programming language which is very simple to use and very fast to learn.
Python files have a file extension of .py while FreeCAD macros (which are also Python files) use the file extension .FCMacro. The Macro facility of FreeCAD can also execute files with the extension .py. Python was invented by Guido Van Rossun
Les outils disponibles pour les macros
record Lancer l'enregistrement de la macro stop Arrête l'enregistrement Ouvre le menu des macros execute Exécute la macro Debug la macro Arrête le débogage
Localisation et destination des macros
This section shows you how to locate the folder containing your FreeCAD macros.
1 : click Menu > Macro > Macros (which has the icon and the tool tip "Open a dialog to let you execute a recorded macro")
2 : This will open a dialog box
3 : The address of "Macro destination" (C:\Users\your_user_name\AppData\Roaming\FreeCAD\ in the screen snapshot below)
- Windows: the form is usually drive:\Users\your_user_name\AppData\Roaming\FreeCAD\
- Ubuntu: the form is usually /home/your_user_name/.FreeCAD
- Macintosh: the form is usually "/Users/your_user_name/Library/Preferences/FreeCAD"
4 : copiez l'adresse de destination des Macros (ici C:\Users\your_user_name\AppData\Roaming\FreeCAD\)
5 : View the macro folder by:
- Windows: paste the address into your browser and confirm
- Macintosh: locate the folder in the Finder or paste the address into a browser (remember the "file:///" prefix in the browser for a file on disk)
6 : Access the files by:
- Windows: leave open the file explorer
- Macintosh: either leave a Finder window open, or bookmark the location in your browser, or set up an Alias to point to it, or drag the folder into the SideBar of the Finder so it is there to use from other programs such as text editors etc. (Note: version 0.14 of FreeCAD does not support Aliases but does support the SideBar)
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.
2 : le code a été corrige les indentations à 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
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
5 : Ici le code a été copié dans une fenêtre du forum avec le bouton Select all apparemment la sélection est bonne
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
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 > Edition > Indentation > Réduire l'indentation)
8 : Ici la sélection prend aussi les numéros de colonne qui donnera aussi une erreur
9 : 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.
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
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
4 : La fenêtre d'édition de macros de FreeCAD est maintenant disponible et porte le nom de notre future macro.
5 : Coller votre code dans la fenêtre éditeur de macro et cliquez sur la petite croix pour fermer 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.
7 : Répétez le numéro 1 :, Cliquez sur votre nouvelle macro et sur le bouton Exécuter
8 : La macro s'exécute , remplissez les champs avec vos valeurs et cliquez sur le bouton OK
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.
10 : Et 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
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
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
2 : Décompressez votre fichier dans le dossier.
3 : 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.
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.
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"
7 : La fenêtre des macros s'ouvre , sélectionnez votre macro et cliquez sur le bouton Exécuter
8 : Votre macro est exécutée entrez lles données et faites et cliquez sur le bouton Create
9 : Whaouu
Section if the text are not display:
For those who see no information is displayed.
Some macros display information on the screen in general they are displayed in the report view.
FreeCAD use two methods to display the information in the window view report.
1 : Commands
App.Console.PrintMessage ("Hello World! \N")
App.Console.PrintError ("Hello World! \N")
App.Console.PrintWarning ("Hello World! \N")
or
FreeCAD.Console.PrintMessage ("Hello World! \N")
FreeCAD.Console.PrintError ("Hello World! \N")
FreeCAD.Console.PrintWarning ("Hello World! \N")
To see the information displayed in the console you should:
1 : Open FreeCAD
2 : Click the View menu and Views
3 : Check Report View and Python Console
4 : the windows are enabled and available commands like "App.Console.PrintMessage" is configured to the "Report View"
2 : command "print" which is a Python command.
It is possible that this command does not display the expected string.
For information to be displayed in the window do this :
1 : Click the Edit menu and then Preferences
2 : In the new window, click General, and select the Output window tab
3 : check both boxes:
Redirect internal Python output to Report view
Redirect internal Python errors to Report view
and click the OK button
4 : the setup is complete you should see all.
Fin du didacticiel bon travail.
Liens
The Macros_recipes page