PythonOCC: Difference between revisions
(Newer version compatible with OCCT 7.4, tpaviot/pythonocc-core) |
(→More information: Older version compatible with OCE 0.18, the community edition of OCCT 6.9.x) |
||
Line 21: | Line 21: | ||
* Project page: [http://www.pythonocc.org/ pythonocc.org] |
* Project page: [http://www.pythonocc.org/ pythonocc.org] |
||
* Newer version compatible with OCCT 7.4, [https://github.com/tpaviot/pythonocc-core tpaviot/pythonocc-core]. |
* Newer version compatible with OCCT 7.4, [https://github.com/tpaviot/pythonocc-core tpaviot/pythonocc-core]. |
||
* Older version compatible with OCE 0.18, the community edition of OCCT, [https://github.com/tpaviot/pythonocc tpaviot/pythonocc]. |
* 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?] |
* [https://forum.freecadweb.org/viewtopic.php?f=39&t=33254 IfcPlusPlus compiled on Gentoo - questions and alternatives?] |
||
Revision as of 08:28, 21 August 2020
Description
PythonOCC is a project that aims at providing the entire range of OpenCASCADE Technology (OCCT) functions through the Python module OCC
. This is a different approach from FreeCAD's, where only certain components of OCCT are exposed, resulting in a much simpler structure.
PythonOCC, on the other hand, since it provides you access to all of OCCT classes and functions, is very complex, but also very powerful. When you are limited by FreeCAD's available OCCT functionality in your Python scripts, it's time to load OCC
.
Usage
Currently in the Part module we have the methods Part.__toPythonOCC__()
and Part.__fromPythonOCC__()
to exchange TopoDS_Shape
(Part TopoShape) entities to and from PythonOCC. This allows us to use the full power of OCCT in Python and then put the resulting shapes back to FreeCAD.
PythonOCC is internally used by the IFC viewer included with the IfcOpenShell libraries. IfcOpenShell is used to read and write IFC documents with FreeCAD, through the Arch and BIM Workbenches. PythonOCC is only needed to launch IfcOpenShell's integrated viewer, otherwise, it is not used at all by FreeCAD.
More information
- Project page: pythonocc.org
- Newer version compatible with OCCT 7.4, tpaviot/pythonocc-core.
- Older version compatible with OCE 0.18, the community edition of OCCT 6.9.x, tpaviot/pythonocc.
- IfcPlusPlus compiled on Gentoo - questions and alternatives?
- FreeCAD scripting: Python, Introduction to Python, Python scripting tutorial, FreeCAD Scripting Basics
- Modules: Builtin modules, Units, Quantity
- Workbenches: Workbench creation, Gui Commands, Commands, Installing more workbenches
- Meshes and Parts: Mesh Scripting, Topological data scripting, Mesh to Part, PythonOCC
- Parametric objects: Scripted objects, Viewproviders (Custom icon in tree view)
- Scenegraph: Coin (Inventor) scenegraph, Pivy
- Graphical interface: Interface creation, Interface creation completely in Python (1, 2, 3, 4, 5), PySide, PySide examples beginner, intermediate, advanced
- Macros: Macros, How to install macros
- Embedding: Embedding FreeCAD, Embedding FreeCADGui
- Other: Expressions, Code snippets, Line drawing function, FreeCAD vector math library (deprecated)
- Hubs: User hub, Power users hub, Developer hub