algorithmic modeling for Rhino

Andrew Heumann's Blog (19)

GH Webinar - GH Plug-in Development in C#

Just a little blatant self promotion :)

If you have a basic knowledge of working with C# scripts in Grasshopper but want to take it to the next level and start building your own GHAs, you may be interested in the webinar I'm teaching tomorrow for We will go through the basics of plug-in development - the structure of the code, how to get data in and out of a component, and the debugging…


Added by Andrew Heumann on December 6, 2016 at 8:30am — 2 Comments

Grasshopper Pro Webinar Series

Sign up at!! 

Added by Andrew Heumann on October 31, 2016 at 6:12pm — 8 Comments

Human UI Webinars - Beginner and Intermediate

I'm excited to announce I'll be teaching two upcoming Performance.Network webinars on my plug-in, Human UI for Grasshopper. Learn to create professional user interfaces for your Grasshopper scripts!

Sign up today - space is limited! Part 1 (Beginner) is on July 7 and Part 2 (Intermediate)…


Added by Andrew Heumann on June 28, 2016 at 9:25am — 1 Comment

Auto-Document GH Libraries

I wrote a little script for myself that I thought might be useful to other GH developers or teachers. Feed it a component from any library (such as a plug-in you're developing), and it will list and describe all the components in that library. It can also generate a markdown-formatted text file, organized by the subcategory tabs in the GH…


Added by Andrew Heumann on January 10, 2016 at 11:34am — 6 Comments

Create Snippets with Grasshopper

Grasshopper by default allows you to save individual components and clusters as "user objects," which can be re-used over and over again. However, sometimes you want to save a group of components without clustering them - like a component with pre-defined value lists or sliders attached, or special configurations with plugins like kangaroo, honeybee, or anemone.

The attached script lets you do just that - create a user object that can automatically place multiple components at…


Added by Andrew Heumann on October 15, 2015 at 7:48pm — 15 Comments

Wire Display Toggle Switch

There is an ongoing debate in my office between those who like to organize their definitions with hidden wires for the sake of cleanliness, and those who hate them because it makes definitions hard to debug. In order to sidestep any drama, I made a little script that lets you switch all the wires in a document between "Hidden" and "Faint." It will leave all wires set to default alone. 

Download it here: …


Added by Andrew Heumann on December 24, 2014 at 12:00pm — 19 Comments

Join NBBJ's Design Computation team!

Are you passionate about design computation? Are you a Grasshopper guru or deft with Dynamo? NBBJ’s Digital Practice group is seeking to expand our Design Computation team across the firm. We have offices in Boston, Columbus, London, Los Angeles, New York, San Francisco, Seattle and Shanghai, and are always seeking out the best and brightest talent.

The ideal person we are looking for:

…is an expert in the use of Grasshopper and/or Dynamo

…is comfortable in a…


Added by Andrew Heumann on August 18, 2014 at 7:40pm — 1 Comment

Tweet2Form: GH-Powered Formalist Tweetbot

I just finished putting together a beta version of a little project. It's a tweetbot powered by a grasshopper definition. The bot transforms a cube according to a series of operations you specify, and then tweets a picture of the resulting form. There are currently 10 formal operations that the bot understands:





shearA (Shear angular)…


Added by Andrew Heumann on November 24, 2012 at 8:00pm — 7 Comments

Michael Graves, Digital Visionary: What Digital Design Practice Can Learn From Drawing

Check out my latest blog post, responding to Michael Graves’ recent article in the NYT, speculating on ways that digital design practices can learn from the way drawing functions as a design tool. …


Added by Andrew Heumann on September 10, 2012 at 11:22am — 14 Comments

Find and Replace in Grasshopper Documents

originally posted here

Since David Rutten added to GH the ability to set a default text panel background color, I’ve had my panels set to be white instead of the default bright yellow. But in all my old definitions, the panels remain yellow, and it drives me nuts. I was going through and changing them manually when it occurred to me that there was a much better way, based on a trick I saw David mention in a…


Added by Andrew Heumann on February 7, 2012 at 7:30am — 1 Comment

Applied Grasshopper: Aluminum folding for Sarah Oppenheimer

Hey all - just added a post documenting my GH work for the artist Sarah Oppenheimer. Check it out here!



Added by Andrew Heumann on August 12, 2011 at 9:46am — 2 Comments

Simple Unit Conversion Script

Hey all - 


While working on a project I came upon the need to do some unit conversion within GH, so I decided to write a script to handle this. I've attached it as a user object. It takes two strings, defining the input and output unit systems, in the form of "mm" or "in^2" or "yd^3" etc. It will then output the necessary conversion factor. It also optionally accepts a list of values, and will convert them for you if they are present. 


A word of caution: I…


Added by Andrew Heumann on August 6, 2011 at 3:30pm — 11 Comments

automated crosshatching definition

There was a request for the basic definition I used to make this image.



Choose an image, and live trace it in illustrator. Expand the live trace, and save the illustrator file. Export the live trace as a jpg or other bitmap format. 


In Rhino, import the image with the PictureFrame command. Then import the illustrator file and scale the curves to the…


Added by Andrew Heumann on July 1, 2011 at 1:07am — 1 Comment

GH-Only Catmull-Clark Subdivision

As an exercise, I decided to try to implement the Catmull-Clark subdivision algorithm in Grasshopper alone. This means no scripts, and no 3rd-party components (such as weaverbird). This is not designed to be a utility - by all means, if you have to subdivide a mesh in this way, just use Weaverbird. I am always interested in the way… Continue

Added by Andrew Heumann on June 24, 2011 at 7:53pm — 4 Comments

Definition for Harmonic Pendulums Video

Here is the definition used to create the video seen here. Requires Kangaroo. 



Added by Andrew Heumann on May 8, 2011 at 6:20am — 7 Comments

Unfolding with Compound Transforms

2013 update: this is probably a better way to go.


Cross posted here.




Lately, in some of my work I have been investigating unfolding complex forms with Grasshopper. The…


Added by Andrew Heumann on March 26, 2011 at 6:30am — 21 Comments

Data Tree Utilities: Match Path and Partial Flatten

In the coming weeks, I am planning to release some clusters I've put together for use, and I thought I'd start with two that correspond to common operations I perform on data trees.

The first, Match Path, takes a flat list of data with N items, and another list of data with N items with some kind of arbitrary tree structure. The output is the first flat list, reconfigured to match the path structure of the input list. I was inspired to create this one by a post…

Added by Andrew Heumann on November 20, 2010 at 7:50am — 9 Comments

Adaptive Component Systems Tutorials and Work

Hey all - take a look at to see the work of several semesters of Prof. Dana Cupkova's Adaptive Component Systems course, which deals with the development of systems combining parametrically-driven metal prefabrication and new sustainable technologies. The blog features video tutorials, student projects, and downloads of example definitions. Of particular note is the Radiance-to-Grasshopper… Continue

Added by Andrew Heumann on February 19, 2010 at 10:34am — 3 Comments





  • Add Photos
  • View All


  • Add Videos
  • View All

© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service