pythonocc provides 3D modeling and dataexchange features. It is intended to CAD/PDM/PLM/BIM development. It is based on the OpenCascade Technology modeling kernel.
Latest release: pythonocc-core 7.8.1 (May 2024)
pythonocc provides the following features:
- a full access from Python to almost all af the thousand OpenCascade C++ classes. Classes and methods/functions share the same names, and, as possible as it can be, the same signature
- 3D visualization from the most famous Python Gui (tkinter, pyQt5 and 6, PySide2 and 6, wxPython)
- 3D visualization in a web browser using threejs or x3dom frameworks
- 3D visualization and work within a jupyter notebook
- data exchange using most famous formats IGES/STEP/STL/PLY/OBJ/GLTF
- various utility Python classes/methods for Topology operations, inertia computations etc.
Click to open a jupyter notebook running the latest pythonocc-core 7.8.1, gmesh (http://gmsh.info/) and latest IfcOpenshell (https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.6.0) dev branch.
pythonocc provides precompiled conda packages (they depend on third part libraries made available from the conda-forge channel) for python 3.9, 3.10 and 3.11. This will get you up and running in minutes whether you run win32/win64/linux64/osx64. Here is an example for python 3.10:
# first create an environment
conda create --name=pyoccenv python=3.10
source activate pyoccenv
conda install -c conda-forge pythonocc-core=7.8.1
Other conda channels may provide pythonocc-core packages, check https://anaconda.org/search?q=pythonocc-core.
Read the INSTALL.md instructions where you find compilation instructions for all platforms.
pythonocc is widely used in the industrial and academic communities. It is registered as a Zenodo open access software (https://zenodo.org/record/7471333) and should be cited as:
Paviot, T. (2022). "pythonocc". Zenodo. https://doi.org/10.5281/zenodo.3605364
- Demos: python examples, as well as jupyter notebooks https://github.com/tpaviot/pythonocc-demos. A good place to start with pythonocc
- Docker, binderhub: docker and online jupyter notebooks https://github.com/tpaviot/pythonocc-binderhub
- Documentation: https://github.com/tpaviot/pythonocc-documentation
- https://github.com/tpaviot/pythonocc-generator automates the production of SWIG interface files used for the OpenCascade python wrapper
You can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3 as published by the Free Software Foundation.