A collection of my projects

Parametric Shelf | Model

I’ve decided I want to learn and start using grasshopper more, and in my experience the most effective way I’ve found to learn software is to use it for a project. I decided on a project that seems fairly simple, and I think would a good entry point for me: a parametric shelf.

Looking back at the projects I’ve done, quite a few of them tend to be some variation on shelves that are custom fit to a specific space, use, or construction, but the design is usually pretty simple. My hope is that I can create a grasshopper script to take in some of these variables and morph that simple design to fit those parameters. I’m starting with dimensions, thickness of material, number of rows, and number of columns. Here’s my script:

Shelf Model Script

For those unfamiliar with the Grasshopper’s Visual scripting interface, it essentially looks like a bunch of nodes connected by a series of wires. Most of the nodes (called “components”) takes a given input, performs an operation, and produces an output, which can in turn be fed into the next component. Some of the nodes reference the objects created in the Rhino work space, which can then be fed into the script and acted upon. That’s where my script begins: I take a box as input from Rhino, which sets the dimension parameters.

The remaining parameters are set within the script using numeric sliders. I’ve labeled each to correspond with the parameter they control:

Rows
Columns
Thickness

Comments

2 responses to “Parametric Shelf | Model”

  1. kenneth Avatar
    kenneth

    hi, can u let me know what expression u used for each of the cull indexes, item and move? i am trying to study this for a school assignment. thank you.

    1. Nik Kinnaird Avatar
      Nik Kinnaird

      Hi, I made this a LONG time ago (3 years). I opened the file and it looks like many of the modules are outdated. Item: x-1; CullI: x-1; Move(top): -x; Move(middle): x/-2; Move (bottom): x/2.
      Hope that’s helpful! I honestly don’t remember what all I did to put this together.