pythonocc is a python package whose purpose is to provide 3D modeling features. It is intended to CAD/PDM/PLM and BIM related development.
Latest release : pythonocc-core 7.4.0 (february 2020)
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, intertia computations etc.
Try online at mybinder
Click to open a jupyter notebook running latest pythonocc-core 7.4.0, gmesh 4.5.3 (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.6 and 3.7. This will get you up and running in minutes whether you run win32/win64/linux64/osx64. Here is an example for python 3.7:
# first create an environment conda create --name=whatever-name python=3.7 source activate whatever-name conda install -c dlr-sc pythonocc-core=7.4.0
Conda packages are provided for python 3.6 and 3.7 at dlr-sc channel. conda-forge provides 3.7 and 3.8 binaries:
# first create an environment conda create --name=whatever-name python=3.8 source activate whatever-name conda install -c conda-forge pythonocc-core=7.4.0
Build from source by yourself
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
Docker, binderhub: docker and online jupyter notebooks https://github.com/tpaviot/pythonocc-binderhub
Online resources for development
We use the following online resources:
Mailing list: http://groups.google.com/group/pythonocc
Twitter : https://twitter.com/pythonocc
LGTM code quality review: https://lgtm.com/projects/g/tpaviot/honocc-core/
Codacy quality checker: https://app.codacy.com/app/tpaviot/pythonocc-core
pythonocc, oce and opencascade dependencies
From release 7.4.0, pythonocc-core depends on the official OpenCascade-7.4.0 library (https://dev.opencascade.org)
Former releases rely on oce (OpenCascade Community Edition), available at
oce C++ library / CAD kernel.
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.