pythonOCC provides a python wrapper for the OpenCASCADE C++ technology.
Project was started in 2008, it's a 13 years old technology that can be considered as mature. The original purpose, that still continues to drive the development, is to extend the OCCT audience (mostly C++ developers) to the Python community.
There is a double benefit from using OCCT together with Python:
- no need for any C++ skill, complex C++ compiler environment or compilation workflows, native multiplatform development;
- access the wide Python data science ecosystem (NumPy, scipy, meshers, AI libraries, Jupyter and Voila, etc.).
This makes the complexity of OCCT easily accessible to business end-users (architects, mechanical engineers) familiar with Python.
pythonOCC is distributed under the terms of the LGPL license and can be embedded in commercial software. Since it was started, it has been used in many free and open sourcepProjects (IfcOpenShell, pyGem). It is considered as a strong basis by academic and industrial/building industry, industrial researchers in the field of 3D CAD/BIM/CAM/automotive/aerospace/building industry, see for example.
Q. How to install pythonocc?
A. The best way to proceed is to go with conda or Anaconda.
Q. Where should I start with?
A. https://github.com/tpaviot/pythonocc-demos is a good start.
Q. What should I do if I need a class/method that is not covered by the example suite?
A. Read the official OCCT documentation. Port to python is straightforward.
Q. What is the OCCT targeted?
A. Pythonocc is sync’ed with OCCT release cycle.