Generation of a Chebyshev net on a surface

I’d like to share my GH Def / Python code for generating a Chebychev net over a given surface following the algorithm by Popov[1]. A Chebychev net can be seen as a quad mesh with all edges being the same length. The only things that change are the internal angles.

chebychev.gh (104.2 KB)

It’s my first time scripting more than a couple of lines, any comments on how to improve the (probably inefficient) code would be most welcome.

[1] Popov, E. V. (2002). Geometric Approach to Chebyshev Net Generation Along an Arbitrary Surface Represented by NURBS. Graphicon.

Open questions

  1. How to pick the best starting point and the two vectors to allow coverage of the most surface
  2. How to stitch the mesh if the given surface is closed
  3. On a practical side, how do I make this into a component?
1 Like

Thank you so much for your amazing code.
it made experimentation with bending stresses way easier by just simply changing the degree. the kangaroo draping method is inconsistent compared to this code.
sadly i have no experience with turning python code to component but i strongly believe you definitely should do it since there is no other like it at the moment.
regarding best coverage i combined this workflow with galapagos to find the best area result but in case of chebyshev gridshells. the curvature of the lines is also as important.

thank you again,
i wish you good luck,
Moe

Glad that it can help! There are more advanced algorithms out there that allow more flexibility to get more coverage as well (e.g. https://lgg.epfl.ch/publications/2014/WireMesh/index.php).