PythonOCC/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "[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 ap...")
No edit summary
 
(29 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, on the other hand, since it provides you access to all of OCC classes and functions, is very complex, but also very powerful. It is therefore a very fine addition to FreeCAD. When you are limited by FreeCAD's available OCC functionality in your python scripts, it's time to load pythonOCC.


[[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]].
Currently in the Part module we have the methods: '''Part.__toPythonOCC__()''' and '''Part.__fromPythonOCC__()''' to exchange TopoDS_Shape entities to/from pythonOCC. This allows to use the full power of OCC in python (using pythonocc) and then put the resulting shapes back to FreeCAD.


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.
[[Category:Hubs]]
[[Category:Poweruser_Documentation]]


== Utilisation ==

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