# Geometrical Degrees of Freedom for Cellular Structures Generation: A New Classification Paradigm
## 2 Design and Geometrical Consideration
### CS Generation
#### 2.5.3 CS Generation via Implicit Modeling and Mesh Data Structures  
Solids can be represented by the volume enclosed within their representative surfaces. Such surfaces can be seen as the boundary between void and solid. To represent void and solid domains, numbers can be attributed to points within the design space volume, where the values of the points that are below a threshold value are seen as void while the ones above the threshold value are seen as solid. Two-dimensional examples of this concept can be seen in Figure 21. This procedure is known as level sets or implicit modeling. In order to create the contours in 3D, many algorithms can be used; one of the most famous is the marching cube algorithm [109]. This algorithm discretizes the surface with triangles and stores the coordinate of each vertex as a mesh. This process leads to meshes that can be exported as Standard Tessellation Language (STL) files, which can be used to visualize structures. One advantage of this method is that it allows a smooth transition between the primitives without the need for fillets, as seen in Figure 22. The other advantage of such a method is that the computational cost is mainly affected by the density of the points' grid. The number of operations done on the grid to change the value at each point also affects the computational cost; however, some could argue that an intricate CS will require a highly dense grid, which will greatly increase the computational cost. Figure 20: Cellular structure generation via CSG—foam structure generation [91]. Researchers such as [PERSON] et al. [110] have done some work towards helping to improve solid modeling of lattice structures. To do so, they have designed a hybrid approach, where the method first starts by designing and generating the lattice frame, then implicit functions are used to thicken the frame. The final structure is then voxelized such that it can be directly used for AM. Similarly, strut-based unit cells can be thickened using implicit functions. An example of this generation method is given by Intralattice [82], a plug-in for the Rhinoceros3D CAD software. In this platform, the unit cell is first defined and then replicated in the design space periodically or pseudo-periodically. Finally, the resulting wireframes are thickened, as seen in Figure 23.  
Figure 21: The images above show a 2D version of grid points and some of their isocontours. From left to right: 2D grid points with their respective values, isocontour at 0.5, and isocontour at 0.8. Figure 22: Intersection of cylinders using implicit modeling (**left**) and CSG (**right**). Triply Periodic Minimized Structures (TPMS) are examples of structures that are implemented using implicit modeling. Some algorithms, such as highlighted by [PERSON] and [PERSON] [111] have used implicit functions to represent triply periodic minimum surfaces. In the article by [PERSON] et al. [92], structures were also built using implicit modeling. In the article by [PERSON] et al. [55], an example is shown of the transition that can be made between the primitives. Furthermore, as topology optimization can also be done using level sets; it is only a matter of time before TOMs can be rendered using implicit functions. In other occasions, meshes that already exist can be modified using known mesh operations. In [PERSON] et al. [46]'s work, an FE model is first built based on loads and the surface is subdivided using computer graphic techniques. Researchers such as [PERSON] et al. [112] have worked on an approach to interactively generate cellular structures on existing meshes. With surface meshes as inputs, they can decompose their meshes into hollow cellular structures that act as a skeleton on the surface and a set of thin shells. [PERSON] et al. [113] have given an example of a lattice structure that is built using implicit functions. The values of the grid points are given based on the distance to the closest point on the lattice core (skeleton).