https://github.com/tpaviot/pythonocc-core
Python package for 3D geometry CAD/BIM/CAM
https://github.com/tpaviot/pythonocc-core
3d cad oce python pythonocc webgl
Last synced: 4 days ago
JSON representation
Python package for 3D geometry CAD/BIM/CAM
- Host: GitHub
- URL: https://github.com/tpaviot/pythonocc-core
- Owner: tpaviot
- License: lgpl-3.0
- Created: 2014-08-25T12:57:42.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2025-04-11T09:09:39.000Z (about 1 month ago)
- Last Synced: 2025-05-06T14:26:46.087Z (11 days ago)
- Topics: 3d, cad, oce, python, pythonocc, webgl
- Language: SWIG
- Homepage:
- Size: 93.1 MB
- Stars: 1,548
- Watchers: 68
- Forks: 385
- Open Issues: 295
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS
- Funding: .github/FUNDING.yml
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
[](https://github.com/psf/black)
[](https://dev.azure.com/tpaviot/pythonocc-core/_build?definitionId=2)
[](https://anaconda.org/conda-forge/pythonocc-core)
[](https://www.codacy.com/app/tpaviot/pythonocc-core?utm_source=github.com&utm_medium=referral&utm_content=tpaviot/pythonocc-core&utm_campaign=Badge_Grade)
[](https://mybinder.org/v2/gh/tpaviot/pythonocc-binderhub/7.8.1.1)
[](https://doi.org/10.5281/zenodo.3605364)pythonocc-core
--------------About
-----
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.1 (December 2024)](https://github.com/tpaviot/pythonocc-core/releases/tag/7.8.1.1)
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 [](https://mybinder.org/v2/gh/tpaviot/pythonocc-binderhub/7.8.1.1) to open a jupyter notebook running the latest pythonocc-core 7.8.1.1.Install with conda
------------------
pythonocc provides precompiled [conda packages](https://anaconda.org/pythonocc/pythonocc-core) (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:```bash
# first create an environment
conda create --name=pyoccenv python=3.10
source activate pyoccenv
conda install -c conda-forge pythonocc-core=7.8.1.1
```Other conda channels may provide pythonocc-core packages, check https://anaconda.org/search?q=pythonocc-core.
Build from source
-----------------
Read the [INSTALL.md](https://github.com/tpaviot/pythonocc-core/blob/master/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
Professional support
--------------------
pythonocc is backed by [meeDIA](https://meedia.ai/pythonocc-en), a company co-founded by pythonocc's creator and lead maintainer. For professional support inquiries, please contact us.Other pythonocc related resources
---------------------------------
* Demos: python examples, as well as jupyter notebooks . A good place to start with pythonocc
* Docker, binderhub: docker and online jupyter notebooks
* Documentation:
* automates the production of SWIG interface files used for the OpenCascade python wrapperLicense
-------
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.