COMPAS CEM

The Combinatorial Equilibrium Modeling (CEM) framework for COMPAS.

_images/staircase_24_fps_128_colors.gif

Constrained form-finding of a spiral staircase.

The CEM framework is a numerical form-finding approach to generate forms in static equilibrium for spatial bar structures subjected to combinations of tension-compression forces and design constraints. COMPAS CEM encapsulates the CEM framework into an open-source structural design tool that enables the formulation and the solution of constrained form-finding problems in plain and simple Python code.

Main features

  • Mix tension and compression forces: Explore a wider spectrum of structural typologies by combining internal tension and compression forces in the same structure. Design space frames, bridges, tensegrities, and staircases and go beyond the conventional catalog of compression-only shells and cable-nets!

  • Solve constrained form-finding problems efficiently via automatic differentiation: Generate forms in static equilibrium that simultaneously meet a priori design constraints such as best-fitting a global target shape, restraining bar lengths, and controlling the reaction forces at the supports of a structure.

  • Usable across different 3D modeling software and operating systems: COMPAS CEM runs on Windows, MacOS and Linux (perhaps one day also in the metaverse) and it does not depend on any CAD software to work. However, it provides the necessary interfaces to be seamlessly used inside popular design environments like Rhino, Blender, and Grasshopper. As a COMPAS extension, COMPAS CEM offers native integration and data exchange with other extensions and plugins in the COMPAS ecosystem.

  • Move those sliders with the Grasshopper plugin: Are you a Grasshopper person? Worry not. COMPAS CEM is shipped too as a precooked Grasshopper plugin to readily integrate our constrained form-finding engine into your next spaghetti pipeline 🍝.

Credits

COMPAS CEM is developed by Rafael Pastrana at Princeton, with the support of Ole Ohlbrock, Pierluigi D’Acunto and Stefana Parascho.

This work has been supported in part by the U.S. National Science Foundation under grant OAC-2118201 and the NSF Institute for Data Driven Dynamical Design.

Table of Contents