How to install macros/de: Difference between revisions

From FreeCAD Documentation
(Created page with "{{TutorialInfo/de|Class=Programming|Level=Medium programmer|Time=15 minutes|FCVersion=All|Author=Mario52|FCVersion=All}}")
 
No edit summary
 
(242 intermediate revisions by 8 users not shown)
Line 1: Line 1:
<languages/>
{{VeryImportantMessage|'''This tutorial has been translated into English with [https://translate.google.com/ Google translate] a rereading correction will be appreciated (Only the English page), thank you after confirmation to remove this banner'''}}
{{TutorialInfo/de|Class=Programming|Level=Medium programmer|Time=15 minutes|FCVersion=All|Author=[[User:Mario52|Mario52]]|FCVersion=All}}


{{TutorialInfo/de
==Description==
|Topic=Programmierung
This short tutorial will show you how to use locate the directory in which FreeCAD stores the python source files for FreeCAD Macros.
|Level=durchschnittliche Programmierer
|Zeit=15 Minuten
|FCVersion=Alle
|Author=[[User:Mario52|Mario52]]
}}


<span id="Description"></span>
This tutorial was made on the Windows platform so a small adjustment may be necessary for other systems.
==Beschreibung==
It was updated to cover the Macintosh platform.


Seit v0.17 ist es einfach, Makros mit Hilfe des [[Std_AddonMgr/de|Erweiterungsverwalter]] hinzuzufügen. Ein normaler Benutzer braucht nicht mehr zu tun, als dieses Werkzeug zu benutzen. Lies weiter, um weitere Informationen zur Installation von [[macros/de|Makros]] zu erhalten.
==Python==
Python is a programming language which is very simple to use and very fast to [[Introduction_to_Python|learn]].


Makros sind Befehlssequenzen, die zur Ausführung einer komplexen Zeichenoperation verwendet werden. Makros sind [[Python/de|Python]] Skripte, d.h. sie sind Textdateien, die mit einem Texteditor geschrieben und bearbeitet werden können.
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 [https://www.python.org/~guido/ Guido Van Rossun]


Während Python Skripte normalerweise die Erweiterung {{incode|.py}} haben, sollten FreeCAD Makros die Erweiterung {{incode|.FCMacro}} haben. Eine Sammlung von Makros, die von erfahrenen Anwendern geschrieben wurden, findest Du auf der Seite [[macros recipes/de|Makrozepte]].
==The Macro Menu and Toolbar Icons==


Siehe [[Introduction to Python/de|Einführung in Python]], um mehr über die Programmiersprache Python zu erfahren, und dann [[Python scripting tutorial/de|Python Skript Tutorium]] und [[FreeCAD Scripting Basics/de|FreeCAD Skript Grundlagen]], um das Schreiben von Makros zu erlernen.
[[Image:Macro-record.svg|32px|record]] [[Std_DlgMacroRecord|Launch Record]]
[[Image:Macro-stop.svg|32px|stop]] [[Std_DebugStop|Stop Record]]
[[Image:Std_DlgMacroExecuteDirect.svg|32px|open editor]] [[Std_DlgMacroExecuteDirect|Open Menu macro]]
[[Image:Macro-execute.svg|32px|execute]] [[Std_DlgMacroExecute|Execute]]
[[Image:Debug-start.svg|32px|start]] [[Std_DebugMacro|Debug Macro]]
[[Image:Debug-stop.svg|32px|stop]] [[Std_DlgMacroStop|Stop]]


Hier ist ein Video über [https://wiki.opensourceecology.org/wiki/Installing_Macros_in_FreeCAD Installieren von FreeCAD Makros in Ubuntu].
==Location and destination macros==


<span id="The_Macro_menu_and_toolbar"></span>
This section shows you how to locate the folder containing your FreeCAD macros.
==Das Menü Makro und die Symbolleiste==


<span id="Toolbar"></span>
'''1 :''' click '''Menu > Macro > Macros''' (which has the icon [[File:Std DlgMacroExecuteDirect.svg|24px]] and the tool tip "Open a dialog to let you execute a recorded macro")
===Symbolleiste===


* [[Image:Std_DlgMacroRecord.svg|32px|record]] [[Std_DlgMacroRecord/de|Makro aufzeichnen]]
[[File:Dxf_Importer_Install_01.png|640px|center]]
* [[Image:Std_MacroStopRecord.svg|32px|stop]] [[Std_MacroStopRecord/de|Makroaufzeichnung beenden]]
* [[Image:Std_DlgMacroExecute.svg|32px|open editor]] [[Std_DlgMacroExecute/de|Makros...]]
* [[Image:Std_DlgMacroExecuteDirect.svg|32px|execute]] [[Std_DlgMacroExecuteDirect/de|Makro ausführen]]


<span id="Menu"></span>
'''2 :''' This will open a dialog box
===Menü===


Neben den Werkzeugen in der Symbolleiste sind auch die folgenden Funktionen im Menü {{MenuCommand|Makro}} verfügbar.
'''3 :''' The address of "Macro destination" ('''C:\Users\your_user_name\AppData\Roaming\FreeCAD\''' in the screen snapshot below)
* [[Std_MacroAttachDebugger/de|An Remote-Debugger anhängen]]
* Windows: the form is usually '''drive:\Users\your_user_name\AppData\Roaming\FreeCAD\'''
* [[Image:Std_MacroStartDebug.svg|32px]] [[Std_MacroStartDebug/de|Makro debuggen]]
* Ubuntu: the form is usually '''/home/your_user_name/.FreeCAD'''
* [[Image:Std_MacroStopDebug.svg|32px]] [[Std_MacroStopDebug/de|Debuggen stoppen]]
* Macintosh: the form is usually "/Users/your_user_name/Library/Preferences/FreeCAD"
* [[Std_MacroStepOver/de|Einen Schritt weiter]]
* [[Std_MacroStepInto/de|Einzelschritt]]
* [[Std_ToggleBreakpoint/de|Haltepunkt an/aus]]


<span id="Macros_directory"></span>
'''4 :''' copy the address of "Macro destination" (here '''C:\Users\your_user_name\AppData\Roaming\FreeCAD\''')
==Makros Verzeichnis==


<div class="toccolours mw-collapsible mw-collapsed">
[[File:Dxf_Importer_Install_02.png|640px|center]]


Makros werden in einem bestimmten Ordner im FreeCAD-Verzeichnis des Benutzers erstellt. Dieses Verzeichnis kann im Dialogfenster [[Std_DlgMacroExecute/de|Makro ausführen]] oder im [[Preferences Editor/de|Voreinstellungseditor]] über das Menü {{MenuCommand|Bearbeiten → Einstellungen → Python → Makro → Einstellungen für Makroaufzeichnung}} angepasst werden.
'''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)


Heruntergeladene Makros sollten ebenfalls in diesem Verzeichnis abgelegt werden.
[[File:Dxf_Importer_Install_03.png|640px|center]]


<div class="mw-collapsible-content">
'''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)


<span id="Default_directory"></span>
[[File:Dxf_Importer_Install_04.png|640px|center]]
===Standardverzeichnis===
{{clear}}


Makros können einfach in das folgende Verzeichnis kopiert werden:


{{Code|code=
'''Section to read if you are not familiar with Python programming (common mistakes copy/paste).'''
$ROOT_DIR/
}}


wobei {{incode|$ROOT_DIR}} ein Verzeichnis der obersten Ebene ist, das von FreeCAD beim Start durchsucht wird.
<div class="toccolours mw-collapsible mw-collapsed">
==The indentation errors examples wrong code==
<div class="mw-collapsible-content">


{{incode|$ROOT_DIR}} könnte ein systemweites Verzeichnis sein; in dem Fall wird das Makro für alle Benutzer installiert.
The indentation in the python programming is very important and integral part of the code, a space or an inappropriate shift causes an indentation error ex :
* Unter Linux ist es normalerweise {{incode|/usr/share/freecad/}}
* Unter Windows ist es normalerweise {{incode|C:\Program Files\FreeCAD\}}
* Unter Mac OSX ist es normalerweise {{incode|/Applications/FreeCAD/}}


{{incode|$ROOT_DIR}} könnte das Verzeichnis eines bestimmten Benutzers sein.
<span style="color:red">
* Unter Linux ist es normalerweise {{incode|/home/Benutzername/.local/share/FreeCAD/}} ({{VersionPlus/de|0.20}}) oder {{incode|/home/Benutzername/.FreeCAD/}} ({{VersionMinus/de|0.19}}).
'''<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'))'''
* Unter Windows ist es normalerweise {{incode|C:\Users\ Benutzername\AppData\FreeCAD\}}
</span>
* Unter Mac OSX ist es normalerweise {{incode|/Users/Benutzername/Library/Preferences/FreeCAD/}}


<span id="Configuring_the_user_directory"></span>
gives the error returned 'expected an indented block' block indentation expected to line '''21, 3,''' normal after a '''class p ():''' must be the next line an indentation at least one space.
===Das Benutzerverzeichnis konfigurieren===


1. Menüeintrag {{MenuCommand|Makro → [[Image:Std DlgMacroExecute.svg|16px]] [[Std_DlgMacroExecute/de|Makros...]]}} auswählen, um den Dialog [[Std_DlgMacroExecute/de|Makro ausführen]] zu öffnen.
'''1 :''' In this example, the code was stuck without any indentation and of course does not work! here definitely a programmer error when pasting the code on the page as it would have never known it to work.


[[Image:Macro Install HowTo 09.png|center|the code was stuck without any indentation]]
[[Image:Dxf_Importer_Install_01.png|center]]
{{Caption|align=center|Öffnen des Makro ausführen Dialogs}}


2. Den entsprechenden {{incode|Speicherort der Benutzermakros}} angeben.
'''2 :''' the code was correct indentations in the right place.
* Linux: normalerweise {{incode|/home/username/.local/share/FreeCAD/}} ({{VersionPlus/de|0.20}}) oder {{incode|/home/username/.FreeCAD/}} ({{VersionMinus/de|0.19}})
* Windows: normalerweise {{incode|C:\Users\username\AppData\Roaming\FreeCAD\}}
* MacOS: normalerweise {{incode|/Users/username/Library/Preferences/FreeCAD/}}


[[Image:Macro Install HowTo 10.png|center|the code was correct indentations in the right place]]
[[Image:Dxf_Importer_Install_02.png|center]]
{{Caption|align=center|Setting of the macros directory}}


3. Navigiere zu diesem Verzeichnis auf deinem Computer.
'''3 :''' we select the code, and we see that the selection is at the edge of the code, the macro must works so good
* Linux: Füge die Adresse in deinen Dateimanager ein, "Nautilus" oder andere. Eventuell musst du {{KEY|Ctrl}}+{{KEY|H}} drücken, um das versteckte Verzeichnis {{incode|.FreeCAD/}} sichtbar zu machen.
* Windows: Füge die Adresse in dein "Datei Suchprogramm" ein und bestätige.
* MacOS: Suche den Ordner im "Finder" oder füge die Adresse in ein "Datei Suchprogramm" ein; merke dir das {{incode|file:///}} Vorsatzzeichen im "Datei Suchprogramm" für eine Datei auf der Festplatte.


[[Image:Macro Install HowTo 11.png|center|the macro must works so good]]
[[Image:Dxf_Importer_Install_03.png|center]]
{{Caption|align=center|Accessing the macros directory in the operating system}}


4. Füge diesem Verzeichnis Makrodateien hinzu.
'''4 :''' Here additional space is selected (it can happen) then you need to copy the code into a word processor to remove '''one space all lines'''
* Linux: Lasse den Dateimanager geöffnet und setze ein Lesezeichen für den schnelleren Zugriff.
* Windows: Lasse das Datei Suchprogramm geöffnet.
* MacOS: Lasse entweder ein "Finder"-Fenster geöffnet, oder setze ein Lesezeichen für den Speicherort in deinem "Datei Suchprogramm", oder richte einen "Alias" ein, um darauf zu zeigen, oder ziehe den Ordner in die " Seitenleiste" des "Finders", so dass er von anderen Programmen, wie z.B. Texteditoren, verwendet werden kann.


[[Image:Macro Install HowTo 12.png|center|remove one space all lines]]
[[Image:Dxf_Importer_Install_04.png|center]]
{{Caption|align=center|Macros directory}}


{{clear}}
'''5 :''' Here the code has been copied in a forum window with the {{KEY|Select all}} button apparently the selection is good
</div>
</div>


<span id="Installing_macros"></span>
[[Image:Macro Install HowTo 14.png|center|640px|Here the code has been copied in a forum]]
== Makros installieren ==


<div class="toccolours mw-collapsible mw-collapsed">
'''6 :''' But the selection pasted into the FreeCAD editor gives a surprise, an indent of four spaces has been added by the system ? the code is not good


<span id="Automatic_method"></span>
[[Image:Macro Install HowTo 15.png|center|640px|But the selection pasted into the FreeCAD editor gives a surprise]]
=== Automatische Methode ===


Ab FreeCAD 0.17 verwendet man den [[Std_AddonMgr/de|Addon-Manager]] in {{MenuCommand|Werkzeuge → Addon-Manager}}, um ein Makro zu installieren, das in das [https://github.com/FreeCAD/FreeCAD-macros FreeCAD-Macros]-Repositorium aufgenommen wurde.
'''7 :''' You must delete all the extra space that is four spaces on each line, for Windows word processing [http://notepad-plus-plus.org/ notepad-plus-plus] enables vertical selection with a combination of buttons {{KEY|Alt}} + Mouse dragging or Menu> Edit> Indent> Decrease the indentation


<div class="mw-collapsible-content">
[[Image:Macro Install HowTo 16.png|center|640px|You must delete all the extra space]]


In früheren Versionen von FreeCAD konntest du zwei automatisierte Wege nutzen, um Makros und andere Addons zu installieren:
'''8 :''' Here the selection also take the column numbers which will also give an error
* [https://github.com/FreeCAD/FreeCAD-addons addons_installer.FCMacro]: selbst ein Makro, dies war der Vorläufer des Zusatzmanagers, und wird im [https://github.com/FreeCAD/FreeCAD-addons FreeCAD-addons] Repositorium beherbergt. Bei Neuinstallationen von FreeCAD muss dieses Tool nicht verwendet werden.
* [https://github.com/microelly2/freecad-pluginloader freecad-pluginloader]: ebenfalls ein Makro, es kann verwendet werden, um neue Komponenten in FreeCAD zu installieren. Es wird nicht mehr weiterentwickelt.


Der empfohlene Weg, Zusätze, d.h. [[external workbenches/de|externe Arbeitsbereiche]] und Makros zu installieren, ist mit dem [[Std_AddonMgr/de|Addon-Manager]]. Du kannst jedoch immer noch Makros mit den in den folgenden Abschnitten beschriebenen manuellen Methoden zu deinem System hinzufügen; dies ist nützlich, wenn du deinen eigenen Code entwickelst und testest.
[[Image:Macro_Install_HowTo_29.png|center|640px|Here the selection also take the column numbers]]


'''9 :''' Perfect code.

[[Image:Macro Install HowTo 13.png|center|Perfect code]]

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

'''Method 1:'''


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

==Method copy the code in one window and paste in the FreeCAD editor==
<span id="Manual_method_1._Copy_the_code_to_the_macro_editor"></span>
===Manuelle Methode 1. Den Code in den Makro Editor kopieren====

Für Makros, die relativ klein sind, 300 Zeilen oder weniger, kann der Code kopiert und direkt in den FreeCAD-Makroeditor eingefügt werden.

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


For example we will copy the macro [[File:Part_Prism_Apothem.svg|16px]] [[Macro_Apothem_Based_Prism_GUI|Macro_Apothem_Based_Prism_GUI]]
Wir werden [[Image:Part_Prism_Apothem.svg|24px]] [[Macro_Apothem_Based_Prism_GUI/de|Macro Apothem Based Prism GUI]] als ein Beispiel verwenden.


1. Gehe auf die Makro Wiki Seite, die unter [[Macros recipes/de|Makro Rezepte]] aufgelistet sein sollte.
If there are one or more icon (s) download also position your mouse over the icon, click the right mouse button and click "Save image as ..." the icon or icons are placed in the macro directory and one of these icons serve as a shortcut icon to place on the [[Customize_ToolsBar|toolsbar.]]


Wenn es ein benutzerdefiniertes Symbol gibt, lade es herunter; klicke mit der rechten Maustaste darauf und wähle {{incode|Bild speichern unter...}}; platziere das Symbol im Makroverzeichnis. Dieses Symbol kann als Tastaturkürzel für das Makro in einer [[Customize_Toolbars/de|benutzerdefinierten Werkzeugleiste]] verwendet werden. Das Standardsymbol ist [[Image:Text-x-python.png|24px]].
[[File:Macro Install HowTo 28.png|300px|center|Download icon]]


[[File:Macro Install HowTo 28.png|center]]
After copying your code we will paste the code in FreeCAD editor.
{{Caption|align=center|Downloading the icon from the macro page}}


2. Wähle auf der Makroseite den Code innerhalb der Abschnitte {{Emphasis|Skript}} oder {{Emphasis|Makro}} aus und kopiere ihn.
'''1 :''' Open FreeCAD and open the editor in FreeCAD


3. Öffne in FreeCad das Menü {{MenuCommand|Makro → [[Image:Std_DlgMacroExecute.svg|16px]] [[Std_DlgMacroExecute/de|Makros...]]}}, um den [[Std_DlgMacroExecute/de|Makro Dialog ausführen]] zu öffnen.
[[File:Dxf_Importer_Install_01.png|640px|center]]


[[Image:Dxf_Importer_Install_01.png|center]]
'''2 :''' The window macros file opens, click {{KEY|Create}} button
{{Caption|align=center|Öffnen des Makro ausführen Dialogs}}


4. Klicke {{Button|Erstelle}}.
[[File:Macro Install HowTo 17.png|300px|center|The window macros file opens]]


[[Image:Macro Install HowTo 17.png|center]]
'''3 :''' A new window opens, enter the macro name (here "'''Macro_Apothem_Based_Prism_GUI'''")and click the create {{KEY|Ok}} button
{{Caption|align=center|Creating a new macro}}


5. Gib den Makronamen ein, hier {{incode|Macro_Apothem_Based_Prism_GUI}}, und drücke {{Button|OK}}.
[[File:Macro Install HowTo 18.png|300px|center|enter the macro name]]


[[Image:Macro Install HowTo 18.png|center]]
'''4 :''' The editing window FreeCAD macros is now available and has the name of our future macro.
{{Caption|align=center|Entering the macro name}}


6. Der Makro Editor öffnet sich und zeigt den vollständigen Pfad des neuen Makros an.
[[File:Macro Install HowTo 19.png|640px|center|The editing window FreeCAD macros]]


[[Image:Macro Install HowTo 19.png|center]]
'''5 :''' Paste your code in the macro editor window and click the little '''cross''' to close the window.
{{Caption|align=center|The macro editor}}


7. Füge den Code in das Editorfenster ein und klicke dann auf das Kreuz auf der Registerkarte, um das Fenster zu schließen.
[[File:Macro Install HowTo 20.png|640px|center|close the window]]


[[Image:Macro Install HowTo 20.png|center]]
'''6 :''' A warning window appears asking for confirmation of save code, click on {{KEY|Yes}}
{{Caption|align=center|Closing the macro editor}}


8. Ein Fenster erscheint, das nach Bestätigung zum Speichern des Codes fragt; klicke auf {{Button|Ja}}. Du kannst auch {{KEY|Ctrl}}+{{KEY|S}} verwenden, um die Datei zu speichern.
'''PS:''' For the change silk consideration must save the macro and reopen it and just run it.


Starte FreeCAD neu, um das neue Makro korrekt zu registrieren.
[[File:Macro Install HowTo 27.png|300px|center|A warning window appears asking for confirmation of save code]]


[[Image:Macro Install HowTo 27.png|center]]
'''7 :''' Repeat the number '''1 :''' , Click on your new macro and button {{KEY|Execute}}
{{Caption|align=center|Asking for confirmation to save the code}}


9. Öffne dann das Menü erneut, {{MenuCommand|Makro → [[Image:Std_DlgMacroExecute.svg|16px]] [[Std_DlgMacroExecuteDirect/de|Makros...]]}}, wähle das neue Makro und drücke {{Button|Ausführen}}.
[[File:Macro Install HowTo 21.png|300px|center|Click on your new macro and button Execute]]


[[Image:Macro Install HowTo 21.png|center]]
'''8 :''' The macro runs, complete the fields with your values and click the {{KEY|OK}} button
{{Caption|align=center|Selecting the macro to run it}}


10. Das Makro läuft jetzt. Fülle die Felder mit deinen Werten aus und klicke auf die Schaltfläche {{Button|OK}}.
[[File:Macro Install HowTo 22.png|640px|center|The macro runs, complete the fields]]


[[Image:Macro Install HowTo 22.png|center]]
9 : The macro returns an error ! we do not have to open document, open a document and repeat the operation '''7''' and '''8'''. Some macros open a new document if it does not find one.
{{Caption|align=center|The macro in action; fill in the information and press OK when ready}}


11. Dieses Makro sollte einen Fehler zurückgeben, wenn kein Dokument aktiv ist; andere Makros öffnen ein neues Dokument, wenn keines existiert.
[[File:Macro Install HowTo 23.png|640px|center|The macro returns an error!]]


Erstelle ein neues Dokument mit {{MenuCommand|Datei → [[Image:Std_New.svg|16px]] [[Std_New/de|Neu]]}}, und wiederhole dann die vorherigen Schritte, um das Makro auszuführen.
10 : Here is your prism


[[File:Macro Install HowTo 24.png|640px|center|your prism]]
[[Image:Macro Install HowTo 23.png|center|]]
{{Caption|align=center|Das Makro gibt einen Fehler zurück, wenn kein Dokument aktiv ist}}


12. Sobald ein aktives Dokument verfügbar ist, wird das Makro ausgeführt und ein Objekt erstellt.
11 : You can also open your macro in the editor to run or modify, click the {{KEY|Edit}} button


[[File:Macro Install HowTo 25.png|300px|center|You can also open your macro in the editor]]
[[Image:Macro Install HowTo 24.png|center]]
{{Caption|align=center|Vom Makro erzeugtes Objekt}}


13. Du kannst das Makro erneut im Editor öffnen, um es auszuführen oder zu modifizieren. Gehe zu {{MenuCommand|Makro → [[Image:Std_DlgMacroExecute.svg|16px]] [[Std_DlgMacroExecute/de|Makros...]]}}, wähle das Makro aus und drücke {{Button|Bearbeiten}}.
12: The macro is now in the FreeCAD editor you can run through the menu "Macro Run Macro" or by clicking on the triangle [[File:Macro-execute.svg|16px]] green in the macros toolsbar


[[File:Macro Install HowTo 26.png|640px|center|The macro is now in the FreeCAD editor]]
[[Image:Macro Install HowTo 25.png|center]]
{{Caption|align=center|Öffnen des Makros im Editor}}

14. Das Makro kann nun mit {{MenuCommand|Makro → [[Image:Std_DlgMacroExecuteDirect.svg|16px]] [[Std_DlgMacroExecute|Makro ausführen]]}}, oder durch Klicken auf die {{Button|[[Image:Std_DlgMacroExecuteDirect.svg|16px]] [[Std_DlgMacroExecute/de|Ausführen]]}} Taste in der Werkzeugleiste.

[[Image:Macro Install HowTo 26.png|center]]
{{Caption|align=center|Ausführen des im Editor geladenen Makros}}


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

'''Method 2:'''


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

==Method macro in a compressed .ZIP file==
<span id="Manual_method_2._Add_a_macro_file_from_a_compressed_.zip_file"></span>
===Manuelle Methode 2. Eine Makrodatei aus einer komprimierten .zip-Datei hinzufügen===

Einige Makros sind zu groß, als dass es unbequem ist, sie zu kopieren und in den Makro Editor einzufügen, oder sie können nicht im Wiki beherbergt werden. In diesem Fall kann der Code irgendwo anders beherbergt werden, in einem Github Repositorium oder im [https://forum.freecadweb.org/ FreeCAD Forum]. Der Code kann auch in eine {{incode|.zip}} Datei, einen Tarball {{incode|.tar.xz}} oder eine andere Art von Archiv komprimiert werden, wenn es mehrere Dateien enthält. Wenn der Code auf diese Weise verteilt wird, sollte das Archiv extrahiert und die Dateien im Makro Verzeichnis abgelegt werden.

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


Wir werden [[Image:Text-x-python.png|24px]] [[Macro_screw_maker1_2|Makro Schrauben Ersteller]] als ein Beispiel.
Download the file compressed here (example) [http://forum.freecadweb.org/viewtopic.php?f=22&t=6558#p52887 Macro_screw_maker 1.7]. (the page [[Macro_screw_maker1_2|Macro_screw_maker]])


1. Lade den komprimierten Code aus dem Forum herunter, [http://forum.freecadweb.org/viewtopic.php?f=22&t=6558#p52887 Screw Maker].
Free for 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]


Du musst einen Dekompressor verwenden, um die internen Dateien zu erhalten.
For Linux use this on the terminal
* Für Windows kannst Du ein Programm wie [http://www.7-zip.org/ 7-zip] oder [http://www.kanmandet.dk/?p=37 L-Zarc] oder [http://www.quickzip.org/quickzip51.html quickzip] verwenden.
* Für Linux kannst Du einen Befehl vom Terminal aus verwenden


{{Code|code=
{{Code|code=
Line 192: Line 241:
}}
}}


2. Lade das komprimierte Archiv mit dem Makrocode in einen lokalen Ordner herunter.
you must unzip the zip and copy the file (or all the files and folders) in your macro directory.


[[Image:Macro Install HowTo 01.png|center]]
'''Process'''
{{Caption|align=center|Herunterladen des komprimierten Archivs in ein lokales Verzeichnis}}


3. Entpacke die Datei in dem Ordner.
'''1 :''' Download your file in your local folder here the folder '''Temp'''


[[Image:Macro Install HowTo 01.png|center|640px|Download your file in your local folder here the folder Temp]]
[[Image:Macro Install HowTo 02.png|center]]
{{Caption|align=center|Entpacken der Datei im Ordner}}


4. Der Entpacker erstellt ein neues Verzeichnis mit den entpackten Dateien.
'''2 :''' Unzip your file in the folder.


[[Image:Macro Install HowTo 02.png|center|640px|Unzip your file in the folder.
[[Image:Macro Install HowTo 03.png|center]]
{{Caption|align=center|Neues Verzeichnis nach dem Entpacken des Archivs erstellt}}
]]


5. Gehe in das neue Verzeichnis und kopiere oder schneide die Makrodatei aus.
'''3 :''' The decompressor finished his work and created a new folder with the unpacked file


[[Image:Macro Install HowTo 03.png|center|640px|The decompressor finished his work and created a new folder with the unpacked file]]
[[Image:Macro Install HowTo 04.png|center]]
{{Caption|align=center|Eingeben des neu erstellten Verzeichnisses mit der entpackten Makrodatei}}


6. Gehe in das Makroverzeichnis und füge die Datei dort ein.
'''4 :''' Enter in the newly created directory, move about the file, click the right mouse button and click on '''Cut'''.


[[Image:Macro Install HowTo 04.png|center|640px|Enter in the newly created directory]]
[[Image:Macro Install HowTo 05.png|center]]
{{Caption|align=center|Platzieren der Makrodatei im Makroverzeichnis}}


7. Öffne in FreeCAD das Menü {{MenuCommand|Makro → [[Image:Std_DlgMacroExecute.svg|16px]] [[Std_DlgMacroExecute/de|Makros...]]}}, um den [[Std_DlgMacroExecute/de|Makro Dialog ausführen]] zu öffnen.
'''5 :''' Return to your browser remained open in the macro location (here '''C:\Users\your_user_name\AppData\Roaming\FreeCAD\''') and close the browser.


[[Image:Macro Install HowTo 05.png|center|640px|Return to your browser remained open]]
[[Image:Macro Install HowTo 06.png|center]]
{{Caption|align=center|Öffnen des Makro ausführen Dialogs}}


8. Wähle das neue Makro aus und drücke {{Button|Ausführen}}.
'''6 :''' Open FreeCAD click '''Menu > Macro > Macros''' or the click the {{KEY|bottom}} [[File:Std_DlgMacroExecuteDirect.svg|18px]] "Open a dialog to let you execute a macro Recorded"


[[Image:Macro Install HowTo 06.png|center|640px|Open FreeCAD]]
[[Image:Macro Install HowTo 07.png|center]]
{{Caption|align=center|Auswählen des Makros zur Ausführung}}


9. Das Makro läuft jetzt. Wähle die gewünschten Optionen aus und klicke auf die Schaltfläche {{Button|Erstellen}}.
'''7 :''' The macros window open , select your macro and click the button {{KEY|Execute}}


[[Image:Macro Install HowTo 07.png|center|640px|The macros window open]]
[[Image:Macro Install HowTo 08.png|center|640px]]
{{Caption|align=center|Das Makro in Aktion; wähle die gewünschten Optionen und drücke Erstellen, wenn du bereit bist.}}


[[Image:Macro Install HowTo 30.png|center]]
'''8 :''' Your macro is executed enter the data and click the {{KEY|Create}} button
{{Caption|align=center|Vom Makro erzeugtes Objekt}}


</div>
[[Image:Macro Install HowTo 08.png|center|640px|Your macro is executed]]
</div>


<span id="Execute_a_macro_in_command_line"></span>
'''9''' : Whaouu
==Ein Makro in der Kommandozeile ausführen==


<div class="toccolours mw-collapsible mw-collapsed">
[[Image:Macro Install HowTo 30.png|center|640px|Whaouu]]

Ein Makro von der Kommandozeile aus ausführen (.FCMacro oder .py)

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

unter Windows

{{Code|code=
"C:\Program Files\FreeCAD\bin\FreeCAD.exe" "C:\Users\userName\AppData\Roaming\FreeCAD\Mod\WorkFeature\start_WF.FCMacro"
}}

unter Linux

{{Code|code=
todo
}}


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


<span id="Errors_in_macros"></span>
'''Section if the text are not display:'''
== Fehler in Makros ==


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

==For those who see no information is displayed.==
<span id="Indentation_errors"></span>
=== Einrückungsfehler ===

Der weiße Raum am Anfang der Zeilen (Einrückung) ist in der Programmiersprache [[Python/de|Python]] sehr wichtig und ein integraler Bestandteil des Codes. Ein ungeeignetes Leerzeichen kann dazu führen, dass der Code nicht läuft oder Fehler aufweist.

Dieser Abschnitt beschreibt einige Fehler, die beim Kopieren und Einfügen sowie beim Schreiben von Makrocode auftreten können.

<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Some macros display information on the screen in general they are displayed in the report view.


Ein typischer Einrückungsfehler sieht wie folgt aus:
FreeCAD use two methods to display the information in the window view report.


'''1 : Commands'''
{{Code|code=
App.Console.PrintMessage ("Hello World! \N")
App.Console.PrintError ("Hello World! \N")
App.Console.PrintWarning ("Hello World! \N")
}}
or
{{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'))
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:


<span id="Example_1"></span>
'''1 :''' Open FreeCAD
==== Beispiel 1 ====


Wenn der Code keine Einrückung aufweist, wird der Code nicht funktionieren. Klassen ({{incode|class}}) und Funktionsdefinitionen ({{incode|def()}}), sowie Kontrollstrukturen ({{incode|if}}, {{incode|while}}, {{incode|for}}) sollten von einem Block eingerückten Codes gefolgt werden.
[[Image:Macro Install HowTo 31.png|center|640px|Open FreeCAD]]


Dieser Fehler ist möglich, wenn der Benutzer den Code nicht korrekt kopiert und alle Leerzeichen versehentlich entfernt wurden.
'''2 :''' Click the '''View menu''' and '''Views'''


[[Image:Macro Install HowTo 32.png|center|640px|Click the View menu and Views]]
[[Image:Macro Install HowTo 09.png|center]]
{{Caption|align=center|Python Code, der keine Einrückung hat; er wird einen Fehler verursachen, wenn er ausgeführt wird}}


Einrückungsproblem behoben.
'''3 :''' Check '''Report View''' and '''Python Console'''


[[Image:Macro Install HowTo 33.png|center|640px|Check Report View and Python Console]]
[[Image:Macro Install HowTo 10.png|center]]
{{Caption|align=center|Python Code mit der richtigen Einrückung}}


Wenn der Code ausgewählt ist, sollten alle Zeilen bis zum linken Rand hervorgehoben werden, um anzuzeigen, dass die Zeilen ausgerichtet sind.
'''4 :''' the windows are enabled and available commands like "'''App.Console.PrintMessage'''" is configured to the "Report View"


[[Image:Macro Install HowTo 34.png|center|640px|Hello World!]]
[[Image:Macro Install HowTo 11.png|center]]
{{Caption|align=center|Python Code hervorgehoben, was zeigt, dass alle Zeilen am linken Rand beginnen}}


<span id="Example_2"></span>
==== Beispiel 2 ====


Wenn ein zusätzliches Leerzeichen am Anfang aller Zeilen eingefügt, wird der Python Interpreter versagen und sich über unnötige Einrückungen beschweren. In diesem Fall muss in alle Zeilen das anfangs Leerzeichen entfernt werden.
'''2 : command "print" which is a Python command.'''


[[Image:Macro Install HowTo 12.png|center]]
It is possible that this command does not display the expected string.
{{Caption|align=center|Python Code mit zusätzlichem Leerzeichen in jeder Zeile}}


<span id="Example_3"></span>
For information to be displayed in the window do this :
==== Beispiel 3 ====


Hier wurde der Code aus einem Foren Thema durch Verwendung {{Button|Alles auswählen}} Schaltfläche kopiert. Anscheinend ist die Auswahl gut.
'''1 :''' Click the '''Edit menu''' and then '''Preferences'''


[[Image:Macro Install HowTo 35.png|center|640px|Edit menu]]
[[Image:Macro Install HowTo 14.png|center]]
{{Caption|align=center|Python Code kopiert aus einem Forum}}


Wenn die Auswahl jedoch in den Makro Editor eingefügt wird, scheint es zu einer unerwünschten Einrückung zu kommen.
'''2 :''' In the new window, click '''General''', and select the '''Output window''' tab


[[Image:Macro Install HowTo 36.png|center|640px|General]]
[[Image:Macro Install HowTo 15.png|center]]
{{Caption|align=center|Python Code aus einem Forum in den Makro Editor kopiert; unnötige Einrückung wird hinzugefügt}}


In this case, the initial spaces need to be removed. This can be done with a specialized text editor to quickly decrease the indentation of the lines.
'''3 :''' check both boxes:


Unter Windows [http://notepad-plus-plus.org/ Notepad++] kann die Auswahl ausgeführt mit {{KEY|Alt}} + Maus ziehen und dann verwenden {{MenuCommand|Bearbeiten → Einrücken → Verringere die Einrückung}}.
[[Image:Case_a_cocher_O.png|16px]] Redirect internal Python output to Report view


[[Image:Macro Install HowTo 16.png|center]]
[[Image:Case_a_cocher_O.png|16px]] Redirect internal Python errors to Report view
{{Caption|align=center|Python Code mit der korrekten Einrückung}}


<span id="Example_4"></span>
and click the {{KEY|OK}} button
==== Beispiel 4 ====


Hier wählt die Auswahl auch die Zeilennummern im Codebeispiel aus. Wenn diese Auswahl in den Makro Editor eingefügt wird, funktioniert sie nicht. Es müssen alle Zeilennummern entfernt und die Leerzeichen so angepasst werden, dass der Python Code die richtige Einrückung hat.
[[Image:Macro Install HowTo 37.png|center|640px|Redirect internal]]


[[Image:Macro_Install_HowTo_29.png|center]]
'''4 :''' the setup is complete you should see all.
{{Caption|align=center|Auswahl, die auch die Zeilennummern auswählt; wenn dieser Code in den Makro Editor eingefügt wird, wird es nicht funktionieren}}


<span id="Good_code"></span>
[[Image:Macro Install HowTo 38.png|center|640px|the setup is complete]]
==== Guter Code ====

[[Image:Macro Install HowTo 13.png|center]]
{{Caption|align=center|Python Code mit der richtigen Einrückung}}


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


<div class="toccolours mw-collapsible mw-collapsed">
End tutorial good job.


<span id="No_text_output_from_macros"></span>
==Links==
===Keine Textausgabe aus Makros===


Makros können Informationen im Ausgabefenster ausgeben, um detailliert zu zeigen, was der Code während der Ausführung tut.
The [[Macros_recipes|Macros_recipes]] page

[[Category:Tutorials]]
Wenn keine Information angezeigt wird, sollte sichergestellt werden, dass das Ausgabrfenster und die [[Python/de|Python]]-Konsole sichtbar sind und dass die Ausgabe auf das Ausgabrfenster geleitet wird.
<languages/>

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

<span id="Printing_information"></span>
====Informationen ausgeben====

FreeCAD-Makros haben zwei Methoden, um Informationen im Ausgabefenster auszugeben.

Die FreeCAD-Funktionen

{{Code|code=
FreeCAD.Console.PrintMessage("Hello World! \n")
FreeCAD.Console.PrintError("Hello World! \n")
FreeCAD.Console.PrintWarning("Hello World! \n")
}}

Die einfache Python-Funktion

{{Code|code=
print("Hello World!")
}}

<span id="Enabling_the_report_view"></span>
====Ausgabefenster aktivieren====

Um die in der Konsole angezeigten Informationen auszugeben, sollte man:

1. Gehe zum Menü {{MenuCommand|Ansicht → Paneele}}.

[[Image:Macro Install HowTo 31.png|center]]

[[Image:Macro Install HowTo 32.png|center]]
{{Caption|align=center|Sichtbarmachung der Panels im Menü Ansicht → Paneele}}

2. Das {{incode|Ausgabefenster}} und die {{incode|Python-Konsole}} aktivieren.

[[Image:Macro Install HowTo 33.png|center]]
{{Caption|align=center|Aktivieren des Ausgabefensters und der Python-Konsole}}

3. Die Bedienfelder sind jetzt sichtbar, und Befehle wie {{incode|FreeCAD.Console.PrintMessage()}} geben jetzt Informationen aus, die im {{incode|Ausgabefenster}} angezeigt werden.

[[Image:Macro Install HowTo 34.png|center]]
{{Caption|align=center|FreeCAD-Hauptfenster mit dem Ausgabefenster und der Python-Konsole}}

<span id="Enabling_the_print()_command"></span>
====Den Befehl <tt>print()</tt> aktivieren====

FreeCAD muss möglicherweise so konfiguriert werden, dass die Ausgabe der [[Python/de|Python]]-Funktion {{incode|print()}} korrekt ins Ausgabefenster umgeleitet wird.

1. Den Menüeintrag {{MenuCommand|Bearbeiten → Einstellungen}} auswählen, um in den [[Preferences_Editor/de|Voreinstellungseditor]] zu wechseln .

[[Image:Macro Install HowTo 35.png|center]]
{{Caption|align=center|In den Voreinstellungseditor wechseln}}

2. Zum Abschnitt {{MenuCommand|Python}} wechseln, und dann zu {{MenuCommand|Ausgabefenster → Python Interpreter}}.

[[Image:Macro Install HowTo 36.png|center]]
{{Caption|align=center|Einstellungen des Ausgabefensters}}

3. Beide Kästchen ankreuzen:

* [[Image:Case_a_cocher_O.png|16px]] Interne Python-Ausgabe in das Ausgabefenster umleiten

* [[Image:Case_a_cocher_O.png|16px]] Umleiten interner Python-Fehler in das Ausgabefenster

und dann die Schaltfläche {{Button|OK}} drücken.

[[Image:Macro Install HowTo 37.png|center]]
{{Caption|align=center|Umleitung der Python-Ausgabe in das Ausgabefenster.}}

[[Image:Macro Install HowTo 38.png|center]]
{{Caption|align=center|Python-Befehle zum Ausgeben von Informationen im Ausgabefenster.}}
</div>
</div>

{{Powerdocnavi{{#translation:}}}}
[[Category:Developer Documentation{{#translation:}}]]
[[Category:Python Code{{#translation:}}]]

Latest revision as of 16:08, 18 August 2023

Tutorium
Thema
Programmierung
Niveau
durchschnittliche Programmierer
Zeit zum Abschluss
Not provided
Autoren
Mario52
FreeCAD-Version
Alle
Beispieldateien
None
Siehe auch
None

Beschreibung

Seit v0.17 ist es einfach, Makros mit Hilfe des Erweiterungsverwalter hinzuzufügen. Ein normaler Benutzer braucht nicht mehr zu tun, als dieses Werkzeug zu benutzen. Lies weiter, um weitere Informationen zur Installation von Makros zu erhalten.

Makros sind Befehlssequenzen, die zur Ausführung einer komplexen Zeichenoperation verwendet werden. Makros sind Python Skripte, d.h. sie sind Textdateien, die mit einem Texteditor geschrieben und bearbeitet werden können.

Während Python Skripte normalerweise die Erweiterung .py haben, sollten FreeCAD Makros die Erweiterung .FCMacro haben. Eine Sammlung von Makros, die von erfahrenen Anwendern geschrieben wurden, findest Du auf der Seite Makrozepte.

Siehe Einführung in Python, um mehr über die Programmiersprache Python zu erfahren, und dann Python Skript Tutorium und FreeCAD Skript Grundlagen, um das Schreiben von Makros zu erlernen.

Hier ist ein Video über Installieren von FreeCAD Makros in Ubuntu.

Das Menü Makro und die Symbolleiste

Symbolleiste

Menü

Neben den Werkzeugen in der Symbolleiste sind auch die folgenden Funktionen im Menü Makro verfügbar.

Makros Verzeichnis

Makros werden in einem bestimmten Ordner im FreeCAD-Verzeichnis des Benutzers erstellt. Dieses Verzeichnis kann im Dialogfenster Makro ausführen oder im Voreinstellungseditor über das Menü Bearbeiten → Einstellungen → Python → Makro → Einstellungen für Makroaufzeichnung angepasst werden.

Heruntergeladene Makros sollten ebenfalls in diesem Verzeichnis abgelegt werden.

Standardverzeichnis

Makros können einfach in das folgende Verzeichnis kopiert werden:

$ROOT_DIR/

wobei $ROOT_DIR ein Verzeichnis der obersten Ebene ist, das von FreeCAD beim Start durchsucht wird.

$ROOT_DIR könnte ein systemweites Verzeichnis sein; in dem Fall wird das Makro für alle Benutzer installiert.

  • Unter Linux ist es normalerweise /usr/share/freecad/
  • Unter Windows ist es normalerweise C:\Program Files\FreeCAD\
  • Unter Mac OSX ist es normalerweise /Applications/FreeCAD/

$ROOT_DIR könnte das Verzeichnis eines bestimmten Benutzers sein.

  • Unter Linux ist es normalerweise /home/Benutzername/.local/share/FreeCAD/ (Version 0.20 und darüber) oder /home/Benutzername/.FreeCAD/ (Version 0.19 und darunter).
  • Unter Windows ist es normalerweise C:\Users\ Benutzername\AppData\FreeCAD\
  • Unter Mac OSX ist es normalerweise /Users/Benutzername/Library/Preferences/FreeCAD/

Das Benutzerverzeichnis konfigurieren

1. Menüeintrag Makro → Makros... auswählen, um den Dialog Makro ausführen zu öffnen.

Öffnen des Makro ausführen Dialogs

2. Den entsprechenden Speicherort der Benutzermakros angeben.

  • Linux: normalerweise /home/username/.local/share/FreeCAD/ (Version 0.20 und darüber) oder /home/username/.FreeCAD/ (Version 0.19 und darunter)
  • Windows: normalerweise C:\Users\username\AppData\Roaming\FreeCAD\
  • MacOS: normalerweise /Users/username/Library/Preferences/FreeCAD/

Setting of the macros directory

3. Navigiere zu diesem Verzeichnis auf deinem Computer.

  • Linux: Füge die Adresse in deinen Dateimanager ein, "Nautilus" oder andere. Eventuell musst du Ctrl+H drücken, um das versteckte Verzeichnis .FreeCAD/ sichtbar zu machen.
  • Windows: Füge die Adresse in dein "Datei Suchprogramm" ein und bestätige.
  • MacOS: Suche den Ordner im "Finder" oder füge die Adresse in ein "Datei Suchprogramm" ein; merke dir das file:/// Vorsatzzeichen im "Datei Suchprogramm" für eine Datei auf der Festplatte.

Accessing the macros directory in the operating system

4. Füge diesem Verzeichnis Makrodateien hinzu.

  • Linux: Lasse den Dateimanager geöffnet und setze ein Lesezeichen für den schnelleren Zugriff.
  • Windows: Lasse das Datei Suchprogramm geöffnet.
  • MacOS: Lasse entweder ein "Finder"-Fenster geöffnet, oder setze ein Lesezeichen für den Speicherort in deinem "Datei Suchprogramm", oder richte einen "Alias" ein, um darauf zu zeigen, oder ziehe den Ordner in die " Seitenleiste" des "Finders", so dass er von anderen Programmen, wie z.B. Texteditoren, verwendet werden kann.

Macros directory

Makros installieren

Automatische Methode

Ab FreeCAD 0.17 verwendet man den Addon-Manager in Werkzeuge → Addon-Manager, um ein Makro zu installieren, das in das FreeCAD-Macros-Repositorium aufgenommen wurde.

In früheren Versionen von FreeCAD konntest du zwei automatisierte Wege nutzen, um Makros und andere Addons zu installieren:

  • addons_installer.FCMacro: selbst ein Makro, dies war der Vorläufer des Zusatzmanagers, und wird im FreeCAD-addons Repositorium beherbergt. Bei Neuinstallationen von FreeCAD muss dieses Tool nicht verwendet werden.
  • freecad-pluginloader: ebenfalls ein Makro, es kann verwendet werden, um neue Komponenten in FreeCAD zu installieren. Es wird nicht mehr weiterentwickelt.

Der empfohlene Weg, Zusätze, d.h. externe Arbeitsbereiche und Makros zu installieren, ist mit dem Addon-Manager. Du kannst jedoch immer noch Makros mit den in den folgenden Abschnitten beschriebenen manuellen Methoden zu deinem System hinzufügen; dies ist nützlich, wenn du deinen eigenen Code entwickelst und testest.

Manuelle Methode 1. Den Code in den Makro Editor kopieren=

Für Makros, die relativ klein sind, 300 Zeilen oder weniger, kann der Code kopiert und direkt in den FreeCAD-Makroeditor eingefügt werden.

Wir werden Macro Apothem Based Prism GUI als ein Beispiel verwenden.

1. Gehe auf die Makro Wiki Seite, die unter Makro Rezepte aufgelistet sein sollte.

Wenn es ein benutzerdefiniertes Symbol gibt, lade es herunter; klicke mit der rechten Maustaste darauf und wähle Bild speichern unter...; platziere das Symbol im Makroverzeichnis. Dieses Symbol kann als Tastaturkürzel für das Makro in einer benutzerdefinierten Werkzeugleiste verwendet werden. Das Standardsymbol ist .

Downloading the icon from the macro page

2. Wähle auf der Makroseite den Code innerhalb der Abschnitte Skript oder Makro aus und kopiere ihn.

3. Öffne in FreeCad das Menü Makro → Makros..., um den Makro Dialog ausführen zu öffnen.

Öffnen des Makro ausführen Dialogs

4. Klicke Erstelle.

Creating a new macro

5. Gib den Makronamen ein, hier Macro_Apothem_Based_Prism_GUI, und drücke OK.

Entering the macro name

6. Der Makro Editor öffnet sich und zeigt den vollständigen Pfad des neuen Makros an.

The macro editor

7. Füge den Code in das Editorfenster ein und klicke dann auf das Kreuz auf der Registerkarte, um das Fenster zu schließen.

Closing the macro editor

8. Ein Fenster erscheint, das nach Bestätigung zum Speichern des Codes fragt; klicke auf Ja. Du kannst auch Ctrl+S verwenden, um die Datei zu speichern.

Starte FreeCAD neu, um das neue Makro korrekt zu registrieren.

Asking for confirmation to save the code

9. Öffne dann das Menü erneut, Makro → Makros..., wähle das neue Makro und drücke Ausführen.

Selecting the macro to run it

10. Das Makro läuft jetzt. Fülle die Felder mit deinen Werten aus und klicke auf die Schaltfläche OK.

The macro in action; fill in the information and press OK when ready

11. Dieses Makro sollte einen Fehler zurückgeben, wenn kein Dokument aktiv ist; andere Makros öffnen ein neues Dokument, wenn keines existiert.

Erstelle ein neues Dokument mit Datei → Neu, und wiederhole dann die vorherigen Schritte, um das Makro auszuführen.

Das Makro gibt einen Fehler zurück, wenn kein Dokument aktiv ist

12. Sobald ein aktives Dokument verfügbar ist, wird das Makro ausgeführt und ein Objekt erstellt.

Vom Makro erzeugtes Objekt

13. Du kannst das Makro erneut im Editor öffnen, um es auszuführen oder zu modifizieren. Gehe zu Makro → Makros..., wähle das Makro aus und drücke Bearbeiten.

Öffnen des Makros im Editor

14. Das Makro kann nun mit Makro → Makro ausführen, oder durch Klicken auf die Ausführen Taste in der Werkzeugleiste.

Ausführen des im Editor geladenen Makros

Manuelle Methode 2. Eine Makrodatei aus einer komprimierten .zip-Datei hinzufügen

Einige Makros sind zu groß, als dass es unbequem ist, sie zu kopieren und in den Makro Editor einzufügen, oder sie können nicht im Wiki beherbergt werden. In diesem Fall kann der Code irgendwo anders beherbergt werden, in einem Github Repositorium oder im FreeCAD Forum. Der Code kann auch in eine .zip Datei, einen Tarball .tar.xz oder eine andere Art von Archiv komprimiert werden, wenn es mehrere Dateien enthält. Wenn der Code auf diese Weise verteilt wird, sollte das Archiv extrahiert und die Dateien im Makro Verzeichnis abgelegt werden.

Wir werden Makro Schrauben Ersteller als ein Beispiel.

1. Lade den komprimierten Code aus dem Forum herunter, Screw Maker.

Du musst einen Dekompressor verwenden, um die internen Dateien zu erhalten.

  • Für Windows kannst Du ein Programm wie 7-zip oder L-Zarc oder quickzip verwenden.
  • Für Linux kannst Du einen Befehl vom Terminal aus verwenden
unzip your_file.zip -d your_directory

2. Lade das komprimierte Archiv mit dem Makrocode in einen lokalen Ordner herunter.

Herunterladen des komprimierten Archivs in ein lokales Verzeichnis

3. Entpacke die Datei in dem Ordner.

Entpacken der Datei im Ordner

4. Der Entpacker erstellt ein neues Verzeichnis mit den entpackten Dateien.

Neues Verzeichnis nach dem Entpacken des Archivs erstellt

5. Gehe in das neue Verzeichnis und kopiere oder schneide die Makrodatei aus.

Eingeben des neu erstellten Verzeichnisses mit der entpackten Makrodatei

6. Gehe in das Makroverzeichnis und füge die Datei dort ein.

Platzieren der Makrodatei im Makroverzeichnis

7. Öffne in FreeCAD das Menü Makro → Makros..., um den Makro Dialog ausführen zu öffnen.

Öffnen des Makro ausführen Dialogs

8. Wähle das neue Makro aus und drücke Ausführen.

Auswählen des Makros zur Ausführung

9. Das Makro läuft jetzt. Wähle die gewünschten Optionen aus und klicke auf die Schaltfläche Erstellen.

Das Makro in Aktion; wähle die gewünschten Optionen und drücke Erstellen, wenn du bereit bist.

Vom Makro erzeugtes Objekt

Ein Makro in der Kommandozeile ausführen

Ein Makro von der Kommandozeile aus ausführen (.FCMacro oder .py)

unter Windows

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

unter Linux

todo

Fehler in Makros

Einrückungsfehler

Der weiße Raum am Anfang der Zeilen (Einrückung) ist in der Programmiersprache Python sehr wichtig und ein integraler Bestandteil des Codes. Ein ungeeignetes Leerzeichen kann dazu führen, dass der Code nicht läuft oder Fehler aufweist.

Dieser Abschnitt beschreibt einige Fehler, die beim Kopieren und Einfügen sowie beim Schreiben von Makrocode auftreten können.

Ein typischer Einrückungsfehler sieht wie folgt aus:

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

Beispiel 1

Wenn der Code keine Einrückung aufweist, wird der Code nicht funktionieren. Klassen (class) und Funktionsdefinitionen (def()), sowie Kontrollstrukturen (if, while, for) sollten von einem Block eingerückten Codes gefolgt werden.

Dieser Fehler ist möglich, wenn der Benutzer den Code nicht korrekt kopiert und alle Leerzeichen versehentlich entfernt wurden.

Python Code, der keine Einrückung hat; er wird einen Fehler verursachen, wenn er ausgeführt wird

Einrückungsproblem behoben.

Python Code mit der richtigen Einrückung

Wenn der Code ausgewählt ist, sollten alle Zeilen bis zum linken Rand hervorgehoben werden, um anzuzeigen, dass die Zeilen ausgerichtet sind.

Python Code hervorgehoben, was zeigt, dass alle Zeilen am linken Rand beginnen

Beispiel 2

Wenn ein zusätzliches Leerzeichen am Anfang aller Zeilen eingefügt, wird der Python Interpreter versagen und sich über unnötige Einrückungen beschweren. In diesem Fall muss in alle Zeilen das anfangs Leerzeichen entfernt werden.

Python Code mit zusätzlichem Leerzeichen in jeder Zeile

Beispiel 3

Hier wurde der Code aus einem Foren Thema durch Verwendung Alles auswählen Schaltfläche kopiert. Anscheinend ist die Auswahl gut.

Python Code kopiert aus einem Forum

Wenn die Auswahl jedoch in den Makro Editor eingefügt wird, scheint es zu einer unerwünschten Einrückung zu kommen.

Python Code aus einem Forum in den Makro Editor kopiert; unnötige Einrückung wird hinzugefügt

In this case, the initial spaces need to be removed. This can be done with a specialized text editor to quickly decrease the indentation of the lines.

Unter Windows Notepad++ kann die Auswahl ausgeführt mit Alt + Maus ziehen und dann verwenden Bearbeiten → Einrücken → Verringere die Einrückung.

Python Code mit der korrekten Einrückung

Beispiel 4

Hier wählt die Auswahl auch die Zeilennummern im Codebeispiel aus. Wenn diese Auswahl in den Makro Editor eingefügt wird, funktioniert sie nicht. Es müssen alle Zeilennummern entfernt und die Leerzeichen so angepasst werden, dass der Python Code die richtige Einrückung hat.

Auswahl, die auch die Zeilennummern auswählt; wenn dieser Code in den Makro Editor eingefügt wird, wird es nicht funktionieren

Guter Code

Python Code mit der richtigen Einrückung

Keine Textausgabe aus Makros

Makros können Informationen im Ausgabefenster ausgeben, um detailliert zu zeigen, was der Code während der Ausführung tut.

Wenn keine Information angezeigt wird, sollte sichergestellt werden, dass das Ausgabrfenster und die Python-Konsole sichtbar sind und dass die Ausgabe auf das Ausgabrfenster geleitet wird.

Informationen ausgeben

FreeCAD-Makros haben zwei Methoden, um Informationen im Ausgabefenster auszugeben.

Die FreeCAD-Funktionen

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

Die einfache Python-Funktion

print("Hello World!")

Ausgabefenster aktivieren

Um die in der Konsole angezeigten Informationen auszugeben, sollte man:

1. Gehe zum Menü Ansicht → Paneele.

Sichtbarmachung der Panels im Menü Ansicht → Paneele

2. Das Ausgabefenster und die Python-Konsole aktivieren.

Aktivieren des Ausgabefensters und der Python-Konsole

3. Die Bedienfelder sind jetzt sichtbar, und Befehle wie FreeCAD.Console.PrintMessage() geben jetzt Informationen aus, die im Ausgabefenster angezeigt werden.

FreeCAD-Hauptfenster mit dem Ausgabefenster und der Python-Konsole

Den Befehl print() aktivieren

FreeCAD muss möglicherweise so konfiguriert werden, dass die Ausgabe der Python-Funktion print() korrekt ins Ausgabefenster umgeleitet wird.

1. Den Menüeintrag Bearbeiten → Einstellungen auswählen, um in den Voreinstellungseditor zu wechseln .

In den Voreinstellungseditor wechseln

2. Zum Abschnitt Python wechseln, und dann zu Ausgabefenster → Python Interpreter.

Einstellungen des Ausgabefensters

3. Beide Kästchen ankreuzen:

  • Interne Python-Ausgabe in das Ausgabefenster umleiten
  • Umleiten interner Python-Fehler in das Ausgabefenster

und dann die Schaltfläche OK drücken.

Umleitung der Python-Ausgabe in das Ausgabefenster.

Python-Befehle zum Ausgeben von Informationen im Ausgabefenster.