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.
I first mentioned nick pisca’s YSYT MEL scripting book almost three years ago, and today it’s still as good and even cheaper. winterlab readers can get 30% off by using WINTERSAVE305 in the coupon code here
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.
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.
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.
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.
local code’s entry for the WPA 2.0 competition is an incredible use of grasshopper and ArcGIS to locate publicly owned abandoned sites in major cities across the US and design a landscape intervention that responds to solar, thermal, and water issues that’s specific to each site.
it’s an incredible use of grasshopper as an analysis tool and seems to pose the question- if grasshopper can create a design response for environmental data for multiple sites, could it also create a design response for environmental, programmatic, code, structural, and any other data for one site? could this be the dawn of an MVRDV-esq software that actually works?
more specific analysis:
this is my first post from my google phone, so please forgive anything unusual or unsightly…
I came across an interesting article on aecbytes.com about using ruby to generate bezier splines in sketchup. Curves and scripting in sketchup? This poses an interesting challenge to rhino, especially when coupled with plugins like IES, which gives sketchup BIM-esque functionality.
last week mcneel and associates launched their new grasshopper specific website. the site not only features the typical tutorials and info pages, but it also has a very robust social networking element. the site has a forum, user webpages and blogs, and user generated photo and video galleries.
the emphasis on user generated content is an interesting move- and it seems to be working. in a little over 7 days, there have been almost 100 topics generated on the forum boards, over 320 images and over 35 videos posted in the gallery… all for a software that hasn’t been officially released…
for years it’s been difficult for algorythmic designers to have a resource for scripts. typically, you used to have to wait for david rutten or andrew kudless to post something and then hope that it was what you were looking for. a good friend of mine and TOSD, nick pisca, has created a wiki devoted to creating an online database of various scripts- BLAST. nick and others have done a very good job seeding the initial site with very interesting scripts and the range of software they cover is striking- everything from maya and rhino to running journal files in revit.
there are several MEL scripting handbooks out there, so why would you buy a book by nick pisca when you probably already have one?
because he knows scripting, he knows architecture, and he knows how to explain both.
1) nick first taught a MEL scripting class at sciarc… while he was a student.
2) nick works at gehry technologies, so you know he’s no slouch.
3) he’s a great guy, he drives a bio-diesel rig, and he’s pretty hard to publish a book on your own.
buy YSYT here.