Digital Design - Module 02 Semester 1, 2019 Manasi Chopdekar 935401 Joel Collins, Studio 15
Critical Reading: Kolerevic B. 2003. Architecture in the Digital Age
Kolerevic described three fundamental types of fabrication techniques in the reading. Outline the three techniques and discuss the potential of Computer Numeric Controlled fabrication with parametric modelling. (150 words max)
The three fundamental types of fabrication techniques discussed by Kolerevic in the reading are as follows: 1. Subtractive 2. Additive 3. Formative Subtractive fabrication technique invloves the removal of a specified volume of material from solids to produce the desired form. An example of this technique is the milling machine which has cutting drills that move along the x, y, and z direction to remove volume from the solid. The form of output is limited by the number and type of required axes to add in the milling machine. Additive fabrication technique involves the addition of material in a layer-by-layer fashion. An example of this technique is the 3D-printers which divide the solid into layers and print it as it is in a layer-by-layer fashion. This technique is useful for the more complex projects. Formative fabrication technique involves shaping or deforming materials using heat to soften it and then moulding it to desired shapes. Application of numerically-controlled pins in this technique allow for materials like molded glass and plastic sheets to be deformed and reproduced into desired shapes on a larger scale. The benefits of CNC fabrication with parametric modelling include more control over the geometry and the budget and this allows for us to be able to think differently about surface techtonics and increases potential for fabricating unique and complex shaped components cost-effectively.
2
Only end points of cube can be used for lofting
BOX GENERATOR
SURFACE AND WAFFLE STRUCTURE Surface Creation
Basic method for creating test surfaces (disabled) Edges divided into further points create more variety in lofts
Creating first surface by lofting 4 variable points (enabled by number sliders) along 2 lines
Test surface 1 Test surface 2
Deconstructing box
2 loft surfaces placed in one brep container for better code organization
Creating second surface using same code as one used to create first surface
Number slider data for each surface (shows which point of which line was used to form the lofted surface) - makes it easier to regenerate liked/chosen surfaces
Test surface 3 SCRIPT FOR GENERATING LOFTED SURFACES
DIFFERENT TEST SURFACES CREATED FROM SCRIPT
The process starts with creating a box in Rhinoceros 6.0 using grasshopper command ‘rectangle’. A boundary surface is created and then extruded to form a 150x150x150 cube. This cube is then stored in a ‘brep’ container. The box is divided into its 12 sides by ‘deconstruct brep’ and then each side is divided to get 12 equidistant points along the edges by ‘divide curve’. These points are then chosen via the number slider and ‘List Item’ and lofted to form surfaces.
3
SURFACE AND WAFFLE STRUCTURE Panel Creation
Lofted surface stored in brep container
Curve attractor system
Meshing the different 3D panels used Generating offset grid
Point attractor system
Test panel 1
Test panel 2
3D panel
2D panel
Test panel 3
Test panel 4
2D + 3D panel
Blending 2D and 3D panel design
Remapping 5x5 grid according to point attractor
Generating 5x5 base grid on surface
Generating panels across grid using Morph3D and Morph2D
SCRIPT FOR GENERATING PANELS ACROSS SURFACE
DIFFERENT TEST PANELS MAPPED ACROSS DIFFERENT SURFACES USING SCRIPT
The process continues with storing the final/chosen lofted surfaces in brep containers. Using ‘Surface domain number’ on grasshopper, a 5x5 regular grid is generated. Using point or curve attractors, the base grid is remapped by plugging in a ‘construct domain’ and ‘bounds’ to ‘remap numbers’. Once the base grid is remapped, an ‘offset grid’ is used to generate offset grid for 3D panels (this procedure is omitted for 2D panels). Using ‘Morph3D’ and ‘Morph2D’ panels are generated across the grid. 4 panel types are tested here across 4 different surfaces to observe the variations in panelling.
4
Making surfaces out of vertical contour lines and
SURFACE AND WAFFLE STRUCTURE
Fins to remove using ‘fin cull’
Waffle Creation
their offset
Surface 1 vertical and horizontal contour line generator
Using ‘fin cull’ to remove unnecessary vertical contour surfaces - generate final vertical contours
Surface 2 vertical and horizontal contour line generator
Creating slits by trimming out the extrusions from the contour surfaces
To create the waffle structure, firstly, the horizontal and vertical contour lines were mapped out on both surfaces and were offset to create a lofted contour surface in between. ‘Fin cull’ was used to remove unnecessary horizontal and vertical contour surfaces. The midpoint of the line of intersection between horizontal and vertical contours was derived using ‘construct domain’, ‘rectangle’ and ‘extrude’. These were then trimmed out from the contour surfaces to create slits for the 3D physical model. The result captured below shows the final waffle structure. The larger number of contour fins are used to show the smooth, curved shape of the paneling surfaces. What is of interest to me for the waffle is to be able to show the gentle curve of the surfaces using the contour fins.
Generating extrusions to mark slits at the intersection of horizontal and vertical contours
Making surfaces out of horizontal contour lines and their offset SCRIPT TO GENERTE WAFFLE STRUCTURE
FINAL WAFFLE STRUCTURE
5
Isometric View
ISOMETRIC VIEW OF PANELING
ISOMETRIC VIEW OF WAFFLE
Both of my surfaces have a gentle curve, and appear to wrap around each other when rotated about its vertical axis. I wanted to have panels which were simple to unroll, but also be able to show the curve of the surface. Required to have both 2D and 3D panels, I thought of how to relate the two surfaces to each other, and a concept that ties paneling to its surfaces. This is why I chose a mix of 2D and 3D panels, which relate to each other in terms of design (see page 8 for more details) and can relate the surfaces to each other as well.
I wanted my waffle contours to show the curve of the surface so that when I would stick my paper panels on it, it would respond to the curve and give as close an effect to what is observed when I would rotate my model on Rhino 6.0. Hence, I have 7-8 vertical and horizontal contours, for added stabiliy as well as to accentuate the curve. Due to the positioning of the lofted surfaces on the coordinate plane, I had to have two seperate vertical contour codes on grasshopper for both surfaces.
6
SURFACE AND WAFFLE STRUCTURE Laser Cutting
LASER CUT NESTING FOR SURFACE 1
LASER CUT NESTING FOR SURFACE 2
I was a little worried about unrolling my panels so once I had my panels ready for the first surface, I immediately began unrolling them to check whether they unrolled right and that there was no overlapping (see appendix for issues related to overlapping). Once I was sure they had unrolled right, I started arranging and labelling them so that I can easily fold them and identify which panel is in which position. Once I had them all unrolled, I used Make2D to convert it to linework and then copied it onto the laser cut template. However, I realised, as I did my Make2D, the fold lines on the inside of the panels had not been converted to linework. I thought I could just etch them by hand, and limited by time constraints, I immediately sent my file for surface 1 for laser cutting. I deliberately did not include number labelling in the printing file because I could just do them by hand and erase them, for neater model work. This process was repeated for surface 2. Material used for laser cutting was ivory card. There is a seperate grasshopper code for obtaining flat versions of the waffle contours (see appendix). Once the flat contours were created, I copied them onto the laser cut template and arranged them along their labels and ensured that they did not waste too much space on the print material as well. The material used for this was white mountboard, which is a lot thicker than ivory card. Even so, once I had them cut, there were a few burn marks, and sticking them together was not as easy as I had thought because they could still crease and fold under little pressure. My biggest constraint when it came to laser cutting was time. Since there were a lot of other students printing as well, I was worried that my files would not print on time. However, in all that panic, I realised I had forgotten to check my panels for backsurfaces. So when I started to model my paneling, I realised that a few of them would form the correct shape but the number order would be reversed. A simple fix to that problem was to fold the panel the other way and thus the problem was solved.
LASER CUT NESTING FOR WAFFLE
7
Surface 1 - a mirror of surface 2 (see alignment in panel types)
SURFACE AND WAFFLE STRUCTURE Task A isometric
Vertical contour structures: Provides a skeletal framework for the paneling
Horizontal contour structure for waffle vertical contours will be slotted into these x2 perforated 2D panels + x1 perforated 2-pyramid 3D panel + x1 2-pyramid solid 3D panel + x1 1-pyramid 3D panel angled towards direction of surface 1 x3 perforated 2-pyramid 3D panels + x1 solid 2-pyramid 3D panel + x1 1-pyramid 3D panel angled towards direction of surface 1 Direction of panel angles
x4 Solid 2-pyramid 3D panels + x1 1-pyramid 3D panel angled towards direction of surface 1 x5 Solid 1-pyramid 3D panels angled towards direction of surface 1
Upper row shows all 4 different paneling objects used and there is a clear transition from 3D to 2d from bottom to top. Also, they are all angled towards surface 1
Direction of panel angles Surface 2
Peforated 3D panels will gradually lead to the perforated 2D panels, while the presence of previous panel designs keep it linked to the rest of the paneling as well Aimed to show a break in the soliditiy of large 3D panels and a gradual shift to smaller 3D panels
NOTE - different point attractors were used for both surfaces. Therefore, even if panels are ‘mirrored’, the angle and grid sizes are different.
My concept is ‘sense of flow’ and ‘continuity’. The curve of the waffle structure is such that when it is rotated about its vertical axis, I observed a sense of movement, a sense of continuity from one surface to another and I wanted to show that using my panels. Having to use both 3D and 2D panels, I thought of how that could be done. My final design shows the two surfaces as mirror images of each other but the angle of the panels are in opposite directions, as if they wrap around each other. There is also a diagonal flow of movement across the surfaces as the panel style changes gradually from a solid 3D to a perforated 2D. My aim was to create a relation between the panels themselves, and between the panels, surface and waffle.
8
SURFACE AND WAFFLE STRUCTURE Task A matrix
Lofts
1.1
1.2
{150,150,150}
1.3
{60,0,150}
1.4
{75,0,150}
{0,0,150}
{105,150,150}
Key
{0,0,150}
{0,0,0}
{0,150,150}
{150,0,150} {90,150,150} {75,150,150}
{120,150,150}
{150,0,60}
{0,90,0}
{150,75,0}
{0,120,0} {0,75,0}
{150,150,0}
Paneling Grid & Attractor Point/curve Paneling
3.1
{150,0,0}
{150,0,0}
{0,150,0}
{30,150,0} {60,150,0}
{105,0,0}
2.1
Grid Points
{90,150,150}
{105,150,150}
{0,0,60}
{0,0,150}
{45,150,0}
Attractor / Control Points (X,Y,Z) Attractor / Control Curves
{150,0,150}
{150,60,0}
{0,120,0}
2.2
{150,135,0}
2.3
2.4
{54,64,92} {25,83,92} {54,64,92}
{54,64,92} {-23,35,145}
{163,170,0}
3.2
3.3
3.4
+
My task A matrix focuses on three main variables - the lofted surfaces, the remapped base grids according to the point/curve attractors and the panels used. My loft design 1.4 is chosen for my final surfaces because it showed the kind of curve that I wanted, to relate my two surfaces together and also because the other surfaces were either too curved or too simple. In the grid variable row, it can be observed that only at certain select spots, point attractors can cause a noticeable change in the base grid, whereas curve attractors show it more easily. Even then, I used 3 different point attractors for each of my final surfaces to allow more control over the angle of panels. All of my final panels used are shown in the last row of my matrix which shows the idea I had in mind with regards to the design - relating the different panels to each other by their design.
9
SURFACE AND WAFFLE STRUCTURE Photography of Model
SHADOW STUDY AND OBSERVATION FOR TASK 1 MODEL Part of this assignment was to also explore the threshold, circulation, shadow effects etc created by the model. The images above explore the different shadow effects cast from different angles and perspectives of the model. While making the model, there was no intention to create an actual shadow effect but while photographing the model, I managed to capture some paneling shadow effects as well as shadows cast from perforations within the panels.
10
SURFACE AND WAFFLE STRUCTURE Photography of Model
The laser cut model shows the panels at the desired angles, accentuated by the vertical contour support at the back. There is a clear transition from 3D to 2D panel geometry and a relation between the two surfaces - the panels are a mirror of each other and they are angled in the direction of the opposite surface to create a sense of movement as the model is rotated. The grid panel sizes also change from big to small, from bottom to top, further highligting that sense of continuity and movement. The panels transition from bottom to top diagonally - directs eye to move along that direction, and change from solid single pyramid 3D panels to perforated 2D panels. The resultant panel and waffle combination came together with an aim to create a relation between the paneling, and between the panels, surface curve and waffle.
11
SOLID AND VOID
Visual scripting of parametric model Generating 3D grid cells Storing 3x3 grid points into a seperate point container for efficient data organization Creating a 150x150x150 cube and dividing one of its faces into a 3x3 grid
Storing all 4 3x3 grid points into seperate point containers for efficient data organization
Copying and moving 3x3 grid 3 times to divide all 6 faces of cube into a 3x3 grid
Storing all 4 final/edited 3x3 grid points into seperate point containers for efficient data organization
Manipulating 2nd and 4th 3x3 grid points set according to point attractors
Obtaining centroid of grid cells
The process begins with generating a 150x150x150 cube on rhino 6.0 using grasshopper command ‘domain box’. Its 6 faces are obtained and seperated using ‘deconstruct brep’ and ‘list item’ and a 3x3 grid is generated on one of its faces using ‘surface domain number’. These set of points are copied 3 times to result in a 3x3 grid acorss all 6 surfaces of the box. Some of these points are modified using point and/or curve attractors and a final grid system is obtained. Then, using ‘cellulate 3D grid’, 3D cells are generated using the grid system points and finally, using ‘volume’, centroids of these grid cells are obtained and stored in a point container for further process.
12
SOLID AND VOID Boolean/void Creation
SCRIPT FOR BOOLEAN GEOMETRY SHAPE - SPHERE
SCRIPT FOR BOOLEAN GEOMETRY SHAPE - WEAVERBIRD DIPYRAMID
Using point and curve attractors to obtain different boolean difference 150x150x150 cubes
Generating spheres from centroid points
Generating dipyramid geometry for boolean difference
Preparing to bake both spheres and cube for boolean difference
Boolean difference
Boolean difference
Producing 50x50x50 boolean cube iterations
The process continues with producing iterations of boolean geometry using different shapes. The first one to be used is a basic sphere. There were some issues faced regarding boolean difference so ultimately, each sphere had to be boolean differenced individually from the cube. In the case of the sphere, there were no point attractors used for centroid positioning either. It was the most basic code and geometry. It produced interesting circular hollows that resembled canopy pavilions when thought of in terms of human scale. In the case of the dipyramid, boolean difference produced intriguing interior spaces, as can be seen in the diagram [see page 18 for 3D print photograph of boolean cube].
13
SOLID AND VOID Boolean/void Creation
SCRIPT FOR BOOLEAN GEOMETRY SHAPE -PLATONIC DODECAHEDRON
Using point and curve attractors to obtain different boolean difference 150x150x150 cubes
BOOLEAN GEOMETRY GENERATED
Generating dodecahedron geometry for boolean difference
Platonic dodecahedron was an interesting shape to use because when boolean differenced from the box, it produced geometric voids that on a human scale, would resemble occupiable spaces [see page 18 for 3D print photograph of boolean cube]. Different point and curve attractors were used to manipulate the centroid positions for the geometry before boolean difference to obtain variations in final 50x50x50 boolean cubes.
14
SOLID AND VOID Boolean/void Creation
SCRIPT FOR BOOLEAN GEOMETRY SHAPE - WEAVERBIRD’S MESH PRISM
Using point and curve attractors to obtain different boolean difference 150x150x150 cubes
BOOLEAN GEOMETRY GENERATED
Generating mesh prism geometry for boolean difference
Weaverbird’s mesh prism was another trial shape. While it produced good iterations of 150x150x150 boolean differences, it was hard to get a good 50x50x50 cube of the same. I could not think of good ways for them to be interacted with on a larger, more human scale. However, it was a good exercise in exploring more Weaverbird geometry and seeing the kind of boolean shapes it would produce.
15
Another window opening - provides
SOLID AND VOID Task B isometric
more light into space Absence of cieling plane provides more light, opens up space Presence of solid wall creates sense of enclosure and provides space for gathering
Acts as a window - opening to let more light into the space
Double-celled open space created by platonic dodecahedron geometry
More private space defined by walled enclosure
Acts as a door - threshold opening between outside space and space within the solid
Gap in between is the only entrance to a more walled enclosure
Circulation
My Task B isometric is a section cut through my platonic dodecahedron boolean geometry. The reason why this iteration was chosen is because it not only shows the shape of the boolean geometry that was subtracted from the 150x150x150 cube but it also starts to show space and the idea of threshold and circulation when it is looked at, at a human scale. The solidity of the walls act as non-permeable thresholds and the openings are the only way to allow people and light in. Large rectangular openings act as windows and aloow more light in, thus making the interior, enclosed space appear more light and open. The gap as marked in the isometric is the only entrance to the leading space which is more private due to lack of openings and walled enclosures. However, lack of cieling plane makes it appear more open and permeable.
16
SOLID AND VOID Task B matrix
Cube with point/curve attractors
1.1
{-9,76,212}
1.2
1.3
Key
1.4
{0,0,0}
Attractor / Control Points (X,Y,Z) Hidden lines for resultant boolean cube
{32,44,135}
Grid Points {66,144,86}
{65,73,75} {-4,185,67}
{36,129,-113} {Attractor Point Location}
{Attractor Point Location}
{Attractor Point Location}
{Attractor Point Location}
Geometry used for boolean difference
2.1
2.2
2.3
2.4
Section cut across boolean cube
3.1
3.2
3.3
3.4
My task B matrix focuses on three main variables - the centre point locations for grid depending on different point/curve attractors, the geometric shapes used for boolean difference from the basic cube and the difference in section cuts made after boolean difference between the shapes and the cube. Geometric shape 2.2 is chosen for my 50x50x50 boolean cube because it produced geometric hollows or voids which I found more interesting to rethink over in terms of use on a smaller scale and on a larger, more human scale (like a pavilion) [see photograph of boolean cube on page 19]. The shape used in that case is weaverbird’s platonic dodecahedron. This matrix shows my exploration on the use of point vs curve attractors, the different geometric shapes used for boolean difference and the different section cuts across the resultant boolean difference which influenced my choice of final 50x50x50 boolean cube.
17
EXPLORING SCALE OF 3D PANELS USING HUMAN FIGURES While making these 50x50x50 boolean cubes, it was important to think of how it could be used and/or occupied on a larger or human scale. Above images are some explorations of varying scales of model and how it could be used by people for gathering and interacting with.
18
SOLID AND VOID
Photography of Model
My final 50x50x50 3D printed shape uses platonic dodecahedron geometry for boolean difference. My initial idea was to present it as a pavilion with the solid walled side as a roof and the small hole as an opening or a skylight to let light enter the enclosed space within. But after much consideration, I decided to reduce the scale of the model until, while it was still on a human scale, it would become an object that people can interact with (as can be seen in the photograph). This is because on a pavilion scale, it creates small, tight and dark interior spaces with limited circulation, only illuminated by the little skylight at the top. My aim for this task was to create a booleaned space that could be further thought about on human scale, in terms of circulation and the way people would occupy it. This iteration shows people occupying it as a gathering space. The limitation for this iteration is that it does not provide any shelter at its scale and angle and is too open in terms of public-private spaces.
19
20
Appendix
Parametric model development
Experimenting with grasshopper code by using different number slider values to generate different surfaces - from easy to more curved.
Problematic panel Grasshopper number slider data for surface creation - makes it easier to make note of for future use, in case I needed to recreate that surface
Testing different panels on different surfaces to create iterations of
Lack of bounding box may have caused this issue with this panel across all iterations where this panel was used
parametric models.
21
Appendix
Parametric model development
Noting down coordinates of variable point attractors for future use
Figuring out and testing Task A matrix components after choosing a test surface At this stage I had decided on the very basic of my concept - having a total of 4 different panels on both surfaces varying from 3D to 2D. I was still trying to figure exactly which shapes to use and these are just a few iterations of the test panels which I had tried out.
Problematic panels which when used without bounding box, would not be placed properly across the grid surface (see previous page for error with panels). Ultimately I stuck with simple panels because the more complex and detailed they got, the harder it became to unroll them (see next page for unrolling issues). Due to fear of lack of time, I played it safe and chose 4
I had looked up the matrix template and was tring to figure out which would be ideal variables for my Task A matrix. One of them would definitely be the surfaces themselves. The last one would be the panel geometry
easy panels to unroll. However, by this time, I had a clear picture of what I wanted show through my panels and waffle combination and hence chose specific panels that would help me showcase that concept.
used. Regarding the second variable, I was unsure of using attractors as a variable to generate different offset grids because my base grid was still pretty much the same.
22
Appendix
Color coding and unrolling panels next to their respective labels for efficient data organization
Unrolling parametric model
Pulling the unrolled surfaces out and arranging them on a laser cut template size bounding box
Using Make2D to obtain linework of the unrolled surfaces to send for laser cutting. This would be copied and pasted on laser cutting template. Note absense of labels - purposely omitted for a cleaner model
SURFACE 2
SURFACE 1 The maximum number of panels I could unroll at a time was 5 (bottom row for both surfaces). The more complex and smaller panels had to be unrolled one at a time. When I performed Make2D on my unrolled surfaces, the etch lines within the surfaces disappeared and I tried manually adding them. But it took time and I thought I could etch them by hand instead (which worked faster but was a poor decision in terms of cleaner model making). However, I chose not to etch the number labels and instead wrote them by hand so I could erase them later. One big mistake I made here was that I did not check my panels for backsurfaces. So some of the unrolled surfaces were flipped the wrong way. However this was easily solved by folding the panels in the opposite direction.
23
Appendix
Solid and void - different iterations
CUBES THAT GOT 3D PRINTED
When I first tried to perform boolean difference on my geometry, it wouldn’t work and failed multiple times to the point where I had to individually perform boolean difference between each one of my geometry shapes and the 150x150x150 cube. Ghosted mode view was used for this on Rhino 6.0. Once I had that figured out, I was able to try out different boolean geometry (some from Weaverbird) and extract 50x50x50 boolean cubes from it, When trying these multiple iterations, I thought about space, and threshold and circulation within and about it and how it could be interacted with on a larger, more human scale.
24
Appendix
MakerBot 3D print for task 2 Total number of files I had prepared for 3D print Custom print settings - Digital Design
Required files for 3D printing - .stl, makerbot and print files
The time limit for individual print file was 2.5 hours max. Almost all of my geometries when placed alone on makerbot interface, generated a time of approximately 2 hours maximum to make. However, due to cost limitations, I tried to add more cubes in one file. However the number of hours increased and I knew my file would get rejected if the time span exceeds their specified amount. Hence I had around 8 files in total to send to the 3D printer. However, the easier and more cost and time saving option was to share the time slot with a group of students and send our cubes together in one file to split the costs and time. Although I had sent one of my cubes for 3D printing with a group of students, I was not sure of the procedure and as precaution submitted 3 of my cubes to print individually. Ultimately I got my individually submitted cubes back with no issues but the group file got rejected twice and by then it was too late to resubmit to the printers.
25
Appendix
Process images
Building the waffle structure was harder than I thought it would be. I assumed mountboard would be a lot harder than ivory card and it was, but it could still easily crease and fold and I had to be careful when glueing my vertical and horizontal contours. I started from top down. I attached my top horizontal contour to my surface 1 vertical contours and slotted the other horizontal contours in place. Then I slotted the surface 2 vertical contours. The
Since some of my panels weren’t flipped for backfaces before unrolling, they unrolled correctly but flipped. I simply folded them the other way and they formed the desired shapes. However, I regret not etching my fold lines because my model could have been a lot cleaner if I had them. Instead, the crease and fold marks can be seen along my panels because I hand folded them after etching.
entire process took me around 3 hours, partly due to my poor modeling skills.
26
Appendix
Producing final output
My panels curved easily along my waffle structure and after finishing both surfaces I glued them together to form the final Task 1 model.
Rough photograph of Task A model - surface 2
Rough photograph of Task A model from another angle-
Aim is to capture the curve of the waffle contour and the panels of surface 2 towards surface 1
Aim is to capture the concept of the model - gradual movement/shift from solid 3D paneling to perforated 2D paneling.
27
Appendix
Task B boolean output
Dipyramid geometry 50x50x50 boolean cube.
Platonic dodecahedron 50x50x50 boolean cube.
28
29