Intro To Grasshopper

Posted by on Nov 5, 2012 in design computation, grasshopper, software | No Comments

image of MATSYS’s P-BALL

Grasshopper is a fairly tricky program to learn. It’s very easy to spin your wheels and end up in a dark hole, lost and confused, wondering what it actually can do… I teach several classes oriented around GH but I always have curious students approaching me and asking how they can get started. This is a series of tutorials, some mine, some by other people that should be able to get you up and running pretty quickly.






Thanks to Dave and Steve of DESIGNREFORM for producing such exceptional content… you guys created the standard for GH instructional viddys.

surface articulation in rhino

Posted by on Nov 17, 2010 in grasshopper, scripts | No Comments

no one could do surface articulation like doc bailey– mostly because he never articulated a surface. all of his work was generated by codes written for programs he created, which replicated fractals and patterns that modified themselves to be readable at a variety of scales. some of the best examples of this was his visual effect work he did for the remake of solaris, where he was able to emulate the sense of vastness of space by having such a massive range of scales. if he had a larger form that had minute articulation, then it would read as something on the scale of a nebula or a star. doc’s work is absolutely brilliant in its ability to convey a sense of reality- by illustrating range of scales we see all around us, his renderings seem more like snapshots from a parallel universe than computer generated images.

unfortunately, it’s incredibly difficult to have architecture operate in a similar way. architects like hernan diaz alonso have been successful- they simulate genetic growth with architectural cells that replicate themselves in a mannered behavior, creating opportunities for program and enclosure. with this technique, program and context are typically subservient to the formal logic that is generated through these genetic processes, and they are positioned by where ever the formal conditions will allow.

typically architects will work in more of a top-down fashion- using program, context, and architectural effect to generate a mass that is then articulated structurally and architecturally to start to relate the project to a human scale. there are issues with this approach- frequently it is a time-consuming part of the process that is starting at the very end, not leaving much time to actually execute. it also is difficult to find a method of articulation quickly, that illustrates the architectural logics that led the project to where it is.

this post is to act as an directory of different devices and techniques that will allow a greater variability of skin articulation, so that architects can develop skin systems that are in closer sync to their larger architectural concept.

the flow along surface command is native to rhino, and allows an array of surfaces to morph upon another surface. puerto rico’s pontificial catholic university has an interesting digital workshop blog with a great how-to with flowAlongSrf and other techniques.

one of the most basic and easiest ways to pattern a surface is with andrew kudless’ honeycomb script. it’s quick, easy, and will divide your surface into a honeycomb pattern of extruded fins. while there are features like a customizable depth and u_v divisions, you are still locked into a honeycomb pattern.
supermanoeuvre has created an interesting script that uses attractors to change the density of the pattern. there are other interesting possibilities with this technique, and it is comparatively easy to assemble a physical model with a lazer cutter or even printing out a paper template.

_point set reconstruction
point set reconstruction is an older toolset based off of early delaunay and voronoi scripts by david rutten and others. point set reconstruction is dependent on a set of points- these points then create curves and these curves can be projected onto a surface. while this is a quick way to generate curves, the points need to be created first- either by scripting an intelligent array or manually placing them. you can use the paneling tools to help create them.

_paneling tools
creating points on a plane = easy
creating points on a surface = hard
the paneling tools plugin is a great way to create a variety of patterns on your surface that you can then articulate with a voronoi, delaunay or another pattern.
while it’s very adept at dividing surfaces, the actually application of panels is a little erratic. grasshopper can probably panel better, but it’s a little trickier to mimic the patterns you can get out of the patterning tools.
the patterning tools comes with a very comprehensive tutorial pdf, and there’s also a good how to on the ea-pr site.

_la.Z tools
ted ngai has created a plugin that has a bunch of incredibly helpful tools- including the pipe all curves command and the extrude surface normal command. both of these will allow the user to create geometry from curves quickly and easily.

a lot of people talk about rhino scripting and grasshopper as if they were separate- they’re not. anything you can script, you can do in grasshopper. grasshopper was a scripting teaching tool developed by david rutten to act as a realtime diagram of how a script was processing information. when bob mcneel saw it, he quickly realized the potential and put rutten in charge of developing it as a tool for distribution. it’s still technically only in beta, but it has tens of thousands of users world wide.
one of the best ways to understand both how to use gh and how powerful it is, is to try the patterning with attractor points demo on designreform. this demo can be tweaked to create forms off of a surface instead of a plane, creating surface articulation.

_3d voronoi / qhull

if you’re interested in producing a skin system that is more 3 dimensional, the 3d voronoi script based off of qhull is fairly useful. dimitrie stefanescu has created a nice gh script that will take points in 3d space and generate a formal diagram from them. like the 2d voronoi system, it is still fairly limited in its output, but it can start to articulate ideas in 3D.

_component population on mesh
ted ngai has created in interesting gh script that allows components to be placed on a mesh based off of a color value. this process was designed to optimize a skin system from ecotect data, but could be any data set. the only criteria is that there are a certain amount of components that can be arrayed based from a set of information. because there is no limit to the geometry defining the components, this is an incredibly flexible system that can allow a large variety of patterning.


ngai’s script is an appropriate one to end on, because I believe this is the direct computational design is heading. as kazys varnelis wrote, “just because you can design a blob, why would you want to? more importantly, just why would you want to build one?” if we are creating complexity for complexity’s sake, the invariable question is “why?”. are william macdonald’s forms a more potent source of architectural affect than james turrell’s skyspaces? if they are not, then why create complex forms instead of simple boxes without roofs?
for computational design to continue to grow where blobchitecture failed, it needs to be more focused on the “why”. if computational design can create skin and structural systems that respond to environmental, climatic, or other data, then why wouldn’t it? these datasources will not only add legitimacy through better building performance, but will also provide the friction that engenders great design.
the reality is that there is a vast amount of enthusiasm for this line of inquiry, but there is little concern for the economic and political realities that govern architecture in its built state. if more people are to incorporate these design tactics into their work, they must at least acknowledge these realities and work to develop an architecture that can respond to them.