Extra python modules/de

Auf dieser Seite findet man einige zusätzliche Python Module oder andere Software, die kostenlos aus dem Internet heruntergeladen werden können und die FreeCAD-Installation um Funktionen zu erweitern.

PySide (vorher PyQt4)

 * Homepage (PySide): (http://qt-project.org/wiki/PySide http://qt-project.org/wiki/PySide http://qt-project.org/wiki/PySide)
 * Lizenz: LGPL
 * optional, wird aber von mehreren Modulen benötigt: Entwurf, Bogen, Schiff, Druck, OpenSCAD, Kalkulationsblatt

PySide (früher PyQt) wird von mehreren Modulen von FreeCAD benötigt, um auf die Qt-Schnittstelle von FreeCAD zuzugreifen. Es ist bereits in der Windows-Version von FreeCAD enthalten und wird in der Regel automatisch von FreeCAD unter Linux installiert, wenn es aus offiziellen Repositories installiert wird. Wenn diese Module (Draft, Arch, etc.) nach der Installation von FreeCAD aktiviert werden, bedeutet das, dass PySide (früher PyQt) bereits vorhanden ist und nichts mehr getan werden muss.

Hinweis: FreeCAD hat sich nach und nach von PyQt ab Version 0.13 zu Gunsten von PySide entfernt, das genau den gleichen Job macht, aber eine (LGPL) Lizenz hat, die besser mit FreeCAD kompatibel ist.

Linux
Der einfachste Weg, PySide zu installieren, ist über den Paketmanager Ihrer Distribution. Auf Debian/Ubuntu-Systemen lautet der Paketname im Allgemeinen python-PySide, während er auf RPM-basierten Systemen pyside genannt wird. Die notwendigen Abhängigkeiten (Qt und SIP) werden automatisch erledigt.

Windows
Das Programm kann unter http://qt-project.org/wiki/Category:LanguageBindings::PySide::Downloads heruntergeladen werden. Du must die Qt- und SIP-Bibliotheken installieren, bevor Du PySide installieren kannst (zu dokumentieren).

MacOSX
PyQt auf Mac kann über Homebrew oder Port installiert werden. Weitere Informationen findet man unter Install dependencies.

Verwendung
Sobald es installiert ist, kann überprüft werden, ob alles funktioniert, indem in die FreeCAD Python-Konsole eingegeben wird:

Um auf die FreeCAD-Schnittstelle zuzugreifen, gib ein :

Nun kann mit dem Befehl dir begonnen werden, die Oberfläche zu erkunden. Neue Elemente können ergänzt werden, wie ein benutzerdefiniertes Widget, mit Befehlen wie :

Arbeiten mit Unicode :

Arbeiten mit QFileDialog und OpenFileName :

Arbeiten mit QFileDialog und SaveFileName :

Beispiel für den Übergang von PyQt4 und PySide
PS: diese Beispiele von Fehlern wurden beim Übergang von PyQt4 zu PySide gefunden und diese Korrekturen wurden vorgenommen, andere Lösungen sind sicherlich mit den obigen Beispielen verfügbar

Um auf die FreeCAD Oberfläche zuzugreifen, gib ein : Du kannst neue Elemente hinzufügen, wie ein benutzerdefiniertes Widget, mit Befehlen wie :

Arbeiten mit Unicode :

Arbeiten mit QFileDialog und OpenFileName :

Arbeiten mit QFileDialog und SaveFileName :

Die MitteilungsBox:

Arbeiten mit setProperty (PyQt4) und setValue (PySide)

ersetzen durch :

Arbeiten mit setToolTip

ersetzen durch :

oder:

Zusätzliche Dokumentation
Einige pyQt4-Tutorien (einschließlich der Erstellung von Schnittstellen mit Qt Designer zur Verwendung mit Python):
 * http://pyqt.sourceforge.net/Docs/PyQt4/classes.html - die PyQt4 API Referenz auf sourceforge
 * http://www.rkblog.rk.edu.pl/w/p/introduction-pyqt4/ - eine einfache Einführung
 * http://www.zetcode.com/tutorials/pyqt4/ - sehr komplettes, ausführliches Tutorial

Pivy

 * Startseite: https://bitbucket.org/Coin3D/coin/wiki/Home
 * Lizenz: BSD
 * optional, aber von verschiedenen Modulen von FreeCAD benötigt: Entwurf, Bogen

Pivy wird von mehreren Modulen benötigt, um die 3D Ansicht von FreeCAD zu erreichen. Unter Windows ist Pivy bereits im FreeCAD Installationsprogramm enthalten, unter Linux wird es normalerweise automatisch installiert, wenn Du FreeCAD aus einem offiziellen Repository installierst. Unter MacOSX musst Du Pivy leider selbst kompilieren.

Voraussetzungen
Ich glaube, bevor Du Pivy kompilierst, solltest Du Coin und SoQt installiert haben.

Ich fand, dass es zum Bauen auf Mac ausreicht, das Coin3-Binärpaket zu installieren. Der Versuch, Coin von MacPorts aus zu installieren, war problematisch: versuchte, eine Menge X Windowspakete hinzuzufügen und stürzte schließlich mit einem Skriptfehler ab.

Für Fedora habe ich eine RPM mit Coin3 gefunden.

SoQt kompiliert von source gut auf Mac und Linux.

Debian & Ubuntu
Beginnend mit Debian Squeeze und Ubuntu Lucid, wird pivy direkt aus den offiziellen Repositorien verfügbar sein, was uns eine Menge Ärger erspart. In der Zwischenzeit kannst Du entweder eines der Pakete, die wir (für debian und ubuntu karmic) auf den Download Seiten zur Verfügung gestellt haben, herunterladen oder selbst kompilieren.

Der beste Weg, pivy einfach zu kompilieren, ist, das Debian-Quellpaket für pivy zu holen und ein Paket mit debuild zu erstellen. Es ist derselbe Quellcode von der offiziellen Pivy Seite, aber die Debian Leute haben einige fehlerbereinigende Ergänzungen vorgenommen. Es lässt sich auch gut mit ubuntu karmic kompilieren: http://packages.debian.org/squeeze/python-pivy lade die .orig.gz und die .diff.gz Datei herunter, entpacke dann beide und wende dann den. diff auf den Quellcode an: gehe in den entpackten pivy Quellcode-Ordner und wende den .diff Patch an:

dann

um pivy ordnungsgemäß in ein offizielles installierbares Paket eingebaut zu haben. Dann installiere das Paket einfach mit gdebi.

Andere Linux Distributionen
Hole Dir zuerst die neuesten Quellen aus dem Projekt Repositorium:

Ab März 2012 ist die neueste Version Pivy-0.5.

Dann brauchst Du ein Werkzeug namens SWIG, um den C++ Code für die Python Bindungen zu generieren. Pivy-0.5 berichtet, dass es nur mit SWIG 1.3.31, 1.3.33, 1.3.35 und 1.3.40 getestet wurde. Du kannst also eine Quell Tar-Datei für eine dieser alten Versionen von http://www.swig.org herunterladen. Dann entpacke sie und mache sie von der Kommandozeile aus (als root):

Der Bau dauert nur wenige Sekunden.

Alternativ kannst Du versuchen, mit einer neueren SWIG zu bauen. Ab März 2012 ist eine typische Repositorien Version 2.0.4. Pivy hat ein kleines Kompilierproblem mit SWIG 2.0.4 unter Mac OS (siehe unten), scheint aber auf Fedora Core 15 gut zu bauen.

Danach gehst du zu den pivy Quellen und rufst

die die Quelldateien erstellt. Beachte, dass der Bau tausende von Warnungen erzeugen kann, aber hoffentlich keine Fehler auftreten werden.

Dies ist wahrscheinlich veraltet, aber du köntest auf einen Compiler Fehler stoßen, bei dem ein 'const char*' nicht in ein 'char*' umgewandelt werden kann. Um das zu beheben, musst du nur eine 'const' vorher in die entsprechenden Zeilen schreiben. Es sind sechs Zeilen zu korrigieren.

Danach installieren durch ausgeben (als root):

Das war's, pivy ist installiert.

Mac OS
= Diese Anleitungen könnten möglicherweise nicht vollständig sein. Etwas in dieser Art funktionierte für OS 10.7 ab März 2012. Ich verwende MacPorts für Repositorien, aber andere Optionen sollten auch funktionieren.

Wie für Linux, hole dir die neueste Quelle:

Wenn du kein hg hast, kannst du es von MacPorts holen:

Dann brauchst du wie oben SWIG. Es sollte eine Sache sein von:

Ich fand, ich brauche auch:

Seit März 2012 ist die MacPorts SWIG Version 2.0.4. Wie oben für Linux angemerkt, ist es vielleicht besser, eine ältere Version herunterzuladen. SWIG 2.0.4 scheint einen Fehler zu haben, der das Bauen von Pivy verhindert. Siehe erste Meldung in diesem Auszug: https://sourceforge.net/mailarchive/message.php?msg_id=28114815

Dies kann korrigiert werden, indem man die 2 Quellorte bearbeitet, um Dereferenzierungen hinzuzufügen: *arg4, *arg5 an Stelle von arg4, arg5. Jetzt sollte Pivy bauen:

Windows
= Angenommen, du verwendest Visual Studio 2005 oder höher, solltest du eine Eingabeaufforderung mit 'Visual Studio 2005 Command prompt' aus dem Werkzeugmenü öffnen. Wenn der Python Interpreter noch nicht im Systempfad liegt, mache

Um mit pivy arbeiten zu können, solltest du dir die neuesten Quellen aus dem Repositorium des Projekts besorgen:

Dann brauchst Du ein Werkzeug namens SWIG, um den C++ Code für die Python Bindungen zu erzeugen. Es wird empfohlen, die Version 1.3.25 von SWIG zu verwenden, nicht die neueste Version, da Pivy im Moment nur mit 1.3.25 korrekt funktioniert. Lade die Binärdateien für 1.3.25 von http://www.swig.org herunter. Entpacke sie dann und füge sie von der Kommandozeile aus dem Systempfad hinzu

und setze COINDIR auf den entsprechenden Pfad

Unter Windows erwartet die Pivy Konfigurationsdatei standardmäßig SoWin anstelle von SoQt. Ich habe keinen naheliegenden Weg gefunden, um mit SoQt zu bauen, also habe ich die Datei setup.py direkt modifiziert. In Zeile 200 einfach den Teil 'sowin' : ('gui._sowin', 'sowin-config', 'pivy.gui.') entfernen (die schließende Klammer nicht entfernen).

Danach gehe zu den pivy Quellen und rufe

was die Quelldateien erstellt. Es kann sein, dass du einen Kompilierer Fehler bekommst, weil mehrere Kopfdateien nicht gefunden wurden. In diesem Fall passe die INCLUDE Variable an

und wenn die SoQt Kopfzeilen nicht an der gleichen Stelle wie die Coin Kopfzeilen sind auch

und schließlich die Qt Kopfzeilen

Wenn du die Express Edition von Visual Studio verwendest, erhälst du möglicherweise eine Python keyerror Ausnahme. In diesem Fall musst Du ein paar Dinge in der msvccompiler.py, die sich in deiner Pythoninstallation befindet, ändern.

Gehe zur Zeile 122 und ersetze die Zeile

mit

Dann versuche es noch einmal. Wenn du einen zweiten Fehler wie

Du must auch Zeile 128 ersetzen

mit

Versuche es noch einmal. Wenn du wieder einen Fehler wie

dann solltest du die Umgebungsvariablen DISTUTILS_USE_SDK und MSSDK prüfen mit

Wenn noch nicht gesetzt, dann setze ihn einfach z.B. auf 1

Nun kann es zu einem Compilerfehler kommen, bei dem ein 'const char*' nicht in ein 'char*' umgewandelt werden kann. Um das zu beheben, musst du nur vorher eine 'const' in die entsprechenden Zeilen schreiben. Es sind sechs Zeilen zu korrigieren. Danach kopiere das generierte Pivy Verzeichnis an einen Ort, wo der Python Interpreter in FreeCAD es finden kann.

Verwendung
Um zu überprüfen, ob Pivy korrekt installiert ist:

Um pivy Zugriff auf den FreeCAD Szenengraphen zu haben, gehe wie folgt vor:

Du kannst nun den FCSceneGraph mit dem dir Befehl untersuchen.

Additonal Documentation
Unfortunately documentation about pivy is still almost nonexistant on the net. But you might find Coin documentation useful, since pivy simply translate Coin functions, nodes and methods in python, everything keeps the same name and properties, keeping in mind the difference of syntax between C and python:


 * https://bitbucket.org/Coin3D/coin/wiki/Documentation - Coin3D API Reference
 * http://www-evasion.imag.fr/~Francois.Faure/doc/inventorMentor/sgi_html/index.html - The Inventor Mentor - The "bible" of Inventor scene description language.

You can also look at the Draft.py file in the FreeCAD Mod/Draft folder, since it makes big use of pivy.

pyCollada

 * homepage: http://pycollada.github.com
 * license: BSD
 * optional, needed to enable import and export of Collada (.DAE) files

pyCollada is a python library that allow programs to read and write Collada (*.DAE) files. When pyCollada is installed on your system, FreeCAD will be able to handle importing and exporting in the Collada file format.

Installation
Pycollada is usually not yet available in linux distributions repositories, but since it is made only of python files, it doesn't require compilation, and is easy to install. You have 2 ways, or directly from the official pycollada git repository, or with the easy_install tool.

Linux
In either case, you'll need the following packages already installed on your system:

With easy_install
Assuming you have a complete python installation already, the easy_install utility should be present already:

You can check if pycollada was correctly installed by issuing in a python console:

If it returns nothing (no error message), then all is OK

Windows
Wenn es nichts zurückgibt (keine Fehlermeldung), dann ist alles OK. Unter Windows, da 0.15 pycollada sowohl in der FreeCAD Version als auch in den Entwickler Builds enthalten ist, so dass keine zusätzlichen Schritte notwendig sind.

Mac OS
Wenn du den Homebrew Build von FreeCAD verwendest, kannst du pycollada mit pip in dein System Python installieren.

Wenn du pip installieren musst:

Installiere pycollada:

Wenn du eine binäre Version von FreeCAD verwendest, kannst du pip anweisen, pycollada in die Site Pakete innerhalb von FreeCAD.app zu installieren:

oder nach dem Herunterladen des pycollada Codes

IfcOpenShell

 * homepage: http://www.ifcopenshell.org
 * license: LGPL
 * optional, needed to extend import abilities of IFC files

IFCOpenShell is a library currently in development, that allows to import (and soon export) Industry foundation Classes (*.IFC) files. IFC is an extension to the STEP format, and is becoming the standard in BIM workflows. When ifcopenshell is correctly installed on your system, the FreeCAD Arch Module will detect it and use it to import IFC files, instead of its built-in rudimentary importer. Since ifcopenshell is based on OpenCasCade, like FreeCAD, the quality of the import is very high, producing high-quality solid geometry.

Installation
Da ifcopenshell ziemlich neu ist, wirst du es wahrscheinlich selbst kompilieren müssen.

Linux
= Du brauchst ein paar auf deinem System installierte Entwicklungspakete, um ifcopenshell zu kompilieren:

aber da FreeCAD auch alle benötigt, benötigst Du, wenn Du FreeCAD kompilieren kannst, keine zusätzlichen Abhängigkeiten, um IfcOpenShell zu kompilieren.

Hole dir den neuesten Quellcode von hier:

Der Bauprozess ist sehr einfach:

oder, wenn du oce statt opencascade benutzt:

Da ifcopenshell hauptsächlich für Blender gemacht ist, verwendet es standardmäßig python3. Um es innerhalb von FreeCAD zu verwenden, musst du es gegen die gleiche Version von Python kompilieren, die auch von FreeCAD verwendet wird. Daher musst du möglicherweise die Python Version mit zusätzlichen cmake Parametern erzwingen (passe die Python Version an Deine an):

Dann:

Du kannst überprüfen, ob ifcopenshell korrekt installiert wurde, indem du in einer Python Konsole eingibst:

Wenn es nichts zurückgibt (keine Fehlermeldung), dann ist alles OK

Windows
Hinweis: Offizielle FreeCAD Installationsprogramme, die von der FreeCAD Webseite/Github Seite bezogen wurden, enthalten jetzt bereits ifcopenshell.

Kopiert von der IfcOpenShell README Datei

Anwendern wird empfohlen, die Visual Studio .sln Datei im Ordner win/ zu verwenden. Für Windows Anwender ist eine vorkompilierte Open CASCADE Version auf der Website http://opencascade.org verfügbar. Lade diese Version herunter, installiere sie und stelle die Pfade zu den Open CASCADE Header- und Bibliotheksdateien für MS Visual Studio C++ zur Verfügung.

Um den IfcPython wrapper zu erstellen, muss SWIG installiert werden. Bitte lade die aktuelle swigwin Version von http://www.swig.org/download.html herunter. Nach dem Entpacken der .zip Datei füge bitte den entpackten Ordner in die Umgebungsvariable PATH ein. Python muss installiert sein, bitte gib die Include- und Bibliotheks Pfade zu Visual Studio an.

Verweise
Tutorium Import/Export IFC - compiling IfcOpenShell

ODA Konverter (vormals Teigha Konverter)

 * Homepage: https://www.opendesign.com/guestfiles/oda_file_converter
 * Lizenz: Freeware
 * Optional, wird verwendet, um den Import und Export von DWG Dateien zu ermöglichen

Der ODA Konverter ist ein kleines, frei verfügbares Programm, das die Konvertierung zwischen verschiedenen Versionen von DWG und DXF Dateien ermöglicht. FreeCAD kann es verwenden, um DWG Import und Export anzubieten, indem es DWG Dateien in das DXF Format unter der Oberfläche konvertiert und dann seinen Standard DXF Importer verwendet, um den Dateiinhalt zu importieren. Es gelten die Einschränkungen des DXF Importeur.

Installation
Auf allen Plattformen, nur durch Installation des entsprechenden Pakets von https://www.opendesign.com/guestfiles/oda_file_converter. Nach der Installation, wenn das Dienstprogramm nicht automatisch von FreeCAD gefunden wird, musst Du möglicherweise den Pfad zur ausführbaren Konverterdatei manuell einstellen, öffne Bearbeiten → Einstellungen → Import-Export → DWG und fülle "Pfad zum Teigha File Converter" entsprechend.