PythonOCC
Descripción
PythonOCC es un proyecto que tiene como objetivo proporcionar toda la gama de Tecnología OpenCASCADE (OCCT) funciona a través del módulo Python OCC
. Este es una aproximción diferente al de FreeCAD, donde sólo ciertos componentes de OCCT son expuestos a través del Ambiente de trabajo Piezas.
PythonOCC, por otro lado, proporciona acceso a todas las clases y funciones de OCCT, por lo que es complejo pero también muy potente. Por lo tanto, cuando estás limitado por la funcionalidad de OCCT de FreeCAD, usar OCC
es una buena alternativa.
Utilización
El Módulo de las Piezas tiene los métodos Parte.__aPythonOCC__()
y Parte.__dePythonOCC__()
para intercambiar TopoDS_Shape
(Piezas TopoForma) entidades hacia y desde PythonOCC. Estos métodos nos permiten utilizar toda la potencia de OCCT en Python y luego poner las formas resultantes de nuevo en los objetos de FreeCAD.
PythonOCC is internally used by the IFC viewer included with the IfcOpenShell libraries. IfcOpenShell is used to read and write IFC documents with FreeCAD. PythonOCC is only needed to launch IfcOpenShell's integrated viewer, otherwise it is not necessary.
Instalación
PythonOCC must be compiled from source. For this you need to get the corresponding development files for OpenCASCADE Technology (OCCT) and SWIG. The older version of PythonOCC was intended to wrap around OCE 0.18, the community edition of OCCT 6.9.x, which is now unmaintained. The newest version of PythonOCC is now intended to work with the recent, official OCCT 7.4 version.
Together with OCCT 7.4, PythonOCC requires fairly recent dependencies like Python 3.7, CMake 3.12, and SWIG 3.0.11. Python 2 is no longer supported.
It is also possible to install pre-compiled PythonOCC libraries using Conda. For more information and compilation instructions, see the main project's repository, tpaviot/pythonocc-core.
Más información
- Project page: pythonocc.org
- Newer version compatible with OCCT 7.4, tpaviot/pythonocc-core.
- Older version compatible with OCE 0.18, the community edition of OCCT 6.9.x, tpaviot/pythonocc.
- IfcPlusPlus compiled on Gentoo - questions and alternatives?
- FreeCAD scripting: Python, Introduction to Python, Python scripting tutorial, FreeCAD Scripting Basics
- Modules: Builtin modules, Units, Quantity
- Workbenches: Workbench creation, Gui Commands, Commands, Installing more workbenches
- Meshes and Parts: Mesh Scripting, Topological data scripting, Mesh to Part, PythonOCC
- Parametric objects: Scripted objects, Viewproviders (Custom icon in tree view)
- Scenegraph: Coin (Inventor) scenegraph, Pivy
- Graphical interface: Interface creation, Interface creation completely in Python (1, 2, 3, 4, 5), PySide, PySide examples beginner, intermediate, advanced
- Macros: Macros, How to install macros
- Embedding: Embedding FreeCAD, Embedding FreeCADGui
- Other: Expressions, Code snippets, Line drawing function, FreeCAD vector math library (deprecated)
- Hubs: User hub, Power users hub, Developer hub