PythonOCC/fr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
 
(17 intermediate revisions by 3 users not shown)
Line 3: Line 3:
== Description ==
== 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]].
<div class="mw-translate-fuzzy">
[[PythonOCC/fr|PythonOCC]] est un projet qui vise à lier l'ensemble des fonctions de la technologie OpenCASCADE (OCCT) dans un module [[Python/fr|Python]]. Il s'agit d'une approche différente de FreeCAD, où seuls certains composants de l'OCCT sont utilisés, résultant en une structure beaucoup plus simple. La page du projet est [http://www.pythonocc.org/ pythonocc.org].
</div>


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.
<div class="mw-translate-fuzzy">
PythonOCC, d'autre part, il vous donne accès à toutes les classes et fonctions OCC, est très complexe mais aussi très puissant. C'est donc un très bel ajout à FreeCAD. Lorsque vous êtes limité par la fonctionnalité OCCT disponible de FreeCAD dans vos scripts Python, il est temps de charger {{incode|pythonOCC}}.
</div>


== Usage ==
== 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.
<div class="mw-translate-fuzzy">
Actuellement dans l'[[Part_Module/fr|Atelier Part]], nous avons les méthodes {{incode|Part.__toPythonOCC__()}} et {{incode|Part.__fromPythonOCC__()}} pour échanger {{incode|TopoDS_Shape}} ([[Part_TopoShape/fr|Part TopoShape]]) entités vers et depuis pythonOCC. Cela nous permet d'utiliser toute la puissance d'OCTT en Python puis de remettre les formes résultantes dans FreeCAD.
</div>


PythonOCC is internally used by the [[Arch_IFC|IFC]] viewer included with the [[IfcOpenShell|IfcOpenShell]] libraries. IfcOpenShell is used to read and write [[Arch_IFC|IFC]] documents with FreeCAD, through the [[Arch_Workbench|Arch]] and [[BIM_Workbench|BIM Workbenches]]. PythonOCC is only needed to launch IfcOpenShell's integrated viewer, otherwise, it is not used at all by 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.


== More information ==
== 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.
* Project page: [http://www.pythonocc.org/ pythonocc.org]

* Newer version compatible with OCCT 7.4, [https://github.com/tpaviot/pythonocc-core tpaviot/pythonocc-core].
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.
* Older version compatible with OCE 0.18, the community edition of OCCT 6.9.x, [https://github.com/tpaviot/pythonocc tpaviot/pythonocc].

* [https://forum.freecadweb.org/viewtopic.php?f=39&t=33254 IfcPlusPlus compiled on Gentoo - questions and alternatives?]
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:}}}}
{{Powerdocnavi{{#translation:}}}}

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