# Comparison of CAD Software for Designing Cellular Structures for Additive Manufacturing
## 3 Results
### Rhino 7/Grasshopper(r)  
Rhino 7 is a 3D CAD program focused on the creation of 3D freeform models based on NURBS-curves, NURBS-surfaces subdivision surfaces (SubD), point clouds, and polygon meshes. With the help of the Grasshopper(r) plugin, which is available in the basic scope of functions of Rhino 7, it is possible to develop models by combining different sets of function blocks. These different parametrized function blocks, each having a certain function on the geometry of the model, can be linked together to generate algorithms based on mathematical functions and expressions. Grasshopper(r) enables the user to fully use the potential of modern AM technologies in terms of manufacturability such as lattice structure, selective Voronoi tessellation, and many more [29; 31; 37; 38; 52; 53; 54; 55]. The student version of Rhino 7 and Grasshopper(r) was used to visually program fully parameterizable algorithms to model base cells and simple geometry to help with the processes as well as to import models from SolidWorks(r), which was used to both model and prepare CAD data from both the helical gear as well as the bike seat. The overall algorithm for the lattice formulation within the design space of the helical gear consists of the four subroutines including base geometry, BCC cell structure, density calculation, and output (Figure 5). The base geometry (Figure 5a) consists of a domain box that is fully parametrically adjustable via number sliders. In this case, an edge length of 8 mm in all principal directions was chosen. The box was dismantled into faces, edges, and vertices via the DeBrep command. With the help of the resulting vertices, line connections in the shape of a BCC base cell were formulated and a pipe-shaped volume was applied in the BCC cell structure subroutine (Figure 5b). The resulting shape was intersected with the original domain box to cut away excess material on the outside of the base cell. Figure 6 exemplarily illustrates the formulation process using a SCBCC base cell. It is crucial that the solid intersection with the original domain box takes place in order to be able to repeat the base cells in all three principal directions of a given volume or design space. Otherwise, the connection between the base cells would be zero. The density calculation subroutine (Figure 5c) enables the user to choose the desired relative density value of a given base cell. In this case, 25% density was chosen, and the subroutine calculated the matching strut radius of the BCC base cell with the help of the Galapagos genetic solver accordingly. In the fourth subroutine--output (Figure 5d)--the output of the subroutine BCC cell structure was used to formulate the needed lattice structure with respect to the given design space. The actual size of the lattice structure was set with the help of the number sliders--in this case, a 7 \(\times\) 7 \(\times\) 2 lattice structure was formulated (Figure 7b). After a series of geometry inputs and Boolean operations (Figure 7c,d), the resulting gear can be examined in Figure 7e. The calculations of the BCC as well as FCC lattice-filled helical gear are shown in Table 2.  
Figure 5: Grasshopper® algorithms, (**a**) cubic base geometry, (**b**) BCC Base Cell formulation by connecting defined vertices and adding round cross sections as well as volumes, (**c**) Genome-based density calculation to 25% density of base cell geometry with strut radius as controlled value, and (**d**) output of the lattice structure array with Boolean operation solid union. Figure 6: Generation of a SCBCC base cell in Grasshopper®, (**a**) domain box, (**b**) vertices and lines, (**c**) pipe volume, and (**d**) SCBCC base cell after solid intersection with domain box. The basic functionality of the program was used to define a 13 \(\times\) 23 \(\times\) 4 non-conformal lattice structure based on an 8 \(\times\) 8 \(\times\) 8 mm BCC, as well as an FCC base cell.