Skip to content

dbt-ethz/mola

Repository files navigation

alt text

Mola

A lightweight Computational Design Library.

Documentation

Modules

  • core_vertex
    • class definition for Vertex
  • core_face
    • class definition for Face
  • core_edge
    • class definition for Edge
  • core_mesh
    • class definition for Mesh
  • core_box
    • class definition for Box
  • core_grid
    • class definitions for GridManager and Grid, orthogonal grid in 2d or 3d, and Hexgrid
  • mesh_factory
    • Factory to create different mesh primitives like single face, cone, box, platonic solids
  • mesh_subdivision
    • CatmullClark and simple Quad-split subdivision of an entire mesh, also method to collect vertices.
  • mesh_marching_cubes
    • Create an isosurface mesh in a 3D grid of voxels
  • utils_vertex
    • Vector math, input and output of type Vertex in most cases
  • utils_face
    • Utilities to calculate different properties of a Face, e.g. normal, center, perimeter, etc.
  • utils_poly
    • Utilities for 2D Polygons, e.g. construction of circle and 2D subdivision
  • utils_color
    • Utilities to color lists of objects of class Face by different properties, e.g area, perimeter, curvature, etc.
  • slicer
    • Slicing tools for mesh geometry
  • graph
    • Classes Graph and GraphAnalyser (for shortest path or centrality calculation)
  • io
  • colab2D
  • colab3D
    • Display in Babylon.js for 3D graphics in Google Colab
  • module_processing
  • module_rhino
    • Construct and load mesh geometry in Rhino
  • module_blender
    • Construct mesh geometry in Blender

Use Cases

  • The Mola library has been used in the elective course Advanced Computational Design Course, spring semester 2019 at ETH Zurich.
  • The Mola library has been used in the MAS dfab T2 project Concrete Choreography