MAS ETH in Architecture and Digital Fabrication 2017 / 2018
1
Left: Render of Neuronal Stool
Neuronal Stool
Generative Design Engine for 3D-Printed Sand Mould and Metal Casting
Individual Thesis MAS ETH in Architecture and Digital Fabrication 2017 / 2018 Student: Haruna Okawa, ZongRu Wu Tutors: Aghaei Meibodi, Benjamin Dillenburger Abstract: This research develops a shape design engine that allows users to explore design possibilities for a stool to be cast using 3D-printed mould and aluminium. The engine mediates between design freedom and constraints (castability, stability, and cost) for users to reach their favorite designs with desired properties. The challenges are 1.generate design variations that are fabricatable, 2.create a user interface that can navigate users through the catalogues of the design alternatives and their properties. To test the design engine, three experiments are conducted. Firstly, variations of the designs are generated by manually adjusting the ranges of parameters that machine explores. Secondly, clustering algorithm are tested with different setup. Finally, the designs are casted with 3d printed sand mould and aluminium. The result demonstrates the potential of human-machine collaboration in exploring design space. Keywords: agent-based modeling; generative design; machine learning; 3d printing sand mould; metal casting; material computation
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
3
4
Neuronal Stool
Contents
Introduction
1
State of the Art
2
Research Goals and Questions
3
Methods (Design and Fabrication of Stool)
4
Experiments and Prototypes
5
Results and Discussion
6
Conclusion
7
Acknowledgement
8
Bibliography
9
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
5
Introduction Since the 1980s, 3D printing (additive manufacturing) has emerged as a new manufacturing method. One important use of 3D printing in the metal casting industry is 3D-printed sand moulds which provide complex cavities, dimensional precision, and the freedom in designing the metal delivery system. However, there are more to be improved in the 3D-printed sand moulds to accommodate increased complexity of design for actual manufacture. To realize such improvement, we use a time-based approach: Agent-Based Modeling. With this model, we incorporate fabrication constraints and material behavior into the generative design process. To experiment with our model, we created a generative design engine and chose stool as the target object to design and fabricate. It not only takes the challenge to cast single object in one piece but also expands the potential of aluminum for casting. We aim to create the highly organic artistic expression through a combination of 3D printed sand mould, casting craftsmanship, material behavior study, and computational design.
Fig.1: 3D Printed Sand Mouds and Casted Aluminium Joint from Shaping Metal
6
Neuronal Stool
State of the Art The Digital Building Technologies (DBT) at ETH has conducted several projects (Shaping Liquid1, and Deep Façade2) integrating 3D-printed sand moulds and casting. Our research continues the exploration of Digital Metal and adds a user interface which allows designers to explore design possibilities of casting as well as allowing live customization. In 2002, Gramazio Kohler Research at ETH developed mTable3, a personal design tool for the table. It is implemented on a cell phone; with set dimensional ranges (minima and maxima), users could design the shapes of a table with limited geometric flexibilities. The project raised interesting questions on the meaning of UI, such as the extent a UI could allow users to involve in a design process and make a design decision. Another question is how to ensure the design developed by users could be fabricated. Our research aims to solve these questions by separately defining domains of parameters that users and computers can control and embed fabrication constraints into the agent-based model in the form generation process.
1 ”2016/17 T2 Digital Metal.” MAS in Architecture and Digital Fabrication | ETH Zurich. Accessed September 02, 2018. https://www.masdfab.com/work-1617-digitalmetal. 2 “2017/18 T2 Digital Metal.” MAS in Architecture and Digital Fabrication | ETH Zurich. Accessed September 09, 2018. https://www. masdfab.com/work-1718-deepfacade. 3 Gramazio Kohler Architects. Accessed September 02, 2018. http://www.gramaziokohler.com/web/d/installa tionen/17.html.
Fig.2: User Interface and Design Variations from mTable
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
7
Research Goals and Questions The goal of this research is to develop a design engine that mediates between design freedom and fabrication constraints (castability, stability, and cost) for users to reach their favorite designs with desired properties. To achieve this goal, the design engine is designed to facilitate exploration of design alternative by offering control of a wide range of parameters to both users and computer. The design engine randomly generates design alternatives and categorizes them with machine learning. It then allows users to choose the category according to their preferences. After users make their choices of category and set the weights for criteria, the engine sorts the designs in the category according to their fitness and shows the local optimal solution for design in real-time. We chose a stool as an object to experiment with our design engine to test it for casting a complex-shaped object in on piece. Through the sand mould-printing and casting process, there are three challenges to overcome: 1. How to control the speed of aluminum temperature drops by changing the cavity section and the mould surface area. 2. How to remove the sand from the complex moulds of the stool. 3. How to avoid to the aluminum crack caused by shrinkage. We developed a fabrication logic, design engine, and optimal mould segmentation rules specific to the stool. 1. RESEARCH SETUP
2. DESIGN ENGINE
3. FABRICATION
Fig.3: Research Steps
8
Neuronal Stool
1. Specify Fabrication Methods
1. Specify Design Parameters (dimensions, number and types of legs, and maximum weight) 2. Automatically Generate Random Geometry 3. Group Similar Designs by Unsupervised Learning 4. Choose Design with Prefered Performance 1. Create Mould Data According to Geometry (Mould Segmentation Optimization) 2. 3D-Print Sand Mould 3. Cast Aluminium
Methods (Design and Fabrication of Stool) To design the optimal feeding path for casting, Agent-Based Modeling was utilized to encode fabrication constraints into geometric rules. The stool legs are defined as aluminum feeders in both digital and physical setups. The curves start to grow from the feeders up to the maximum length of each curve. This maximum length constrains the amount of metal flow per gate. When each curve reaches certain length, it gets split into three segments and a new segment is added. This splitting rule controls the maximum segment length to make the stool’s structure more stable. The splitting history is also tracked to give appropriate size of sections to the segments limiting the range of the aluminum flow speed. Maximum length for all the curves within the stool is set to constrain the weight. Design and fabrication of the stool involve following interlinked phases: a. Specifying Fabrication Constraints b. Developing the Design Engine (algorithmic) c. Prototyping and Fabrication I II III IV V & VI VII VIII
Digital
Physical
I. Specify Proportion of Stool II. Produce Variations of Stool III. Evalute the Stools IV. Generate the Mould Data and 3D Printing Sand Moulds V. Remove the Sand and Assemble the Moulds VI. Cast Metal in One Piece VII. Post-Process VIII. Complete
Fig.4: Timeline of the Design and Fabrication of Neuronal Stool
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
9
1. Research Setup (Techinical Aspects) 1-1. Agent-Based Modeling In this thesis, Agent-Based Modeling is introduced to integrate fabrication constraints and material behavior into the generative design process. It requires an understanding of the correlation between geometric constituents of form with that of fabrication methods and material property. For example, Anzalone and Clarke developed a design process based on cellular automata and the boids algorithm to generate a free-form surface, with which they integrated with structural (a truss system) and fabrication systems (for instance, CNC machine with three-axis mill). (2003). In our case, the generative algorithms were adapted to grow curves for the sthul within the castable spectrum by encoding fabrication constraints into the agents’ behaviors to be consistent with the aluminum behavior in the sand mould. 1-2. K-means Clustering The K-means clustering is used to group the visually similar designs after the random generation of the design alternatives using images as input. It is one of the algorithm in unsupervised learning in machine learning. It categorizes unlabeled dataset into specified number of clusters(MacQueen, 1967). The two major issue with this algorithm is that: 1. number of the cluster has to be given beforehand, 2. the result relies on the initial random points. In order to solve these problems, elbow method(Thorndike, 1953) and k-means++(Arthur and Vassilvitskii, 2007) are widely used. The k-means clustering and elbow method are tested in this thesis. 1-3. Mould Making Figure7 shows a typical sand mould for metal casting. Metal is poured from pouring cup on the sprue and it enters cavity through gates. Metal fills from the bottom to up. After casting, sprue and riser need to be cut out. In this research, stool is casted with closed mould as one piece. In order to eliminate post-processing, sprues and risers are integrated in the design. The stool is casted upside down and aluminium is poured from the tips of the legs. Mould is segmented horizontally and the number of segmentation was optimized to solve the sand removal problem and to reduce the 3d printing time. To tackle crack resulted from shrinkage (due to time difference for metal to cool down in each part), we ensure there are no abrupt changes in pipes’ diameters and the diameters get smaller as the pipes distant away from the feeder.
10
Neuronal Stool
Separation
Alignment
Cohesion
Attractor
Repeller
Fig.5: Rules of Swarming Behaviors with Attractor and Repeller
1. The cluster centers are randomly set and each point gets assigned to the cluster whose center is the closest.
2. The cluster centers are moved to the center of the assined points and each point gets assigned to the cluster whose updated center is the closest.
3. The process is repeated until t h e c l u s te r ce nte r s co nve rg e a ro u n d t h e p o t e n t i a l c l u s t e r centers.
Fig.6: K-means Clustering Algorithm
Open Riser
Vent
Pouring Basin
Sprue
Pouring Cup
Side Riser
Top Riser
Core
Runner
Sprue
Fig.7: Typical design for sand mould
Runner Gate
Fig.8: Casted element before post-processing
Fig.9: Casted nest of ants
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
11
2. Design Engine The design engine helps users to first narrow down the design space, explore the design space with automated generation, and find a favorite design with desired properties. It is achieved by the following four steps: 2-1. User specifies the design target(dimensions, number of legs, types of legs, maximum weight). 2-2. Design engine automatically generates designs with random parameters. 2-3. Machine learning categories the similar design. 2-4. User chooses a favorite category and then within the category chooses final design with desired performance. These are implemented in Unity1, Houdini2 and Tensorflow3: 1 “Unity.” Unity. Accessed September 09, 2018. https://uni- ty3d.com/. 2 “Home | SideFX.” Adding Detail with Normal, Bump, and Displacement Mapping. Accessed September 09, 2018. https://www.sidefx.com/. 3 “TensorFlow.” TensorFlow. Accessed September 09, 2018. https://www. tensorflow.org/.
1. H specifies design target,M offers parameteric manipulation.
2. H wait, M randomly generates design.
3.H chooses favorite c a t e g o r y, M c a t e g o r i z e s similar designs
4. H sets weights for fitness criteria, M displays fitness landscape.
Fig.10: User interface for Neuronal Stool (H: human, M: machine)
2-1. User specifies the design target Firstly, user specifies the following parameters: - height, depth, width of the stool - number of legs - types of legs (twisted/straight, random/regular location) - maximum weight When user changes the parameter, user can see the change in the user interface in real-time. 2-2.Design engine generate designs with random parameters Once the user sets the specification of the stool, the engine starts to automatically generate forms. During this automated design generation, AgentBased Modeling is used to confirm the following conditions:
12
Neuronal Stool
- maximum amount of metal flow per gate - minimum of two route from the feeder for any point in the geometry - sections to be smaller as they go away from feeders - maximum segment length - maximum weight These conditions are implemented through the following growth logic: 1. The curves start and end on feeder which is a leg of the stool. These start point and end point are fixed on the feeder and callled gates. Thus, one curve always has two gates fixed on the feeder. 2. One curve starts from one segment. Then, the curve is subdivided with certain length and agents are inserted between the gates. These agents can freely move in the space but their behavior is controlled by: cohesion, separation, alignment, attractor, repeller, boundary dis tance. 3. If the segment length is more than maximum segment length, the segment is split into three and a new segment is added. The middle segment and newly added segment are counted as new generation. Later according to this generation, the section of the segment is given. 4. The curve can grow and have multiple segments as long as the total segment length for the curve is below the certain length. This is to limit the amount of metal flow per gate. 5. The process 3 and 4 repeats until it reaches target weight for a stool or maximum time
1 . Ag e n t s a re i n s e r t e d i n between the gates on curves.
2. Agents travel in the space based on swarming behavior.
3. Cur ves are split into segments at certain length.
4. Cur ves keep growing with splitting rules.
5. The curves is frozen when total length reaches the limit.
6. The growth stops at maximum weight or time.
Fig.11: Curve Growth Logic
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
13
Parameters Controlled by Human and Machine Specifications
Legs Feeder radius top
Boundary radius and height
Feeder radius bottom
Target weight
Curve from riser Radius
Start hei
Average radius
Top curve
Rotation
Top curve mod
Max num curves
Gates and forces Subdiv length
Equal num or length
Max segment length
Per curve max distance
Initial force top
Connect dist
Initial force bottom Behaviors Boundary strength Boundary dist threshold
Swam strength Cohesion ratio Cohesion dist
Separation ratio Separation dist
Attractor strength Alignment ratio Alignment dist
Number or distance
Strength proportional to di
Fig.12: Parameters in the Design Engine and Text from Json File
14
Neuronal Stool
Data Number of legs
Leg location ranfom
Leg twist angle
ight
Start Angle
Each leg twist Leg twist rad
Create perophery
mode
de inward
Periphery double
Equally space gate
Initial force
Speed
Randomize
Allow curve gate overlap is overlap random
Bridge
Connect leg
Bridge regular or random
Gravity
Repeller strength
Num of random attractors
Repeller dist Reppeller on riser Reppeller on feeder Feeder attractor add randomness
ist
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
15
The figure12 shows parameters in the design engine. Parameters in the white box are specified in the previous step by users. Parameters in the gray boxes are randomly changed by the machine on the fly in order to create different varieties of designs.
Fig.13: Images Exported from Unity
The curve generation is done in Unity. After the generation of the curves, six images (one top view and five views from different sides) are saved for each design. Besides, the datas of the used parameters and points are exported as a text file in JSON format. Then, this JSON file is read to reconstruct curves in Houdini. Curves are smoothened in two ways: custom python script and degree of NURBs curves. Points that are in the threshold volumes are moved to create legs and top surface. Top surface can be flat or curved concavely/convexly. The curvature is parametrically manipulatable.
Target Surface
Clipping Points
Fig.14: Curve Manipulation Rules
16
Neuronal Stool
Smoothing Curves
Origianl Curves Degree of Nrbs: 4
Smoothed Curves by Python X = 90, Y = 0.7 Degree of Nurbs: 4
Smoothed Curves by Python X = 90, Y = 0.7 Degree of Nurbs: 9
Smoothed Curves by Python X = 90, Y = 0.7 Degree of Nurbs: 4 Points Clipped: X = 7, Y= 2
Fig.15: Changes of curves after the manipulation
After the manipulation of the curves and the points, certain thickness is assigned to each curve according to the types of curves(feeder, riser, generation 0-3). Then, particles are scattered on these pipes and mesh is created. There are two important parameters that affects the typology of the mesh. Droplet scale is the approximate desired distance between the particles and the generated surface. It must be smaller than the influence scale. Influence scale is the maximum distance at which particles interact. By changing the these parameters, different types of the mesh are created.
Droplet Scale
Influence Scale
Droplet Scale: 2 Influence Scale: 12
Droplet Scale: 2 Influence Scale: 7
Droplet Scale: 5 Influence Scale: 7
Fig.16: Parameters and Mesh Typology
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
17
2-3. Machine learning categories the similar design Functions for k-means clustering in Tensorflow library for Python is used to cluster images of the randomly generated design. 112 pixels * 112 pixels gray scale images of the curves are used as input. It calculates 100 steps.
Fig.17: Input Vector for Machine Learning
2-4. User selects favorite category and final design with desired performance
Fig.18: Design Alternatives
18
Neuronal Stool
3. Fabrication Size of the entire mould is 500mm * 500mm* 500mm for the stool 1 and 450mm * 500mm * 650mm for the stool2. These mould is segmented horizontally according to the geometry so that sand can be easily removed before casting. If there is many curves that does not go through the mould, mould becomes thinner. The height of the segmented mould varies from 20mm -50mm. These segmented moulds are packed inside the printing box of the 3D Printer Exone (1800mm * 1000mm * 700mm). The horizontal segmentation allows to print more efficiently as the printing time depends on the height of the printing box. The height was around 110mm for the stool1 and 145mm for the stool2. Each mould has number/alphabet printed on side and unique connections so that there is only one way to assemble the mould. The minimal diameter is 6mm, 4.5mm respectively and diameter gets smaller as it goes away from feeder. This helps to avoid cracking casued by a big mass of aluminium that cools down at the last moment next to thinner part. 700 degree liquid aluminium is poured and it takes around 10 seconds to fill the mould. In the last step of the design engine user interface, castability is judged by combination of percentage of segment generations and ratio between surface area and volume.
Fig.19: Assembled Moulds and Nested Moulds in the Printing Box
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
19
Experiments and Prototypes 1.Design Variations In order to observe the design space that the engine can explore, different ranges of parameters are tested.
Fig.20: Typology of Curves Produced by Variant Parameters
20
Neuronal Stool
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
21
2. Clustering Algorithm Before testing the clustering algorithm of machine learning, we created a tool to visualize design with parameters to foster understanding of correlation between genotype and phenotype of the design by human. It sorts the design from simple to complex according to the number of white pixels in the image.
Fig.21: Visualization of Parameters and Design
The following things are tested through the experiments: 1. Different Number of Clusters(10-20-30-40-50) 2. Cluster Number Optimization(Elbow method) 3. Multi-View Images As mentioned in the research setup, one of the problem with k-means clustering algorithm is that the number of the cluster needs to be specified at the beginning. Thus, firstly we tested different numbers of clusters by manually specifying numbers.
22
Neuronal Stool
As a qualitative assessment from figure22, there are categories that are similar to each other. It shows number of the clusters are not suitable for this set of images. Interestingly, number of the designs in each category varies a lot. The distribution of initial random points may be responsible for both of this. Yet, it also shows the potential that the engine can find unique designs regardless of the number of the similar designs.
Fig.22: Comparison of Design Cluetses (Top) and Designs in a Single Cluster (Bottom)
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
23
Change of Loss over Steps with Single Image Input
Elbow Method with Single Image Input
Change of Loss over Steps with Two Images Input
Elbow Method with Two Images Input
Fig.23: Comparison of Design Cluetses (Top) and Designs in a Single Cluster (Bottom)
In the next step, we tested different number of clusters for the same image inputs and recorded the loss to quantitatively assess the results. In the elbow method, it compares the loss with number of clusters and assume the point where the slope suddenly gets less inclination is the best number of clusters. We tested this method for two times one with dataset of single image for each design and the other one had two images per design. The result of our trial of this method is shown in figure23. It did not show the point where the inclination drastically drops. The potential cause of this can be initial points. Since the result of k-means clustering heavily relies on the initial points, it might be necessary to also test different random points for each number of clusters. Other possible improvements that are not investigated in this series of experiments are: 1. Combination of images and parameters information as input 2. CNN(convolutional neural network) to capture the feature of the input images 3. K-means ++ to choose the best random initial points 4. PCA(principal component analysis)
24
Neuronal Stool
Fig.24: Design Cluetses
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
25
Fig.25: Variations of Stool
26
Neuronal Stool
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
27
3. Prototypes by 3D Printed Sand Mould and Metal Casting Sand removel of the Stool I was successful. However, horizontally segmented moulds produced many parts that need to be post-processed. For the Stool II, the proportion of the stool is adjusted to make it thinner and taller which helps to layout the moulds in the printing box more efficiently. Stool I
Side Views of Stool I
Zoom-In Views of Stool I
28
Neuronal Stool
The top surface of the Stool II is concavely curved. Each segment has thinner oval section rotated along the segment. Also, The segments get thinner as it goes up besides as it goes distant from feeder. The total weight is lighter and the differentiated density of the curves is tested. Stool II
Side Views of Stool II
Zoom-In Views of Stool II
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
29
Fabrication Process
1. Unloding moulds from printer
2. Checking the sand left in the mould
3. Fixing moulds on a plate
4. Stackgng moulds
5. Pouring sand around the mould
6. Pouring liquid aluminum
7. Waiting for aluminum to freeze
8. Unpacking the mould
30
Neuronal Stool
Results and Discussion 1. Design Engine The figure25 is the final look of the user interface of the design engine. During the second step, it takes around 1 - 5 hours if the number of the design randomly generated is 1000. As a further development, the design engine should generate the design variations more quickly (10-100 times faster) to achieve the real-time user interaction.
1-a. Parametrically specify boundary and legs
1-b. Parametrically specify boundary and legs
2. Wait to see random design generation
3. Choose favorite design category
4-a. Set weights for fitness criteria
4-b. Set weights for fitness criteria
Fig.26: User Interface
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
31
2. Casted Stool The final dimension of the casted stool is 450mm by 450mm by 450mm. It weighs around 7.6kg. There were some part in the mould that the liquid aluminium did not reach. Still, the stool can accommodate people to sit on.
Casted Stool I
32
Neuronal Stool
Although we could not afford further post-processing for the stool, there exist several ways to improve the surface finishing including electrochemical treatment, chemical treatment, and coating. These process can improve the quality of the stool.
Casted Stool I with a Person Sitting on
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
33
Conclusion The scope of this research was to investigate the role of machine in the design process and integration of the fabrication constraints into the generative design process. We used metal casting a stool as an example case to explore this and developed a design engine and fabrication logic. The former was examined by 1. distinguishing parameters that human and machine should explore, 2. categorizing visually similar designs to better navigate the design space, 3. lively visualizing the most fitting design to the user specified criteria. The design engine demonstrated a wide range of design variations with variant properties. The latter was realised by using agent-based modeling to create the growth logic of the curves that inherit the constraints of aluminium behavior in the sand mould. Mould segmentation logic was developed to optimize sand removal and 3d printing time. The connection detail between the mould helped to assemble the mould in the right sequence. The casting was successful. The liquid aluminium filed almost all the cavity in the mould. However, during the post-processing, one part that connects three legs at the bottom was broken. Still, the stool can function to accommodate people to sit on. Future development is to train the engine to produce designs with better performance(castability, stability, and cost). Our design engine can help us- ers to find favorite design with desired performance. Yet, the design engine does not improve the quality of the design as the designs are product of ran- dom form generation. This can be improved by adding a process that judge the performance of the design while generating forms and inducing engine to generate better designs. Possible solution is to use reinforcement learn- ing to train agents. The machine is supposed to narrow down the design space which has higher fitness to the criteria while it generates designs. Another development can be to train the engine to create design from rough sketch(including legs and types of infill curves ) by users. It might be achieved by the use of GAN(generative adversarial network). Here, the role of computation is to refine the rough design from users to make it castable and stable. To conclude, the design engine successfully showed the vast design space and navigated the user to get to the design they want. The design engine can be improved by facilitating a process to judge the design during the random generation. Another outlook can be to use the engine to make user’s rough design sophisticated, castable, and stable. The 3d printing and aluminium casting process were successful and we got a functional stool out of the engine/digital world.
34
Neuronal Stool
Acknowledgement We would first like to thank our thesis advisor Mania Aghaei Meibodi and Benjamin Dillenburger for providing us with the continuous support on this thesis. Without their passionate participation and input, the development of the project could not have been successfully achieved.The casting of the stools were made possible by support from Christenguss AG. We would also like to thank Florian Christians and Milot Shala.
Bibliography Anzalone, Phillip, and Cory Clarke. “The Siren’s Call.” Fabrication: Examining the Digital Practice of Architecture [Proceedings of the 23rd Annual Conference of the Association for Computer Aided Design in Architecture and the 2004 Conference of the AIA Technology in Architectural Practice Knowledge Community / ISBN 0-9696665-2-7] Cambridge (Ontario) 8-14 November, 2004, 150-161. Arthur, David, and Sergei Vassilvitskii. “k-means++: The advantages of careful seeding.” In Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms, pp. 1027-1035. Society for Industrial and Applied Mathematics, 2007. MacQueen, James. “Some methods for classification and analysis of multivariate observations.” In Proceedings of the fifth Berkeley symposium on mathematical statistics and probability, vol. 1, no. 14, pp. 281-297. 1967. Thorndike, Robert L. “Who belongs in the family?.” Psychometrika 18, no. 4 (1953): 267276.
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
35
36
Neuronal Stool
MAS ETH in Architecture and Digital Fabrication 2017 / 2018
37