PythonOCC

From FreeCAD Documentation
Revision as of 12:32, 1 April 2023 by FBXL5 (talk | contribs) (Created page with "PythonOCC kann man auch selbst kompilieren (siehe [https://github.com/tpaviot/pythonocc-core/blob/master/INSTALL.md instructions]). Hierunter findet man den Ablauf für Debian/Ubuntu, der die Opencascade-Pakete der Distribution verwendet:")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Beschreibung

PythonOCC ist ein Projekt, das darauf abzielt, den gesamten Funktionsumfang der OpenCASCADE-Technology(OCCT)-Funktionen durch das Python-Modul bereitzustellen. Dies ist ein anderer Ansatz als der von FreeCAD, bei dem nur bestimmte Komponenten von OCCT über den Arbeitsbereich Part bereitgestellt werden.

PythonOCC hingegen bietet Zugriff auf alle OCCT Klassen und Funktionen, ist also komplex, aber auch sehr mächtig. Wenn du also durch die OCCT Funktionalität von FreeCAD eingeschränkt bist, ist die Verwendung von OCC eine gute Alternative.

Anwendung

Der Arbeitsbereich Part enthält die Methoden Part.__toPythonOCC__() und Part.__fromPythonOCC__() zum Austausch von TopoDS_Shape(Part TopoForm)-Dateneinheiten zu und von PythonOCC. Diese Methoden ermöglichen es, die volle Leistung von OCCT in Python zu nutzen und die resultierenden Formen dann wieder in FreeCAD-Objekte einzufügen.

PythonOCC wird intern vom IFC Betrachter verwendet, der in den Bibliotheken IfcOpenShell enthalten ist. IfcOpenShell wird zum Lesen und Schreiben von IFC Dokumenten mit FreeCAD verwendet. PythonOCC wird nur benötigt, um den integrierten Betrachter von IfcOpenShell zu starten, ansonsten ist es nicht notwendig.

Einrichtung

PythonOCC muss aus den Quellen kompiliert werden. Dazu benötigst du die entsprechenden Entwicklungsdateien für OpenCASCADE Technologie. (OCCT) und SWIG. Die ältere Version von PythonOCC war dazu gedacht, OCE 0.18, die Gemeinschaftsausgabe von OCCT 6.9.x, die jetzt nicht mehr gewartet wird, zu umhüllen. Die neueste Version von PythonOCC soll nun mit der neuen, offiziellen Version OCCT 7.4 zusammenarbeiten.

Zusammen mit OCCT 7.4 erfordert PythonOCC relativ neue Abhängigkeiten wie Python 3.7, CMake 3.12 und SWIG 3.0.11. Python 2 wird nicht mehr unterstützt.

Es ist auch möglich, vorkompilierte PythonOCC Bibliotheken mit Conda zu installieren. Weitere Informationen und Kompilierungsanweisungen findest du im Repositorium des Hauptprojekts, tpaviot/pythonocc-core.

Kompilieren

PythonOCC kann man auch selbst kompilieren (siehe instructions). Hierunter findet man den Ablauf für Debian/Ubuntu, der die Opencascade-Pakete der Distribution verwendet:

git clone git://github.com/tpaviot/pythonocc-core.git pythonocc
cd pythonocc
mkdir build
cd build
cmake -DOCE_INCLUDE_PATH=/usr/include/opencascade -DOCE_LIB_PATH=/usr/lib/x86_64-linux-gnu ..
make

Weitere Informationen