/pythonocc-core

Python package for 3D geometry CAD/BIM/CAM

Primary LanguageSWIGGNU Lesser General Public License v3.0LGPL-3.0

Azure Build Status Downloads Badge Codacy Badge Binder DOI

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 Binder 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

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.