Post on 25-Jul-2016
description
FENG ZHOUWORK
SAMPLES
xianzhe07@outlook.com
CONTENTS
ENTRY-LEVEL UTILIZATION OF COMPUTATIONAL DESIGN TRAINING
PERSONAL DETAILS
ALIEN RESOLUTION
01 INTRODUCTION 02 CONPUTATIONAL SIMULATION OF MORPHOGENESIS02.1 Introduction of morphogenesis simulation02.2 Topology in digital simulation based on object-oriented programming02.3 The cybernetics of the development
03 WONDERLAND RESOLUTION : THE CONCEPT OF CELLULAR OF CELLULAR DIVISION DESIGN RESEARCHES03.1 Alien room and chair in wonderland 03.2 Alien within the familiar03.2.1 Wall design03.2.2 Column design03.2.3 Ceiling design
04 MULTI-MATERIAL ROBOTIC EXTRUSION APPLICATION04.1 Multi-material application strategys 04.2 Multi-material robotic extrusionsystem researches04.2.1 Mixing nozzle04.2.2 Framework of extruding system04.2.3 Arduino and controlling programme04.3 Initial extruding tests 04.4 Simulation interacts with fabrication limitations 04.5 Coral table for multi-material printing research 04.5.1 Multi-material printing research 01 - random printing by red and transparent PLA04.5.2 Multi-material printing research 02 - mirrored column section by red and transparent PLA04.5.3 Multi-material printing research 03 - wood filament and transparent PLA04.5.4 Multi-material printing research 04 - colorful HD-glass
XENOCELLS _ OUR PROJECT FOR THE EXO-EVOLUTION AT ZKM
CV
2014-2015 Master of Architecture MArch Graduate Architectural Design,Barttlet University College London Graduation: September 2015 Classification: Distinction Master thesis: Alien resolution (White rabbite)
2007-2012 Bachelor of Architecture Department of Architecture Hebei University of Engineering Graduation: September 2012 Classification: Distinction
EDUCATION
09/2015 B-pro show\ Bartlett10/2015 Exo-Evolution at ZKM\Germany
PERSONAL DETAILS
EXHIBITION
Name: Feng ZhouGender: Male Date of Birth: July 7, 1986Place of Birth: Tangshan, Hebei Province, ChinaTel.: 44-7835215966Email: xianzhe07@outlook.comNationality: ChinaMarriage Status: Unmarried
01
Language Mandarin Chinese English Professional Skills Processing, Rhino, Grasshopper, Sketchup, AutoCAD, Lumion, Vary, KeyShot Photoshop, Illustrate, Indesign, After Effects, Premiere, HAL(for robotic)
2012-2014 S&S (Architecture Firm) \Cofounder \Hunan Project: Public Utilities Service Center (Xiangxi\Hunan), Yancheng Cultural Center(Yancheng\Jiangsu), Experiment Park of Changsha University of Science and Technology (Changsha\Hunan)
2011-2012 HanDan Design Engineering Chinacoal\Internship\Hebei
2010-2011 Architecture Firm of Hebei University of Engineering\Internship\Hebei
Arduino, Robotic, Photography, Travel, Music
SKILLS
WORKING & INTERNSHIP EXPERIENCE
PERSONAL INTERESTS
02
Design research with flocking agents computer simulation
ENTRY-LEVEL UTILIZATION OF COMPUTATIONAL DESIGN TRAINING
03
Digital veil from the computer simulation of flocking agents
All women have slightly different beautiful shape on neck, shoulder and collarbone line. Initially, our agents move along the body shape, and their movement and density is affected by this kind of beautiful curve lines of womans back bone, collarbone and shoulder bone. At some points, explosion force makes agents to draw any aesthetic line
Agents movement following the body shape for the wearable function
Agents movement affected by explosion force is distorted and makes another curve
line
04
A new technology enables a new imagination. These days the radical advance of computer simulation and 3D printing technology is stimulating many designers and architects to develop new design methodologies. Especially, a data-driven computational work that can deal with the large number of data is emerging as a novel design method. This new computational work could be useful to simulate a complex natural morphogenesis because of its high processing power as Alan Turing, a pioneering computer scientist, once claimed that computers can produce real time physical behaviors of nature. For example, Andy Lomas (2013), who is a mathematician, has simulated a cellular division behavior in his computer work. All geometrical elements of the cellular form such as points, lines and faces are interacting with each other in the elaborate sub-division algorithm during the topological morphogenesis process. Thus, the evolving process of the cellular division computer simulation can be useful for the design of a complex structure with high resolution aesthetics. In addition, this intricate design can be realized as the tangible object due to the swift development of 3D printing technology. Especially, the robotic fabrication method should facilitate to print
Given these situations, this research aims to explore a new architectural design possibility as an artificial organic structure where all structural elements such as columns, walls and slabs and ornamental elements such as pattern and color are integrated into the one continuous structural situation like natural organism, e.g. petal and coral, by simulating the complex cellular division morphogenesis. Furthermore, a multi-material robotic fabrication was experimented to materialize the complex design based on the cellular division behavior. This could be called as the Retrieval of high resolution aesthetics because the high resolution design has been achieved by the advanced computational work and 3D printing technology instead of craftsmen.
All design works of the research are conducted by White Rabbit which is a student team from the Research Cluster 1 in March Architectural Design at the Bartlett.
01 Introduction
ALIEN RESOLUTIONDESIGN RESEARCH WITH THE CELLULAR DIVISION COMPUTER SIMULATION AND MULTI-MATERIAL ROBOTIC FABRICATION
05
06
07
During the last century, the limitation of static Cartesian space had been recognized in different field. Then, with the studies of curvilinear motion progressing, a dynamic system is involved. For instance, the morphology studies of DArcy Thompson in 1917, and then, the evolutionary landscape studies from biologic and mathematic field by Conrad Waddington in 1957 and Rene Thom in 1980 respectively. After that, in 1999, Greg Lynn pre-sented that dynamic system, which differs from the abstractly static space with the elimination of force and motion, should be also involved in design field by using computational design soft-ware rather than purely modeling tool, since elements are placed in a continuously vector field and has the attribute of vector. It will benefit designers for dealing with curvilinear design issues in complex relationship with external environment. Meanwhile, dynamic system offered a platform that could cope with design issues with both the macro entities in contextual space and parti-cles in micro scale which always keep dynamic rather than static.
02.1 INTRODUCTION OF MORPHOGENESIS SIMULATION
08
02 Computational simula-tion of morphogenesis
09
2
0
1
34
5
6
2
0
1
34
5
6
2
0
1
34
5
6
2
0
1
34
5
6
2
0
1
3
4
3
0
1
2
4
5
2
0
1
34
5
6
2
0
1
34
5
6
Topology Transform Method:
1.Imput particles, springs(not duplicated), and normal of each particle. And then create lists of each particle which named linkedparticles and linkedsprings. Put all linked particles and springs in each list.
2. Sort linked particles and springs of each father particle. Method: select the first particle of linkedparti-cles, and then check whether the rest particles, which are in the linkedparticles list, contained by the linked-particles list of the first particle. If true, remove it from the father particles linkedparticles list and add it to the index 2, break. and so on. And same as springs. ( if there is not initial normal, it needs to check wheth-er the sorted linkedparticles and springs of all father particles are in counter clockwise, meanwhile, take care of the concave and convex).
3. Select index zero and the mid of the linkedParticles as cleavage. And then, find the center of smaller index side, by summing all the particle from zero to mid and father particles location and divide by the times of sum opration. After that, create daughter particle at the center. Finally, add the daughter particle into the global arrayOfParticles, and assign the index to the particle dot id.
4. Add index zero to mid and father particle into daughter particles linkedParticles in order. Create new spings, between daughter particle and each particle in linkedParticles of daughter particle. Then, add the spings into the linkedSprings of daughter particle by the same order as linkedParticles. And then need to remove the sping_1 and spring_2. However, before removing these two spings, it need to be doing the following steps so that all the linedPar-ticles and Spings of each particle in the correct order.
5. Add daughter particle to particle_0 and particle_3 linkedParticles in the correct order. Firstly, check the father particle and particle_1s index of particle_0s linkedParticles list. After that, let fathers index minus particle_1s. If the absolute value of result equals one, then, add the daughter particle and Index 0 spring at the bigger index of particle_0s lists. Else if the abso-lute value of result are bigger than one, then, add the daughter particle and Index 0 spring at Index zero of particle_0s lists. Finally, use the same method adding the daughter particle and Index 3 spring to particle_3s linkedParticles list (by check father particle and particle_2). To sum up, this method is based on that each of particle_0 and 3 only gain one more partice in the division process, topologically speaking.
6. Deal with the each particle between particle_0 and particle_3. For instance, particle_1. Check the father particles index in the linkedParticles of particle_1. And then, remove the father particle from particle_1s linkedParticle, then add the daughter particle and the Index 1 spring of daughters linkedSprings at the index of particle_1. After that, use the same method dealing with the other particles between particle_0 and particle_3. To sum up, this way is based on that the particles between cleavage only have one linked particle and spring replaced by the daughter particle and spring which is connected it and daughter particle. Topologically, the particles between particle_0 and 3, are not changed.
7. For the father particle, remove the particles and springs between cleavage from its lists. Meanwhile, remove the springs from the globle arrayOfSprings. And then, add the daughter particle and its last spring of linkedParticles at the index one of father particle. All in all, there is not particle remove from the global and there are only the springs which are between cleavage removed from global. The most important thing is that all the operations of father particle must be at last, since the change of father particle will change both its globle index and linkedParticles index. Topologically, father particle remove the particles and springs between cleavage. Then,only one daughter particle and connected spring between them added into its lists.
8. Add all the springs from daughter particles linked springs to the global arrayOfSprings. Then, assign each new added springs index of global to each springs id. This step must after all the operations, in order to get the correct id of each spring.
2
0
1
34
5
6
2
0
1
34
5
6
2
0
1
34
5
6
2
0
1
34
5
6
2
0
1
3
4
3
0
1
2
4
5
2
0
1
34
5
6
2
0
1
34
5
6
Topology Transform Method:
1.Imput particles, springs(not duplicated), and normal of each particle. And then create lists of each particle which named linkedparticles and linkedsprings. Put all linked particles and springs in each list.
2. Sort linked particles and springs of each father particle. Method: select the first particle of linkedparti-cles, and then check whether the rest particles, which are in the linkedparticles list, contained by the linked-particles list of the first particle. If true, remove it from the father particles linkedparticles list and add it to the index 2, break. and so on. And same as springs. ( if there is not initial normal, it needs to check wheth-er the sorted linkedparticles and springs of all father particles are in counter clockwise, meanwhile, take care of the concave and convex).
3. Select index zero and the mid of the linkedParticles as cleavage. And then, find the center of smaller index side, by summing all the particle from zero to mid and father particles location and divide by the times of sum opration. After that, create daughter particle at the center. Finally, add the daughter particle into the global arrayOfParticles, and assign the index to the particle dot id.
4. Add index zero to mid and father particle into daughter particles linkedParticles in order. Create new spings, between daughter particle and each particle in linkedParticles of daughter particle. Then, add the spings into the linkedSprings of daughter particle by the same order as linkedParticles. And then need to remove the sping_1 and spring_2. However, before removing these two spings, it need to be doing the following steps so that all the linedPar-ticles and Spings of each particle in the correct order.
5. Add daughter particle to particle_0 and particle_3 linkedParticles in the correct order. Firstly, check the father particle and particle_1s index of particle_0s linkedParticles list. After that, let fathers index minus particle_1s. If the absolute value of result equals one, then, add the daughter particle and Index 0 spring at the bigger index of particle_0s lists. Else if the abso-lute value of result are bigger than one, then, add the daughter particle and Index 0 spring at Index zero of particle_0s lists. Finally, use the same method adding the daughter particle and Index 3 spring to particle_3s linkedParticles list (by check father particle and particle_2). To sum up, this method is based on that each of particle_0 and 3 only gain one more partice in the division process, topologically speaking.
6. Deal with the each particle between particle_0 and particle_3. For instance, particle_1. Check the father particles index in the linkedParticles of particle_1. And then, remove the father particle from particle_1s linkedParticle, then add the daughter particle and the Index 1 spring of daughters linkedSprings at the index of particle_1. After that, use the same method dealing with the other particles between particle_0 and particle_3. To sum up, this way is based on that the particles between cleavage only have one linked particle and spring replaced by the daughter particle and spring which is connected it and daughter particle. Topologically, the particles between particle_0 and 3, are not changed.
7. For the father particle, remove the particles and springs between cleavage from its lists. Meanwhile, remove the springs from the globle arrayOfSprings. And then, add the daughter particle and its last spring of linkedParticles at the index one of father particle. All in all, there is not particle remove from the global and there are only the springs which are between cleavage removed from global. The most important thing is that all the operations of father particle must be at last, since the change of father particle will change both its globle index and linkedParticles index. Topologically, father particle remove the particles and springs between cleavage. Then,only one daughter particle and connected spring between them added into its lists.
8. Add all the springs from daughter particles linked springs to the global arrayOfSprings. Then, assign each new added springs index of global to each springs id. This step must after all the operations, in order to get the correct id of each spring.
Topological transform process:
02.2 TOPOLOGY IN DIGITAL SIMULATION BASED ON OBJECT-ORIENTED PROGRAMMING
2
0
1
34
5
6
2
0
1
34
5
6
2
0
1
34
5
6
2
0
1
34
5
6
2
0
1
3
4
3
0
1
2
4
5
2
0
1
34
5
6
2
0
1
34
5
6
Topology Transform Method:
1.Imput particles, springs(not duplicated), and normal of each particle. And then create lists of each particle which named linkedparticles and linkedsprings. Put all linked particles and springs in each list.
2. Sort linked particles and springs of each father particle. Method: select the first particle of linkedparti-cles, and then check whether the rest particles, which are in the linkedparticles list, contained by the linked-particles list of the first particle. If true, remove it from the father particles linkedparticles list and add it to the index 2, break. and so on. And same as springs. ( if there is not initial normal, it needs to check wheth-er the sorted linkedparticles and springs of all father particles are in counter clockwise, meanwhile, take care of the concave and convex).
3. Select index zero and the mid of the linkedParticles as cleavage. And then, find the center of smaller index side, by summing all the particle from zero to mid and father particles location and divide by the times of sum opration. After that, create daughter particle at the center. Finally, add the daughter particle into the global arrayOfParticles, and assign the index to the particle dot id.
4. Add index zero to mid and father particle into daughter particles linkedParticles in order. Create new spings, between daughter particle and each particle in linkedParticles of daughter particle. Then, add the spings into the linkedSprings of daughter particle by the same order as linkedParticles. And then need to remove the sping_1 and spring_2. However, before removing these two spings, it need to be doing the following steps so that all the linedPar-ticles and Spings of each particle in the correct order.
5. Add daughter particle to particle_0 and particle_3 linkedParticles in the correct order. Firstly, check the father particle and particle_1s index of particle_0s linkedParticles list. After that, let fathers index minus particle_1s. If the absolute value of result equals one, then, add the daughter particle and Index 0 spring at the bigger index of particle_0s lists. Else if the abso-lute value of result are bigger than one, then, add the daughter particle and Index 0 spring at Index zero of particle_0s lists. Finally, use the same method adding the daughter particle and Index 3 spring to particle_3s linkedParticles list (by check father particle and particle_2). To sum up, this method is based on that each of particle_0 and 3 only gain one more partice in the division process, topologically speaking.
6. Deal with the each particle between particle_0 and particle_3. For instance, particle_1. Check the father particles index in the linkedParticles of particle_1. And then, remove the father particle from particle_1s linkedParticle, then add the daughter particle and the Index 1 spring of daughters linkedSprings at the index of particle_1. After that, use the same method dealing with the other particles between particle_0 and particle_3. To sum up, this way is based on that the particles between cleavage only have one linked particle and spring replaced by the daughter particle and spring which is connected it and daughter particle. Topologically, the particles between particle_0 and 3, are not changed.
7. For the father particle, remove the particles and springs between cleavage from its lists. Meanwhile, remove the springs from the globle arrayOfSprings. And then, add the daughter particle and its last spring of linkedParticles at the index one of father particle. All in all, there is not particle remove from the global and there are only the springs which are between cleavage removed from global. The most important thing is that all the operations of father particle must be at last, since the change of father particle will change both its globle index and linkedParticles index. Topologically, father particle remove the particles and springs between cleavage. Then,only one daughter particle and connected spring between them added into its lists.
8. Add all the springs from daughter particles linked springs to the global arrayOfSprings. Then, assign each new added springs index of global to each springs id. This step must after all the operations, in order to get the correct id of each spring.
2
0
1
34
5
6
2
0
1
34
5
6
2
0
1
34
5
6
2
0
1
34
5
6
2
0
1
3
4
3
0
1
2
4
5
2
0
1
34
5
6
2
0
1
34
5
6
Topology Transform Method:
1.Imput particles, springs(not duplicated), and normal of each particle. And then create lists of each particle which named linkedparticles and linkedsprings. Put all linked particles and springs in each list.
2. Sort linked particles and springs of each father particle. Method: select the first particle of linkedparti-cles, and then check whether the rest particles, which are in the linkedparticles list, contained by the linked-particles list of the first particle. If true, remove it from the father particles linkedparticles list and add it to the index 2, break. and so on. And same as springs. ( if there is not initial normal, it needs to check wheth-er the sorted linkedparticles and springs of all father particles are in counter clockwise, meanwhile, take care of the concave and convex).
3. Select index zero and the mid of the linkedParticles as cleavage. And then, find the center of smaller index side, by summing all the particle from zero to mid and father particles location and divide by the times of sum opration. After that, create daughter particle at the center. Finally, add the daughter particle into the global arrayOfParticles, and assign the index to the particle dot id.
4. Add index zero to mid and father particle into daughter particles linkedParticles in order. Create new spings, between daughter particle and each particle in linkedParticles of daughter particle. Then, add the spings into the linkedSprings of daughter particle by the same order as linkedParticles. And then need to remove the sping_1 and spring_2. However, before removing these two spings, it need to be doing the following steps so that all the linedPar-ticles and Spings of each particle in the correct order.
5. Add daughter particle to particle_0 and particle_3 linkedParticles in the correct order. Firstly, check the father particle and particle_1s index of particle_0s linkedParticles list. After that, let fathers index minus particle_1s. If the absolute value of result equals one, then, add the daughter particle and Index 0 spring at the bigger index of particle_0s lists. Else if the abso-lute value of result are bigger than one, then, add the daughter particle and Index 0 spring at Index zero of particle_0s lists. Finally, use the same method adding the daughter particle and Index 3 spring to particle_3s linkedParticles list (by check father particle and particle_2). To sum up, this method is based on that each of particle_0 and 3 only gain one more partice in the division process, topologically speaking.
6. Deal with the each particle between particle_0 and particle_3. For instance, particle_1. Check the father particles index in the linkedParticles of particle_1. And then, remove the father particle from particle_1s linkedParticle, then add the daughter particle and the Index 1 spring of daughters linkedSprings at the index of particle_1. After that, use the same method dealing with the other particles between particle_0 and particle_3. To sum up, this way is based on that the particles between cleavage only have one linked particle and spring replaced by the daughter particle and spring which is connected it and daughter particle. Topologically, the particles between particle_0 and 3, are not changed.
7. For the father particle, remove the particles and springs between cleavage from its lists. Meanwhile, remove the springs from the globle arrayOfSprings. And then, add the daughter particle and its last spring of linkedParticles at the index one of father particle. All in all, there is not particle remove from the global and there are only the springs which are between cleavage removed from global. The most important thing is that all the operations of father particle must be at last, since the change of father particle will change both its globle index and linkedParticles index. Topologically, father particle remove the particles and springs between cleavage. Then,only one daughter particle and connected spring between them added into its lists.
8. Add all the springs from daughter particles linked springs to the global arrayOfSprings. Then, assign each new added springs index of global to each springs id. This step must after all the operations, in order to get the correct id of each spring.
10
2
0
1
34
5
6
2
0
1
34
5
6
2
0
1
34
5
6
2
0
1
34
5
6
2
0
1
3
4
3
0
1
2
4
5
2
0
1
34
5
6
2
0
1
34
5
6
Topology Transform Method:
1.Imput particles, springs(not duplicated), and normal of each particle. And then create lists of each particle which named linkedparticles and linkedsprings. Put all linked particles and springs in each list.
2. Sort linked particles and springs of each father particle. Method: select the first particle of linkedparti-cles, and then check whether the rest particles, which are in the linkedparticles list, contained by the linked-particles list of the first particle. If true, remove it from the father particles linkedparticles list and add it to the index 2, break. and so on. And same as springs. ( if there is not initial normal, it needs to check wheth-er the sorted linkedparticles and springs of all father particles are in counter clockwise, meanwhile, take care of the concave and convex).
3. Select index zero and the mid of the linkedParticles as cleavage. And then, find the center of smaller index side, by summing all the particle from zero to mid and father particles location and divide by the times of sum opration. After that, create daughter particle at the center. Finally, add the daughter particle into the global arrayOfParticles, and assign the index to the particle dot id.
4. Add index zero to mid and father particle into daughter particles linkedParticles in order. Create new spings, between daughter particle and each particle in linkedParticles of daughter particle. Then, add the spings into the linkedSprings of daughter particle by the same order as linkedParticles. And then need to remove the sping_1 and spring_2. However, before removing these two spings, it need to be doing the following steps so that all the linedPar-ticles and Spings of each particle in the correct order.
5. Add daughter particle to particle_0 and particle_3 linkedParticles in the correct order. Firstly, check the father particle and particle_1s index of particle_0s linkedParticles list. After that, let fathers index minus particle_1s. If the absolute value of result equals one, then, add the daughter particle and Index 0 spring at the bigger index of particle_0s lists. Else if the abso-lute value of result are bigger than one, then, add the daughter particle and Index 0 spring at Index zero of particle_0s lists. Finally, use the same method adding the daughter particle and Index 3 spring to particle_3s linkedParticles list (by check father particle and particle_2). To sum up, this method is based on that each of particle_0 and 3 only gain one more partice in the division process, topologically speaking.
6. Deal with the each particle between particle_0 and particle_3. For instance, particle_1. Check the father particles index in the linkedParticles of particle_1. And then, remove the father particle from particle_1s linkedParticle, then add the daughter particle and the Index 1 spring of daughters linkedSprings at the index of particle_1. After that, use the same method dealing with the other particles between particle_0 and particle_3. To sum up, this way is based on that the particles between cleavage only have one linked particle and spring replaced by the daughter particle and spring which is connected it and daughter particle. Topologically, the particles between particle_0 and 3, are not changed.
7. For the father particle, remove the particles and springs between cleavage from its lists. Meanwhile, remove the springs from the globle arrayOfSprings. And then, add the daughter particle and its last spring of linkedParticles at the index one of father particle. All in all, there is not particle remove from the global and there are only the springs which are between cleavage removed from global. The most important thing is that all the operations of father particle must be at last, since the change of father particle will change both its globle index and linkedParticles index. Topologically, father particle remove the particles and springs between cleavage. Then,only one daughter particle and connected spring between them added into its lists.
8. Add all the springs from daughter particles linked springs to the global arrayOfSprings. Then, assign each new added springs index of global to each springs id. This step must after all the operations, in order to get the correct id of each spring.
BIASBALANCE
vS: 4
vD: 4
vF: 4 vF: 4
vS: 8
vS: 6
vD: 5
vF: 6 vF: 5
vS: 10
vS: 8
vD: 6
vF: 8 vF: 6
vS: 12
vS: 10
vD: 7
vF: 10 vF: 7
vS: 14
vS: 5
vD: 4
vF: 5 vF: 5
vS: 9
vS: 7
vD: 5
vF: 7 vF: 6
vS: 11
vS: 9
vD: 6
vF: 9 vF: 7
vS: 13
vS: 11
vD: 7
vF: 11 vF: 8
vS: 15
Cleavage Form Study I: After we have this dynamic system, we start to research the characteristics and performance between cells with different topologic status. During the generative process, some cells keep symmetry, however some of them are always breaking the symmetry.
BiasGeometric bias happening during the transform when the cell segmented.
11
BalanceKeeping geometric balance during the transform when the cell segmented.
BIASBALANCE
vS: 4
vD: 4
vF: 4 vF: 4
vS: 8
vS: 6
vD: 5
vF: 6 vF: 5
vS: 10
vS: 8
vD: 6
vF: 8 vF: 6
vS: 12
vS: 10
vD: 7
vF: 10 vF: 7
vS: 14
vS: 5
vD: 4
vF: 5 vF: 5
vS: 9
vS: 7
vD: 5
vF: 7 vF: 6
vS: 11
vS: 9
vD: 6
vF: 9 vF: 7
vS: 13
vS: 11
vD: 7
vF: 11 vF: 8
vS: 15
Cleavage Form Study II:
12
Forces in morphognesis processFor dealing with the geometry, the fundamental system used particles as agents of basic elements that could be regarding as cells in the embryo. During the simulation process, the entire system could maintain a structural stability when it interacts with the perturbation from extrinsic environ-ment.
vertexNormal
bulge
Dist
h
Res
tLen
gth(
s) P
bulgeTarget
LR
planarTargetSpringTarget
All the forces happened simoutiously, after the compromising between each the element, the system will reach a state that each element tend to stable perturbation.
There are mainly four types of force which is spring force, planar force, bulge force, and separation force.
02.3 THE CYBERNETICS OF THE DEVELOPMENT
03.1 ALICE ROOM AND CHAIR IN WONDERLANDDesign outcomes share the same level of resolution. Thus, different orders of scale and different directionality of sub-division behavior could be major factors for the design. Small change of parameters of the cellular division algorithm can result in utterly different design results, and the form and resolution of the design are deeply connected with the time flow in the simulation. Totally different design results have been generated in the topological evolution process from the same initial simple square mesh by adjusting several parameters like cells weight, which decides affected level of the gravity force, as seen in the chair and room design.
13
WONDERLAND RESOLUTIONDifferent orders of scale sourced from the shared design coreTopological morphogenesis of cellular division was exploited as the core design language for the diverse scale of design research from micro to macro. All design outcomes have the same resolution, which is the maximum resolution that Processing can reach, and share the same design kernel. However, depending on the different orders of scale, the resolution is treated as the different aspect of design. So, this is the Wonderland Resolution.
Wonderland Resolution: the concept of cellular division design researches
14
frame 10
frame 90
frame 170
frame 250
frame 290
frame 30
frame 110
frame 190
frame 270
frame 310 Alice Room that evolved from a simple squre topology
frame 50
frame 130
frame 210
frame 70
frame 150
frame 230
15
Alice Chair that evolved from the same squre topology as the Alice Room
frame 10
frame 90
frame 170
frame 250
frame 290
frame 30
frame 110
frame 190
frame 270
frame 310
frame 50
frame 130
frame 210
frame 70
frame 150
frame 230
16
165533117
wall column ceiling
Mutation of ordinary things with increased resolutionNew design method allows designers to imagine the unimaginable before. As a specific design attempt, it was experimented that how familiar and common elements in an ordinary space such as a simple wall, column and ceiling could be mutated into an alien thing with high resolution and complex aesthetics by the cellular division computer simulation. The reason of this attempt is to show that an ordinary space could be involved into the new generative design area in which an elaborate morphogenesis takes place as if a natural organism gradually changes into a complex structure from a simple initial form retaining structural stability. Due to the fact that this kind of complex design with a huge number of triangle mesh faces could be realized solely by the 3D printing fabrication method, this design try could be meaningful for the future digital design and fabrication of architecture.
03.2ALIEN WITHIN THE FAMILIAR
3218
frame 10
frame 50
frame 90
frame 130
frame170
frame 210 frame 230
frame 20
frame 60
frame 100
frame 140
frame 180
frame 220 frame 240
frame 30
frame 70
frame 110
frame 150
frame 190
frame 40
frame 80
frame 120
frame 160
frame 200
19
An ordinary wall was chosen as the first mutated target. Initially, a simple square mesh was imported into the virtual space, and then particular vertices of mesh are designated to have the sub-division potential. As the cellular division progresses, the initial simple mesh has gradually transformed into the mutated wall with heterogeneous resolution attributed to the different division frequency of different type of cells.
03.2.1WALL DESIGN
20
WALL
21
Breaking the symmetry with increased resolution
Increased resolution within the familiarmutation from an ordinary thing into an alien thing through the cellular division simulation
22
Second design target was column. For the column mutation, a simple cylinder was exploited as the initial topology. In this design process, it was seen that the gradual breaking the symmetry with increased resolution by the cellular divisions random behavior. The controllable division frequency and directionality were planned for the column to have intricate inside pattern and smoother outside pattern for the particular column design.
03.2.2COLUMN DESIGN
As seen in the column design, the design originality and the complex aesthetic value are placed on the balance between the unpredictable random directionality of the cells sub-division behavior and the predictable intentional directionality of the cells different division frequency and weight
Cellular divsion as the desgin language could be applied to the diverse scale of design from micro to macro. In the weired Wonderland designed by White Rabbit, the resolution is flexible and has a different design and structural potential depending on the scale. At a large spatial scale, the gap between layered geometry could be exploited for the sun light performance. With increased resolution by the cellular divsion behavior, a ceiling is mutated into the unseen complex structure that entails complex scattering light like Iceland Ice caves.
03.3.3 CEILING DESIGN
Complex scattering light in the mutated ceiling
Ice cave in Iceland
23
CEILING
frame 100
frame 900
frame 1700
frame 2500
frame 300
frame 1100
frame 1900
frame 2700
frame 500
frame 1300
frame 2100
frame 2900
frame 700
frame 1500
frame 2300
frame 3100
An initial simple square mesh evolves into the complex vaults shape generating walls, columns, and the intricate ceiling pattern whilst interacting with gravity force in the cellular division process.
24
A computer simulation enables to have a complex catenary design. This is because the high resolution ornamental pattern can be integrated into the continuous structural system. Tens of thousands of agents in the cellular division simulation constitute structural elements and ornamental pattern within the generative design process retaining the structural equilibrium. This could mean that the extensive integration between design and structure could be possible in the computational catenary model. In addition, this kind of complex synthesis can result in the new geometric shape and the unseen high resolution aesthetics.
GENERATIVE SPACE WITH INCREASED RESOLUTION
25
A complex computational vaults structure integrates column, wall and ceiling into a continuous structural system with high resolution aesthetics. This kind of complexity cannot be achieved by the manual drawing or conventional digital design methods. Taking account of that the cellular division computer simulation as the new design method can generate a new kind of unseen complex design outcomes, this could have an analogy to the Gaudis design novelty. According to Huerta (2006), Gaudi not only applied hanging models generally but also extensively exploited them for the study of new geometric shapes for vaults. Consequently, Gaudi had designed his original hyperbolic paraboloid vaults, which has the complexity that had been unimaginable by the drawing technic in those times (Huerta, 2006). Now, it was shown that a computer can have the more complex hyperbolic paraboloid vaults that cannot be imaginable with the conventional design method.
COMPUTATIONAL VAULTS STRUCTURE
The computational vaults structure from the cell-division morphogenesis
Hyper vaults of the portico of the church of the Colonia Guell (Tomlow, 1989)
26
27
Large-scale multi-material printing 3-D printing is a revolutionary fabrication method, But most of the 3-D printing methods only depend on single material. Dif-ferent parts of architecture usually need different materials. So multi-materials printing is what should achieve in this project.
To achieve the basic algorithmscell division by GPU computing is our main task in simulation Under the precondition that quantitative restriction has been substantially removed by GPU computing, cell division, as the most basic rule for the existence and life extension of most of the higher organism on earth, has been introduced to architectural design, thus forming many architectures featuring self-growth and in-depth evolution. The multiple divisions and in-depth evolution are manifested by the major feature of high resolution. Under such circumstances, the realization of high resolution has been made one of the major targets in fabrication. To this end, the robotic, a precision construction tool that is superior than manual operation and high-precision and customized 3D printing technology under the control of computer programs are chosen as the major approach to fabrication. However, it is worth-noticing that most of the things in the world is not composed of single materials, which, in other words, cannot meet the complicated functions or demands of things. Therefore, fabrication is mainly targeted at the realization of multi-material 3D printing.
Multi-material depositing with robotic arm
28
Multi-material robotic extru-sion application
High ResolutionHigh proportion of carbon fiber
Low ResolutionLow proportion of carbon fiber
Mid ResolutionMid proportion of carbon fiber
29
High ResolutionHigh proportion of carbon fiber
Low ResolutionLow proportion of carbon fiber
Mid ResolutionMid proportion of carbon fiber
04.1 MULTI-MATERIAL APPLICATION STRATEGY Multi-material application strategy 1 _ ResolutionHigh resolution parts are weaker than low resolution parts. So as to strengthen whole model, different proportion of carbon fiber could be applied to the different resolution area mixed with PLA
30
High Pressure Low PressureMid Pressure
MULTI-MATERIAL APPLICATION STRATEGY Multi-material application strategy 2 _ Structural loadCarbon fiber is a strong and light material. Applying different proportion carbon fiber depend on the load distribution could strengthen structure.Because division simulation based on the spring physics, We can analyze tensile strength depending on the standard length of spring line. Color indicates more tensile stress as closer to the blue. And, more compression stress closer to the red. Different part of structure are in different stress state.For example, some part play a role of column, we can use MORE carbon fiber, so that it can support the whole structure or even more.
31
High Pressure Low PressureMid Pressure
Display of tensile strength depending on the spring length
Closer to the Blue: more tensile stressCloser to the Red: more compression stress
32
MULTI-MATERIAL APPLICATION STRATEGY Multi-material application strategy 3 _ MappingModels usually show static information. In our project, cell division is foundational logic, we can use different proportions of another col-or to show the growth trend in next moment. Thus, we could show dynamic information by static model. In simulation model, points in different part has different growth strength. Like some parts are in low growth strength, that means they dont need to grow any more. And some parts are in high growth strength, they need to grow more frequently. Thus, We can use different types or different colors of material to transmit these information.
33
frame 1
frame 50
frame 100
frame 150
frame 200
frame 250
frame 10
frame 60
frame 110
frame 160
frame 210
frame 260
frame 20
frame 70
frame 120
frame 170
frame 220
frame 270
frame 30
frame 80
frame 130
frame 180
frame 230
frame 280
frame 40
frame 90
frame 140
frame 190
frame 240
frame 290
Mapping by the division frequencyIn the simulation system, there are also many inherent infromation in each cell, but some of them impact the system implicitly rather than directly affecting the form, such as the division frequency.
34
04.2.1 Mixing Nozzle
Generation 08 Generation 07 Generation 06 Generation 0535
04.2 MULTI-MATERIAL ROBOTIC EX-
TRUSIONSYSTEM RESEARCHES
Generation 04 Generation 03 Generation 03 Generation 03 Generation 03 36
3-D printing is a revolutionary fabrication method, but most of the 3-D printing methods only depend on a single material. It is generally understood that different parts of architecture tend to need different materials. Therefore, it would be especially advantageous to achieve multi-material printing. The objective of this project is to attempt to melt most four different types of material, combine them together for extrusion, and extrude various proportion of each material, depending on location or time. In princip, We can accurately achieve a specific proportion of each material for any point of the whole model.
To accomplish that, tool making is the first stage. During this process, there are three main jobs, such as mixing nozzle, framework of extruding system, arduino, and controling programe.
Mixing Nozzle
37
38
Mixing Nozzle-generation 01
Robotic
Heaters
Thermal Sensor
Carbon Fiber Extruder
Plastic Extruder
Gear
Gear
Motor
Filament
Teflon Pipe
39
Robotic
Motor
Gear
Gear
Filament
Teflon Pipe
Control the gear stop/on
Diverse Color Concentration and Ratio Dpending on the Pattern Pntricacy
Plastic 1:51:1 Carbon Fiber
40
Mixing Nozzle-generation 02
1.The accurate ratio:As the space of cavity inside is too large, there would be some time delay. It is hard to get accurate ratio.
2.Protect solid material touching spring blades:If material is not melt well enough inside of the nozzle, it is very easy to stuck and
break the fan.
41
Nozzle design 02Compared with the concept design, fan is removed to narrow the nozzle space.
But it is still in concept stage.
42
Mixing Nozzle-generation 03
43
Failed Nozzle (F1,F2)
Nozzle for test (T1,T2)These two nozzles are for feasibility Test. There are 4 filament tunnels, three holes for heaters and a hole for senser. We tested manually.
Nozzle for test (T1,T2)This test shows high feasibility for multi-material extrusion.
Material Test
44
Mixing Nozzle-generation 04
45
Nozzle for test (T3)Considering connection with other parts of extruder and real volume, we did this test. We tried to minimize the volume of nozzle, so as to nozzle can be heated easily.So we make diameter only 30mm,and the bottom cone angle is reduced to 8.
Material test : Carbon fiber + transparent PLAOutcome : The filament from central tunnel still can not totally melt.Analysis :The middle filament cannot be melt well. The sharp shape of the bottom cone and small diameter lead to small volume which can cause small heat capacity, then the nozzle temperature drop rapidly, and
leading to nozzle block.
46
Mixing Nozzle-generation 05
47
Nozzle for test (T4)Diameter is added to 32mm. The angle of lower half part is changed to 12. The central hole is changed from 3.5mm to 2.5mm.
Material test : Half-transparent Yellow green blue PLAAnalysis : Filament in central tunnel could be melt well. The increasing diameter and less sharp angle increase nozzle volume and then expand heat capacity. These measures release the unstable of the temperature. However the pressure of extrusion is still high.
48
Mixing Nozzle-generation 06
49
Nozzle for test (T4)For releasing the pressure of extrusion. We try different angles of slant filament funnel.
Material test : Transparent Red/Green/Blue PLA ABSOutcome : Under the same situation, the extruding pressure of ABS is smaller than PLAAnalysis : In this nozzle, we use the angle of 10 (before we used 15) for slant filament tunnel. But there is no releasing of extrusion pressure
compared with the angle of 15.
50
Mixing Nozzle-generation 07
51
Formal nozzle for 4 filaments (X1)In the past nozzles, four filament tunnels meet at the same position. For this nozzle we change the angle of different slant tunnels, so that material can meet at different points. This improvement reduce the extrusion pressure efficiently.
Material Test PLA
OUTCOMEMulti-material get first success. And there are obviously improve about the pressure of extrusion.
52
Mixing Nozzle-generation 08
53
Material Test pink white PLA
OUTCOMEExtrusion smoothly without blistering. PLA melt to liquid while ABS melt to meltion, they show different property.
54
55
04.2.2 FRAMEWORK OF EXTRUDING SYSTEMBesides the nozzle design, another important point about tool is the design of supporting structure. Depending on the analysis of 3D-pring nozzle theory and our test process, we take into consideration the four aspects, namely, the straight tunnel, smooth lining, isolation between hot and cold tunnel, and suitable tunnel size for filament in the design of filament tunnels. To begin with, straight tunnel is to reduce the pressure on it through filament, which will probably break the filament tunnel. Then, smooth lining is utilized to make sure that filament can go through the tunnel easily. After that, if the isolation between cold and hot tunnels cannot work well, some filaments will have to be melted in cold tunnel; consequently, tunnel blocking will occur at the connection of cold and hot tunnels. Finally, suitable tunnel size will protect the filament from breakage in tunnel. Therefore, in order to guarantee the smooth working of extruder, it is essential to take into account these four elements.
56
Isolation between hot and cold tunnel: Tunnel which is on the edge: the method of heat isolation is as the images show as follow. Depending on heat isolation of Teflon pipe, it is used as cold tunnel. And then connect teflon pipe with hot tunnel directly. After that teflon pipe is locked by aluminum lock and screw as images show.Outcome: Tunnel can work well, it is not easy to block the connection between hot and cold tunnel. Central tunnel: Central filament tunnel also depends on the similar method. However, because large screw size has high heat capacity, teflon pipe cannot isolate heat efficiently and the separation of hot and cold pipes is not obvious, which leads to filament melting in cold tunnel and the tunnel is usually blocked.
04.3.2 FRAMEWORK OF EXTRUDING SYSTEM - GENERATION 01
57
tunnel: three tunnels which are on the sides are not straight. The left and right ones are slightly slant, the forward one is seriously slant. Depending on testing, seriously slant angle lead to high pressure in filament tunnel, even sometimes this pressure can break the forward tunnel. There are also some pressure problems in left and right ones, but it is not as serious as forward one.
58
59
Straight, smooth lining, isolation between hot and cold tunnel, and suitable size for filament are four points we need to consider in the process of filament tunnel design. In this supporting structure, the methods of smooth lining and suitable size for filament are similar with the structure one. Straight tunnel: The forward tunnel is serious slant, which leads to high pressure and the tunnel is even broken. Therefore the motor is moved up in this supporting structure to make the slant angle smaller. This method improves the successful extrusion rate efficiently, but there is still some risk to lead to high pressure and break the tunnels.
04.3.2 FRAMEWORK OF EXTRUDING SYSTEM - GENERATION 02
Isolation method between hot and cold tunnel for the side tunnels is also similar with structure one. The heat isolation method for central tunnel is showed by images. There are six pieces of artifacts by MDF. The diameter of the hole on the middle piece is 4mm which is same with Teflon pipes outer diameter. This artifact allows the Teflon pipe cross, but separate iron screw, thus heat isolation can be achieved.
60
Lining: Teflon, that is resistant to high temperature and smooth inside, is used by us as direct tunnel material.
Isolation between cold and hot tunnels: Because large screw size has high heat capacity, teflon pipe cannot isolate heat efficiently and the separation of hot and cold pipes is not obvious, which leads to filament melting in cold tunnel and the tunnel is usually blocked.
Size of tunnel: Cold tunnel is mainly composited by 3mm inside diameter teflon pipe, so most of cold tunnel is suitable for 2.85mm diameter filament.
Straight tunnel:We use the similar methods to make sure tunnel smooth and suitable size with structure two.To make sure tunnel straight, we reduce 4 motors to 3.
This extruder can work well for our project and our final model was built by this tool. However, to achieve large scale model, we need faster extrusion speed, and more kinds of different filament proportion.
04.2.2 FRAMEWORK OF EXTRUDING SYSTEM - GENERATION 03
61
62
04.2.2 FRAMEWORK OF EXTRUDING SYSTEM - GENERATION 03
63
64
65
04.2.2 FRAMEWORK OF EXTRUDING SYS-TEM - GENERATION 04
66
05.3 FRAMEWORK OF EXTRUDING SYSTEM - GENERATION 04
67
Compared with generation 03, amount of motors increases from 3 to 4. More kinds of proportion of filament mixture can be achieved by this.
Arragement of motor is changed from two-dimensional to three-dimensional to make the systerm more firm.
Heater amount is increased from 3 to 6, and nozzle size is also increased to increase thermal capacity.
Besides thermal capacity increasing, filament tunnels in nozzle is alse scaled to make the filament soft and be extruded, instead of totally being melted. Thus the generation 04 can achieve a high speed from 5 to 10 times than the generation 03.
68
04.2.2 FRAMEWORK OF EXTRUDING SYSTEM - GENERATION
69
70
#include #include LiquidCrystal_I2C lcd(0x27,16,2);
int heaterpin = 5;int thermistorpin = A1;
long targetTemp = 100; /// LONGlong temperature = 0;
int tempwritespeed = 1000; unsigned long previoustempMillis = 0;
void setup(){ int p=0; ///////////// lcd.init(); // initialize the lcd lcd.backlight(); lcd.setCursor(0,0); lcd.leftToRight(); lcd.print("...loading..."); Serial.begin(9600); pinMode(thermistorpin, INPUT); pinMode(heaterpin, OUTPUT);
previoustempMillis = 0;}
////////////////////CHECK TEMPERATURE //////////////////////int checkTemp(){ int sensorValue=analogRead(thermistorpin); double R = (1024.0 * 10000.0 / (double) sensorValue) - 10000.0; double T = 1.0 / (1.0 / 298.15 + (1.0f / 4066.0) * log(R / 100000.0)); T -= 273.15; return T;
}
void loop(){
///////////////////////////////// HEATING//////////////////////////////// temperature = checkTemp(); Serial.print(temperature); if (temperature < targetTemp){ digitalWrite(heaterpin, HIGH); Serial.println(" ON"); } else{ digitalWrite(heaterpin, LOW); Serial.println(" OFF"); }
///////////////////////WRITE TEMP VALUES////////////////////// unsigned long tempmillis = millis(); if(tempmillis - previoustempMillis> tempwritespeed) { int p=p+1; lcd.setCursor( p,0); //lcd.scrollDisplayLeft(); lcd.print("FILAMENTRIC"); lcd.setCursor(p,1); // lcd.scrollDisplayLeft(); lcd.print("TEMP "); lcd.print(temperature); lcd.print(" C");
previoustempMillis = tempmillis; }}
#include
int led_red = 2;int thermistorpin = A1;
//int rPin[] = {3,4};//int gPin[] = {5,7};//int bPin[] = {9,10};
int dirPin = 8;
//int autobutton = 6;
void setup(){ // Serial.begin(9600);
///////////////////////////////MOTOR///////////////////////////////////// pinMode(dirPin, OUTPUT);
// pinMode(thermistorpin, INPUT);
// pinMode (led_red, OUTPUT);// pinMode(autobutton, INPUT);pinMode(9, OUTPUT);pinMode(10, OUTPUT);pinMode(3, OUTPUT);
digitalWrite(dirPin, LOW); //direction}
void loop(){// temperature = checkTemp();
int r = 0; int g = 0; int b = 0;
r = colorTime();
g = 3-colorTime(); b = colorTime(); // Serial.println(" ON"); if (((r + g + b) != 0)) // || digitalRead(autobutton)) { for(int i = 1;i= i) digitalWrite(9, HIGH); if (g >= i) digitalWrite(10, HIGH); if (b >= i) digitalWrite(3, HIGH); delayMicroseconds(100); // the higher , the slower if (r >= i) digitalWrite(9, LOW); if (g >= i) digitalWrite(10, LOW); if (b >= i) digitalWrite(3, LOW); delayMicroseconds(100);}
digitalWrite(led_red, HIGH);// } }}
///////////////////////////////////////////////////////////////int colorTime(){ oat time = ((oat)millis())/300000.0f; // 20 S time = time - (int)time; int color = (int)(2 * time +1);return color;}
ARDUINO CODE_For Heating
04.2.3 ARDUINO AND CONTROLLING PROGRAME
71
#include #include LiquidCrystal_I2C lcd(0x27,16,2);
int heaterpin = 5;int thermistorpin = A1;
long targetTemp = 100; /// LONGlong temperature = 0;
int tempwritespeed = 1000; unsigned long previoustempMillis = 0;
void setup(){ int p=0; ///////////// lcd.init(); // initialize the lcd lcd.backlight(); lcd.setCursor(0,0); lcd.leftToRight(); lcd.print("...loading..."); Serial.begin(9600); pinMode(thermistorpin, INPUT); pinMode(heaterpin, OUTPUT);
previoustempMillis = 0;}
////////////////////CHECK TEMPERATURE //////////////////////int checkTemp(){ int sensorValue=analogRead(thermistorpin); double R = (1024.0 * 10000.0 / (double) sensorValue) - 10000.0; double T = 1.0 / (1.0 / 298.15 + (1.0f / 4066.0) * log(R / 100000.0)); T -= 273.15; return T;
}
void loop(){
///////////////////////////////// HEATING//////////////////////////////// temperature = checkTemp(); Serial.print(temperature); if (temperature < targetTemp){ digitalWrite(heaterpin, HIGH); Serial.println(" ON"); } else{ digitalWrite(heaterpin, LOW); Serial.println(" OFF"); }
///////////////////////WRITE TEMP VALUES////////////////////// unsigned long tempmillis = millis(); if(tempmillis - previoustempMillis> tempwritespeed) { int p=p+1; lcd.setCursor( p,0); //lcd.scrollDisplayLeft(); lcd.print("FILAMENTRIC"); lcd.setCursor(p,1); // lcd.scrollDisplayLeft(); lcd.print("TEMP "); lcd.print(temperature); lcd.print(" C");
previoustempMillis = tempmillis; }}
#include
int led_red = 2;int thermistorpin = A1;
//int rPin[] = {3,4};//int gPin[] = {5,7};//int bPin[] = {9,10};
int dirPin = 8;
//int autobutton = 6;
void setup(){ // Serial.begin(9600);
///////////////////////////////MOTOR///////////////////////////////////// pinMode(dirPin, OUTPUT);
// pinMode(thermistorpin, INPUT);
// pinMode (led_red, OUTPUT);// pinMode(autobutton, INPUT);pinMode(9, OUTPUT);pinMode(10, OUTPUT);pinMode(3, OUTPUT);
digitalWrite(dirPin, LOW); //direction}
void loop(){// temperature = checkTemp();
int r = 0; int g = 0; int b = 0;
r = colorTime();
g = 3-colorTime(); b = colorTime(); // Serial.println(" ON"); if (((r + g + b) != 0)) // || digitalRead(autobutton)) { for(int i = 1;i= i) digitalWrite(9, HIGH); if (g >= i) digitalWrite(10, HIGH); if (b >= i) digitalWrite(3, HIGH); delayMicroseconds(100); // the higher , the slower if (r >= i) digitalWrite(9, LOW); if (g >= i) digitalWrite(10, LOW); if (b >= i) digitalWrite(3, LOW); delayMicroseconds(100);}
digitalWrite(led_red, HIGH);// } }}
///////////////////////////////////////////////////////////////int colorTime(){ oat time = ((oat)millis())/300000.0f; // 20 S time = time - (int)time; int color = (int)(2 * time +1);return color;}
ARDUINO CODE_Initial Code For Extrusion_Proportion Changing by Time
72
#include #include LiquidCrystal_I2C lcd(0x27,16,2);
int heaterpin = 5;int thermistorpin = A1;
long targetTemp = 100; /// LONGlong temperature = 0;
int tempwritespeed = 1000; unsigned long previoustempMillis = 0;
void setup(){ int p=0; ///////////// lcd.init(); // initialize the lcd lcd.backlight(); lcd.setCursor(0,0); lcd.leftToRight(); lcd.print("...loading..."); Serial.begin(9600); pinMode(thermistorpin, INPUT); pinMode(heaterpin, OUTPUT);
previoustempMillis = 0;}
////////////////////CHECK TEMPERATURE //////////////////////int checkTemp(){ int sensorValue=analogRead(thermistorpin); double R = (1024.0 * 10000.0 / (double) sensorValue) - 10000.0; double T = 1.0 / (1.0 / 298.15 + (1.0f / 4066.0) * log(R / 100000.0)); T -= 273.15; return T;
}
void loop(){
///////////////////////////////// HEATING//////////////////////////////// temperature = checkTemp(); Serial.print(temperature); if (temperature < targetTemp){ digitalWrite(heaterpin, HIGH); Serial.println(" ON"); } else{ digitalWrite(heaterpin, LOW); Serial.println(" OFF"); }
///////////////////////WRITE TEMP VALUES////////////////////// unsigned long tempmillis = millis(); if(tempmillis - previoustempMillis> tempwritespeed) { int p=p+1; lcd.setCursor( p,0); //lcd.scrollDisplayLeft(); lcd.print("FILAMENTRIC"); lcd.setCursor(p,1); // lcd.scrollDisplayLeft(); lcd.print("TEMP "); lcd.print(temperature); lcd.print(" C");
previoustempMillis = tempmillis; }}
/////////////MOTOR/////////////////////////////////////int dirPin = 2;//int gradientPins[] = {4,5,6,7,8,12};int gradientPins[] = { 4, 7, 12}; // 1,4,6int innerMotorPin = 3;int outerMotorsPins[] = { 9,10,11};
int bits = 3;int motorSpeed = 10; // unit: microseconds between steps // the higher, the slower
////////////////////////////////////////////////////////void setup(){ Serial.begin(9600);
/////////////MOTOR///////////////////////////////////// for(int i=0;i
#include #include LiquidCrystal_I2C lcd(0x27,16,2);
int heaterpin = 5;int thermistorpin = A1;
long targetTemp = 100; /// LONGlong temperature = 0;
int tempwritespeed = 1000; unsigned long previoustempMillis = 0;
void setup(){ int p=0; ///////////// lcd.init(); // initialize the lcd lcd.backlight(); lcd.setCursor(0,0); lcd.leftToRight(); lcd.print("...loading..."); Serial.begin(9600); pinMode(thermistorpin, INPUT); pinMode(heaterpin, OUTPUT);
previoustempMillis = 0;}
////////////////////CHECK TEMPERATURE //////////////////////int checkTemp(){ int sensorValue=analogRead(thermistorpin); double R = (1024.0 * 10000.0 / (double) sensorValue) - 10000.0; double T = 1.0 / (1.0 / 298.15 + (1.0f / 4066.0) * log(R / 100000.0)); T -= 273.15; return T;
}
void loop(){
///////////////////////////////// HEATING//////////////////////////////// temperature = checkTemp(); Serial.print(temperature); if (temperature < targetTemp){ digitalWrite(heaterpin, HIGH); Serial.println(" ON"); } else{ digitalWrite(heaterpin, LOW); Serial.println(" OFF"); }
///////////////////////WRITE TEMP VALUES////////////////////// unsigned long tempmillis = millis(); if(tempmillis - previoustempMillis> tempwritespeed) { int p=p+1; lcd.setCursor( p,0); //lcd.scrollDisplayLeft(); lcd.print("FILAMENTRIC"); lcd.setCursor(p,1); // lcd.scrollDisplayLeft(); lcd.print("TEMP "); lcd.print(temperature); lcd.print(" C");
previoustempMillis = tempmillis; }}
/////////////MOTOR/////////////////////////////////////int dirPin = 2;//int gradientPins[] = {4,5,6,7,8,12};int gradientPins[] = { 4, 7, 12}; // 1,4,6int innerMotorPin = 3;int outerMotorsPins[] = { 9,10,11};
int bits = 3;int motorSpeed = 10; // unit: microseconds between steps // the higher, the slower
////////////////////////////////////////////////////////void setup(){ Serial.begin(9600);
/////////////MOTOR///////////////////////////////////// for(int i=0;i
Extrusion TestDark Green PLA Green PLA
Extrusion TestYellow PLA Green PLA
Extrusion TestPink ABSWhite ABS
Extrusion TestTransparent Red PLA Green PLA
Extrusion TestBlue T-glass Pink ABS
Extrusion TestTransparent Red PLATransparent Green PLA
Extrusion TestTransparent Red PLATransparent Yellow PLA
Extrusion TestGreen PLAPink ABS
Extrusion TestPink ABSTransparent ABS
Extrusion TestGreen PLA Blue PLA
Extrusion TestPink PLATransparent PLA
Extrusion TestTransparent Red PLATransparent Green PLA
Extrusion TestRed ABSGreen ABSTransparent Blue T-glass
Extrusion TestTransparent Red PLAYellow PLA
Extrusion TestDark Green PLAYellow PLA
04.3 INITIAL EXTRUDING TESTS
75
Extrusion TestDark Green PLA Green PLA
Extrusion TestYellow PLA Green PLA
Extrusion TestPink ABSWhite ABS
Extrusion TestTransparent Red PLA Green PLA
Extrusion TestBlue T-glass Pink ABS
Extrusion TestTransparent Red PLATransparent Green PLA
Extrusion TestTransparent Red PLATransparent Yellow PLA
Extrusion TestGreen PLAPink ABS
Extrusion TestPink ABSTransparent ABS
Extrusion TestGreen PLA Blue PLA
Extrusion TestPink PLATransparent PLA
Extrusion TestTransparent Red PLATransparent Green PLA
Extrusion TestRed ABSGreen ABSTransparent Blue T-glass
Extrusion TestTransparent Red PLAYellow PLA
Extrusion TestDark Green PLAYellow PLA
76
04.3 INITIAL TESTS
ROBOTIC TEST / ABB:With ABB it allows us to use 6 digital output for printing different proportion of multi-material. According to the size of nozzle, models can be divided into 3mm a layer, and before getting the toolpath. Meanwhile, the resolution of the model is analysed in Grasshopper, which can also be generated in Processing before then importing this information to Grasshopper. The method the author currently uses is to obtain colour information after the analysis model, and then retrieving RGB values. RGB can then represent three motors. A total rotation speed is given for three motors, so that we can ensure that the rate of the nozzle extrusion remains the same. Then the RGB values are transmitted to Arduino (which controls the running of the motor) and the robotic toolpath. Finally, via the interaction of the Arduino and robotic, each point the robotic reaches has a specific proportion of materials which is controlled by the Arduino. The first printing test was done after finishing the Grasshopper and Arduino code respectively. As the images show, there is more red material in the folded part, and more yellow material in the flat part. This test printing was extremely successful: the method used was to analyse the resolution of the model. It was also able to transmit other information regarding the models, such as growth strength, as mentioned previously.
Now we use 3 digital output boards, so that it is allowed to get seven kinds of changes of multi-material proportions . Later we will try to use 6 digital ourput boards, that means we could get 63 kinds of multi-material proportions later.
The test from top images shows a two kinds of materials changing cycle and this cycle term is changing frequently. Our extruding system can achieve 32 specific proportions of four different kinds of materials at most, in any cycle term. After combined with robotic, 32 specific proportions of four different kinds of materials could be located by position.
77
Constrain Angle
Angle constrain in simulationthe drawback of depositing printing method is that it needs supporting structure for the cantilever part during the print-ing process. In order to reduce the support structure, the constrain function is created in the simulation. The con-strain force applied on each particle to rotate the faces in between to make the cantilever angle smaller than certain angle. Meanwhile, this force also interact with the whole system to insure the less deformation.
With the developments of digital fabrication, the design process tends to integrate the fabrication into one dynamic system. For achieving the integration, it is es-sential to abstract the fabrication information as describable data into the design simulation. In the project, because of the limitations of deposit-printing method, it is not feasible to print the structure that the cantilever angle is larger than certain angle without support structure. Hence, in design simu-lation, each meshface object was designed an extra attribute, which is if the meshface inclined beyond the constraint angle; it would gain a set of vector forces for flipping it backward to the side of smaller than that constraint angle.
04.4 SIMULATION INTERACTS WITH FABRICATION LIMITATIONS
55
60
10
78
Wrinkling of the structure
04.5 CORAL TABLE FOR MULTI-MATERIAL PRINTING RESEARCH
These coral tables are the final geomery for fabrication. And canti-lever angle is less than 45 degree.for any part of the model. In ad-dition, there is no hanging parts. Therefore, this design is printable, without supporting structure. De-pending on this geometry, we made various possibilties to utilize large scale multi-material 3D print-ing technology.
79
80
04.5.1MULTI-MATERIAL PRINTING RESEARCH 01 - RANDOM PRINTING BY RED AND TRANSPAR-ENT PLA
81
multi-material printing research 01 - random printing by red and transparent PLA
82
83
04.5.2MULTI-MATERIAL PRINTING RESEARCH 02 - MIRRORED COLUMN SECTION BY RED AND TRANSPARENT PLA
84
8585
86
04.5.3 MULTI-MATERIAL PRINTING RESEARCH 03 - WOOD FILAMENT AND PLA
86
1378787
88
04.5.3 MULTI-MATERIAL PRINTING RESEARCH 03 - WOOD FILAMENT AND PLA
This design is a multi-material chair. The part fabricated by wood filament in the middle is for sitting . Because wood is a kind of natrual material which is comfortable for human touching. And other parts are all printed by normal PLA.
The four filament tunnels are divided two group, group one contains one tunnel for wood filament, group two contains other three filaments for transperent PLA. The model is analysed by grasshopper and divided the whole toolpath into millions of points, and for each of point there are specific information. This information is transfered to Arduino. thus we can achieve different proportions of each filament by controlling speed of four motors.
88
89
90
04.5.4 MULTI-MATERIAL PRINTING RESEARCH 04 - COLORFUL HD-GLASS
13791
05.7 PROTOTYPE FABRICATION Final Code _Within 45 Degree _Material Changing by Proportion
92
04.5.4 MULTI-MATERIAL PRINTING RESEARCH 04 - COLORFUL HD-GLASS
There are four different color HD-glass filaments, such as green, blue, orange and transparent. The transparent one keeps being extruded, and other three colorful filaments are extruded, depending on location. The model is analysed by grasshopper and divided the whole toolpath into millions of points, and for each of point there are color information. This information is transfered to Arduino. thus we can achieve different proportions by controlling speed of four motors.
2.3m tall/robotically extruded/multi-material///with Alisa Andrasek Jong Hee Lee Ningzhu Wang
XenoCells _ our project for the Exo-Evolution at ZKM
93
94
XenoCells
Fast printing speed for large scale model and multi-material printing are the advatage of our fabrication technology. Depending on this, the column size is 2.3m tall, fabrication term is only 7 days, and consumes around 100kg HD-glass.
video website: https://vimeo.com/143524090
xianzhe07@outlook.com
FENG ZHOU