# Comparison of CAD Software for Designing Cellular Structures for Additive Manufacturing
## 4 Discussion
### Applications of Software Tools Exempt from Preselection  
#### 4.1.1 Parametric CAD Software Tools  
SolidWorks 2023 [63] and Fusion 360 [64] are state-of-the-art CAD tools that are widely used in the industry. SolidWorks 2023 does not incorporate lattice structure functionality from the start; however, ref. [29] presents a tailored algorithm implemented into a macro-program inside the CAD environment of the software itself. Additionally, 3 DXpert [65] can be used as a plugin for SolidWorks 2023 to enable AM functionality with respect to TO, TPMS, and strut-based lattice structures, texturing, conformal cooling and manifold design, implicit modeling, and dedicated heat exchanger design application. Fusion 360 offers volumetric lattice structure capability from the January 2022 release onward. However, this functionality is incorporated into the Product Design Extension, which is commercially available for EUR 625/year or via a 7-day trial version. Creating lattice structures in Autodesk Fusion 360 is streamlined, requiring just a single command. Since there are only a few prefabricated geometries to choose from and the lattice structure area refers to a single command, the scope of functions is insufficient for a closer look. In Grasshopper(r), gradient design of lattice structures and other geometry can also be implemented using both the basic functionality as well as additional plugins such as Crystallon (2018), Dendro (2018), or Intralattice (2018). Crystallon contains a set of tools that break down the steps of creating a lattice structure in a modular way so that they can be used in different workflows for different applications. These tools can be used in conjunction with other plugins at any point in the process to enhance their capabilities. Each tool is an editable cluster made of native Grasshopper(r) components that can be modified to meet the user's needs. Dendro is a volumetric modeling plug-in for Grasshopper based on the OpenVDB library. It provides multiple design approaches to wrap points, curves, and meshes as a volumetric data type and perform Boolean operations. With this plugin, it is possible to dispense of the use of BReps and meshes, which are often computationally heavy on both RAM and GPU. Intralattice is a plugin for Grasshopper used to generate solid lattice structures within a given 3D design space. Developed at McGill's Additive Design & Manufacturing Laboratory (ADML), Intralattice is an ongoing project that offers an extensible, open-source alternative to currently available commercial solutions. The plugin comprises the following four core modules: (1) the cell module for generating a unit cell of the desired type; (2) the frame module for creating a lattice wireframe within a specified 3D design space; (3) the mesh module for converting the wireframe into a solid mesh suitable for export and 3D printing; and (4) the utility module, which facilitates pre/post-processing tasks like mesh refinement, reporting, and previewing. With the help of basic building blocks inside Grasshopper(r), it was possible to create a line attractor setting where the strut radius was gradually increased from the first BCC cell in Figure 8a (left) to the last (right). The distance between a predefined attractor point and every vertex of the subsequent base cells was measured, and each connecting line's pipe radius was assigned a value between 0.3 and 0.8 mm. The gradient lattice structure can be formulated using a similar approach as with Dendro, as shown in Figure 18c. The curves connecting the vertices were divided into 50 equidistant points. A random point was constructed outside the lattice structure, and the distances between it and all 4079 points of the lattice curves were measured. A list of distances was compiled. Using the Dendro command, each point was assigned a volume based on the radial value of a domain between 0.3 mm and 0.8 mm. Finally, the surface was smoothed using Dendro's smooth surface command.