# Multistep Evolution Method to Generate Topological Interlocking Assemblies
## 2 Related Work
### Free-Form TI Assemblies  
Recent TI generation approaches aim to generalize the process for assemblies based on free-form 3D surface tessellations. [PERSON] and [PERSON] [7] proposed the Height-Bisection method based on height parameters. The traditional generation method designs the interlocking pieces by assigning a tilting plane to each tile edge, defined by a tilting angle from the tessellation plane. This plane intersects with adjacent planes to form the vertices and edges of the polyhedra. The traditional method, however, requires multiple iterations to adjust the tilting angles to ensure no overlapping occurs, especially in non-planar or irregular tessellations. In contrast, the proposed Height-Bisection method simplifies the process by using a height parameter and a central point within each face, eliminating the need for iterative angle adjustments. The Height-Bisection method calculates rotation vectors for each edge based on these parameters, generating interlocking pieces in a single iteration. This method aligns the equatorial sections of the pieces with the planes of the tessellation faces, significantly reducing overlaps and ensuring proper alignment in the resulting configuration. [PERSON] et al. [32] considered the case of global interlocking to generate and adapt the assembly blocks. Their approach adapts the shape of the blocks as the procedure tests the static equilibrium analysis of the assembly at multiple orientations until no block can be displaced from its location. [PERSON] et al. [33] presented a generation method for creating a TIC modeled after a free-form and curved surface. The generation method utilizes a parametric design approach based on planar quadrilateral meshes representing the desired surface. Then, a moving cross-section procedure is employed to ensure the elements are interlocked. This involves defining a set of tilting angles for each edge of the quadrilateral facets, which helps create interlocked systems constituted by blocks such as regular tetrahedrons. The tilting angles are varied to match the curvature of the surface. A mathematical criterion based on a set of inequalities is applied to guarantee the interlocking property of the blocks. These inequalities ensure that each block is translationally locked, meaning it cannot be removed by translation if its neighbors are fixed. The criterion involves checking the normal vectors of the planes defining each block to ensure that they satisfy the interlocking conditions. Once the initial blocks are generated, they may need to be truncated or refined to fit perfectly into the mesh and accommodate overlaps. This step ensures that the blocks have proper face-to-face contact, enhancing the structural integrity of the assembly. [PERSON] et al. [34] proposed a method that models free-form shell structures by parameterizing the geometry of shell elements and clustering them into discrete equivalence classes to optimize reusability and buildability. The process begins with a 3D freeform surface remeshed to obtain a base polygonal mesh. This base mesh is created by mapping a 2D tessellation with convex polygons onto the surface using the as-rigid-as-possible algorithm. The tessellation is chosen to be monohedral, dihedral, or trihedral to limit the number of distinct tiles. Each polygonal face in the base mesh is augmented with vectors orthogonal to its edges. These augmented vectors are used to define 3D partitioning planes, which construct the convex geometry of the corresponding shell elements. The side faces of each shell element are generated based on these partitioning planes. The shell elements are clustered based on their geometric similarity, defined by edge lengths, diagonal lengths, and augmented angles. A hierarchical clustering approach is employed to group elements into discrete equivalence classes. The clustering process aims to balance the reusability of the template elements with the seamlessness and buildability of the final structure.