pythonocc-core
About
pythonocc provides 3D modeling and dataexchange features. It is intended to CAD/PDM/PLM and BIM related development. It is based on the OpenCascade Technology modeling kernel.
Latest release: pythonocc-core 7.7.0 (December 2022)
Features
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 (pyQt, PySide1 and 2, wxPython)
- 3D visualization in a web browser using WebGl and/or x3dom renderers
- 3D visualization and work within a jupyter notebook
- Various utility Python classes/methods for DataExchange, Topology operations, inertia computations etc.
Cite as
pythonocc is widely used in the industrial and academic communities. It is registered as a Zenodo open caccess software (https://zenodo.org/record/7471333) and should be cited as:
Thomas Paviot. (2022). pythonocc (7.7.0). Zenodo. https://doi.org/10.5281/zenodo.3605364
Try online at mybinder
Click to open a jupyter notebook running latest pythonocc-core 7.7.0, gmesh (http://gmsh.info/) and latest IfcOpenshell (https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.6.0) dev branch.
Download/install binaries for Linux/OSX/Windows
pythonocc provides precompiled conda packages (they depend on third part libraries made available from the dlr-sc and conda-forge conda channels) for python 3.8, 3.9 and 3.10. This will get you up and running in minutes whether you run win32/win64/linux64/osx64. Here is an example for python 3.9:
# first create an environment
conda create --name=pyoccenv python=3.9
source activate pyoccenv
conda install -c conda-forge pythonocc-core=7.7.0
Other conda channels may provide pythonocc-core packages, check https://anaconda.org/search?q=pythonocc-core.
Build from source
Read the INSTALL.md instructions where you find compilation instructions for all platforms.
Other pythonocc related resources
- 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
License
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.