Wie man Makros installiert

From FreeCAD Documentation
This page is a translated version of the page How to install macros and the translation is 100% complete.
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.