Skip to content

Show a model in the browser, or turn it into a configurator

Put a model in front of a client in a web browser, with no CAD software on their side, and add sliders and buttons that rebuild the geometry, so a parametric model becomes a small app you can build into your own website.

  1. compas_threejs 1.1.1

    Runs a browser viewer for COMPAS geometry from Python, with sliders, buttons, menus and fields that call back into your script.

  2. compas_pb 1.2.0

    Serializes COMPAS data with Protocol Buffers, the format the viewer and its web clients exchange.

  3. compas_threejs_ts 1.3.0

    Embeds the same viewer in your own web app, as a TypeScript library.

  4. compas_pb_ts 3.0.0

    Reads and writes COMPAS data in TypeScript, so a web app and Python exchange the same geometry.

pip install compas_threejs
npm install @compas-dev/compas-threejs-ts @gramaziokohler/compas-pb-ts
The COMPAS ThreeJS viewer in a browser window, showing a mesh in COMPAS blue
The COMPAS ThreeJS viewer, running from a Python script.

Plan and run robotic fabrication

Model the robot cell, plan the robot's motion, and send it to the controller of a real robot.

  1. compas_robots 1.0.1

    Describes robots, their links, joints and geometry, as COMPAS data.

  2. compas_fab 2.0.1

    Plans the robot's motion for a fabrication task, through planning backends such as ROS and MoveIt.

  3. compas_rrc 2.0.0

    Sends the motion to ABB robots and controls them online from Python.

pip install compas_robots compas_fab compas_rrc

Built this way

3D-print with robots

Slice a shape into print paths and stream them to the robot that prints it.

  1. compas_slicer 0.7.0

    Turns a shape into print paths for robotic 3D printing, planar or following the surface.

  2. compas_rrc 2.0.0

    Streams the paths to an ABB robot and controls the print.

pip install compas_slicer compas_rrc

Built this way

Design and fabricate timber structures

Model beams and their joints, generate the data for CNC machines, and guide the assembly.

  1. compas_timber 2.2.0

    Models beams and their joints, and generates machine-agnostic fabrication data for CNC machines.

  2. compas_cadwork 1.0.1

    Connects the timber model to cadwork, the CAD software of timber construction.

  3. compas_xr 1.0.0

    Guides the people assembling the structure with augmented reality.

pip install compas_timber compas_cadwork compas_xr

Built this way

  • A leaf-shaped lattice of timber beams arching over a community garden at golden hour, with lavender in the foreground and apartment buildings behind
    HARDLEAF

    Quartiergarten Hard, Zürich, Switzerland · 2026

  • Two researchers working beneath a robot arm that holds a timber frame module in place, with finished modules stacked behind them in a laboratory
    Caschlatsch

    Disentis/Mustér, Switzerland · 2024

Guide assembly with augmented reality

Bring the digital model to the people building, so they see where each element goes and how far the work has come.

  1. compas_xr 1.0.0

    Shares the model with mobile devices for human–machine collaborative assembly.

  2. compas_timber 2.2.0

    Provides the model of the elements to assemble, when the structure is timber.

pip install compas_xr compas_timber

Built this way

  • Two researchers working beneath a robot arm that holds a timber frame module in place, with finished modules stacked behind them in a laboratory
    Caschlatsch

    Disentis/Mustér, Switzerland · 2024

  • A visitor stands inside a sweeping, curved landscape of overlapping wooden shingles, seen through translucent hanging curtains
    Dafne's Skin

    Triennale Milano, Milan, Italy · 2025

  • A robot arm on a truss in front of a large suspended net sprayed with soil and sprouting grass, while a person in a white overall draws in sand
    Sybil

    Ars Electronica, Linz, Austria · 2026

Form-find shells, vaults and cable nets

Find structural forms in equilibrium, from funicular vaults in compression to cable nets in tension.

  1. compas_tna 0.9.0

    Finds funicular forms for vaults and shells in compression, with Thrust Network Analysis.

  2. compas_fd 0.5.4

    Form-finds cable nets and membranes with the force density method, under constraints.

  3. compas-FoFin 0.15.3

    Brings form finding into Rhino as a plugin, for tension, compression and mixed structures.

pip install compas_tna compas_fd

Built this way

Design stable block assemblies

Model an assembly of discrete blocks and check that it stands.

  1. compas_assembly 0.7.1

    Represents an assembly of blocks and the interfaces between them.

  2. compas_cra 0.8.0

    Checks the stability of complex block assemblies with coupled rigid-block analysis.

  3. compas_rbe 0.1.2rc0

    Computes the equilibrium of assemblies of rigid blocks.

pip install compas_assembly compas_cra compas_rbe

Built this way

Work with solids, NURBS and meshes anywhere

Use robust geometry kernels from plain Python, with or without a CAD application.

  1. compas_occ 1.5.0

    Solid modelling and NURBS with the Open CASCADE kernel.

  2. compas_cgal 0.10.0

    Robust mesh operations, such as booleans and remeshing, from CGAL.

  3. compas_gmsh 0.4.6

    Meshes geometry with Gmsh, for example for finite element analysis.

  4. compas_nurbs 0.2.0

    NURBS curves and surfaces for COMPAS.

pip install compas_occ compas_cgal compas_gmsh compas_nurbs

Built this way

All packages

How the pieces fit together, from the core library down: every package builds on the core, and on the tiers above it.

Release, CI and roadmap data for every repository lives in Mission Control, updated 11 Oct 2026.