PythonOCC/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "Actuellement, dans le module part, nous avons les méthodes : '''Part.__toPythonOCC__ ()''' et '''Part.__fromPythonOCC__ ()''' pour échanger des entités '...")
No edit summary
 
(27 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
[http://www.pythonocc.org/ PythonOCC] est un projet assez jeune et actit, qui vise à lier l'ensemble des fonctions '''OpenCascade''' dans un module '''Python'''. C'est une approche très différente de celle FreeCAD, où, seuls certains composants d''''OpenCascade''' sont utilisés, résultant en une structure beaucoup plus simple.


== Description ==


[[PythonOCC/fr|PythonOCC]] est un projet qui vise à fournir toute la gamme des fonctions [[OpenCASCADE/fr|OpenCASCADE Technology]] (OCCT) via le module [[Python/fr|Python]] {{incode|OCC}}. C'est une approche différente de celle de FreeCAD, où seuls certains composants d'OCCT sont exposés via l'[[Part_Workbench/fr|atelier Part]].
[http://www.pythonocc.org/ PythonOCC], d'autre part, il vous donne accès à toutes les classes et fonctions '''OCC''', c'est très '''complexe''', mais aussi très '''puissant'''. Il est donc un complément très utile pour FreeCAD. Lorsque dans '''FreeCAD''', vous êtes limité par les fonctionnalités '''OCC''' disponibles dans vos scripts python, il est temps de charger '''pythonOCC''' [[File:FreeCAD05_Tango_Text-x-python.svg|24px]].


PythonOCC, d'autre part, donne accès à toutes les classes et fonctions OCCT, ce qui est complexe mais aussi très puissant. Par conséquent, lorsque vous êtes limité par la fonctionnalité OCCT de FreeCAD, l'utilisation de {{incode|pythonOCC}} est une bonne alternative.
Actuellement, dans le [[Part_Module/fr|module part]], nous avons les méthodes : '''Part.__toPythonOCC__ ()''' et '''Part.__fromPythonOCC__ ()''' pour échanger des entités '''TopoDS_Shape''' à partir de où vers [http://www.pythonocc.org/ PythonOCC].
Ceci permet d'utiliser toute la puissance de l''''OCC''' en utilisant [http://www.pythonocc.org/ PythonOCC] dans '''Python''', puis, ajouter les formes résultantes et revenir à FreeCAD.


== Utilisation ==
[[Category:Hubs]]
[[Category:Poweruser_Documentation]]


l'[[Part_Workbench/fr|Atelier Part]] a les méthodes {{incode|Part.__toPythonOCC__()}} et {{incode|Part.__fromPythonOCC__()}} pour échanger des entités {{incode|TopoDS_Shape}} ([[Part_TopoShape/fr|Part TopoShape]]) vers et depuis PythonOCC. Ces méthodes nous permettent d'utiliser toute la puissance d'OCCT en Python, puis de remettre les formes résultantes dans des objets FreeCAD.

PythonOCC est utilisé en interne par le visualiseur [[Arch_IFC/fr|IFC]] inclus avec les bibliothèques [[IfcOpenShell/fr|IfcOpenShell]]. IfcOpenShell est utilisé pour lire et écrire des documents [[Arch_IFC/fr|IFC]] avec FreeCAD. PythonOCC n'est nécessaire que pour lancer le visualiseur intégré d'IfcOpenShell, sinon il n'est pas nécessaire.

== Installation ==

PythonOCC doit être compilé à partir des sources. Pour cela, vous devez obtenir les fichiers de développement correspondants pour [[OpenCASCADE/fr|OpenCASCADE Technology]] (OCCT) et SWIG. L'ancienne version de PythonOCC était destinée à envelopper OCE 0.18, l'édition communautaire d'OCCT 6.9.x, qui n'est plus maintenue. La dernière version de PythonOCC est désormais conçue pour fonctionner avec la récente version officielle OCCT 7.4.

Avec OCCT 7.4, PythonOCC nécessite des dépendances assez récentes comme Python 3.7, CMake 3.12 et SWIG 3.0.11. Python 2 n'est plus pris en charge.

Il est également possible d'installer des bibliothèques PythonOCC pré-compilées en utilisant [[Conda/fr|Conda]]. Pour plus d'informations et des instructions de compilation, consultez le dépôt du projet principal, [https://github.com/tpaviot/pythonocc-core tpaviot/pythonocc-core].

== Compilation ==

Vous pouvez également compiler vous-même pythonOCC (voir [https://github.com/tpaviot/pythonocc-core/blob/master/INSTALL.md instructions]). Voici la procédure à suivre pour Debian/Ubuntu en utilisant les paquets opencascade fournis par la distribution :

<pre>
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
</pre>

== Plus d'informations ==

* Page du projet: [http://www.pythonocc.org/ pythonocc.org]
* Nouvelle version compatible avec OCCT 7.4, [https://github.com/tpaviot/pythonocc-core tpaviot/pythonocc-core].
* Ancienne version compatible avec OCE 0.18, l'édition communautaire d'OCCT 6.9.x, [https://github.com/tpaviot/pythonocc tpaviot/pythonocc].
* [https://forum.freecadweb.org/viewtopic.php?f=39&t=33254 IfcPlusPlus compilé sur Gentoo - questions et alternatives?]

{{Powerdocnavi{{#translation:}}}}
[[Category:Developer Documentation{{#translation:}}]]
[[Category:Python Code{{#translation:}}]]
{{clear}}
{{clear}}
<languages/>

Latest revision as of 17:57, 6 September 2021

Description

PythonOCC est un projet qui vise à fournir toute la gamme des fonctions OpenCASCADE Technology (OCCT) via le module Python OCC. C'est une approche différente de celle de FreeCAD, où seuls certains composants d'OCCT sont exposés via l'atelier Part.

PythonOCC, d'autre part, donne accès à toutes les classes et fonctions OCCT, ce qui est complexe mais aussi très puissant. Par conséquent, lorsque vous êtes limité par la fonctionnalité OCCT de FreeCAD, l'utilisation de pythonOCC est une bonne alternative.

Utilisation

l'Atelier Part a les méthodes Part.__toPythonOCC__() et Part.__fromPythonOCC__() pour échanger des entités TopoDS_Shape (Part TopoShape) vers et depuis PythonOCC. Ces méthodes nous permettent d'utiliser toute la puissance d'OCCT en Python, puis de remettre les formes résultantes dans des objets FreeCAD.

PythonOCC est utilisé en interne par le visualiseur IFC inclus avec les bibliothèques IfcOpenShell. IfcOpenShell est utilisé pour lire et écrire des documents IFC avec FreeCAD. PythonOCC n'est nécessaire que pour lancer le visualiseur intégré d'IfcOpenShell, sinon il n'est pas nécessaire.

Installation

PythonOCC doit être compilé à partir des sources. Pour cela, vous devez obtenir les fichiers de développement correspondants pour OpenCASCADE Technology (OCCT) et SWIG. L'ancienne version de PythonOCC était destinée à envelopper OCE 0.18, l'édition communautaire d'OCCT 6.9.x, qui n'est plus maintenue. La dernière version de PythonOCC est désormais conçue pour fonctionner avec la récente version officielle OCCT 7.4.

Avec OCCT 7.4, PythonOCC nécessite des dépendances assez récentes comme Python 3.7, CMake 3.12 et SWIG 3.0.11. Python 2 n'est plus pris en charge.

Il est également possible d'installer des bibliothèques PythonOCC pré-compilées en utilisant Conda. Pour plus d'informations et des instructions de compilation, consultez le dépôt du projet principal, tpaviot/pythonocc-core.

Compilation

Vous pouvez également compiler vous-même pythonOCC (voir instructions). Voici la procédure à suivre pour Debian/Ubuntu en utilisant les paquets opencascade fournis par la distribution :

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

Plus d'informations