Wie man Makros installiert

From FreeCAD Documentation
Revision as of 15:15, 6 January 2020 by Maker (talk | contribs) (Created page with "und drücke dann die {{{Button|OK}} Taste.")
Jump to navigation Jump to search
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎hrvatski • ‎italiano • ‎română • ‎svenska • ‎čeština • ‎русский

Base ExampleCommandModel.png Tutorial

Thema
Programmierung
Niveau
durchschnittliche Programmierer
Zeit zum Abschluss
Not provided
Autor
Mario52
FreeCAD version
Alle
Beispieldatei(en)
None


Beschreibung

Diese Seite zeigt dir, wie du FreeCAD Makros installieren und benutzen kannst.

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 Makro Menü und die Werkzeugleiste

Werkzeugleiste

Menü

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

Makros Verzeichnis

Makros werden in einem bestimmten Ordner unter dem FreeCAD Benutzerverzeichnis erstellt. Dieses Verzeichnis kann im Makrodialog ausführen, oder im Einstellungseditor, über das Menü Bearbeiten → Einstellungen → Allgemein → Makro → Makro Aufnahme Einstellungen.

Heruntergeladene Makros sollten ebenfalls in diesem Verzeichnis abgelegt werden.

Standardverzeichnis

Makros können einfach kopiert werden in

$ROOT_DIR/

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

Der $ROOT_DIR könnte ein systemweites Verzeichnis sein, in diesem 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/

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

  • Unter Linux ist es normalerweise /home/username/.FreeCAD/
  • Unter Windows ist es normalerweise C:\Benutzername\Benutzername\Anwendungsdaten\FreeCAD\
  • Unter Mac OSX ist es normalerweise /Benutzer/Benutzername/Bibliothek/Einstellungen/FreeCAD/

Konfigurieren des Benutzerverzeichnisses

1. Öffne das Menü Makro → Std DlgMacroExecuteDirect.svg Makros, um den Makrodialog ausführen.

Dxf Importer Install 01.png

Opening the macro dialog


2. Setze den entsprechenden Nutzer Makros Standort.

  • Linux: normalerweise /home/username/.FreeCAD/
  • Windows: normalerweise C:\Users\username\AppData\Roaming\FreeCAD\
  • MacOS: normalerweise /Users/username/Library/Preferences/FreeCAD/
Dxf Importer Install 02.png

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.
Dxf Importer Install 03.png

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.
Dxf Importer Install 04.png

Macros directory


Makros installieren

Automatische Methode

Ab FreeCAD 0.17 verwende den Zusatzmanager in Werkzeuge → Zusatzmanager, 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 der Zusatzmanager. 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. Kopiere den Code in den Makro Editor=

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

Wir werden Part Prism Apothem.svg 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 Text-x-python.png.

Macro Install HowTo 28.png

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 → Std DlgMacroExecuteDirect.svg Makros, um den Makro Dialog ausführen.

Dxf Importer Install 01.png

Opening the execute macro dialog


4. Klicke Erstelle.

Macro Install HowTo 17.png

Creating a new macro


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

Macro Install HowTo 18.png

Entering the macro name


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

Macro Install HowTo 19.png

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.

Macro Install HowTo 20.png

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.

Macro Install HowTo 27.png

Asking for confirmation to save the code


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

Macro Install HowTo 21.png

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.

Macro Install HowTo 22.png

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


11. This macro should return an error if no document is active; other macros open a new document if none exists.

Create a new document with File → Document-new.svg New, and then repeat the previous steps to execute the macro.

Macro Install HowTo 23.png

The macro returning an error if no document is active


12. Once an active document is available, the macro runs and creates an object.

Macro Install HowTo 24.png

Object created by the macro


13. You can open the macro in the editor again to run it or modify it. Go to Macro → Std DlgMacroExecuteDirect.svg Macros, select the macro and press Edit.

Macro Install HowTo 25.png

Opening the macro in the editor


14. The macro can now be run with Macro → Macro-execute.svg Execute macro, or by clicking on the Macro-execute.svg Execute button in the toolbar.

Macro Install HowTo 26.png

Running the macro that is loaded in the editor


Manual method 2. Add a macro file from a compressed .zip file

Some macros are too big that it's inconvenient to copy and paste them into the macro editor, or they cannot be hosted in the wiki. In this case, the code may be hosted somewhere else, in a Github repository, or in the FreeCAD forum. The code may also be compressed into a .zip file, tarball .tar.xz, or other type of archive if it contains several files. If the code is distributed in this way, the archive should be extracted and the files placed in the macros directory.

We will use Text-x-python.png Macro screw maker as an example.

1. Download the compressed code from the forum, Screw Maker.

You need to use a decompressor to get the internal files.

  • For Windows you can use an application like 7-zip or L-Zarc or quickzip.
  • For Linux you can use a command from the terminal
unzip your_file.zip -d your_directory

2. Download the compressed archive with the macro code to a local folder.

Macro Install HowTo 01.png

Downloading the compressed archive to a local directory


3. Decompress the file in the folder.

Macro Install HowTo 02.png

Decompressing the file in the folder


4. The decompressor creates a new directory with the unpacked files.

Macro Install HowTo 03.png

New directory created after unpacking the archive


5. Go inside the new directory, and copy or cut the macro file.

Macro Install HowTo 04.png

Entering the newly created directory with the decompressed macro file


6. Go to the macro directory and paste the file there.

Macro Install HowTo 05.png

Placing the macro file in the macro directory


7. In FreeCAD, open the menu Macro → Std DlgMacroExecuteDirect.svg Macros to open the Execute macro dialog.

Macro Install HowTo 06.png

Opening the execute macro dialog


8. Select the new macro and press Execute.

Macro Install HowTo 07.png

Selecting the macro to run it


9. The macro now runs. Select the desired options, and click the Create button.

Macro Install HowTo 08.png

The macro in action; select the desired options, and press Create when ready


Macro Install HowTo 30.png

Object created by the macro


Execute a macro in command line

Command line execute a macro (.FCMacro or .py)

on Windows

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

on Linux

todo

Errors in macros

Indentation errors

The white space at the beginning of the lines (indentation) in the Python programming language is very important, and an integral part of the code. An inappropriate space may cause the code to not run or present errors.

This section describes some errors that may be encountered when copying and pasting, and writing macro code.

A typical indentation error looks like this:

<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.

Macro Install HowTo 09.png

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


Einrückungsproblem behoben.

Macro Install HowTo 10.png

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.

Macro Install HowTo 11.png

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.

Macro Install HowTo 12.png

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.

Macro Install HowTo 14.png

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.

Macro Install HowTo 15.png

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.

Macro Install HowTo 16.png

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.

Macro Install HowTo 29.png

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


Guter Code

Macro Install HowTo 13.png

Python Code mit der richtigen Einrückung


Keine Textausgabe aus Makros

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

Wenn keine Information angezeigt wird, stelle sicher, dass die Reportansicht und die Python Konsole sichtbar sind und dass die Ausgabe auf die Berichtsansicht gerichtet ist.

Druckinformationen

FreeCAD Makros haben zwei Methoden, um Informationen in die Berichtsansicht zu drucken.

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!")

Aktivieren der Berichtsansicht

Um die in der Konsole angezeigten Informationen zu sehen, solltest Du:

1. Go to the menu View → Panels.

Macro Install HowTo 31.png
Macro Install HowTo 32.png

Making the panels visible in the menu View → Panels


2. Enable the Report view and the Python console.

Macro Install HowTo 33.png

Enabling the report view and the Python console


3. The panels are now visible, and commands like FreeCAD.Console.PrintMessage() now print information that appears in the Report view.

Macro Install HowTo 34.png

FreeCAD main window with the Report view and the Python console


Enabling the print() command

FreeCAD may need to be configured so the print() function of Python redirects its output correctly to the report view.

1. Go into the Preferences Editor with the menu Edit → Preferences.

Macro Install HowTo 35.png

Going into the preferences editor


2. Go to General section, and then Output window → Python interpreter.

Macro Install HowTo 36.png

Output window preferences


3. Check both boxes:

  • Case a cocher O.png Redirect internal Python output to report view
  • Case a cocher O.png Redirect internal Python errors to report view

und drücke dann die {OK Taste.

Macro Install HowTo 37.png

Redirecting the Python output to the report view


Macro Install HowTo 38.png

Python commands printing information to the report view