Flatworms are colorful free swimming ocean worms, that in accordance with their name, are flat! Similarly, at least in terms of flatness, Flatworm by jakobl is a GHPython implementation of the pure-python module RFQM.py for generating ‘rigidly foldable quadrilateral meshes’ (RFQM) in Grasshopper, that are flat foldable! Such meshes may be used to create complex and flexible structures out of rigid materials, as no mesh face is ever deformed in the folding process.
Flatworm provides basic means of generating custom RFQMs as well as the famous Miura Ori fold pattern. Meshes are generated from four lists of angle arrays, describing the direction angles and fold angles for two sides of the mesh respectively. The ‘direction angle’ is the ccw angle between the fold line and x-axis in xy-plane, while the ‘fold angle’ is the angle between the faces on either side of the crease in the fully folded state of the mesh.
The project is structured around a pure-python core module (RFQM.py) with only minimal Rhino/Grasshopper dependencies. While this decision may slow the geometrical calculations it makes the module portable, and the RFQM-module can live a cross-platform life of its own!
The module is based on an algorithm by by Robert J. Lang and Larry Howell from the article ‘Rigidly Foldable Quadrilateral Meshes from Angle Arrays’ published 2018 in the ‘Journal of Machanisms and Robotics’.