algorithmic modeling for Rhino

Essential Plugins to Run the Sketch

DAP3_Simple Recorders

I'm a beginner, about a year into my Grasshopper life and I've made a Shelf and Wardrobe creation system in Grasshopper, with optional control done through a GUI built in Processing. I'm hoping to get feedback on how to improve and how to universalise the shelf creation part of this script.

Find the processing sketch here:

Ideally, the feedback I get will help me improve the script, then I'd like to write up a tutorial about how to take an okay beginners script and improve it.

The Shelving Creation system is currently really tightly wound around the building it was designed for, I'm really keen to get feedback on ways I could improve and universalise it.

Each group is labelled. Some major sections have been reduced to clusters. The top left of the sketch is where the control parts are. The section to the right of the control section is building construction - this was part of the larger project, but the shelf creation only uses it to get orientation and sizing of the shelves. I've put these building parts into clusters (but haven't simplified or labelled their inputs and outputs yet).

I want to make it so it can work on a shelf frame in any direction - at the moment you have to hit control to switch between the Side and the Front. 

I'd also love for people to extend and change different parts of it - adding more backing types and shelf options is pretty easy.

Here are a couple images of the outputs available with this script as it is;

Views: 1045


Reply to This

Replies to This Discussion

Very happy to explain more clearly how to use any part of the script, or what I was trying to achieve.

Hmm interesting ... I would suggest a Skype session.

that would be amazing. I'll message you.

OK, 2 time options send (but use my e-mail rather than the forum message service).

On the subject:

1. Kim points towards the pragmatic aspect of things. But if you have future plans for mastering real-life fabrication issues ... then ... well ... that's the reason for the Skype.

2. In general I would say that exploiting parametric "arrangements" (in the broad sense) is less than 5% of the whole ... given the fact that in real-life there's a lot of other constrains. Again using Kim's IKEA note: for instance packaging (at least for the magnitude of IKEA's business) is rather more important than ANY smart of stupid design.

3. Reliable components VS Design/Manufacturing cost IS the ultimate "fitness" challenge: this involves bottom-top design disciplines (not doable with Rhino/GH by any means) and ... well... some top dog feature driven MCAD app. Most makers/designers use the cheapo alternatives (SolidWorks/Creo etc etc) and the results ... well .. you get what you've paid for, he he.

4. Why bottom-top may you ask? (and what means this anyway?) Well ... one "connecting node" that would been made 1Z times at the minimum cost possible is a 100 times more challenging task than designing a shelve system that uses that node. See for instance A LOT of IKEA solutions (i.e. the nuts and bolts of them) that are exceptionally flimsy, very badly designed and ... well ... suitable for 1 week's usage (but there's some others that are less faulty). On the other hand IKEA actually serves the ephemeral ... thus ... this MAY be intentional (recycle > buy > recycle > buy > ...).

I buy therefor I exist.

For instance a certain IKEA mold injected "multi join node" for a given series of shelves ... it would sustain less than 5 minutes "abuse" (in case that someone would attempt to "rearrange" things). Moral: reality and theory ARE not the same thing.

I could continue until the end of Time listing "aspects" of the whole puzzle related with production issues ... but for the moment I would conclude by the following:

GH is a good "general" purpose graphic editor and Rhino IS NOT a feature driven solid modelling app. If you combine these 2 ... you can easily outline what you can and what you can't (or shouldn't) do on that subject.

BTW: In the old days I've designed some "bespoke" (NOTE: Not for mass production) objects (about 50 if memory serves well) for some clients that have more cash than common sense.

For instance the freaky - and a bit kitsch - 0035B attached ... costs more than 40K Euros to make (satin SS 316 L is used >  spend a bit more than GNP of Nigeria): Vanity overdose, what else?. I don't do that anymore: is boring and somehow rather "unethical": I mean spending a week for designing an one-off  freaky "folding" table for someone who wants to dinner in a "one of a kind" @#$#@ cyborg "bird" ... well ... in a starving world ... that's unethical, he he.

NOTE: This is animated 3D PDF content > thus > stop animation and use Reader's features  (Model Tree, Dynamic Sections et all) if you want to exploit the components of these freaky "objects".


Hi Dean:

Some friendly design advice:
Have a look at whats available in the market place, ....what works ...what does not, IKEA etc.
Don't try to design a frame that wastes space, particularly if its intended to be used in a small living space. example: whats the purpose of the small space between the main fame and the bookshelf?
How do you see the various frame components easily connect to each other ?
How are the shelves supported/attached to the frame ?
Are there things that you want to store, but not share with everyone ? (doors)

Make the shelves modular so they can be added onto

I well known friend of mine, designed a simple SketchUp Bookshelf written in Ruby.

p.s I might be tempted to take on this project in the near future, and it wont require any addons on your list :)


Thanks Kim.

You could definitely get away with fewer plugins. Lunchbox was used only because of it's handy Bake component, Human for reading in created geometry (so when you create a Rectangle called Shelf, it gets read into the Shelving Creation subroutine), Panelling Tools for easy grid creation, Kangaroo for culling duplicates and the Dap3 recorders have an input for a toggle that resets them.

That Ruby SketchUp bookshelf is very cool, that's definitely the sort of thing I'm keen on understanding how to do eventually.

This was part of a larger project that limited the Shelf Creation aspects a little -  this script output is part of the overall, but the most developed part and one I hope to be able to simplify and decouple from the larger project.

The overall project was about how light plays through a structure, and being able to grow plants all over the place. The Shelves being offset from the edges of the frame is part of achieving that. That's also the reason doors were left off the shelves. As for leaving doors off the structure, we were Industrial Designers doing an Architecture focussed studio and for our final output decided to leave some parts of the house out of scope and focus on a couple of parts in more depth.

Attaching - they're just welds at the moment. I wanted to figure out how to make it a clip together type system, but only had the time to either design that or design the system for creating the shelves. I'm keen to keep thinking about that finer detail and adding it into the script over time.

To get rid of the gap, the dimensions set for the external frame need to be set as multiples of the distance given to create the grid that sits inside it that the starting rectangles are drawn on to. Either the external dimensions or the grid gaps can be changed.

Modularity is definitely something I want to get to with this. The centred grid on the inner face of the outer frame that one draws rectangles on is regular (default is each point is 180mm apart), which is a start towards this.

Thanks again for your feedback and for sharing that link, very handy.






  • Add Photos
  • View All

© 2019   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service