Realization of a lattice structure based on the Voronoi tessellation. An analysis is also performed on the optimal position of the points in order to minimize the volume of the body.

The following article is an extract from a project carried out for the course of Advanced Techniques for the Design of Prosthetic Devices. Held for Medical Engineering at the University of Rome Tor Vergata.

Authors: Mastrofini Alessandro & Muscedere Erica

## Voronoi diagram

A Voronoi diagram, or tessellation, is a decomposition of a metric space determined by the distances of a discrete set of points. In the two-dimensional case, the Voronoi diagram for 𝑆 is the partition of the plane that associates a region 𝑉 with each point 𝑝 ∈ 𝑆 in such a way that all points in 𝑉 are closer to 𝑝 than to any other point in 𝑆.

To create the diagram, you can use the predefined commands within Matlab and / or Wolfram Mathematica. In particular, the Matlab command has some limitations as it returns the set of points delimiting the segments of the diagram but not the edge points. This makes it difficult to measure the overall length and requires considerable approximations for volume optimization.

Within Mathematica it is easier to process the object returned by the function and calculate the total length of all the segments present (including the edge). In addition, it is possible to easily export a vector image of the diagram of the correct size and such as to include only segments and central points. This image will then be used directly in Solidworks.

## Minimum volume

The objective of minimization concerns the ratio between the weight of the lattice structure and the weight of the solid structure. The volumes in fig. 2 refer to the half cylinder structure after the extrusion of the branches and the joining. The focus is easily transferable to the calculation of the smaller volume of the lattice structure and therefore to the length of the branches. This has already been addressed by the design of the diagram trying to minimize the total length of the segments. Two different approaches were used which led to similar conclusions.

### Brute force approach

One possible approach is exhaustive, i.e. a “brute force” analysis on different combinations. In particular, through Mathematica we have set a function such as to generate random pairs of numbers {𝑥, 𝑦} in the range of interest (domain of 200 mm × 300 mm) by automatically verifying that the distance between the points was within the design requirements (otherwise selected a new point). 20 points are extracted and the associated Voronoi diagram can be created. By testing over 1 million diagrams using an optimization cycle, the sum of the lengths of the segments generated in the diagram (including edges) can be reduced. The points and the diagram in fig. 1a.

### Reasoned geometries

A different approach involves the use of particular symmetries. Thanks to Mathematica it was possible to generate an interactive diagram which, by moving the points, provided the tessellation. This allowed us to make some considerations. Using an ordered grid, good results were achieved but the best option was to arrange the points on a circumference (fig. 1b) with a radius:

R=\frac{\text { point distance}}{2 \sin \left(\frac{2 \pi}{2 \cdot n . \text { points}}\right)}

So as to have the distant points as per specifications and have the least number of branches.

For the construction, the image exported in vector is used directly. Before loading it into Solidworks, it was converted into .DXF format by separating the intersecting segments into different levels in order to simplify the subsequent extrusion phase. Then it is possible to extrude the central branches by means of a thin centered extrusion and the edges, taking care to extrude inwards (so as to have the structure 200 × 300 mm). Using the flex command, it flexes and finally mirrors itself to complete the cylinder.