MANUEL JIMÉNEZ GARCÍA AND GILLES RETSIN
DISCRETE METHODS
Methodology
extrusion equipment. The software executes a basic finite element analysis that abstracts structural data from the imported mesh to determine the type of cell to be used in each voxel. Cells are then instantiated along the voxel space and allocated in response to local compression and tension levels. Two types of cells were used for the first prototype generated using Discrete Design v1.0: a flat cell that generates high-density areas of the material and a 3D cell that supports the flat cells in areas with low density. The former is used in those areas with higher stress, while the latter is used where the stress values are low and a more fragile line fragment is sufficient. Voxels are grouped by their vertical coordinates into layers of a given height (17). Flat-cell areas are grouped in sublayers and indexed from bottom up to fill the total voxel height. Each layer and sublayer are represented as an undirected graph. Their centres are associated with vertices and their orthogonally adjacent cells with edges of the graph. The disconnected graphs connect through the discarded edges. Subsequently, a Hamiltonian path is used to create a sequence of connected cells where each vertex is visited only once (18–21). The cells rotate in two dimensions until an end point of the toolpath fragment connects to the open edge of the previous cell in the sequence. The principal direction of stress is abstracted from the finite element method (FEM) to be assigned as the preferred orientation of the cell when multiple rotations are possible. Each toolpath fragment of the idealised path is further adjusted to avoid collisions and other possible issues when printing. When neighbouring cells contain overlapping edges they offset inwards by half of the extrusion thickness, which
1. Iterative coding and scriptwriting for new software development
First Version Discrete Design v1.0 was developed in Java programming language and used functionality from the ‘flexible software sketchbook’ Processing by Ben Fry and Casey Reas. Operating within a Cartesian grid, the software generates a voxel space from an imported volume and serialises these voxels according to different criteria, including structural requirements, porosity and transparency. Users can control both the overall mass of the object at the macro-scale and material organisation at micro-scale. Different line fragments inside one voxel can be imported as basic units. A combinatorial algorithm then substitutes each of the voxels in the 3D space for one unit or another and picks the one that best matches the local requirements. The rotation of the units is automated, ensuring connectivity between the end of one line fragment and the start of the next. This ensures the creation of a continuous line that can be printed by a robot equipped with a polymer extruder. Discrete Design v1.0 (16) approximates the curvilinear morphology of the volume to be filled in an orthogonal manner. First, the Vitra Panton Chair (1967) was modelled in Autodesk Maya. It was then imported into the software as a manifold-mesh object with no self-intersections. A voxel space was generated from its bounding box, with voxels falling outside the mesh being removed. The size of the voxels is modifiable within the range of toolpathsegment lengths, printed with specific
26