ARCH 714 - ADVANCED PARAMETRIC DESIGN AND GENERATIVE MODELING STRATEGIES FOR THE BUILDING ARTS WINTER 2016 MARCH 15, 2016 NICK PLACE PROFESSOR SCOTT DIETZ THE SAVANAH COLLEGE OF ART AND DESIGN

Rhino Fundamentals: Lab Research #1 - Curves & Lofts

The goal of this session was to rehash the basics of the Rhinoceros software and either learn, or get reaquainted with the user interface, as well as basic functions that must be understood once working within the Grasshopper Plugin.

LAB RESEARCH BOOK WINTER 2016

1

Rhino Fundamentals: Curves & Lofts

This session briefly went over the use of the basic tools of Rhino. We started off with the creation of curves. There are many different types of curves available to Rhino users, such as lines, polylines, interpolated curves and control point curves. Curves can be created on the XY plane, but can also be manipulated in the Z direction as well by many means, but we specifically focused on transformation using the Gumball. Curve Creation

Control Point Manipulation through Gumball Transformation

Gumball manipulation is a very simple concept to understand. Similiar in concept to the Gizmo found in Autocad and various other Autodesk products, it offers the ability to edit and manipulate geometry through the XYZ World through the use of pulling and dragging corresponding areas on the Gumball itself. Through this, I was able to manipulate the curve I had previously created through movement of control points in the Z direction in addition to creating a copy for future lofting. Continuing on with the Gumball manipulation options, I also made use of the ability to not only copy through the gumball, but to also scale geometry, both uniformly and non-uniformly, which I did on a closed curve that I created, with which I made multiple copies of while uniformly scaling each additional copy.

Uniform & Non-Uniform Scaling and Copying through Gumball Transformation

2

LAB RESEARCH BOOK WINTER 2016

Using the two base curves created earlier through control point manipulation, I implemented the rhino command of lofting to create a nurbs surface between the two curves. Before the lofting process took place, I enabled Record History, which allowed me to manipulate and transform the lofted surface through the manipulation of the original curves, which responds intuitively. Throughout the process of learning the User Interface of Rhino and the basics of curve creation, gumball manipulation and transformation, and lofting and surface creation, I think that the foundation is set to go ahead with moving onto Grasshopper.

Basic Lofting

Record History & Manipulation

Final Product of Experimentation

LAB RESEARCH BOOK WINTER 2016

3

4

LAB RESEARCH BOOK WINTER 2016

Grasshopper Fundamentals: Lab Research #2 - Point, Line, Plane & Volume

The goal of this session was to get acquainted with the Grasshopper user interface as well as gain a basic understanding of visual scripting and how geometry is created inside the plugin, how it differs from Rhino geometry and how through the use of Grasshopper components, parameters can be implemented & responsive geometry can be created.

LAB RESEARCH BOOK WINTER 2016

5

Grasshopper Fundamentals

Point, Line, Plane & Volume

XYZ Point Creation

Starting off with the basics of Grasshopper, we started off with the basic Construct XYZ Point component, which creates a single point at XYZ coordinates 0,0,0. In order to manipulate the location of that point, floatingnumber number sliders were created and plugged into the XYZ Point component. From there we could easily slide the and change the values to move the point to any location in the XYZ coordinate system, on any plane in the 3D Environment. A second point was just copied and set to a different location than the first point to make way for the future creation of a line segment. We then created a Line component, with the 2 imput options of A and B, each input being one of the two original base points. Once the two original points were plugged into the Line component, a segment was created between the two. The line segment updated parametrically and responsively whenever the number sliders corresponding to the coordinate of the base points were changed.

Line Creation

6

LAB RESEARCH BOOK WINTER 2016

After the line segment was created with the Line compnent, we then created an Extrude component. We then plugged the Line component into the Extrude component, which then extruded the line as a plane in the default direction, with the default value. We then created a Z Unit Vector (Also experimented with an XYZ Vector) component to plug into the Extrude component in the direction slot. Additionally, we plugged in a number slider to adjust the amount of units to extrude the line segment. Following the creation of the plane through the Extrude component, we then created a Box component, which we then plugged the extrusion into. We then created a Y Unit Vector component with a corresponding number slider for unit adjustment, which we plugged into the Box componentâ&#x20AC;&#x2122;s direction slot. This created a closed volume in the Grasshopper, which was represented and previewed in the Rhino environment.

Plane Creation

Volume Creation

LAB RESEARCH BOOK WINTER 2016

7

We then went about the creation of lists. We created 2 more XYZ Point components and then created a Merge component. We then plugged all 4 points into the input slots of the Merge component, which essentially sorted then into a list, with each point corresponding to a numeric value in a list. We then created a Points component in order to view the number the respective numbers and order of each point in the list, and to have them displayed visually in the Rhino Environment.

Point Merging, Listing & Numbering

8

LAB RESEARCH BOOK WINTER 2016

Finally, took the points in our list and created lines through the points in the forms of an Interpolated Curve, a Nurbs Curve and a Polyline. We also attached a Boolean Toggle component to each line in order to close the lines and an odd number integer slider to adjust the degree of each curve.

Through-Point Line Creation

Interpolated Curve

Nurbs Curve

Polyline

LAB RESEARCH BOOK WINTER 2016

9

Complete Definition

10

LAB RESEARCH BOOK WINTER 2016

LAB RESEARCH BOOK WINTER 2016

11

12

LAB RESEARCH BOOK WINTER 2016

Grasshopper + Transforms: Lab Research #3 - Move, Rotate, Scale & Series The goal of this session was to learn the basics of transforming within the grasshopper interface with components such as Move, Rotate, Scale, Series, Boolean Union, Data Trees and the Parameter Viewer.

LAB RESEARCH BOOK WINTER 2016

13

Grasshopper + Transforms

Move, Rotate, Scale & Series

This session started off by creating an XYZ Point component and assigning number sliders to each input slot. Following point creation, a move component was created in order to create copies of the original base point. A Y Unit Vector component was created, with a number slider attached to control the copy distance in the Y direction, and was plugged into the Move component. Afterwards, a Line component was created and the original base point and the newly created point from the Move component were plugged into both input slots in order to make a line segment. Point Creation

Point Move

Line Creation

14

LAB RESEARCH BOOK WINTER 2016

After the creation of the line segment, a Rotate component was created for the line to plug into. The original base point was plugged in as the plane of rotation and the angle slot was changed from radians to degrees with a number slider attached. To check our data, a Panel component was created as well as a Parameter Viewer component in order to view our output data. Next, a Scale component was created, which essentially creates a copy of the input geometry according to a set scale factor. Afterwards, a Rotate-Axis component was created, using the original line segment as the rotation axis, creating three line segments along all 3 axes, the X, Y and Z. However, with this component, we left the angle of rotation in radians and just used simple calculations with a Pi component to calculate the rotation.

Line Rotation

Line Scale

Line Rotate-Axis

LAB RESEARCH BOOK WINTER 2016

15

The newly created line segments were then all merged together with a Merge component. A Non-Uniform Scale component was also created to do some final adjustments to the geometry. Afterwards, a Pipe component was created in order to create 3 volumes from the merged line segments.

Line Merge

Pipe Creation

16

LAB RESEARCH BOOK WINTER 2016

The geometry created from the Pipe component was then flattened, and the plugged into a Boolean Union component in order to join all 3 polysurfaces into a single piece of geometry. Finally, the geometry was essentially arrayed through the use of another Move component in addition to a newly created Series component. With that, we created a series of numbers with which to copy the geometry, while setting the total number of copies and the step distance between them. The final arrayed geometry was then plugged into a Panel component and a Data Tree component to view the output. As such, we can now see that because the geometry was flattened and then joined, there is a tree with a single branch with ten (the series count) objects associated with it as opposed to the data output from the earlier pipe and scale components, which created three separate branches, each with one object.

Boolean Union

Series Array & Data Tree

LAB RESEARCH BOOK WINTER 2016

17

Complete Definition

18

LAB RESEARCH BOOK WINTER 2016

LAB RESEARCH BOOK WINTER 2016

19

20

LAB RESEARCH BOOK WINTER 2016

Grasshopper + Controllers I: Lab Research #4 - Surfaces

The goal of this session was to learn the basics of surface creation and surface editing, through the use of data manipulation and direct geometry manipulation.

LAB RESEARCH BOOK WINTER 2016

21

Grasshopper + Controllers I Surfaces

This session essentially consisted of creating a point array using the construct component and arraying a series of points along the a vector direction (X direction). The array was then copied using output information from a sine curve associated with a graph mapper component.

Point Series Creation & Manipulation

Surface Position Normal Rotation

22

LAB RESEARCH BOOK WINTER 2016

A curve was then created through those points and arrayed. That array was then scaled and manipulated through more graph mappers. Prior to surface creation, the curves were rotated, through both surface normal rotation and through axis rotation, and then lofted together to create the surfaces. Surfaces created in this exercise were created using grasshopper generated base geometry and direct curve manipulation methods.

Axis Rotation

Final Surface Loft

Direct Curve Manipulation Surface Loft

LAB RESEARCH BOOK WINTER 2016

23

During This Session, in addition to the surface creation and variation experimentation, we also experimented with surface creation in the Z Directio nthrough the creation and manipulation of towers throughgraph mapper input and output.

24

LAB RESEARCH BOOK WINTER 2016

Final Surface Variations

Tower Variations

LAB RESEARCH BOOK WINTER 2016

25

Complete Definition

Tower Definition

26

LAB RESEARCH BOOK WINTER 2016

LAB RESEARCH BOOK WINTER 2016

27

28

LAB RESEARCH BOOK WINTER 2016

Grasshopper + Controllers II: Lab Research #5 - Apertures

The goal of this session was to learn how to utilize image sampling as a way to create patterns on the a surface in direct relation to an image input, and how to transfer those values to scalable apertures which can be efficiently cut out of a surface.

LAB RESEARCH BOOK WINTER 2016

29

Grasshopper + Controllers II Apertures

This class simply focused on the creation of apertures on a surface using the definition from the last class. An image sampler input was added which was then projected onto the created surface and then split to create actual geometry. Through this class period, many variations of imagery and density were tested and created.

Base Surface

Subsurface Creation

30

LAB RESEARCH BOOK WINTER 2016

Image Sampling

Image Sampling List Larger & Cull

LAB RESEARCH BOOK WINTER 2016

31

Bone Structure

Koala Bear

Dog

FINAL IMAGE ITERATIONS

32

LAB RESEARCH BOOK WINTER 2016

FINAL IMAGE SURFACE CUT & SHADOW STUDY

LAB RESEARCH BOOK WINTER 2016

33

Final Definition

34

LAB RESEARCH BOOK WINTER 2016

LAB RESEARCH BOOK WINTER 2016

35

36

LAB RESEARCH BOOK WINTER 2016

Grasshopper + Controllers III: Lab Research #6 - Textures

The goal and focus of this session was to create textured panels on surfaces, most likely as a skin system, to offer a variation through data randomization in terms of geometry generation.

LAB RESEARCH BOOK WINTER 2016

37

Grasshopper + Controllers III Textures

this class essentially took the basic surface creation from previous class and added a random panelization into the mix. The geometry was extruded from the surface normals at random depths. The list of information was then split and dispatched into two separate groups, which was then baked into two separate geometry groups.

Base Surface

Surface Division, Height Randomization & Surface Box Creation

38

LAB RESEARCH BOOK WINTER 2016

Dispatch

Final Geometry Bake

LAB RESEARCH BOOK WINTER 2016

39

Final Definition

40

LAB RESEARCH BOOK WINTER 2016

LAB RESEARCH BOOK WINTER 2016

41

42

LAB RESEARCH BOOK WINTER 2016

Grasshopper + Paneling Tools 2D Lab Research #7 - 2D Patterns

This class mainly focused on the introduction of the Paneling Tools toolset for the creation of surface grids & paneling options.

LAB RESEARCH BOOK WINTER 2016

43

Grasshopper +

Paneling Tools 2D 2D Patterns

This class was a simple introduciton to the Paneling Tools toolset. We created surface grids and created panels using custom geometry and simple 2D cellulation of surface panels. Custom geometry was applied using paneling tools Morph 2D, Morph 2D List, Morph 2D Mean & Morph 2D Map components.

Planar Grid Creation & Cellulate

Surface Grid Creation

44

LAB RESEARCH BOOK WINTER 2016

For majority of the final geometry creations, multiple custom geometries were created as custom panels and combined as input for the geometry morph components

Morph 2D

Morph 2D List

LAB RESEARCH BOOK WINTER 2016

45

Morph 2D Mean

Morph 2D Map

46

LAB RESEARCH BOOK WINTER 2016

Final Geometry Creation

LAB RESEARCH BOOK WINTER 2016

47

Morph 2D Map

48

LAB RESEARCH BOOK WINTER 2016

LAB RESEARCH BOOK WINTER 2016

49

50

LAB RESEARCH BOOK WINTER 2016

Grasshopper + Paneling Tools 3D Lab Research #8 - 3D Patterns

This class was simply put an extension of the 2D Paneling Tools introduction, with the addition of 3D geometry creation.

LAB RESEARCH BOOK WINTER 2016

51

Grasshopper +

Paneling Tools 2D 2D Patterns

This class was essentially an addition of 3D geometry and grid offset creation in order to produce three-dimensional final geometry across surfaces.

Grid Offset

Random Grid Attraction

52

LAB RESEARCH BOOK WINTER 2016

Randomization and multiple mesh geometries were used to create now only randomized surfaces, but also to create geometry variation that responds to patterns and lists.

3D Cellulate

Morph 3D (Single Geometry)

LAB RESEARCH BOOK WINTER 2016

53

Morph 3D & Randomized Grid Morph

Morph 3D List

54

LAB RESEARCH BOOK WINTER 2016

Morph 3D Map

Final Geometry Variations

LAB RESEARCH BOOK WINTER 2016

55

Final Definition

56

LAB RESEARCH BOOK WINTER 2016

LAB RESEARCH BOOK WINTER 2016

57

58

LAB RESEARCH BOOK WINTER 2016

Grasshopper + Attractor by Point & Attractor by Curves Lab Research #9 - Responsive Patterns I & II

This class simply put, is very similar to the last class, with the addition of altering geometry due to the inclusion of an attractor point created through the evaluate surface component and using that output to alter the grid layout of the surfaces.. Additionally, we altered geometry through the inclusion of a curve adjusted through direct manipulation within the rhino environment.

LAB RESEARCH BOOK WINTER 2016

59

Grasshopper +

Attractor by Point & Attractor by Curves Responsive Patterns I & II This class is essentially the same thing as the previous class, but with the inclusion of attractor points and curves to manipulate the grids, thus altering the final created geometry.

Point Attractor

Curve Attractor

60

LAB RESEARCH BOOK WINTER 2016

Point & Curve Attractor 3D Cellulate

Point & Curve Attractor Morph 3D

Point Attractor Morph d# List

LAB RESEARCH BOOK WINTER 2016

61

62

Multiple Geometry Final Bake

63

64

Point Attractor Morph d# List

65

66

LAB RESEARCH BOOK WINTER 2016

Grasshopper + Attractor by Point Lab Research #10 - Pseudo Sun Path Attraction

This class focused on the creation of a segmented louver system and the altering and transformation of that geometry through the use of a “pseudo” sun system created from an attractor point on an arc.

LAB RESEARCH BOOK WINTER 2016

67

Grasshopper +

Attractor by Point Pseudo Sun Path Attraction

This class was essentially for the creation of a louver system, controlled responsively by an attractor point on a curve, thus immitating solar angles.

Pseudo Sun Path & Vector Creation

68

LAB RESEARCH BOOK WINTER 2016

Louver Creation & Attraction

LAB RESEARCH BOOK WINTER 2016

69

Final Definitions

70

LAB RESEARCH BOOK WINTER 2016

LAB RESEARCH BOOK WINTER 2016

71

72

LAB RESEARCH BOOK WINTER 2016

Grasshopper + Lunchbox Lab Research #11 - Structured Surfaces and Comprehensive Enclosure System

This class was an introduction to the Lunchbox tool set, which simplifies the creation of paneling systems and space frame structures, among other things.

LAB RESEARCH BOOK WINTER 2016

73

Grasshopper +

Attractor by Point Pseudo Sun Path Attraction

This class focused on the implementation of both paneling tools and the lunchbox toolset to create layered geometry in terms of a structural enclosure system through skin creation, structure creation and panel system creation.

Surface Panelization

Structural Space Frame Creation

74

LAB RESEARCH BOOK WINTER 2016

Paneling Tools Skin Geometry Creation

Louver Creation & Attraction

LAB RESEARCH BOOK WINTER 2016

75

76

LAB RESEARCH BOOK WINTER 2016

Final Structural Enclosure System

LAB RESEARCH BOOK WINTER 2016

77

Final Definition

78

LAB RESEARCH BOOK WINTER 2016

LAB RESEARCH BOOK WINTER 2016

79

80

LAB RESEARCH BOOK WINTER 2016

Grasshopper + T-Spline Geometry Lab Research #12 - Deformations

This class focused on a simple introduction to T-Splines and the geometry manipulations and deformations which can be achieved.

LAB RESEARCH BOOK WINTER 2016

81

Grasshopper +

T-Splines Geometry Deformations

This class introduced T-Splines as an available toolset for creating organic and editable geometry. We investigated tools, such as Crease, Surface Bridging, edge insertion and gumball transformation, just to name a few.

T-Splines Primitive Creation & Copy

We also took a look at view toggling between smooth and rough geometry, as well as the conversion of T-splines geometry into rhino geometry and vice versa.

Surface Bridging

Face Extrusion

Edge Insertion

82

LAB RESEARCH BOOK WINTER 2016

Create

Gumball Transformation

Smooth Toggle

LAB RESEARCH BOOK WINTER 2016

83

T-Splines to nurbs conversion

Final T-Splines Geometry Deformation Experimentation & Deformation, including Lunchbox basic paneling tools.

84

LAB RESEARCH BOOK WINTER 2016

Expanded Surface Experimentation

LAB RESEARCH BOOK WINTER 2016

85

86

LAB RESEARCH BOOK WINTER 2016

Grasshopper + T-Spline Modifiers Lab Research #13 - Advanced Deformations

This class simply expanded on Class 12, which includes more advanced modifiers used to create more complex geometry using the T-splines toolset.

LAB RESEARCH BOOK WINTER 2016

87

Grasshopper +

T-Splines Modifiers Advanced Deformations

This class expanded upon the last class by introducing the T-Splines tools of Axial and Radial Symmetry, Faace Subdivision, and Surface Selection through painting. We also utilized paneling tools to panel surfaces through T-Splines Cell creation and joining of geometry through the grasshopper component interface.

Axial and Radial Symmetry

Face Subdivision

Surface Selection through Paint

88

LAB RESEARCH BOOK WINTER 2016

T-Splines Cell Creation

Paneling Tools

Bounding Box Scale NU

Bounding Box over Created Cell

Paneling Cell Connections

Final Definition

LAB RESEARCH BOOK WINTER 2016

89

90

LAB RESEARCH BOOK WINTER 2016

Grasshopper + Kangaroo Basic Concepts Lab Research #14 - Relaxations

This class focused on the introduction to the Kangaroo toolset within the grasshopper interface.

LAB RESEARCH BOOK WINTER 2016

91

Grasshopper +

Kangaroo Basic Concepts Relaxations This class essentially focused on the introduction of the Kangaroo tools in grasshopper. We started with a base mesh and essentially demoed the mesh and created forces and springs to interact with the mesh in a real time fashion.

Base Mesh

Additionally, we also made use of the Weaverbird components in order to deconstruct the mesh for components used in kangaroo, and to create smoothing in the resultant mesh.

weaverbird Mesh Corners

Force Creation

Spring Creation

92

LAB RESEARCH BOOK WINTER 2016

Mesh Demo & Simulation

Catmull Clark Subdivision

Degrees of Subdivision

LAB RESEARCH BOOK WINTER 2016

93

Final Definition

94

LAB RESEARCH BOOK WINTER 2016

LAB RESEARCH BOOK WINTER 2016

95

96

LAB RESEARCH BOOK WINTER 2016

Grasshopper + Kangaroo Applied Physics Lab Research #15 - Complex Structures

This class expanded upon the last class by applying more direct and complex forces upon the geometry, in three dimensions on much more complex geometry other than just a simple mesh surface.

LAB RESEARCH BOOK WINTER 2016

97

Grasshopper +

Kangaroo Applied Physics Complex Structures This class used the same grasshopper definition as the last class, but focused on inputting more advanced geometry to create much more complex structures through the use of grasshopper, kangaroo and the weaverbird components.

Surface Relaxation & Exoskeleton

98

LAB RESEARCH BOOK WINTER 2016

Kangaroo Complex Exoskeleton

LAB RESEARCH BOOK WINTER 2016

99

Final Definition

100

LAB RESEARCH BOOK WINTER 2016

LAB RESEARCH BOOK WINTER 2016

101

102

LAB RESEARCH BOOK WINTER 2016

Dynamo Fundamentals Lab Research #16 - Point, Line, Plane, Volume

This class introduced the Revit Plugin Dynamo and explained the fundamentals of the user interface as well as the many different component nodes to choose from in order to create geometry within the conceptual massing environment in Revit.

LAB RESEARCH BOOK WINTER 2016

103

Dynamo Fundamentals Point, Line, Plane, Volume This class introduced the Revit Plugin Dynamo and explained the fundamentals of the user interface as well as the many different component nodes to choose from in order to create geometry within the conceptual massing environment in Revit.

Points - Shortest List

Points - Cross Product

Polycurve Through Points

104

LAB RESEARCH BOOK WINTER 2016

Curve Extrude

First item, Last item & create list

Geometry Translate

Solid By Loft

LAB RESEARCH BOOK WINTER 2016

105

Polycurve Through Points

106

LAB RESEARCH BOOK WINTER 2016

LAB RESEARCH BOOK WINTER 2016

107

108

LAB RESEARCH BOOK WINTER 2016

Revit + Adaptive Components Basics Lab Research #17 - Repeaters

This class was a very simple and basic exploration of basic revit adaptive components and their array into the conceptual massing environment.

LAB RESEARCH BOOK WINTER 2016

109

Revit + Adaptive Component Basics Repeaters This class was a very simple and basic exploration of basic revit adaptive components and their array into the conceptual massing environment.

110

LAB RESEARCH BOOK WINTER 2016

Dynamo Definition

LAB RESEARCH BOOK WINTER 2016

111

112

Exhibit: Structure and Enclosure Systems

This project is an exploration of the layered structural opportunities present within the grasshopper interface. Through research and trial and error, we must create a custom definition using the techniques and components learned in previous lessons to create a layered structural enclosure system.

LAB RESEARCH BOOK WINTER 2016

113

Exhibit: Structure and Enclosure Systems For this project, I developed a skin system consisting of responsive diamond panels which open and close in response to an attractor point on the base surface. In addition there are also two additional layers; one layer of structure and another base paneling layer. Majority of this project was done using lunchbox components, in addition to basic controller components and surface evaluation.

Layer System

114

LAB RESEARCH BOOK WINTER 2016

Experiential Rendering

LAB RESEARCH BOOK WINTER 2016

115

Final Definition

116

LAB RESEARCH BOOK WINTER 2016

LAB RESEARCH BOOK WINTER 2016

117

ARCH 714 Advanced Parametrics & Generative Design Research Book - Nick Place

Advanced Parametrics & Generative Design Research Book for ARCH 714 from the Savannah College of Art and Design.

ARCH 714 Advanced Parametrics & Generative Design Research Book - Nick Place

Advanced Parametrics & Generative Design Research Book for ARCH 714 from the Savannah College of Art and Design.