Awesome
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.8.1 (May 2024)
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 (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.
Try online at mybinder
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.
Install with conda
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.
Build from source
Read the INSTALL.md instructions where you find compilation instructions for all platforms.
Cite as
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
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.