Extensions

COMPAS provides many extensions that supplement the functionality of the core library, and provide access to state-of-the-art research in the fields of geometry processing, form finding, digital fabrication, discrete element modelling, finite element analysis, and many more. Here, the extensions are listed that are managed by the core development team. Extensions contributed by the community can be found at …

../_images/COMPAS.png

Core Extensions

The core extension packages are COMPAS-friendly Python wrappers for libraries written in other languages, or for their Python bindings. In many cases, the functionality of the extensions is implemented as plugins for the pluggable functions of COMPAS core. It can be therefore be used from compas using the pluggables, or, of course, directly from the extension packages themselves. A list of pluggables in COMPAS core is available here: Pluggables.

compas_cgal

compas_cgal is a Python binding (generated with PyBind11) for a selection of algorithms of CGAL, The Computational Geometry Algorithms Library. Among other things, the package provides implementations for the pluggables for boolean operations, triangulation, remeshing, and mesh slicing.

compas_gmsh

compas_gmsh is a wrapper for the Python binding of Gmsh, A three-dimensional finite element mesh generator with built-in pre- and post-processing facilities, and provides high quality 3D meshing functionality for Finite Element Analysis applications.

compas_libigl

compas_libigl is a Python binding (generated with PyBind11) for a selection of algorithms of Libigl, the geometry processing library of the Interactive Geometry Lab. The package supplements the official Python binding of Libigl, and provides functionality that is easier to use in combination with COMPAS.

compas_occ

compas_occ is a wrapper for the Python binding of OpenCascade and provides support for NURBS geometry and Boundary Representations (BREPs), independently of Rhino.

compas_triangle

compas_triangle is a wrapper for the Cython implementation of Jonathan Shewchuck’s Triangle library, a Two-Dimensional Quality Mesh Generator and Delaunay Triangulator.

CAD Interfaces

COMPAS can be used in any environment that supports Python. This means that it can be used in many CAD applications in combination with the CAD-specific Python scripting API, if available. For some CAD applications, the core development team provides a dedicated extension package that provides a more specific bridge between COMPAS and the CAD application.

compas_blender

compas_blender is a bridge between COMPAS and Blender. It provides functionality to convert between data structures in COMPAS and Blender, and to load and save geometry from and to files in the Blender format.

compas_ghpython

compas_ghpython is a bridge between COMPAS and Blender. It provides functionality to convert between data structures in COMPAS and Blender, and to load and save geometry from and to files in the Blender format.

compas_rhino

compas_rhino is a bridge between COMPAS and Blender. It provides functionality to convert between data structures in COMPAS and Blender, and to load and save geometry from and to files in the Blender format.

AEC Tools

compas_fab

Robotic fabrication package facilitating the planning and execution of robotic fabrication processes. It provides interfaces to existing software libraries and tools available in the field of robotics (e.g. OMPL, ROS) and makes them accessible from within the parametric design environment.

compas_fab

compas_fea

Finite Element Analysis package providing an easy-to-use modelling language for FEA problems, and the possibility to use different backend solvers from a single problem description.

compas_fea

compas_fofin

Add description…

compas_fofin

compas_ifc

Add description…

compas_ifc

compas_slicer

Add description…

compas_slicer

compas_timber

Add description…

compas_timber

compas_wood

Add description…

compas_wood