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 otra parte, desde que proporciona acceso a todas las clases y funciones de OCC, es muy complejo, pero también potente. Es por tanto una magnifica adicción a FreeCAD. Cuando estés limitado por las limitadas funcionalidades disponibles de OCC en FreeCAD en tus archivos de guión de Python, es hora de cargar PythonOCC.
Utilización
Actualmente en el módulo de Pieza tenemos los métodos: Part.__toPythonOCC__() y Part.__fromPythonOCC__() para intercambiar entidadese TopoDS_Shape a/hacia PythonOCC. Esto permite utilizar todo el poder de OCC en Python (utilizando pythonocc) y luego poner las formas resultantes de vuelta en 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